Data processing method, and related apparatus
By incorporating item value information as a loss function into the click-through rate prediction model, the problem of inaccurate recommendation information prediction in existing technologies is solved, thereby improving the revenue and click-through rate prediction accuracy of the advertising system.
Patent Information
- Application Number
- PCT/CN2025/075416
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-23
- Filing Date
- 2025-01-27
- Publication Date
- 2025-11-27
AI Technical Summary
In existing technologies, click-through rate prediction models can only optimize the accuracy of the predicted recommendation information during training, resulting in inaccurate recommendation information predictions. This fails to meet the revenue targets for online attention, especially in advertising recommendation scenarios, thus affecting the revenue of the advertising system.
During the model training phase, in addition to constructing the loss based on recommendation information, posterior information (the value information of items) is also used to construct the loss, thereby training the model to have the ability to recognize the value of items and improving the model's recommendation accuracy.
By sensing the market value of items and the actual cost of advertising, the model can optimize the overall revenue of the recommendation system and improve the accuracy of click-through rate prediction and revenue of the advertising system.
Smart Images

Figure CN2025075416_27112025_PF_FP_ABST
Abstract
Description
Data processing method and related apparatus
[0001] The present application claims priority to the Chinese patent application No. 202410649886.6, filed on May 23, 2024, and entitled "A data processing method and related apparatus", the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the field of artificial intelligence, and in particular to a data processing method and related apparatus. BACKGROUND
[0003] Artificial intelligence (AI) is the use of digital computers or digital computer-controlled machines to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a branch of computer science that aims to understand the essence of intelligence and produce a new intelligent machine that can react in a similar way to human intelligence. Artificial intelligence is the design principle and implementation method of various intelligent machines, so that machines have the functions of perception, reasoning and decision-making.
[0004] Machine learning systems, including personalized recommendation systems, train the parameters of machine learning models based on input data and labels through optimization methods such as gradient descent. When the model parameters converge, the model can be used to predict unknown data. Taking click rate prediction in a personalized recommendation system as an example, the input data includes user attributes and product attributes. How to predict a personalized recommendation list based on user preferences has an important influence on improving the recommendation accuracy of the recommendation system.
[0005] The product can be an advertisement. Among them, the advertisement recommendation of the advertisement delivery system often adopts real-time bidding, and the platform needs to predict the click rate of the advertisement and determine the bid of the advertisement combined with the payment specified by the advertiser (that is, the payment of the advertiser when the user has an interactive behavior of the advertisement). Among them, in the prediction stage of the click rate, the advertiser's charge relative to the click is a posterior behavior, that is, the click rate needs to be predicted first to perceive the advertiser's charge.
[0006] In the prior art, when training the click rate prediction model, the training model can only optimize the accuracy of the estimated recommendation information (such as click rate), that is, only the loss constructed based on the click rate is used for model updating, which is different from the actual online attention index (such as eCPM (effective cost per mille)), thereby causing inaccurate prediction of the recommendation information. SUMMARY
[0007] In a first aspect, the present application provides a data processing method, which comprises: obtaining first information representing attributes of a user and an item, predicting recommendation information of the user for the item according to a feature representation of the first information, and predicting first value information of the item in addition to the recommendation information, the first value information representing a value of the item, and updating a feature extraction network according to a loss constructed by the recommendation information and the first value information.
[0008] In the embodiment of the present application, in the model training stage, in addition to constructing a loss based on the recommendation information, a loss is also constructed by using posterior information (value information of the item) in the inference process, and the model is trained based on the loss, so that the model has the ability to identify accurate value information of the item, which is equivalent to enabling the model to have the ability to face online income indicators, thereby improving the recommendation accuracy of the model, and in particular in the advertisement recommendation scenario, the revenue of the advertisement system can be improved.
[0009] In a possible implementation, the first value information indicates a market value of the item. The first value information can be an objective price of the item, for example, a market value, which is different from a bid price and represents the objective and real value of the item in the market. When the item is an advertisement, the first value information can be a second price of the advertisement. In the advertisement industry, the deduction price is not usually the price according to the bid price, but the bid price of the second place. The second price usually represents the objective and real value of the item in the market.
[0010] In a possible implementation, the method is applied to a target recommendation scenario, and the predicting of the recommendation information of the user for the item and the first value information of the item according to the feature representation comprises: predicting the first value information of the item by a first network according to the feature representation, and wherein parameters of the first network are determined by a second network according to indication information of the target recommendation scenario. That is, the network parameters of the network used for predicting the first value information are related to the recommendation scenario, and specifically, the parameters of the first network can be obtained by processing the indication information of the target recommendation scenario by the second network. The value information of the item is often related to the recommendation scenario, that is, the value of the same item can be different in different recommendation scenarios. Since the network parameters of the network used for predicting the first value information are related to the recommendation scenario, the network can perceive the recommendation scenario, so that the predicted value information is related to the recommendation scenario, and the accuracy of the predicted value information is improved.
[0011] In a possible implementation, the method further comprises: updating the first network and the second network according to the loss.
[0012] In a possible implementation, the method further includes: determining a weight of the recommendation information according to second value information of the item, the second value information indicating a bid of a provider of the item, the weight being positively correlated with the second value information; adjusting the weight information according to the weight to obtain adjusted recommendation information; and constructing the loss according to the recommendation information and the first value information includes: constructing the loss according to the adjusted recommendation information and the first value information.
[0013] Specifically, the second value information can be a one price of an advertisement, that is, a cost per click (CPC). By introducing the posterior information CPC (cost per click), a higher weight is given to a positive sample with a high CPC in training, which can improve the pCTR of high-value traffic and thus improve the overall eCPM. In the embodiment of the application, in the model training stage, the model can perceive high-value items in the preposed recommendation information (for example, click rate) estimation stage, so as to further optimize the overall revenue of the recommendation system.
[0014] In a possible implementation, the determining the weight of the recommendation information according to the second value information of the item includes: determining the weight of the recommendation information according to the second value information of the item through a third network; and the method further includes: updating the third network according to the loss.
[0015] In a possible implementation, the item is an advertisement.
[0016] In a possible implementation, the attribute information includes a user attribute of the user, and the user attribute includes at least one of the following: gender, age, occupation, income, hobby, and education level.
[0017] In a possible implementation, the attribute information includes an item attribute of the item, and the item attribute includes at least one of the following: item name, developer, installation package size, category, and praise degree.
[0018] The attribute information of the user can be an attribute related to a user preference feature, and at least one of the following: gender, age, occupation, income, hobby, and education level. The gender can be male or female, the age can be a number between 0 and 100, the occupation can be a teacher, a programmer, a chef, etc., the hobby can be basketball, tennis, running, etc., and the education level can be primary school, junior high school, high school, college, etc. The application does not limit the specific type of the attribute information of the user.
[0019] The item can be a physical item or a virtual item, for example, an advertisement, an APP, an audio / video, a webpage, news information, or the like. The attribute information of the item can be at least one of an item name, a developer, an installation package size, a category, and a good comment degree. For example, when the item is an application program, the category of the item can be a chat type, a running and dodging type game, an office type, or the like, and the good comment degree can be a score or a comment for the item. The application does not limit the specific type of the attribute information of the item.
[0020] In a second aspect, the application provides a data processing apparatus, the apparatus comprising:
[0021] an acquisition module configured to acquire first information, the first information comprising attribute information of a user and an item;
[0022] a processing module configured to obtain a feature representation by a feature extraction network according to the first information, predict recommendation information of the user for the item and first value information of the item according to the feature representation, construct a loss according to the recommendation information and the first value information, and update the feature extraction network according to the loss.
[0023] In a possible implementation, the first value information indicates a market value of the item.
[0024] In a possible implementation, the apparatus is applied to a target recommendation scenario, and the processing module is specifically configured to:
[0025] predict first value information of the item by a first network according to the feature representation, wherein
[0026] a parameter of the first network is determined by a second network according to indication information of the target recommendation scenario.
[0027] In a possible implementation, the processing module is further configured to:
[0028] update the first network and the second network according to the loss.
[0029] In a possible implementation, the processing module is further configured to:
[0030] determine a weight of the recommendation information according to second value information of the item, the second value information indicating a bid of a provider of the item, and the weight being positively correlated with the second value information;
[0031] adjust the weight information according to the weight to obtain adjusted recommendation information;
[0032] the processing module is specifically configured to:
[0033] construct a loss according to the adjusted recommendation information and the first value information.
[0034] In a possible implementation, the processing module is specifically configured to:
[0035] determine a weight of the recommendation information according to second value information of the item through a third network;
[0036] The processing module is further configured to:
[0037] update the third network according to the loss.
[0038] In a possible implementation, the item is an advertisement.
[0039] In a third aspect, an embodiment of the present application provides a data processing apparatus, which can include a memory, a processor and a bus system, wherein the memory is configured to store a program, and the processor is configured to execute the program in the memory to perform any optional method of the first aspect.
[0040] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program, and when the computer program is executed on a computer, the computer program causes the computer to perform the method of the first aspect and any optional method.
[0041] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes code, and when the code is executed, the code is configured to implement the first aspect and any optional method.
[0042] In a sixth aspect, the present application provides a chip system, which includes a processor configured to support an execution device or a training device to implement the functions involved in the above aspects, for example, to send or process the data involved in the above method; or, information. In a possible design, the chip system further includes a memory, and the memory is configured to save necessary program instructions and data for the execution device or the training device. The chip system can be composed of a chip, or can include a chip and other discrete devices. BRIEF DESCRIPTION OF DRAWINGS
[0043] FIG. 1 is a structural schematic diagram of an artificial intelligence main body framework;
[0044] FIG. 2 is a schematic diagram of a system architecture provided by an embodiment of the present application;
[0045] FIG. 3 is a schematic diagram of a system architecture provided by an embodiment of the present application;
[0046] FIG. 4 is a schematic diagram of a recommendation scenario provided by an embodiment of the present application;
[0047] FIG. 5 is a flow diagram of a data processing method according to an embodiment of the present application;
[0048] FIG. 6 is a flow diagram of a data processing method according to an embodiment of the present application;
[0049] FIG. 7 is a flow diagram of a data processing method according to an embodiment of the present application;
[0050] FIG. 8 is a structural diagram of a data processing apparatus according to an embodiment of the present application;
[0051] FIG. 9 is a schematic diagram of an execution device according to an embodiment of the present application;
[0052] FIG. 10 is a schematic diagram of a training device according to an embodiment of the present application;
[0053] FIG. 11 is a schematic diagram of a chip according to an embodiment of the present application. DETAILED DESCRIPTION
[0054] The embodiments of the present application will be described below in conjunction with the accompanying drawings. The terms used in the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.
[0055] The embodiments of the present application will be described below in conjunction with the accompanying drawings. The terms used in the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.
[0056] The terms "first", "second", and the like in the description and claims of the present application and the above drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or a sequence. It should be understood that the terms as used can be interchanged under appropriate circumstances, and are merely used to distinguish between similar objects in the description of the embodiments of the present application. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, so that a process, method, system, product or device including a series of units does not necessarily limit to those units, but can include other units not clearly listed or inherent to the process, method, product or device.
[0057] First, the overall workflow of the artificial intelligence system is described, please refer to Figure 1, which shows a structural diagram of an artificial intelligence subject framework, which is described below from two dimensions of "intelligent information chain" (horizontal axis) and "IT value chain" (vertical axis). Among them, "intelligent information chain" reflects a series of processes from data acquisition to processing. For example, it can be the general process of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision-making, intelligent execution and output. In this process, data undergoes a condensation process of "data-information-knowledge-wisdom". "IT value chain" reflects the value brought by artificial intelligence to the information technology industry from the underlying infrastructure of human intelligence, information (provision and processing technology implementation) to the industrial ecological process of the system.
[0058] (1) Infrastructure
[0059] The infrastructure provides computing power support for the artificial intelligence system, realizes communication with the outside world, and realizes support through the underlying platform. Communication with the outside world through sensors; computing power is provided by intelligent chips (CPU, NPU, GPU, ASIC, FPGA, etc. Hardware acceleration chips); the underlying platform includes distributed computing framework and network-related platform support and support, which can include cloud storage and computing, interconnection network, etc. For example, sensors and external communication obtain data, which are provided to intelligent chips in the distributed computing system provided by the underlying platform for calculation.
[0060] (2) Data
[0061] The data on the upper layer of the infrastructure is used to represent the data source in the field of artificial intelligence. Data involves graphics, images, speech, text, and also involves Internet of Things data of traditional devices, including business data of existing systems and sensing data such as force, displacement, liquid level, temperature, and humidity.
[0062] (3) Data processing
[0063] Data processing usually includes data training, machine learning, deep learning, search, reasoning, decision-making, etc.
[0064] Among them, machine learning and deep learning can symbolize and formalize intelligent information modeling, extraction, preprocessing, training, etc.
[0065] Reasoning refers to the process of simulating human intelligent reasoning methods in computers or intelligent systems, using formalized information to perform machine thinking and solve problems according to reasoning control strategies, and the typical function is search and matching.
[0066] Decision-making refers to the process of decision-making after intelligent information reasoning, which usually provides functions such as classification, sorting, and prediction.
[0067] (4) General capabilities
[0068] After the data is processed as mentioned above, further based on the result of the data processing, some general capabilities can be formed, such as an algorithm or a general system, for example, translation, text analysis, computer vision processing, speech recognition, image recognition, etc.
[0069] (5) Intelligent products and industry applications
[0070] Intelligent products and industry applications refer to the products and applications of artificial intelligence systems in various fields, which are the packaging of the overall solution of artificial intelligence, and realize the application of intelligent information decision products. The application fields mainly include intelligent terminals, intelligent transportation, intelligent medical treatment, automatic driving, smart city, etc.
[0071] Embodiments of the present application can be applied to the field of information recommendation, which includes but is not limited to scenarios involving e-commerce product recommendation, search engine result recommendation, application market recommendation, music recommendation, video recommendation, etc. The recommended items in various application scenarios can also be referred to as "objects" to facilitate subsequent description, that is, in different recommendation scenarios, the recommended objects can be APPs, or videos, or music, or a certain product (such as the presentation interface of an online shopping platform, which will display different products for presentation according to different users, which can also be essentially presented through the recommendation results of the recommendation model). These recommendation scenarios usually involve user behavior log collection, log data preprocessing (for example, quantization, sampling, etc.), sample set training to obtain a recommendation model, analyzing and processing the objects (such as APPs, music, etc.) involved in the scene corresponding to the training sample item according to the recommendation model, for example, the samples selected in the recommendation model training link come from the operation behavior of users of a mobile application market on recommended APPs, then the recommendation model trained from this is suitable for the above-mentioned mobile APP application market, or can be used for other types of terminal APP application market to recommend terminal APPs. The recommendation model will finally calculate the recommendation probability or score of each recommended object, and the recommendation system will select the recommendation result according to certain selection rules, for example, sorting according to the recommendation probability or score, presenting to the user through the corresponding application or terminal device, and the user operating the objects in the recommendation result to generate user behavior logs, etc.
[0072] Referring to FIG. 4, in the recommendation process, when a user interacts with the recommendation system, a recommendation request is triggered, the recommendation system inputs the request and its related feature information into the deployed recommendation model, and then predicts the click rate of the user on all candidate objects. Subsequently, the candidate objects are ranked in descending order according to the predicted click rate, and the candidate objects are displayed in different positions in order as the recommendation result of the user. The user browses the displayed items and user behaviors such as browsing, clicking and downloading occur. These user behaviors are stored in the log as training data, and the parameters of the recommendation model are updated by the offline training module from time to time to improve the recommendation effect of the model.
[0073] For example, the user opens the mobile application market to trigger the recommendation module of the application market, and the recommendation module of the application market predicts the download possibility of each candidate application according to the user's historical download record, user click record, application's own characteristics, time, place and other environmental characteristic information. According to the prediction result, the application market is displayed in descending order of possibility to improve the application download probability. Specifically, the application that is more likely to be downloaded is arranged in the front position, and the application that is less likely to be downloaded is arranged in the rear position. The user's behavior is also stored in the log and the parameters of the prediction model are trained and updated by the offline training module.
[0074] For another example, in the application related to lifelong companion, based on the historical data of the user in the video, music, news and other fields, various models and algorithms are used to construct the cognitive brain and build the user lifelong learning system framework by imitating the human brain mechanism. The lifelong companion can record the past events of the user, understand the current intention of the user, predict the future action or behavior of the user, and finally realize intelligent service according to the system data and application data. In the current first stage, the behavior data of the user (including end-side short message, photo, email event and other information) is obtained according to the music APP, video APP and browser APP, on the one hand, a user portrait system is constructed, and on the other hand, a learning and memory module based on user information filtering, correlation analysis, cross-domain recommendation, causal reasoning and other functions is realized to construct the user personal knowledge graph.
[0075] Next, the application architecture of the embodiment of the present application is introduced.
[0076] Referring to FIG. 2, an embodiment of the present application provides a recommendation system architecture 200. A data collection device 260 is configured to collect samples. One training sample can be composed of multiple feature information (or described as attribute information, such as user attributes and item attributes). The feature information can be various, and can specifically include user feature information and object feature information and label feature. The user feature information is configured to represent the characteristics of the user, such as gender, age, occupation, and hobbies. The object feature information is configured to represent the characteristics of the object pushed to the user. Different recommendation systems correspond to different objects, and the types of features required to be extracted by different objects are also different. For example, the object features extracted in the training sample of the APP market can be the name (identifier) of the APP, the type, the size, etc. The object features extracted in the training sample of the e-commerce APP can be the name of the product, the category to which the product belongs, the price range, etc. The label feature is configured to represent whether the sample is a positive example or a negative example. Generally, the label feature of the sample can be obtained through the operation information of the user on the recommended object. The sample in which the user operates on the recommended object is a positive example, and the sample in which the user does not operate on the recommended object or only browses is a negative example. For example, when the user clicks or downloads or purchases the recommended object, the label feature is 1, indicating that the sample is a positive example. If the user does not operate on the recommended object, the label feature is 0, indicating that the sample is a negative example. The samples can be saved in a database 230 after being collected. Part or all of the feature information in the samples in the database 230 can also be directly obtained from a client device 240, such as user feature information, operation information of the user on the object (used to determine the type identifier), object feature information (such as object identifier), etc. A training device 220 trains to obtain a model parameter matrix for generating a recommendation model 201 (such as the feature extraction network and the neural network in the embodiment of the present application) based on the samples in the database 230. How the training device 220 trains to obtain the model parameter matrix for generating the recommendation model 201 will be described in more detail below. The recommendation model 201 can be used to evaluate a large number of objects to obtain the scores of each object to be recommended. Further, a specified or preset number of objects can be recommended from the evaluation results of a large number of objects. A calculation module 211 obtains a recommendation result based on the evaluation result of the recommendation model 201, and recommends the result to the client device through an I / O interface 212.
[0077] In the embodiment of the present application, 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 refer to the detailed description of the method embodiment shown in FIG. 5.
[0078] After the training device 220 obtains the model parameter matrix based on the sample training and constructs the recommendation model 201, the recommendation model 201 is sent to the execution device 210, or the model parameter matrix is directly sent to the execution device 210, and the recommendation model is constructed in the execution device 210, which is used for making recommendations of the corresponding system. For example, the recommendation model obtained based on the sample training related to the video can be used for recommending videos to users in the video website or APP, and the recommendation model obtained based on the sample training related to the APP can be used for recommending APPs to users in the application market.
[0079] The execution device 210 is configured with an I / O interface 212 to interact with external devices. The execution device 210 can obtain user feature information such as user identification, user identity, gender, occupation, hobby, etc. from the client device 240 through the I / O interface 212. This part of information can also be obtained from the system database. The recommendation model 201 recommends target recommended objects to users based on user feature information and recommended object feature information. The execution device 210 can be set in a cloud server or a user client.
[0080] The execution device 210 can call data, code, etc. in the data storage system 250, and also can store the output data in the data storage system 250. The data storage system 250 can be set in the execution device 210, or can be independently set, or set in other network entities, and the number can be one or more.
[0081] The calculation module 211 processes the user feature information and the recommended object feature information using the recommendation model 201. For example, the calculation module 211 analyzes and processes the user feature information and the recommended object feature information using the recommendation model 201, thereby obtaining the score of the recommended object. The recommended objects are sorted according to the score, and the objects with high ranking are recommended to the client device 240.
[0082] Finally, the I / O interface 212 returns the recommendation result to the client device 240 and presents it to the user.
[0083] More deeply, the training device 220 can generate corresponding recommendation models 201 based on different sample feature information for different targets, to provide better results for users.
[0084] It is worth noting that FIG. 2 is only a schematic diagram of a system architecture provided by the embodiment of the present application, and the positional relationship between the devices, components, modules, etc. shown in the figure does not constitute any limitation. For example, in FIG. 2, the data storage system 250 is an external memory relative to the execution device 210, and in other cases, the data storage system 250 can be placed in the execution device 210.
[0085] In the embodiments of the present application, the training device 220, the execution device 210 and the client device 240 can be three different physical devices respectively, or the training device 220 and the execution device 210 can be on the same physical device or a cluster, or the execution device 210 and the client device 240 can be on the same physical device or a cluster.
[0086] Referring to FIG. 3, it is a system architecture 300 according to an embodiment of the present application. In this architecture, the execution device 210 is implemented by one or more servers, which can be optionally combined with other computing devices such as data storage, routers, load balancers, etc. The execution device 210 can be arranged on one physical site or distributed on multiple physical sites. The execution device 210 can use the data in the data storage system 250 or call the program code in the data storage system 250 to implement the function of object recommendation. 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 the objects are sorted in descending order of the estimated scores, and the user is recommended the objects according to the sorting results. For example, the top 10 objects in the sorting results are recommended to the user.
[0087] The data storage system 250 is used to receive and store the parameters of the recommendation model sent by the training device, and is used to store the data of the recommendation results obtained by the recommendation model, and of course can 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 composed of one device or multiple devices deployed outside the execution device 210. When the execution device 210 needs to use the data on the storage system 250, the storage system 250 can send the data required by the execution device 210 to the execution device 210, and correspondingly, the execution device 210 receives and stores (or caches) the data. Of course, the data storage system 250 can also be deployed in the execution device 210. When deployed in the execution device 210, the distributed storage system can include one or more memories. When there are multiple memories, different memories are used to store different types of data. For example, the model parameters of the recommendation model generated by the training device and the data of the recommendation results obtained by the recommendation model can be stored in two different memories respectively.
[0088] The users can operate their respective user devices (such as local device 301 and local device 302) to interact with the execution device 210. Each local device can represent any computing device, such as a personal computer, a computer workstation, a smartphone, a tablet computer, a smart camera, a smart car or other types of cellular phones, a media consumption device, a wearable device, a set-top box, a game console, etc.
[0089] 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.
[0090] 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.
[0091] 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.
[0092] 1. Click-through rate (CTR)
[0093] 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.
[0094] 2. Personalized Recommendation System
[0095] 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.
[0096] 3. Offline training
[0097] 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.
[0098] 4. Online Inference
[0099] 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.
[0100] For example, FIG. 3 is a schematic diagram of a recommendation system according to an embodiment of the present application. As shown in FIG. 3, when a user enters the system, a request for recommendation is triggered, the recommendation system inputs the request and its related information (e.g., operation information in the embodiment of the present application) into a recommendation model, and then predicts the selection rate of the user for the items in the system. Further, the items are arranged in descending order according to the predicted selection rate or a function based on the selection rate, i.e., the recommendation system can display the items in different positions in order as the recommendation result for the user. The user browses the items in different positions and user behaviors occur, such as browsing, selecting, and downloading, etc. Meanwhile, the actual behaviors of the user are stored in the log as training data, the parameters of the recommendation model are constantly updated by the offline training module, and the prediction effect of the model is improved.
[0101] For example, the user opens the application market in the smart terminal (e.g., mobile phone) to trigger the recommendation system in the application market. The recommendation system in the application market predicts the probability of the user downloading each candidate APP according to the historical behavior log of the user, e.g., the historical download record of the user, the selection record of the user, the environmental characteristic information of the application market itself, such as time, location, etc. According to the calculation result, the recommendation system in the application market can display the candidate APPs in descending order according to the predicted probability value, so as to improve the download probability of the candidate APPs.
[0102] For example, the APPs with high predicted user selection rate can be displayed in the front recommendation position, and the APPs with low predicted user selection rate can be displayed in the rear recommendation position.
[0103] The above recommendation model can be a neural network model, and the related terms and concepts of the neural network that can be involved in the embodiments of the present application are introduced as follows.
[0104] (1) Neural network
[0105] The neural network can be composed of neural units, and the neural unit can be an operation unit with xs (i.e., input data) and intercept 1 as input. The output of the operation unit can be:
[0106] where s = 1, 2, … n, n is a natural number greater than 1, Ws is the weight of xs, b is the bias of the neural unit. f is the activation function of the neural unit, which is used to introduce non-linear characteristics into the neural network to convert the input signal in the neural unit into an output signal. The output signal of the activation function can be used as the input of the next convolutional layer, and the activation function can be a sigmoid function. The neural network is a network formed by connecting a plurality of the above single neural units, 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, and the local receptive field can be a region composed of a plurality of neural units.
[0107] (2) Deep neural network
[0108] Deep neural network (DNN), also known as multi-layer neural network, can be understood as a neural network with many layers of hidden layers, where "many" has no special measurement standard. From the position of DNN according to different layers, the neural network inside DNN can be divided into three categories: input layer, hidden layer, and output layer. Generally, the first layer is the input layer, and the last layer is the output layer, and the number of layers in between is the hidden layer. The layers are fully connected, that is, any neuron in the i-th layer is connected to any neuron in the i+1-th layer. Although DNN looks very complex, in terms of the work of each layer, it is actually not complex, which can be simply expressed as the following linear relationship expression: where, is the input vector, is the output vector, is the offset vector, W is the weight matrix (also called coefficient), and α() is the activation function. Each layer only performs the following simple operation on the input vector to obtain the output vector Since DNN has many layers, the number of coefficients W and offset vectors is also large. These parameters in DNN are defined as follows: taking the coefficient W as an example: assuming in a three-layer DNN, the linear coefficient of the fourth neuron in the second layer to the second neuron in the third layer is defined as The superscript 3 represents the layer number of the coefficient W, and the subscript corresponds to the output third layer index 2 and the input second layer index 4. In summary: the coefficient of the k-th neuron in the L-1-th layer to the j-th neuron in the L-th layer is defined as It is noted that the input layer does not have a W parameter. In a deep neural network, more hidden layers allow the network to better capture the complexity of real-world situations. In theory, the more parameters a model has, the higher its complexity and the greater its "capacity" to perform more complex learning tasks. Training a deep neural network is essentially a process of learning the weight matrices, and the ultimate goal is to obtain the weight matrices of all layers of the trained deep neural network (weight matrices formed by vectors W of many layers).
[0109] (3) Loss function
[0110] In the process of training a deep neural network, because the output of the deep neural network is expected to be as close as possible to the value that is truly intended to be predicted, the weight vectors of each layer of the neural network can be updated according to the difference between the predicted value of the current network and the target value that is truly intended to be predicted (of course, there is usually an initialization process before the first update, i.e., pre-configuring parameters for each layer of the deep neural network), for example, if the predicted value of the network is too high, adjust the weight vector to make it predict lower, and keep adjusting until the deep neural network can predict the target value that is truly intended to be predicted or a value very close to it. Therefore, it is necessary to define "how to compare the difference between the predicted value and the target value" in advance, which is the loss function or the objective function, which is an important equation for measuring the difference between the predicted value and the target value. Among them, taking the loss function as an example, the higher the output value (loss) of the loss function, the greater the difference, and then the training of the deep neural network becomes a process of trying to minimize this loss.
[0111] (4) Back propagation algorithm
[0112] The back propagation (BP) algorithm can be used to correct the size of the parameters in the initial model during the training process, so that the error loss of the model becomes smaller and smaller. Specifically, the error loss is generated by forward propagating the input signal until the output, and the parameters in the initial model are updated by back propagating the error loss information, so that the error loss converges. The back propagation algorithm is a back propagation movement dominated by error loss, aiming to obtain optimal model parameters such as weight matrices.
[0113] (5) Machine learning system
[0114] Based on input data and labels, the parameters of the machine learning model are trained by optimization methods such as gradient descent, and finally the trained model is used to complete the prediction of unknown data.
[0115] (6) Personalized recommendation system
[0116] A system for analyzing and modeling historical data of users using machine learning algorithms and making predictions on new user requests to give personalized recommendation results.
[0117] (7) Ad slot: An ad slot refers to a position for ad auction and display, and is an area for ad content filling after personalized bidding.
[0118] (8) List ad: A list ad contains multiple ad slots in the same list, including horizontal and vertical lists, contains multiple ad slots and simultaneously bids and fills displays in one ad auction.
[0119] (9) Ad auction: After a user initiates a request, the page display platform organizes different advertisers to participate in the auction of the ad slot to determine the winning party and the specific charge price.
[0120] (10) Ad bid: An ad bid refers to the bid of an advertiser in an ad auction, including fixed bidding, delegated ad platform adaptive bidding, and different ways.
[0121] (11) Ad winning: If an advertiser has the highest bid in the auction, its ad will be displayed on the ad slot of the publisher's website or mobile application.
[0122] (12) DSP: DSP stands for "demand-side platform", which is a comprehensive management platform for advertisers and agents to manage multiple digital ads and data exchange accounts through a unified interface.
[0123] (13) SSP: SSP is the abbreviation of sell-side platform, which is a media-side platform that provides traffic, i.e. a display platform such as Baidu.
[0124] (14) Click-through rate prediction: Based on given ad, user and context information, the click-through rate of each ad (or product) is predicted, and the prediction accuracy directly affects the revenue.
[0125] Machine learning systems, including personalized recommendation systems, train machine learning model parameters based on input data and labels through gradient descent and other optimization methods. When 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, the input data includes user attributes and product attributes. How to predict a personalized recommendation list based on user preferences has a significant impact on improving the recommendation accuracy of the recommendation system.
[0126] The commodity can be an advertisement. In this case, an advertisement delivery system that performs advertisement recommendation often adopts real-time bidding, and a platform party needs to predict a click rate of the advertisement and determine a bid of the advertisement in combination with a payment specified by an advertiser (that is, a payment of the advertiser after a user has an interactive behavior with the advertisement). In the prediction stage of the click rate, the payment of the advertiser relative to the click is a posterior behavior, that is, the payment of the advertiser needs to be perceived after the click rate is predicted.
[0127] In the prior art, when a prediction model of a click rate is trained, the training model can only optimize the accuracy of the predicted click rate, that is, the model is updated only based on a loss constructed based on the click rate, which is different from an actual online attention index (for example, eCPM (effective cost per mille)), thereby causing inaccurate prediction of the click rate.
[0128] To solve the above problems, the present application provides a data processing method, which can be used for inference process of a model or feedforward process of model training.
[0129] Referring to FIG. 5, FIG. 5 is an embodiment of a data processing method provided by an embodiment of the present application. As shown in FIG. 5, the data processing method provided by an embodiment of the present application includes the following steps.
[0130] 501, obtaining first information, the first information including attribute information of a user and an item;
[0131] The attribute information of the user can be an attribute related to a user preference feature, at least one of gender, age, occupation, income, hobby, and education level. The gender can be male or female, the age can be a number between 0 and 100, the occupation can be a teacher, a programmer, a chef, etc., the hobby can be basketball, tennis, running, etc., and the education level can be primary school, junior high school, high school, college, etc. The present application does not limit the specific type of the attribute information of the user.
[0132] The item can be a physical item or a virtual item, for example, an advertisement, an application (APP), an audio / video, a webpage, and news information, etc. The attribute information of the item can be at least one of an item name, a developer, an installation package size, a category, and a degree of praise. Taking the item as an application as an example, the category of the item can be a chat type, a running type game, an office type, etc., and the degree of praise can be a score or a comment for the item. The present application does not limit the specific type of the attribute information of the item.
[0133] For example, taking the case of an item as an advertisement, in a possible implementation, a user browses a certain page, and an advertisement request is triggered at this time. After the sell-side platform (SSP) receives the advertisement request, the SSP sends a bidding request to different demand-side platforms (DSPs). After the DSPs receive the bidding request, the DSPs provide the advertisement bid for the current request according to the value judgment of the user request by the DSPs.
[0134] In addition, the first information can further include context information, interaction information, and the like.
[0135] In the process of calculating the advertisement bid of the advertiser, the DSP can calculate the click rate prediction of the user for the advertisement and obtain the delivery budget of the advertiser (the budget can be provided by the advertiser, which can be described as the charge of the advertiser in the embodiments of the present application).
[0136] 502. Obtain a feature representation through a feature extraction network according to the first information.
[0137] In a possible implementation, the obtained first information can be subjected to feature extraction (through a feature extraction network) to obtain a feature representation. For example, the first information can be subjected to feature extraction through an embedding network, a feature interaction network, and the like.
[0138] 503. Predict the recommendation information of the user for the item and the first value information of the item according to the feature representation.
[0139] In a possible implementation, the recommendation information of the user for the item can be predicted according to the feature representation, where the recommendation information can be but is not limited to a click rate. The model for predicting the recommendation information of the user for the item can be a DCN (deep cross network), a deep factorization machine (DeepFM), or the like.
[0140] In a possible implementation, the first value information of the item can be predicted according to the feature representation, where the first value information can be the objective price of the item, for example, the market value. The market value is different from the bid price, and can represent the objective and real value of the item in the market.
[0141] When the item is an advertisement, the first value information can be the second price of the advertisement. In the advertisement industry, the charge price is not the price according to the bid price, but the charge price is the bid price of the second place. The second price can represent the objective and real value of the item in the market.
[0142] In a possible implementation, the first value information of the item can be predicted by the first network according to the feature representation. For example, the first value information of the item can be predicted by a light-weighted MLP, but the implementation is not limited to this.
[0143] In a possible implementation, the method is applied to a target recommendation scenario, the first value information of the item is predicted by the first network according to the feature representation, and parameters of the first network are determined by the second network according to indication information of the target recommendation scenario.
[0144] In a possible implementation, the recommendation scenario (which can also be referred to as a recommendation environment) can be an application program serving a specific demand, such as Huawei Browser, Huawei Video, or a specific channel, such as an entertainment channel, a news channel, a science and technology channel, and the like in the information flow of the browser.
[0145] In a possible implementation, different recommendation scenarios correspond to different application programs, or different recommendation scenarios correspond to different types of application programs (for example, a video application program and a browser application program are different application programs), or different recommendation scenarios correspond to different functions of the same application program (for example, different channels of the same application program, such as a news channel, a science and technology channel, and the like), and the different functions can be classified according to recommendation categories.
[0146] In a possible implementation, different recommendation scenarios can correspond to different physical scenarios where the recommendation is located, for example, different cities, different provinces, and the like.
[0147] In a possible implementation, different recommendation scenarios can correspond to application programs developed by different developers.
[0148] In a possible implementation, different recommendation scenarios can correspond to different or different types of e-commerce products.
[0149] In a possible implementation, different display positions on the same page can correspond to different recommendation scenarios.
[0150] The parameter of the first network is determined according to the indication information of the target recommendation scene through the second network, that is, the network parameter of the network used for predicting the first value information is related to the recommendation scene, specifically, the parameter of the first network can be obtained by processing the indication information of the target recommendation scene through the second network. The value information of the item is often related to the recommendation scene, that is, the value of the same item may be different under different recommendation scenes. Since the parameter of the network used for predicting the first value information is related to the recommendation scene, the network can perceive the recommendation scene, so that the predicted value information is related to the recommendation scene, thereby improving the accuracy of the predicted value information.
[0151] For example, referring to FIG. 6, the market price regression auxiliary estimation module can be used for predicting the value information, the market price environment perception module can be used for determining the model parameter of the second network, and the adaptive CPC sample weighting module can be used for determining the weight information.
[0152] For example, the second network can include a feature extraction network (such as an embedding network) and some mathematical transformations. For example, the second network can perform the following formula calculation: h 0 =hprice tower input h k =σ(W k-1 h k-1 +b k-1 ),k∈[1,…,N] W k ,b k =Reshape(Split(D)),D-domain embedding
[0153] Wherein, D is the embedding of the recommendation scene, Wk and bk represent the parameters of the kth layer of the second network, h k represents the process of predicting the value information by the second network.
[0154] In a possible implementation, the weight of the recommendation information can also be determined according to the second value information of the item, the second value information indicating the offer of the provider of the item, and the weight being positively related to the second value information; the weight information is adjusted according to the weight, to obtain adjusted recommendation information.
[0155] Specifically, the second value information can be the one price of an advertisement, that is, cost per click (CPC). By introducing the posterior information CPC (cost per click), higher weight is given to the positive sample with high CPC during training, which can improve the pCTR of high-value traffic, thereby improving the overall eCPM.
[0156] In the model training stage, the model can perceive high-value items in the preposed recommendation information (e.g., click rate) estimation stage, thereby further optimizing the overall revenue of the recommendation system.
[0157] In a possible implementation, the weight of the recommendation information can be determined according to the second value information of the item through a fourth network (e.g., MLP, which can be updated during model training). Specifically, the second value information can be the one price of an advertisement, that is, CPC (cost per click). By introducing an additional signal CPC (cost per click), a higher weight is given to the positive sample with a high CPC during training. The sample weight is automatically learned by the MLP to ensure the positive nature of the weight, and the output weight is positively correlated with the CPC. The CPC distribution is significantly different between different media types, and the weighted weight is modeled separately.
[0158] For example, taking CPC as an example, the second network can perform the following formula: h 0 =CPC
[0159] ω cpc =softamx(sigmoid(h N ),axis=0)
[0160] 504、According to the recommendation information and the first value information, a loss is constructed, and the feature extraction network is updated according to the loss.
[0161] Wherein, according to the recommendation information and the corresponding label, and the first value information and the corresponding label (in the training process, the information is known), the loss is constructed,
[0162] For example, for the recommendation information, a cross-entropy loss can be constructed:
[0163] Where B represents a training batch, yctr represents a label, and yctr <hat>representative model predicted value (i.e., predicted recommendation information).
[0164] For example, for the first value information, an MAE regression loss can be constructed:
[0165] It should be understood that if the recommendation information is adjusted based on the weight information, the loss can be:
[0166] where yprice represents a label, yprice <hat>The predicted value representing the value information. Lprice and Lctr can be weighted to obtain the final loss Loss.
[0167] After obtaining the loss, the feature extraction network, the first network, etc. can be updated according to the loss, and in addition, the second network, the third network, and the fourth network introduced in the above embodiments can also be updated.
[0168] In the model training stage in the embodiments of the present application, in addition to constructing a loss based on recommendation information, a loss is also constructed by using posterior information (value information of an item) in the inference process, and the model is trained based on the loss, so that the model has the ability to identify accurate value information of an item, which is equivalent to enabling the model to have the ability to face online income indicators, thereby improving the recommendation accuracy of the model, and in particular in the advertisement recommendation scenario, the revenue of the advertisement system can be improved.
[0169] The application system scenario of the present application can be an advertisement recommendation scenario. As shown in FIG. 7, a click rate prediction scenario in an advertisement recommendation system is taken as an example for introduction. FIG. 7 mainly includes an online prediction module and an offline training module.
[0170] The running process of the advertisement recommendation system in FIG. 7 is as follows: a user generates a request, then the online prediction module gives a click rate prediction of an item item according to the features of the user and the item and related context features, and then the system generates an item list. The user generates a click behavior on the item list, and then the behavior is recorded and stored in a log database. The stored logs are processed and then input to the offline training module for training to generate a new click rate prediction model. The click rate prediction model will be used in the online prediction module to complete the closed loop of the whole process.
[0171] The embodiment of the present application proposes a click rate prediction modeling method assisted by bidding information, which mainly acts on the offline training part, introduces posterior bidding information, and gives the click rate prediction model the ability to perceive high-value traffic to improve online advertising revenue.
[0172] Next, the beneficial effects of the embodiments of the present application will be introduced in combination with experiments:
[0173] The present scheme is implemented on the public data set IPINYOU. The data format of the data set is shown in Table 1, which contains the required bidding information paying price:
[0174] Table 1
[0175] Offline experiments are conducted on IPINYOU dataset: evaluation metrics are selected as AUC (hoping that positive samples are ranked higher than negative samples), csAUC (not only considering the ranking of positive and negative samples, but also hoping that the bid of the positive sample is ranked higher), Rev@1 (simulating the total single pit advertising income on the test set), RevNDCG@1 (Rev@1 divided by the maximum total single pit advertising income): the following common models are selected for comparison: classic recommendation models: DNN, DCN, DeepFM, etc., and previous models that introduce bid information: MTAE.
[0176] Referring to Table 2, Table 2 is a schematic of experimental results:
[0177] Table 2
[0178] Through experiments, it can be seen that the application embodiment Auction Information Enhanced Framework for CTR prediction (AIE) has obvious improvement in AUC and csAUC indicators compared with the existing recommendation models and MTAE models in the industry.
[0179] In addition, offline experiments are conducted on an advertising industry dataset, which is a dataset used by the main traffic of the present network. The experimental evaluation indicators and the comparison models can be referred to Table 3:
[0180] Table 3
[0181] Table 4:Overall performance comparison on industrial dataset
[0182] Through experiments, it can be seen that our scheme AIE has obvious improvement in AUC and csAUC.
[0183] Online experiments are conducted in the advertising scenario, and the two modules of AIE, Adaptive Market-price Auxiliary Module (AM2) and Bid Calibration Module (BCM), are verified respectively. Finally, both modules are network-wide, becoming a new baseline. AIE has achieved significant improvement in thousands of request streams (RPM), thousands of display income (ECPM), and click-through rate (CTR) compared with the baseline, while also reducing the estimation bias (Bias).
[0184] Table 4
[0185] Next, from the perspective of the device, a data processing device provided by the embodiments of the present application is introduced. Referring to FIG. 8, FIG. 8 is a structural schematic of a data processing device provided by the embodiments of the present application. As shown in FIG. 8, a data processing device 800 provided by the embodiments of the present application includes:
[0186] The acquisition module 801 is configured to acquire first information, where the first information includes attribute information of a user and an item.
[0187] The specific description of the acquisition module 801 can be referred to the description of step 501 in the above embodiments, and will not be repeated here.
[0188] The processing module 802 is configured to obtain a feature representation by a feature extraction network according to the first information, predict recommendation information of the user for the item and first value information of the item according to the feature representation, construct a loss according to the recommendation information and the first value information, and update the feature extraction network according to the loss.
[0189] The specific description of the processing module 802 can be referred to the description of steps 502 to 504 in the above embodiments, and will not be repeated here.
[0190] In a possible implementation, the first value information indicates a market value of the item.
[0191] In a possible implementation, the device is applied to a target recommendation scenario. The processing module 802 is specifically configured to:
[0192] predict the first value information of the item by a first network according to the feature representation; and
[0193] The parameters of the first network are determined by a second network according to indication information of the target recommendation scenario.
[0194] In a possible implementation, the processing module 802 is further configured to:
[0195] update the first network and the second network according to the loss.
[0196] In a possible implementation, the processing module 802 is further configured to:
[0197] determine a weight of the recommendation information according to second value information of the item, where the second value information indicates a bid of a provider of the item, and the weight is positively correlated with the second value information;
[0198] adjust the weight information according to the weight to obtain adjusted recommendation information.
[0199] The processing module 802, in particular, is configured to:
[0200] According to the adjusted recommendation information and the first value information, a loss is constructed.
[0201] In a possible implementation, the processing module 802, in particular, is configured to:
[0202] According to the second value information of the item, a weight of the recommendation information is determined through a third network.
[0203] The processing module 802 is further configured to:
[0204] According to the loss, the third network is updated.
[0205] In a possible implementation, the item is an advertisement.
[0206] Next, a terminal device provided in an embodiment of the present application is introduced. Referring to FIG. 9, FIG. 9 is a structural schematic diagram of a terminal device provided in an embodiment of the present application. The terminal device 900 can specifically be a mobile phone, a tablet, a notebook computer, a smart wearable device, etc., which is not limited herein. The terminal device 900 implements the function of the data processing method in the corresponding embodiment of FIG. 5. Specifically, the terminal device 900 includes a receiver 901, a transmitter 902, a processor 903 and a memory 904 (wherein the number of processors 903 in the terminal device 900 can be one or more), wherein the processor 903 can include an application processor 9031 and a communication processor 9032. In some embodiments of the present application, the receiver 901, the transmitter 902, the processor 903 and the memory 904 can be connected through a bus or other means.
[0207] The memory 904 can include a read-only memory and a random access memory, and provide instructions and data for the processor 903. A part of the memory 904 can also include a non-volatile random access memory (NVRAM). The memory 904 stores processor and operation instructions, executable modules or data structures, or subsets thereof, or expanded sets thereof, wherein the operation instructions can include various operation instructions for implementing various operations.
[0208] The processor 903 controls the operation of the terminal device. In a specific application, various components of the terminal device are coupled together through a bus system, wherein the bus system can include a data bus, a power bus, a control bus and a state signal bus, etc. in addition to the data bus. However, for the sake of clarity, all kinds of buses are referred to as a bus system in the figure.
[0209] The method disclosed in the embodiments of the present application can be applied to the processor 903 or implemented by the processor 903. The processor 903 can be an integrated circuit chip having a signal processing capability. In the implementation process, each step of the above method can be completed by an integrated logic circuit or an instruction in the form of software in the processor 903. The processor 903 described above can be a general processor, a digital signal processor (DSP), a microprocessor or a microcontroller, a vision processing unit (VPU), a tensor processing unit (TPU) and other processors suitable for AI operation, and can further include an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. The processor 903 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register or other mature storage medium in the art. The storage medium is located in the memory 904, and the processor 903 reads the information in the memory 904 and combines the hardware to complete the steps of steps 501 to 504 in the above embodiments.
[0210] The receiver 901 can be used to receive input digital or character information, and generate signal input related to the relevant settings and function control of the terminal device. The transmitter 902 can be used to output digital or character information through the first interface; the 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; the transmitter 902 can also include a display device such as a display screen.
[0211] The embodiment of the present application further provides a server. Please refer to FIG. 10, which is a structural schematic diagram of the server according to the embodiment of the present application. Specifically, the server 1000 is implemented by one or more servers. The server 1000 can be quite different due to different configurations or performances. The server 1000 can include one or more central processing units (CPUs) 1010 (for example, one or more processors) and a memory 1032, and one or more storage media 1030 (for example, one or more mass storage devices) for storing application programs 1042 or data 1044. The memory 1032 and the storage media 1030 can be temporary storage or persistent storage. The programs stored in the storage media 1030 can include one or more modules (not shown in the figure), and each module can include a series of instruction operations in the server. Furthermore, the central processing unit 1010 can be configured to communicate with the storage media 1030 and execute the series of instruction operations in the storage media 1030 on the server 1000.
[0212] The server 1000 can further include one or more power supplies 1026, one or more wired or wireless network interfaces 1050, one or more input and output interfaces 1058, or one or more operating systems 1041, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.
[0213] Specifically, the server can perform the steps 501 to 504 in the above embodiment.
[0214] The embodiment of the present application further provides a computer program product, which, when running on a computer, causes the computer to perform the steps performed by the above execution device, or causes the computer to perform the steps performed by the above training device.
[0215] The embodiment of the present application further provides a computer readable storage medium, which stores a program for signal processing. When the program runs on a computer, the computer is caused to perform the steps performed by the above execution device, or the computer is caused to perform the steps performed by the above training device.
[0216] The execution device, the training device or the terminal device provided by the embodiments of the present application can specifically be a chip, which comprises a processing unit, for example, a processor, and a communication unit, for example, an input / output interface, a pin or a circuit, etc. The processing unit can execute computer execution instructions stored in a storage unit, so that the chip in the execution device executes the data processing method described in the above embodiments, or so that the chip in the training device executes the data processing method described in the above embodiments. Alternatively, the storage unit is a storage unit in the chip, such as a register, a cache, etc., and the storage unit can also be a storage unit outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM), etc.
[0217] Specifically, please refer to FIG. 11, which is a structural schematic diagram of a chip provided by the embodiments of the present application. The chip can be represented as a neural network processor NPU 1100, which is mounted on a host CPU (Host CPU) as a coprocessor and is assigned tasks by the Host CPU. The core part of the NPU is an operation circuit 1103, which extracts matrix data in a memory and performs multiplication operation through a controller 1104.
[0218] The NPU 1100 can realize the data processing method provided in the embodiments described in FIG. 5 through mutual cooperation between various devices inside the NPU 1100.
[0219] More specifically, in some implementations, the operation circuit 1103 in the NPU 1100 internally includes a plurality of processing units (PEs). In some implementations, the operation circuit 1103 is a two-dimensional systolic array. The operation circuit 1103 can also be a one-dimensional systolic array or other electronic circuits capable of performing mathematical operations such as multiplication and addition. In some implementations, the operation circuit 1103 is a general-purpose matrix processor.
[0220] For example, it is assumed that there are an input matrix A, a weight matrix B and an output matrix C. The operation circuit takes corresponding data of the matrix B from the weight memory 1102 and buffers it on each PE in the operation circuit. The operation circuit takes the matrix A data from the input memory 1101 and performs matrix operation with the matrix B, and the partial result or final result of the obtained matrix is saved in an accumulator 1108.
[0221] The unified memory 1106 is used to store input data and output data. The weight data is transferred to the weight memory 1102 through the Direct Memory Access Controller (DMAC) 1105. The input data is also transferred to the unified memory 1106 through the DMAC.
[0222] The BIU is the Bus Interface Unit 1110, which is used for the interaction between the AXI bus and the DMAC and the instruction fetch buffer (IFB) 1109.
[0223] The BIU 1110 is used for the instruction fetch buffer 1109 to fetch instructions from the external memory, and is also used for the memory access controller 1105 to fetch the original data of the input matrix A or the weight matrix B from the external memory.
[0224] The DMAC is mainly used to transfer the input data in the external memory DDR to the unified memory 1106, or to transfer the weight data to the weight memory 1102, or to transfer the input data to the input memory 1101.
[0225] The vector calculation unit 1107 includes a plurality of operation processing units, which further process the output of the operation circuit 1103 as needed, such as vector multiplication, vector addition, exponential operation, logarithmic operation, size comparison, etc. It is mainly used for non-convolutional / full connection layer network calculation in neural networks, such as batch normalization, pixel-level summation, upsampling of feature planes, etc.
[0226] In some implementations, the vector calculation unit 1107 can store the processed output vector to the unified memory 1106. For example, the vector calculation unit 1107 can apply a linear function; or, a nonlinear function to the output of the operation circuit 1103, such as linear interpolation on the feature planes extracted by the convolutional layer, and further, a vector of accumulated values to generate activation values. In some implementations, the vector calculation unit 1107 generates normalized values, pixel-level summation values, or both. In some implementations, the processed output vector can be used as an activation input to the operation circuit 1103, such as for use in subsequent layers in a neural network.
[0227] The controller 1104 is connected to the instruction fetch buffer 1109, which is used to store instructions used by the controller 1104;
[0228] The unified memory 1106, the input memory 1101, the weight memory 1102, and the instruction memory 1109 are on-chip memories. The external memory is private to the NPU hardware architecture.
[0229] Any processor mentioned in the above can be a general central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the above programs.
[0230] In addition, it should be noted that the apparatus embodiments described above are merely illustrative, and the units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e., they can be located in one place or distributed on multiple network units. Some or all of the modules can be selected to achieve the purpose of the embodiment according to actual needs. In addition, the connection relationship between the modules in the apparatus embodiment provided in the present application indicates that there is a communication connection between them, which can be implemented as one or more communication buses or signal lines.
[0231] From the above description of the embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software and the necessary general hardware, and of course, it can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. Generally, functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure for implementing the same function can also be various, such as analog circuits, digital circuits, or special circuits. However, for the present application, software program implementation is a better embodiment. Based on this understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer's floppy disk, U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., including a plurality of instructions for making a computer device (which can be a personal computer, a training device, or a network device, etc.) execute the methods described in various embodiments of the present application.
[0232] In the above embodiments, all or part can be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, it can be implemented in the form of a computer program product in whole or in part.
[0233] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transmitted from one website, computer, training device or data center to another website, computer, training device or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be stored by the computer or a data storage device such as a training device, a data center, etc. integrated with one or more available media sets. The available media can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)), etc.< / hat> < / hat>
Claims
1. A data processing method, characterized by, The method comprises: obtaining first information, the first information comprising attribute information of a user and an item; obtaining a feature representation from a feature extraction network according to the first information; predicting recommendation information of the user for the item and first value information of the item according to the feature representation; constructing a loss according to the recommendation information and the first value information, and updating the feature extraction network according to the loss.
2. The method of claim 1, wherein, The first value information indicates a market value of the item.
3. The method according to claim 1 or 2, characterized in that, The method is applied to a target recommendation scenario; and predicting the recommendation information of the user for the item and the first value information of the item according to the feature representation comprises: predicting the first value information of the item from a first network according to the feature representation; wherein parameters of the first network are determined from a second network according to indication information of the target recommendation scenario.
4. The method of claim 3, wherein, The method further comprises: updating the first network and the second network according to the loss.
5. The method according to any one of claims 1 to 4, characterized in that, The method further comprises: determining a weight of the recommendation information according to second value information of the item, the second value information indicating a bid of a provider of the item, the weight being positively correlated with the second value information; adjusting the weight information according to the weight to obtain adjusted recommendation information; constructing the loss according to the adjusted recommendation information and the first value information. The method further comprises:
6. The method of claim 5, wherein, determining a weight of the recommendation information according to second value information of the item from a third network; The method further comprises: updating the third network according to the loss. The item is an advertisement.
7. The method according to any one of claims 1 to 6, characterized in that, The device comprises:
8. A data processing apparatus, characterized by, an obtaining module configured to obtain first information, the first information comprising attribute information of a user and an item; a processing module configured to obtain a feature representation from a feature extraction network according to the first information, predict recommendation information of the user for the item and first value information of the item according to the feature representation, construct a loss according to the recommendation information and the first value information, and update the feature extraction network according to the loss. The first value information indicates a market value of the item.
9. The apparatus of claim 8, wherein, The device is applied to a target recommendation scenario; and the processing module is specifically configured to:
10. The apparatus of claim 8 or 9, wherein, predict the first value information of the item from a first network according to the feature representation; wherein parameters of the first network are determined from a second network according to indication information of the target recommendation scenario. The processing module is further configured to:
11. The apparatus of claim 10, wherein, update the first network and the second network according to the loss. The processing module is further configured to:
12. The apparatus of any one of claims 8 to 11, wherein, determine a weight of the recommendation information according to second value information of the item, the second value information indicating a bid of a provider of the item, the weight being positively correlated with the second value information; adjust the weight information according to the weight to obtain adjusted recommendation information; The processing module is specifically configured to: According to the adjusted recommendation information and the first value information, a loss is constructed.
13. The apparatus of claim 12, wherein, The processing module is specifically configured to: According to the second value information of the item, a weight of the recommendation information is determined through a third network. The processing module is further configured to: The third network is updated according to the loss.
14. The apparatus of any one of claims 8 to 13, wherein, The item is an advertisement.
15. A computing device, comprising: The computing device includes a memory and a processor; the memory stores a code, and the processor is configured to acquire the code and execute the method in any one of claims 1 to 7.
16. A computer storage medium, comprising, The computer storage medium stores one or more instructions, which, when executed by one or more computers, cause the one or more computers to implement the method in any one of claims 1 to 7.
17. A computer program product comprising code, characterized in that, The code is executed to implement the method in any one of claims 1 to 7.
18. A chip comprising a processor, characterized in that The processor is configured to support a data processing apparatus to implement the method in any one of claims 1 to 7.
Citation Information
Patent Citations
Advertisement putting method and device, computer equipment and storage medium
CN111178981A
Article recommendation method and device and computer readable storage medium
CN113763089A
Commodity recommendation method, system and device and readable medium
CN115860870A
Information pushing method and related device
CN116485468A
Method and system for recommending content items to a user based on tensor factorization
US20180293506A1