Data processing method and related equipment

By using the conversion function based on cost variables in the video recommendation system, the user's interaction time of video is predicted and recommended as a user's preference feature, the recommendation deviation problem caused by short video completion is solved, and more accurate user interest estimation and recommendation effects are achieved.

CN119719474APending Publication Date: 2025-03-28HUAWEI TECH CO LTD +1
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311294666.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The existing video recommendation methods have deviations in short video scenarios, and the finished video is misunderstood as users like, resulting in serious deviations during training of the recommended model.

Method used

By obtaining the attribute information of the user and the item, using the conversion function based on the interaction time and preference information of the cost variable, the user's interaction time on the item is predicted and recommended as the user's preference feature.

Benefits of technology

It realizes more accurate user interest estimation, reduces recommendation deviations caused by short video playback, and improves the accuracy of the recommendation model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119719474A_ABST
    Figure CN119719474A_ABST
Patent Text Reader

Abstract

A data processing method can be applied to the field of artificial intelligence and comprises the steps of obtaining attribute information of a user and an article; according to the attribute information, obtaining preference information of the user for the article; according to the preference information and the cost variable, through a preset first mapping relation, determining predicted interaction duration of the user to the article; the cost variable is information influencing the interaction duration of the user on the article; and when the predicted interaction duration meets a preset condition, recommending articles to the user. According to the method and the device, the interaction duration of the user to the article is predicted through the conversion function of the interaction duration and the preference information based on the cost variable, and recommendation is performed by using the predicted interaction duration as the preference feature of the user, so that the more accurate interaction duration can be obtained, and the more accurate recommendation result is obtained.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence, and in particular to a data processing method and related equipment. Background Art

[0002] Artificial intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers 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 attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is also the study of the design principles and implementation methods of various intelligent machines, so that machines have the functions of perception, reasoning and decision-making.

[0003] The rise of video content platforms has attracted billions of users and is becoming more and more frequent in people's daily use today. In order to better meet people's information needs and improve their engagement, accurate and personalized video recommendations play an important role. Unlike traditional recommendation scenarios, video recommendations adopt a streaming playback mode. That is, automatic playback. This feature makes the widely used implicit feedback (for example, user clicks) no longer suitable as a label to measure user interest. Compared with the number of clicks, the user's viewing time indicates how much attention the user is willing to spend on this video, and is considered to be a better indicator of user interest. However, the fact that a user has finished watching a video does not necessarily mean that the user likes the video. Even if the user has finished the video, the user may still not like the video. Moreover, in the short video scenario, the proportion of finished videos is not low. If these finished videos are used as positive examples to supervise the training of the recommendation ranking model, it will lead to serious deviations. In addition, from the trend of the positive and negative feedback signal ratio of finished videos, the shorter the finished video, the higher the displayed negative feedback and the lower the displayed positive feedback. This is because it takes a certain amount of time for users to judge whether they like it, and videos that are too short are more likely to confuse their true interests.

[0004] Therefore, a more accurate recommendation method is needed. Summary of the invention

[0005] In a first aspect, the present application provides a data processing method, the method comprising: obtaining attribute information of a user and an item; obtaining the user's preference information for the item based on the attribute information; determining the predicted interaction time of the user for the item through a preset first mapping relationship based on the preference information and a cost variable; the cost variable is information that affects the interaction time of the user for the item; and recommending the item to the user when the predicted interaction time meets a preset condition.

[0006] In an embodiment of the present application, a conversion function based on the interaction time of the cost variable and the preference information is used to predict the user's interaction time for the item, and the predicted interaction time is used as the user's preference feature for recommendation, so that a more accurate interaction time can be obtained, and then a more accurate recommendation result can be obtained.

[0007] In a possible implementation, the method also includes: when the predicted interaction duration determined by a preset first mapping relationship is greater than the maximum interaction duration corresponding to the item, using the maximum interaction duration as the predicted interaction duration after truncation; when the predicted interaction duration meets a preset condition, including: when the predicted interaction duration after truncation meets the preset condition.

[0008] In a possible implementation, the preference information is a score; and the preset first mapping relationship satisfies the following constraint: the output score is positively correlated with the predicted interaction duration.

[0009] In a possible implementation, the preference information is a score; the preset first mapping relationship satisfies: when the preference information tends to 0, the predicted interaction duration tends to 0; when the preference information tends to 1, the predicted interaction duration tends to infinity.

[0010] In a possible implementation, the preset first mapping relationship is specifically the following formula:

[0011]

[0012] in, is the predicted interaction time, c is the cost variable, r u,υ For preference information.

[0013] In a possible implementation, the method further includes:

[0014] According to the attribute information and / or context information, the cost variable is obtained through a first neural network model.

[0015] In a possible implementation, the item is a video, and the interaction duration is a viewing duration.

[0016] In a second aspect, the present application provides a data processing method, the method comprising:

[0017] Get the attribute information of users and items;

[0018] According to the attribute information, obtaining the first preference information of the user for the item through a second neural network model;

[0019] Predicting the second preference information of the user for the item according to the actual interaction time of the user for the item and the cost variable through a preset second mapping relationship; the cost variable is information that affects the interaction time of the user for the item;

[0020] The second neural network model and the cost variable are updated according to the first preference information and the second preference information.

[0021] The goal of the embodiment of the present application is to accurately estimate the user's interaction duration. Due to the influence of duration bias, the estimates of previous models are often not accurate enough. The embodiment of the present application proposes the concept of counterfactual interaction duration to better explain the existence of item duration bias. The embodiment of the present application designs a cost-based conversion function to convert the counterfactual interaction duration into the user's interest in the item; then, corresponding loss functions are designed for complete interactions and incomplete interactions to supervise the training process of the recommendation model.

[0022] In a possible implementation, the method further includes:

[0023] According to the attribute information and / or context information, the cost variable is obtained by using a first neural network model;

[0024] The updating of the second neural network model and the cost variable according to the first preference information and the second preference information includes:

[0025] The second neural network model, the cost variable and the first neural network model are updated according to the first preference information and the second preference information.

[0026] In the above way, two models are designed: the relevance model (that is, the second neural network model) is used to estimate the user's viewing interest in the current video, and the cost model (that is, the first neural network model) is used to estimate the user cost, and the two are jointly learned.

[0027] In a possible implementation, predicting the second preference information of the user for the item according to the actual interaction time and cost variable of the user for the item through a preset second mapping relationship includes:

[0028] When the actual interaction time is greater than the maximum interaction time corresponding to the item, the second preference information of the user for the item is predicted according to the maximum interaction time and the cost variable through a preset second mapping relationship.

[0029] In a possible implementation, updating the neural network model according to the first preference information and the second preference information includes:

[0030] When the actual interaction time is less than the maximum interaction time corresponding to the item, constructing a first loss according to the first preference information and the second preference information, and updating the neural network model according to the first loss;

[0031] When the actual interaction duration is greater than the maximum interaction duration corresponding to the item, a second loss different from the first loss is constructed according to the first preference information and the second preference information, and the neural network model is updated according to the second loss.

[0032] In a possible implementation, the first loss is: MSE loss; the second loss is:

[0033] in,

[0034] The σ is the standard deviation of user interests.

[0035] In a possible implementation, the second mapping relationship is an inverse function of the first mapping relationship.

[0036] In a possible implementation, the preset second mapping relationship is specifically the following formula:

[0037]

[0038] in, is the actual interaction time, c is the cost variable, r u,v For preference information.

[0039] In a possible implementation, the item is a video, and the interaction duration is a viewing duration.

[0040] In a third aspect, the present application provides a data processing device, the device comprising:

[0041] The acquisition module is used to obtain the attribute information of users and items;

[0042] A processing module, used for obtaining the user's preference information for the item according to the attribute information;

[0043] Determining the predicted interaction time of the user with the item through a preset first mapping relationship according to the preference information and the cost variable; the cost variable is information that affects the interaction time of the user with the item;

[0044] When the predicted interaction duration meets a preset condition, the item is recommended to the user.

[0045] In a possible implementation, the processing module is further configured to:

[0046] When the predicted interaction duration determined by the preset first mapping relationship is greater than the maximum interaction duration corresponding to the item, the maximum interaction duration is used as the truncated predicted interaction duration;

[0047] When the predicted interaction duration meets a preset condition, the method includes:

[0048] When the predicted interaction duration after the truncation meets a preset condition.

[0049] In a possible implementation, the preference information is a score; and the preset first mapping relationship satisfies the following constraint: the output score is positively correlated with the predicted interaction duration.

[0050] In a possible implementation, the preference information is a score; and the preset first mapping relationship satisfies:

[0051] When the preference information tends to 0, the predicted interaction duration tends to 0; when the preference information tends to 1, the predicted interaction duration tends to infinity.

[0052] In a possible implementation, the preset first mapping relationship is specifically the following formula:

[0053]

[0054] in, is the predicted interaction time, c is the cost variable, r u,v For preference information.

[0055] In a possible implementation, the processing module is further configured to:

[0056] According to the attribute information and / or context information, the cost variable is obtained through a first neural network model.

[0057] In a possible implementation, the item is a video, and the interaction duration is a viewing duration.

[0058] In a fourth aspect, the present application provides a data processing device, the device comprising:

[0059] The acquisition module is used to obtain the attribute information of users and items;

[0060] A processing module, configured to obtain, based on the attribute information, first preference information of the user for the item through a second neural network model;

[0061] Predicting the second preference information of the user for the item according to the actual interaction time of the user for the item and the cost variable through a preset second mapping relationship; the cost variable is information that affects the interaction time of the user for the item;

[0062] The second neural network model and the cost variable are updated according to the first preference information and the second preference information.

[0063] In a possible implementation, the processing module is further configured to:

[0064] According to the attribute information and / or context information, the cost variable is obtained by using a first neural network model;

[0065] The processing module is specifically used for:

[0066] The second neural network model, the cost variable and the first neural network model are updated according to the first preference information and the second preference information.

[0067] In a possible implementation, the processing module is specifically configured to:

[0068] When the actual interaction time is greater than the maximum interaction time corresponding to the item, the second preference information of the user for the item is predicted according to the maximum interaction time and the cost variable through a preset second mapping relationship.

[0069] In a possible implementation, the processing module is specifically configured to:

[0070] When the actual interaction time is less than the maximum interaction time corresponding to the item, constructing a first loss according to the first preference information and the second preference information, and updating the neural network model according to the first loss;

[0071] When the actual interaction duration is greater than the maximum interaction duration corresponding to the item, a second loss different from the first loss is constructed according to the first preference information and the second preference information, and the neural network model is updated according to the second loss.

[0072] In a possible implementation, the first loss is: MSE loss; the second loss is:

[0073] in,

[0074] The σ is the standard deviation of user interests.

[0075] In a possible implementation, the second mapping relationship is an inverse function of the first mapping relationship.

[0076] In a possible implementation, the preset second mapping relationship is specifically the following formula:

[0077]

[0078] in, is the actual interaction time, c is the cost variable, r u,v For preference information.

[0079] In a possible implementation, the item is a video, and the interaction duration is a viewing duration.

[0080] In the fifth aspect, an embodiment of the present application provides a data processing device, which may include a memory, a processor, and a bus system, wherein the memory is used to store programs, and the processor is used to execute the programs in the memory to perform steps related to model reasoning in any optional method of the first aspect mentioned above.

[0081] In the sixth aspect, an embodiment of the present application provides a data processing device, which may include a memory, a processor, and a bus system, wherein the memory is used to store programs, and the processor is used to execute the programs in the memory to perform steps related to model training in any optional method in the second aspect above.

[0082] In the seventh aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer-readable storage medium is run on a computer, it enables the computer to execute the above-mentioned first aspect and any optional method thereof, or the above-mentioned second aspect and any optional method thereof.

[0083] In an eighth aspect, an embodiment of the present application provides a computer program which, when executed on a computer, enables the computer to execute the above-mentioned first aspect and any optional method thereof, or the above-mentioned second aspect and any optional method thereof.

[0084] In a ninth aspect, the present application provides a chip system, which includes a processor for supporting a data processing device to implement the functions involved in the above aspects, such as sending or processing the data involved in the above methods; or information. In one possible design, the chip system also includes a memory, which is used to store program instructions and data necessary for executing the device or training the device. The chip system can be composed of chips, or it can include chips and other discrete devices. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0086] Figure 2A schematic diagram of a system architecture provided for an embodiment of the present application;

[0087] Figure 3 A schematic diagram of a system architecture provided for an embodiment of the present application;

[0088] Figure 4 A schematic diagram of a recommended scenario provided in an embodiment of the present application;

[0089] Figure 5 A flowchart of a data processing method provided in an embodiment of the present application;

[0090] Fig. 6A A flowchart of a data processing method provided in an embodiment of the present application;

[0091] Figure 6B A flowchart of a data processing method provided in an embodiment of the present application;

[0092] Figure 7 A flowchart of a data processing method provided in an embodiment of the present application;

[0093] Figure 8 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application;

[0094] Fig. 9 A schematic diagram of a terminal device provided in an embodiment of the present application;

[0095] Fig.10 A schematic diagram of a server provided in an embodiment of the present application;

[0096] Fig.11 A schematic diagram of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION

[0097] The embodiments of the present invention are described below in conjunction with the accompanying drawings in the embodiments of the present invention. The terms used in the implementation mode of the present invention are only used to explain the specific embodiments of the present invention, and are not intended to limit the present invention.

[0098] The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art will appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0099] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, which is only to describe the distinction mode adopted by the objects of the same attributes when describing in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0100] First, the overall workflow of the artificial intelligence system is described. Figure 1 , Figure 1 The figure shows a structural diagram of the main framework of artificial intelligence. The following is an explanation of the above artificial intelligence theme framework from the two dimensions of "intelligent information chain" (horizontal axis) and "IT value chain" (vertical axis). Among them, the "intelligent information chain" reflects a series of processes from data acquisition to processing. For example, it can be a general process of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision-making, intelligent execution and output. In this process, the data has undergone a condensation process of "data-information-knowledge-wisdom". The "IT value chain" reflects the value that artificial intelligence brings to the information technology industry from the underlying infrastructure of human intelligence, information (providing and processing technology implementation) to the industrial ecology process of the system.

[0101] (1) Infrastructure

[0102] The infrastructure provides computing power support for the AI ​​system, enables communication with the outside world, and supports it through the basic platform. It communicates with the outside world through sensors; computing power is provided by smart chips (CPU, NPU, GPU, ASIC, FPGA and other hardware acceleration chips); the basic platform includes distributed computing frameworks and networks and other related platform guarantees and support, which can include cloud storage and computing, interconnected networks, etc. For example, sensors communicate with the outside world to obtain data, and these data are provided to the smart chips in the distributed computing system provided by the basic platform for calculation.

[0103] (2) Data

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

[0105] (3) Data processing

[0106] Data processing usually includes data training, machine learning, deep learning, search, reasoning, decision-making and other methods.

[0107] Among them, machine learning and deep learning can symbolize and formalize data for intelligent information modeling, extraction, preprocessing, and training.

[0108] Reasoning refers to the process of simulating human intelligent reasoning in computers or intelligent systems, using formalized information to perform machine thinking and solve problems based on reasoning control strategies. Typical functions are search and matching.

[0109] Decision-making refers to the process of making decisions after intelligent information is reasoned, usually providing functions such as classification, sorting, and prediction.

[0110] (4) General ability

[0111] After the data has undergone the data processing mentioned above, some general capabilities can be further formed based on the results of the data processing, such as an algorithm or a general system, for example, translation, text analysis, computer vision processing, speech recognition, image recognition, etc.

[0112] (5) Smart products and industry applications

[0113] Smart products and industry applications refer to the products and applications of artificial intelligence systems in various fields. They are the encapsulation of the overall artificial intelligence solution, which productizes intelligent information decision-making and realizes practical applications. Its application areas mainly include: smart terminals, smart transportation, smart medical care, autonomous driving, smart cities, etc.

[0114] The embodiments of the present application can be applied to the field of information recommendation, and the scenarios include but are not limited to scenarios involving e-commerce product recommendations, search engine result recommendations, application market recommendations, music recommendations, video recommendations, etc. The recommended items in various application scenarios can also be referred to as "objects" to facilitate subsequent descriptions, that is, in different recommendation scenarios, the recommended object can be an APP, or a video, 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 actually be presented through the recommendation results of a 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, and analysis and processing of the objects involved in the scenario corresponding to the training sample items (such as APP, music, etc.) according to the recommendation model. For example, the samples selected in the recommendation model training link come from the operation behavior of users in the mobile application market for the recommended APP, and the recommendation model trained thereby is applicable to the above-mentioned mobile APP application market, or can be used in the APP application market of other types of terminals to recommend terminal APPs. The recommendation model will eventually calculate the recommendation probability or score of each recommended object. The recommendation system will select the recommendation results based on certain selection rules, such as sorting them by recommendation probability or score, and present them to users through corresponding applications or terminal devices. Users will operate on the objects in the recommendation results to generate user behavior logs, etc.

[0115] Reference Figure 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-through rate of all candidate objects. Subsequently, the candidate objects are sorted in descending order according to the predicted click-through rate, and the candidate objects are displayed in different positions in order as the recommendation results for the user. The user browses the displayed items and performs user behaviors, such as browsing, clicking, and downloading. These user behaviors will be stored in the log as training data, and the parameters of the recommendation model will be updated from time to time through the offline training module to improve the recommendation effect of the model.

[0116] For example, when a user opens the mobile app market, the recommendation module of the app market is triggered. The recommendation module of the app market predicts the possibility of the user downloading each given candidate application based on the user's historical download records, user click records, the application's own characteristics, time, location and other environmental characteristics. Based on the prediction results, the app market displays them in descending order of likelihood to increase the probability of application download. Specifically, applications that are more likely to be downloaded are ranked at the front, and applications that are less likely to be downloaded are ranked at the back. The user's behavior will also be stored in the log and the parameters of the prediction model will be trained and updated through the offline training module.

[0117] For example, in applications related to lifelong companions, based on the user's historical data in video, music, news and other domains, various models and algorithms can be used to imitate the human brain mechanism to build a cognitive brain and build a user lifelong learning system framework. Lifelong companions can record past events of users based on system data and application data, understand the user's current intentions, predict the user's future actions or behaviors, and ultimately realize intelligent services. In the current first stage, based on music apps, video apps, browser apps, etc., the user's behavior data (including end-side text messages, photos, email events, etc.) is obtained. On the one hand, a user portrait system is built, and on the other hand, learning and memory modules based on user information filtering, association analysis, cross-domain recommendations, causal reasoning, etc. are implemented to build a user's personal knowledge graph.

[0118] Next, the application architecture of the embodiment of the present application is introduced.

[0119] See attached Figure 2, an embodiment of the present invention provides a recommendation system architecture 200. The data collection device 260 is used to collect samples. A training sample can be composed of multiple feature information (or described as attribute information, such as user attributes and item attributes). There can be multiple feature information, which can specifically include user feature information, object feature information and label features. User feature information is used to characterize user features, such as gender, age, occupation, hobbies, etc. Object feature information is used to characterize the features of the object pushed to the user. Different recommendation systems correspond to different objects, and the feature types that need to be extracted from different objects are also different. For example, the object features extracted from the training samples of the APP market can be the name (identification), type, size, etc. of the APP. ; The object features mentioned in the training samples of e-commerce APPs can be the name of the product, the category it belongs to, the price range, etc.; the label feature is used to indicate whether the sample is a positive example or a negative example. Usually, the label feature of the sample can be obtained through the user's operation information on the recommended object. The sample in which the user operates the recommended object is a positive example, and the sample in which the user does not operate the recommended object or only browses is a negative example. For example, when the user clicks, downloads, or purchases the recommended object, the label feature is 1, indicating that the sample is a positive example, and if the user does not perform any operation on the recommended object, the label feature is 0, indicating that the sample is a negative example. After the sample is collected, it can be stored in the database 230, and some or all of the feature information in the sample in the database 230 can also be directly obtained from the client device 240, such as user feature information, user operation information on the object (used to determine the type identification), object feature information (such as object identification), etc. The training device 220 obtains the model parameter matrix based on the sample training in the database 230 for generating the recommendation model 201 (such as the feature extraction network and neural network in the embodiment of the present application). The following will describe in more detail how the training device 220 trains to obtain the model parameter matrix for generating 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, a specified or preset number of objects can be recommended from the evaluation results of a large number of objects. The calculation module 211 obtains the recommendation result based on the evaluation result of the recommendation model 201 and recommends it to the client device through the I / O interface 212.

[0120] 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, and then use the recommendation model 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 Figure 5 A detailed description of the method embodiment shown.

[0121] After the training device 220 obtains the model parameter matrix based on sample training and uses it to construct 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 for making recommendations for the corresponding system. For example, the recommendation model obtained based on video-related sample training can be used to recommend videos to users on video websites or APPs, and the recommendation model obtained based on APP-related sample training can be used to recommend APPs to users in the application market.

[0122] The execution device 210 is configured with an I / O interface 212 for data exchange with external devices. The execution device 210 can obtain user feature information, such as user identification, user identity, gender, occupation, hobbies, 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 recommendation objects to the user based on the user feature information and the feature information of the recommended object. The execution device 210 can be set in a cloud server or in a user client.

[0123] The execution device 210 can call data, codes, etc. in the data storage system 250, and can also store output data in the data storage system 250. The data storage system 250 can be set in the execution device 210, or can be set independently, or can be set in other network entities, and the number can be one or more.

[0124] The calculation module 211 uses the recommendation model 201 to process the user characteristic information and the characteristic information of the object to be recommended. For example, the calculation module 211 uses the recommendation model 201 to analyze and process the user characteristic information and the characteristic information of the object to be recommended, so as to obtain the score of the object to be recommended, and sort the objects to be recommended according to the scores, wherein the objects with higher rankings will be recommended to the client device 240.

[0125] Finally, the I / O interface 212 returns the recommendation result to the client device 240 for presentation to the user.

[0126] More deeply, the training device 220 can generate corresponding recommendation models 201 based on different sample feature information for different goals to provide users with better results.

[0127] It is worth noting that Figure 2 This is only a schematic diagram of a system architecture provided by an embodiment of the present invention. The positional relationship between the devices, components, modules, etc. shown in the figure does not constitute any limitation. Figure 2In the embodiment, the data storage system 250 is an external memory relative to the execution device 210. In other cases, the data storage system 250 can also be placed in the execution device 210.

[0128] In an embodiment of the present application, the training device 220, the execution device 210, and the client device 240 may be three different physical devices respectively. It is also possible that the training device 220 and the execution device 210 are on the same physical device or a cluster. It is also possible that the execution device 210 and the client device 240 are on the same physical device or a cluster.

[0129] See attached Figure 3 , 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, and optionally cooperates with other computing devices, such as data storage, routers, load balancers and other devices; the execution device 210 can be arranged on a 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 object recommendation function. Specifically, the information of the object to be recommended is input into the recommendation model, and the recommendation model generates an estimated score for each object to be recommended, and then sorts them in order from high to low according to the estimated scores, and recommends the object to be recommended to the user according to the sorting results. For example, the first 10 objects in the sorting results are recommended to the user.

[0130] Among them, the data storage system 250 is used to receive and store the parameters of the recommendation model sent by the training device, and to store the data of the recommendation results obtained by the recommendation model. Of course, 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 composed of one or more devices deployed outside the execution device 210. At this time, 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 to the execution device 210, and accordingly, 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. Optionally, when there are multiple memories, different memories are used to store different types of data, such as 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.

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

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

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

[0134] Since the embodiments of the present application involve the application of a large number of neural networks, in order to facilitate understanding, the relevant terms and related concepts such as neural networks involved in the embodiments of the present application are first introduced below.

[0135] 1. Click-throughrate (CTR)

[0136] Click probability, also known as click-through rate, refers to the ratio of the number of clicks and exposures of recommended information (for example, recommended items) on a website or application. Click-through rate is usually an important indicator in the recommendation system.

[0137] 2. Personalized recommendation system

[0138] A personalized recommendation system refers to a system that uses a machine learning algorithm to analyze the user's historical data (such as the operation information in the embodiment of the present application), and uses this to predict new requests and provide personalized recommendation results.

[0139] 3. Offline training

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

[0141] 4. Online prediction (onlineinference)

[0142] Online prediction refers to predicting the user's preference for the recommended item in the current context based on the offline trained model according to the characteristics of the user, item and context, and predicting the probability of the user selecting the recommended item.

[0143] 5. Click-through rate: refers to the probability that a user clicks on a displayed item in a specific environment.

[0144] 6. Conversion rate: refers to the probability that a user will convert a clicked displayed item in a specific environment. Conversion generally refers to downloading, installation, registration and other behaviors.

[0145] 7. Video duration: the length of the video itself.

[0146] 8. Watch time: the time a user spends on a certain video.

[0147] 9. Duration bias: The longer the video, the longer the average viewing time of the video that the user is interested in.

[0148] 10. User interaction data: various behavioral data such as clicks and browsing generated when users interact with the recommendation system. Generally speaking, user interaction data is generated by the user's real preferences and other external factors, which leads to the fact that user interaction data cannot fully reflect the user's real preferences.

[0149] For example, Figure 4 is a schematic diagram of a recommendation scenario provided by an embodiment of the present application. Figure 4 As shown, when a user enters the system, a recommendation request will be triggered. The recommendation system will input the request and related information (such as the operation information in the embodiment of the present application) into the recommendation model, and then predict the user's selection rate for the items in the system. Further, the items are sorted in descending order according to the predicted selection rate or a function based on the selection rate, that is, the recommendation system can display the items in different positions in sequence as the recommendation results for the user. The user browses the items in different positions and performs user behaviors, such as browsing, selecting, and downloading. At the same time, the user's actual behavior will be stored in the log as training data, and the parameters of the recommendation model will be continuously updated through the offline training module to improve the prediction effect of the model.

[0150] For example, a user can trigger the recommendation system in the application market by opening the application market in a smart terminal (e.g., a mobile phone). The recommendation system in the application market will predict the probability of the user downloading each recommended candidate APP based on the user's historical behavior log, such as the user's historical download records, user selection records, and the application market's own characteristics, such as time, location and other environmental feature information. Based on the calculation results, the recommendation system in the application market can display the candidate APPs in descending order according to the predicted probability values, thereby increasing the download probability of the candidate APPs.

[0151] For example, an APP with a higher predicted user selection rate may be displayed in a front recommended position, and an APP with a lower predicted user selection rate may be displayed in a back recommended position.

[0152] The above-mentioned recommendation model may be a neural network model. The following introduces the relevant terms and concepts of the neural network that may be involved in the embodiments of the present application.

[0153] (1) Neural Network

[0154] A neural network may be composed of neural units, and a neural unit may refer to an operation unit that takes xs (i.e., input data) and intercept 1 as input, and the output of the operation unit may be:

[0155]

[0156] Where s=1, 2, ...n, 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, which is used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into the output signal. The output signal of the activation function can be used as the input of the next convolution layer, and the activation function can be a sigmoid function. A neural network is a network formed by connecting multiple single neural units mentioned above, 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 characteristics of the local receptive field. The local receptive field can be an area composed of several neural units.

[0157] (2) Deep Neural Networks

[0158] Deep Neural Network (DNN), also known as multi-layer neural network, can be understood as a neural network with many hidden layers. There is no special metric for "many" here. From the position of different layers of DNN, the neural network inside DNN can be divided into three categories: input layer, hidden layer, and output layer. Generally speaking, the first layer is the input layer, the last layer is the output layer, and the layers in between are all hidden layers. The layers are fully connected, that is, any neuron in the i-th layer must be connected to any neuron in the i+1-th layer. Although DNN looks complicated, the work of each layer is actually not complicated. Simply put, it is the following linear relationship expression: in, 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 is just an input vector After such a simple operation, the output vector Since DNN has many layers, the coefficient W and the offset vector The definition of these parameters in DNN is as follows: Take coefficient W as an example: Assume that in a three-layer DNN, the linear coefficient from the 4th neuron in the second layer to the 2nd neuron in the third layer is defined as The superscript 3 represents the layer number of the coefficient W, while the subscripts correspond to the output third layer index 2 and the input second layer index 4. In summary, the coefficients from the kth neuron in the L-1th layer to the jth neuron in the Lth layer are defined as It should be noted that the input layer does not have a W parameter. In a deep neural network, more hidden layers allow the network to better describe complex situations in the real world. Theoretically, the more parameters a model has, the higher its complexity and the greater its "capacity", which means it can complete more complex learning tasks. Training a deep neural network is the process of learning the weight matrix, and its ultimate goal is to obtain the weight matrix of all layers of the trained deep neural network (the weight matrix formed by many layers of vector W).

[0159] (3) Loss Function

[0160] In the process of training a deep neural network, because we hope that the output of the deep neural network is as close as possible to the value we really want to predict, we can compare the predicted value of the current network with the target value we really want, and then update the weight vector of each layer of the neural network according to the difference between the two (of course, there is usually an initialization process before the first update, that is, pre-configuring parameters for each layer in the deep neural network). For example, if the predicted value of the network is high, adjust the weight vector to make it predict a lower value, and keep adjusting until the deep neural network can predict the target value we really want or a value very close to the target value we really want. Therefore, it is necessary to pre-define "how to compare the difference between the predicted value and the target value", which is the loss function or objective function, which are important equations used to measure 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, so the training of the deep neural network becomes a process of minimizing this loss as much as possible.

[0161] (4) Back propagation algorithm

[0162] The error 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 forward transmission of the input signal to the output will generate error loss, 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 the optimal model parameters, such as the weight matrix.

[0163] (5) Machine Learning System

[0164] Based on the input data and labels, the parameters of the machine learning model are trained through optimization methods such as gradient descent, and finally the trained model is used to complete the prediction of unknown data.

[0165] (6) Personalized recommendation system

[0166] A system that uses machine learning algorithms to analyze and build models based on historical user data, predict new user requests, and provide personalized recommendation results.

[0167] The rise of video content platforms has attracted billions of users and is becoming more and more frequent in people's daily use today. In order to better meet people's information needs and improve their engagement, accurate and personalized video recommendations play an important role. Unlike traditional recommendation scenarios, video recommendations adopt a streaming playback mode. That is, automatic playback. This feature makes the widely used implicit feedback (for example, user clicks) no longer suitable as a label to measure user interest. Compared with the number of clicks, the user's viewing time indicates how much attention the user is willing to spend on this video, and is considered to be a better indicator of user interest. However, the fact that a user has finished watching a video does not necessarily mean that the user likes the video. Even if the user has finished the video, the user may still not like the video. Moreover, in the short video scenario, the proportion of finished videos is not low. If these finished videos are used as positive examples to supervise the training of the recommendation ranking model, it will lead to serious deviations. In addition, from the trend of the positive and negative feedback signal ratio of finished videos, the shorter the finished video, the higher the displayed negative feedback and the lower the displayed positive feedback. This is because it takes a certain amount of time for users to judge whether they like it, and videos that are too short are more likely to confuse their true interests.

[0168] Therefore, a more accurate recommendation method is needed.

[0169] The problem of video recommendation can be described as follows: given a user u and a video of duration d, each user-video pair (u, v) is described by an n-dimensional feature vector x = φ(u, v) ∈ Rn. User u's interest in video v can be represented by an unobserved variable R. R ∈ {0, 1} is generally assumed to be a binary variable sampled from a latent Bernoulli distribution Pr(R = 1|x). The user's viewing behavior of the video can be recorded as log data Where xi, wi, and di represent the feature vector of the i-th user-video pair, the user's viewing time on this video, and the duration of this video, respectively. Ideally, we hope to obtain the scoring formula f(x) by minimizing the loss function, and thus obtain the relevance R of each user-video pair.

[0170]

[0171] Where r is the unobserved user's real interest in the video, and σ is the sigmoid function. Since r is an unobservable variable, the above formula cannot be directly optimized. A naive approach is to replace the real correlation with the ratio of the recorded viewing time to the real time, that is, the video completion ratio (PCR):

[0172]

[0173] However, viewing time is affected by duration deviation and noise viewing. The technical problem to be solved by this patent is to discover the user's real interest in the video based on the potential counterfactual viewing time, which corresponds to the scoring function f(x) in the above formula.

[0174] In order to solve the above problems, the present application provides a data processing method.

[0175] Reference Figure 5 , Figure 5 An example of a data processing method provided in the present application is shown in FIG. Figure 5 As shown, a data processing method provided by an embodiment of the present application includes:

[0176] 501. Obtain attribute information of users and items;

[0177] In one possible implementation, Figure 5 The corresponding embodiment is the model inference process in the process of recommending to users, so the attribute information of users and items can be obtained.

[0178] Among them, the user's attribute information can be an attribute related to the user's preference characteristics, at least one of gender, age, occupation, income, hobbies and education level, among which gender can be male or female, age can be a number between 0-100, occupation can be teacher, programmer, chef, etc., hobbies can be basketball, tennis, running, etc., and education level can be elementary school, junior high school, high school, university, etc.; this application does not limit the specific type of user's attribute information.

[0179] Among them, the items can be physical items or virtual items, such as applications (APP), audio and video, web pages, and news information. The attribute information of the items can be at least one of the item name, developer, installation package size, category, and popularity. Among them, taking the item as an application as an example, the category of the item can be chatting, parkour games, office, etc., and the popularity can be a score, comment, etc. for the item; the present application does not limit the specific type of the attribute information of the item.

[0180] Among them, the objects can be objects such as videos, audios, or texts that users can interact with for a long time.

[0181] 502. Obtain the user's preference information for the item based on the attribute information.

[0182] In one possible implementation, the attribute information may be processed by a recommendation model (eg, a refined ranking model) to represent preference information that can indicate the user's preference for the item. For example, the preference information may be a score (eg, represented by a score from 0 to 1).

[0183] In addition, when determining the user's preference information for the item, the user's context information (such as location information, time information) may also be referenced, that is, the user's preference information for the item may be obtained based on the attribute information and context information.

[0184] For example, taking video recommendation as an example, user features, video features and other environmental features can be used to form a sample x u,v , the sample is scored by the refined ranking model, and r is obtained u,v Its value range is (0,1), representing the degree of preference of user u for video v.

[0185] 503. Determine the predicted interaction time of the user with the item based on the preference information and the cost variable through a preset first mapping relationship; the cost variable is information that affects the interaction time of the user with the item.

[0186] In a possible implementation, the item is a video, and the interaction duration is a viewing duration.

[0187] Taking video as an example, when users watch videos, they may not like the video but still finish watching it. The reason is, but not limited to: the video is too short and does not give the user enough time to make a decision. In the embodiment of the present application, the concept of counterfactual viewing time is introduced to represent the user's potential viewing time for a certain video. For example, two users watch and finish the same 30s video respectively. The first user feels average after watching the video, while the second user is still not satisfied after watching the video and wants to continue watching. If the video is long enough, how long will the user watch this video? Users have potential viewing time for each video, which we call counterfactual viewing time. Therefore, the counterfactual viewing time of an unfinished video is its log viewing time, and the counterfactual viewing time of a finished video must be greater than or equal to its log viewing time, which is unobservable. The counterfactual viewing time corresponds to the user's preference for the video.

[0188] In the embodiment of the present application, the counterfactual interaction duration of the user with respect to the item may be used as a feature of the user's preference for the item, and recommendations may be made based on the feature.

[0189] In order to predict the counterfactual interaction duration, in an embodiment of the present application, a preset mapping relationship can be constructed, which can map the preference information obtained according to step 501 and the user's cost variable to the user's predicted interaction duration for the item (that is, the counterfactual interaction duration).

[0190] The cost variable may be information that affects the user's interaction time with the item, for example, the cost variable may be related to the user's age group, region, etc. In a possible implementation, different cost variables may be set for different users.

[0191] For example, the cost variable may be obtained according to the user's attribute information or context information through a trained first neural network model.

[0192] Taking the video as an example, the counterfactual viewing time depends on the user's interest. It can be understood from an economic perspective, and the user's viewing is regarded as a process of maximizing their own interests. While the user gains benefits from watching the video, he also pays the time cost. And there are three basic assumptions:

[0193] 1. Marginal benefits: increase with video relevance and decrease with viewing time;

[0194] 2. Marginal cost: does not change over time;

[0195] 3. Users watch to obtain maximum profit and stop watching the video when the marginal benefit is less than the marginal cost.

[0196] The cumulative distribution of viewing revenue and viewing cost is as follows:

[0197]

[0198]

[0199] Where w(r u,v ) is the initialized marginal revenue function. The two distribution functions are derived for the counterfactual viewing time respectively. When the two are equal, they are the potential counterfactual viewing time values.

[0200]

[0201] In a possible implementation, the preference information is a score; and the preset first mapping relationship satisfies the following constraint: the output score is positively correlated with the predicted interaction duration.

[0202] The change function g should satisfy the following properties: when r tends to 0, its marginal cost w should also tend to 0; when r tends to 1, its marginal cost tends to infinity. Because, optionally, the change function can be designed as ω(ru,v )=1 / (-log r u,v ),Right now:

[0203]

[0204] Then its inverse function (that is, the first mapping relationship in the embodiment of the present application) can be:

[0205]

[0206] In a possible implementation, the preference information is a score; the preset first mapping relationship satisfies: when the preference information tends to 0, the predicted interaction duration tends to 0; when the preference information tends to 1, the predicted interaction duration tends to infinity.

[0207] The embodiment of the present application proposes a conversion function of viewing time and relevance based on cost variables: a reasonable nonlinear conversion function of viewing time and relevance is designed, and the cost variable is added to adapt to data with different distributions.

[0208] In a possible implementation, when the predicted interaction duration determined by a preset first mapping relationship is greater than the maximum interaction duration corresponding to the item (the maximum interaction duration can be understood as the longest interaction time when a user interacts with non-repetitive content of an item. Taking the item as a video as an example, the maximum interaction duration can be the length of the video itself), the predicted interaction duration can be truncated to the maximum interaction duration (that is, the maximum interaction duration is used as the predicted interaction duration after truncation).

[0209] Taking the video of the object as an example, the reasoning process can be as follows Figure 6B As shown, user features, video features and other environmental features constitute sample x u,v , the sample is scored by the refined ranking model, and r is obtained u,v Its value range is (0,1), representing the user u's preference for video v. Then the score and the user cost variable are input into the variation function g to obtain the estimated value w of the user's counterfactual viewing time. u,v Finally, the counterfactual viewing time is truncated with the real video duration dv. If the counterfactual viewing time is greater than the real duration, the counterfactual viewing time is truncated to the real duration dv; otherwise, no processing is done.

[0210] 504. When the predicted interaction duration meets a preset condition, recommend the item to the user.

[0211] In a possible implementation, during the inference process of the model, the predicted interaction duration can be used as a feature of the user's preference for an item to determine whether to recommend the item to the user.

[0212] When recommending information, items can be recommended to users in the form of a list page in the hope that the user will take action.

[0213] In an embodiment of the present application, a conversion function based on the interaction time of the cost variable and the preference information is used to predict the user's interaction time for the item, and the predicted interaction time is used as the user's preference feature for recommendation, so that a more accurate interaction time can be obtained, and then a more accurate recommendation result can be obtained.

[0214] Reference Fig. 6A , Fig. 6A An example of a data processing method provided in the present application is shown in FIG. Fig. 6A As shown, a data processing method provided by an embodiment of the present application includes:

[0215] 601. Obtaining attribute information of users and items;

[0216] in, Fig. 6A The corresponding embodiment may be a training process of the model. The introduction of step 601 may refer to the introduction of step 601 in the above embodiment, and the similarities will not be repeated here.

[0217] 602. Obtaining first preference information of the user for the item through a second neural network model according to the attribute information;

[0218] In one possible implementation, the attribute information can be processed by a second neural network model (e.g., a refined ranking model) to represent preference information that can represent the user's preference for the item. For example, the preference information can be a score (e.g., represented by a score from 0 to 1).

[0219] In addition, when determining the user's preference information for the item, the user's context information (such as location information, time information) may also be referenced, that is, the user's preference information for the item may be obtained based on the attribute information and context information.

[0220] 603. Predicting the second preference information of the user for the item according to the actual interaction time of the user for the item and the cost variable through a preset second mapping relationship; the cost variable is information that affects the interaction time of the user for the item;

[0221] In a possible implementation, the item is a video, and the interaction duration is a viewing duration.

[0222] The cost variable may be information that affects the user's interaction time with the item, for example, the cost variable may be related to the user's age group, region, etc. In a possible implementation, different cost variables may be set for different users.

[0223] For example, the cost variable may be obtained through a first neural network model according to attribute information or context information of the user.

[0224] The second mapping relationship may be an inverse function of the first mapping relationship introduced in the above embodiment.

[0225] For example, in a possible implementation, the preset second mapping relationship may be specifically the following formula:

[0226]

[0227] in, is the actual interaction time, c is the cost variable, r u,v For preference information.

[0228] In a possible implementation, the actual interaction time may be greater than the maximum interaction time corresponding to the item, and the actual interaction time may be truncated to the maximum interaction time. That is, when the actual interaction time is greater than the maximum interaction time corresponding to the item, the second preference information of the user for the item may be predicted based on the maximum interaction time and the cost variable through a preset second mapping relationship.

[0229] 604. Update the second neural network model and the cost variable according to the first preference information and the second preference information.

[0230] In one possible implementation, a loss may be constructed based on the first preference information and the second preference information, and the loss may be used to update the second neural network model and the cost variable.

[0231] In a possible implementation, if the first neural network model is used when calculating the cost variable, the second neural network model, the cost variable and the first neural network model may be updated according to the first preference information and the second preference information.

[0232] In the above way, two models are designed: the relevance model (that is, the second neural network model) is used to estimate the user's viewing interest in the current video, and the cost model (that is, the first neural network model) is used to estimate the user cost, and the two are jointly learned.

[0233] In a possible implementation, samples whose actual interaction duration is less than the maximum interaction duration corresponding to the item and samples whose actual interaction duration is greater than the maximum interaction duration may be modeled separately.

[0234] For example, when the actual interaction duration is less than the maximum interaction duration corresponding to the item, a first loss can be constructed according to the first preference information and the second preference information, and the neural network model can be updated according to the first loss; when the actual interaction duration is greater than the maximum interaction duration corresponding to the item, a second loss different from the first loss can be constructed according to the first preference information and the second preference information, and the neural network model can be updated according to the second loss.

[0235] In a possible implementation, the first loss is: MSE loss; the second loss is:

[0236] in,

[0237] The σ is the standard deviation of user interests.

[0238] For example, the loss can be formulated as follows:

[0239]

[0240] Among them, \phi is the standard Gaussian distribution, \delta is the standard deviation of user interest, which is a hyperparameter.

[0241] An embodiment of the present application proposes a loss function for alleviating the problem of truncation of counterfactual interaction duration: the correlation signal among the counterfactual interaction duration truncated by the maximum interaction duration is learned through a distribution truncation loss function.

[0242] Taking the video of the object as an example, a flow diagram of the model training process can be referred to Figure 7 As shown in the figure, on the one hand, user features, video features and other environmental features constitute the sample xu,v, which is scored by the refined ranking model; on the other hand, the user's viewing time is combined with the user's cost variable through the inverse function of the change function g to obtain the user's interest score. Taking the user's interest score as the supervision signal and taking into account the different video lengths, the prediction score of the recommendation refined ranking model is supervised and trained according to the loss function Lc. The parameters of the refined ranking model are trained based on the deep learning method.

[0243] The goal of the embodiment of the present application is to accurately estimate the user's interaction duration. Due to the influence of duration bias, the estimates of previous models are often not accurate enough. The embodiment of the present application proposes the concept of counterfactual interaction duration to better explain the existence of item duration bias. The embodiment of the present application designs a cost-based conversion function to convert the counterfactual interaction duration into the user's interest in the item; then, corresponding loss functions are designed for complete interactions and incomplete interactions to supervise the training process of the recommendation model.

[0244] In order to verify the counterfactual interaction time correction algorithm proposed in the embodiment of the present application, taking the video as an example, experimental verification was carried out on two public standard data sets and Huawei product data sets. The two indicators GAUC and nDCG were used to verify the effectiveness of the method. It was compared with many baseline methods, including: video viewing time regression, video completion rate label (ratio of watch time to duration), WeChat WTG algorithm, NDT algorithm, and Kuaishou D2Q algorithm. For the recommendation sorting model, the FM model and AutoInt model are also used.

[0245] Table 1 summarizes the recommendation performance of the CWM algorithm and other baseline solutions proposed in the embodiment of the present application in the short video scenario. It can be seen from the results that it is important for the CWM algorithm of the embodiment of the present application to obtain the best performance on all data sets and all refined ranking models. The results also verify that the assumption that previous methods regard all complete samples as having the same degree of user interest is not valid. Therefore, when the data set contains many completed samples (i.e., samples with truncated counterfactual viewing time), the performance of these methods becomes worse. In contrast, CWM can model the user's truncated counterfactual viewing time to better estimate the user's interest and predict the user's viewing time.

[0246] Table 1

[0247]

[0248] Next, a data processing device provided by an embodiment of the present application is introduced from the perspective of a device. Figure 8 , Figure 8 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application is shown in FIG. Figure 8 As shown, a data processing device 800 provided in an embodiment of the present application includes:

[0249] The acquisition module 801 is used to acquire the attribute information of users and items;

[0250] For a detailed introduction to the acquisition module 801 , reference may be made to the description of step 501 in the above embodiment, which will not be repeated here.

[0251] A processing module 802 is used to obtain the user's preference information for the item according to the attribute information;

[0252] Determining the predicted interaction time of the user with the item through a preset first mapping relationship according to the preference information and the cost variable; the cost variable is information that affects the interaction time of the user with the item;

[0253] When the predicted interaction duration meets a preset condition, the item is recommended to the user.

[0254] The specific introduction of the processing module 802 can refer to the description of step 502 to step 504 in the above embodiment, which will not be repeated here.

[0255] In a possible implementation, the processing module 802 is further configured to:

[0256] When the predicted interaction duration determined by the preset first mapping relationship is greater than the maximum interaction duration corresponding to the item, the maximum interaction duration is used as the truncated predicted interaction duration;

[0257] When the predicted interaction duration meets a preset condition, the method includes:

[0258] When the predicted interaction duration after the truncation meets a preset condition.

[0259] In a possible implementation, the preference information is a score; and the preset first mapping relationship satisfies the following constraint: the output score is positively correlated with the predicted interaction duration.

[0260] In a possible implementation, the preference information is a score; and the preset first mapping relationship satisfies:

[0261] When the preference information tends to 0, the predicted interaction duration tends to 0; when the preference information tends to 1, the predicted interaction duration tends to infinity.

[0262] In a possible implementation, the preset first mapping relationship is specifically the following formula:

[0263]

[0264] in, is the predicted interaction time, c is the cost variable, r u,v For preference information.

[0265] In a possible implementation, the processing module 802 is further configured to:

[0266] According to the attribute information and / or context information, the cost variable is obtained through a first neural network model.

[0267] In a possible implementation, the item is a video, and the interaction duration is a viewing duration.

[0268] In addition, an embodiment of the present application further provides a data processing device, the device comprising:

[0269] The acquisition module is used to obtain the attribute information of users and items;

[0270] A processing module, configured to obtain, based on the attribute information, first preference information of the user for the item through a second neural network model;

[0271] Predicting the second preference information of the user for the item according to the actual interaction time of the user for the item and the cost variable through a preset second mapping relationship; the cost variable is information that affects the interaction time of the user for the item;

[0272] The second neural network model and the cost variable are updated according to the first preference information and the second preference information.

[0273] In a possible implementation, the processing module is further configured to:

[0274] According to the attribute information and / or context information, the cost variable is obtained by using a first neural network model;

[0275] The processing module is specifically used for:

[0276] The second neural network model, the cost variable and the first neural network model are updated according to the first preference information and the second preference information.

[0277] In a possible implementation, the processing module is specifically configured to:

[0278] When the actual interaction time is greater than the maximum interaction time corresponding to the item, the second preference information of the user for the item is predicted according to the maximum interaction time and the cost variable through a preset second mapping relationship.

[0279] In a possible implementation, the processing module is specifically configured to:

[0280] When the actual interaction time is less than the maximum interaction time corresponding to the item, constructing a first loss according to the first preference information and the second preference information, and updating the neural network model according to the first loss;

[0281] When the actual interaction duration is greater than the maximum interaction duration corresponding to the item, a second loss different from the first loss is constructed according to the first preference information and the second preference information, and the neural network model is updated according to the second loss.

[0282] In a possible implementation, the first loss is: MSE loss; the second loss is:

[0283] in,

[0284] The σ is the standard deviation of user interests.

[0285] In a possible implementation, the second mapping relationship is an inverse function of the first mapping relationship.

[0286] In a possible implementation, the preset second mapping relationship is specifically the following formula:

[0287]

[0288] in, is the actual interaction time, c is the cost variable, r u,v For preference information.

[0289] In a possible implementation, the item is a video, and the interaction duration is a viewing duration.

[0290] Next, a terminal device provided by an embodiment of the present application is introduced. Fig. 9 , Fig. 9 This is a schematic diagram of a terminal device provided in an embodiment of the present application. The terminal device 900 may be a mobile phone, a tablet, a laptop computer, a smart wearable device, etc., which is not limited here. Figure 5 Functions of the data processing method in the corresponding embodiment. 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 may 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 may be connected via a bus or other means.

[0291] The memory 904 may include a read-only memory and a random access memory, and provides instructions and data to the processor 903. A portion of the memory 904 may 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 extended sets thereof, wherein the operation instructions may include various operation instructions for implementing various operations.

[0292] The processor 903 controls the operation of the terminal device. In a specific application, the various components of the terminal device are coupled together through a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus, and a status signal bus, etc. However, for the sake of clarity, various buses are referred to as bus systems in the figure.

[0293] The method disclosed in the above embodiment 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 with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware or software instructions in the processor 903. The above processor 903 can be a general-purpose processor, a digital signal processor (digital signal processing, DSP), a microprocessor or a microcontroller, and a vision processor (vision processing unit, VPU), a tensor processor (tensor processing unit, TPU) and other processors suitable for AI operations, and can further include an application specific integrated circuit (application specific integrated circuit, ASIC), a field programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The processor 903 can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present application. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 904, and the processor 903 reads the information in the memory 904, and completes the steps 501 to 504 in the above embodiment in combination with its hardware.

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

[0295] The present application also provides a server. Fig.10 , Fig.10 1 is a structural diagram of a server provided in an embodiment of the present application. Specifically, the server 1000 is implemented by one or more servers. The server 1000 may have relatively large differences due to different configurations or performances. It may include one or more central processing units (CPU) 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) storing application programs 1042 or data 1044. Among them, the memory 1032 and the storage medium 1030 can be short-term storage or persistent storage. The program stored in the storage medium 1030 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Furthermore, the central processing unit 1010 can be configured to communicate with the storage medium 1030 and execute a series of instruction operations in the storage medium 1030 on the server 1000.

[0296] The server 1000 may also 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 OSXTM, UnixTM, LinuxTM, FreeBSDTM, etc.

[0297] Specifically, the server may perform steps 601 to 604 in the above embodiment.

[0298] Also provided in an embodiment of the present application is a computer program product which, when executed on a computer, enables the computer to execute the steps executed by the aforementioned execution device, or enables the computer to execute the steps executed by the aforementioned training device.

[0299] A computer-readable storage medium is also provided in an embodiment of the present application, which stores a program for signal processing. When the computer-readable storage medium is run on a computer, it enables the computer to execute the steps executed by the aforementioned execution device, or enables the computer to execute the steps executed by the aforementioned training device.

[0300] The execution device, training device or terminal device provided in the embodiments of the present application may specifically be a chip, and the chip includes: a processing unit and a communication unit, wherein the processing unit may be, for example, a processor, and the communication unit may be, for example, an input / output interface, a pin or a circuit, etc. The processing unit may execute the computer execution instructions stored in the storage unit so that the chip in the execution device executes the data processing method described in the above embodiment, or so that the chip in the training device executes the data processing method described in the above embodiment. Optionally, the storage unit is a storage unit in the chip, such as a register, a cache, etc. The storage unit may also be a storage unit located 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.

[0301] For details, please refer to Fig.11 , Fig.11 A schematic diagram of the structure of a chip provided in an embodiment of the present application, the chip can be expressed as a neural network processor NPU1100, NPU 1100 is mounted on the host CPU (Host CPU) as a coprocessor, and the host CPU assigns tasks. The core part of the NPU is the operation circuit 1103, which is controlled by the controller 1104 to extract matrix data from the memory and perform multiplication operations.

[0302] NPU 1100 can achieve Figure 5 as well as Fig. 6A The data processing method provided in the described embodiments.

[0303] More specifically, in some implementations, the operation circuit 1103 in the NPU 1100 includes multiple processing units (Process Engine, PE) inside. 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.

[0304] For example, assume there is an input matrix A, a weight matrix B, and an output matrix C. The operation circuit takes the corresponding data of matrix B from the weight memory 1102 and caches it on each PE in the operation circuit. The operation circuit takes the matrix A data from the input memory 1101 and performs matrix operations with matrix B, and the partial results or final results of the matrix are stored in the accumulator 1108.

[0305] The unified memory 1106 is used to store input data and output data. The weight data is directly 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.

[0306] BIU stands for Bus Interface Unit, i.e., bus interface unit 1110 , which is used for interaction between AXI bus, DMAC and instruction fetch buffer (IFB) 1109 .

[0307] The bus interface unit 1110 (BIU for short) is used for the instruction fetch memory 1109 to obtain instructions from the external memory, and is also used for the storage unit access controller 1105 to obtain the original data of the input matrix A or the weight matrix B from the external memory.

[0308] DMAC is mainly used to transfer input data in the external memory DDR to the unified memory 1106 or to transfer weight data to the weight memory 1102 or to transfer input data to the input memory 1101.

[0309] The vector calculation unit 1107 includes multiple operation processing units, and further processes the output of the operation circuit 1103 when necessary, such as vector multiplication, vector addition, exponential operation, logarithmic operation, size comparison, etc. It is mainly used for non-convolutional / fully connected layer network calculations in neural networks, such as Batch Normalization, pixel-level summation, upsampling of feature planes, etc.

[0310] 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 of the feature plane extracted by the convolution layer, and then, for example, a vector of accumulated values ​​to generate an activation value. In some implementations, the vector calculation unit 1107 generates a normalized value, a pixel-level summed value, or both. In some implementations, the processed output vector can be used as an activation input to the operation circuit 1103, for example, for use in a subsequent layer in a neural network.

[0311] An instruction fetch buffer 1109 connected to the controller 1104 is used to store instructions used by the controller 1104;

[0312] Unified memory 1106, input memory 1101, weight memory 1102 and instruction fetch memory 1109 are all on-chip memories. External memories are private to the NPU hardware architecture.

[0313] The processor mentioned in any of the above places may be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the above program.

[0314] It should also be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the drawings of the device embodiments provided by the present application, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.

[0315] Through the description of the above implementation mode, the technicians in the field can clearly understand that the present application can be implemented by means of software plus 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. In general, all functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure used to implement 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 implementation mode in more cases. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a ROM, a RAM, a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0316] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

[0317] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may 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 may be transmitted from a website site, a computer, a training device, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, training device, or data center. 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, a data center, etc. that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.

Claims

1. A data processing method, characterized in that: The method comprises: Get the attribute information of users and items; Obtaining the user's preference information for the item according to the attribute information; Determining the predicted interaction time of the user with the item through a preset first mapping relationship according to the preference information and the cost variable; the cost variable is information that affects the interaction time of the user with the item; When the predicted interaction duration meets a preset condition, the item is recommended to the user.

2. The method according to claim 1, characterized in that The method further comprises: When the predicted interaction duration determined by the preset first mapping relationship is greater than the maximum interaction duration corresponding to the item, the maximum interaction duration is used as the truncated predicted interaction duration; When the predicted interaction duration meets a preset condition, the method includes: When the predicted interaction duration after the truncation meets a preset condition.

3. The method according to claim 1 or 2, characterized in that: The preference information is a score; the preset first mapping relationship satisfies the following constraint: the output score is positively correlated with the predicted interaction duration.

4. The method according to any one of claims 1 to 3, characterized in that: The preference information is a score; the preset first mapping relationship satisfies: When the preference information tends to 0, the predicted interaction duration tends to 0; when the preference information tends to 1, the predicted interaction duration tends to infinity.

5. The method according to any one of claims 1 to 4, characterized in that: The preset first mapping relationship is specifically the following formula: in, is the predicted interaction time, c is the cost variable, r u,v For preference information.

6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: According to the attribute information and / or context information, the cost variable is obtained through a first neural network model.

7. The method according to any one of claims 1 to 6, characterized in that: The item is a video, and the interaction duration is a viewing duration.

8. A data processing method, characterized in that: The method comprises: Get the attribute information of users and items; According to the attribute information, obtaining the first preference information of the user for the item through a second neural network model; Predicting the second preference information of the user for the item according to the actual interaction time of the user for the item and the cost variable through a preset second mapping relationship; the cost variable is information that affects the interaction time of the user for the item; The second neural network model and the cost variable are updated according to the first preference information and the second preference information.

9. The method according to claim 8, characterized in that The method further comprises: According to the attribute information and / or context information, the cost variable is obtained by using a first neural network model; The updating of the second neural network model and the cost variable according to the first preference information and the second preference information includes: The second neural network model, the cost variable and the first neural network model are updated according to the first preference information and the second preference information.

10. The method according to claim 8 or 9, characterized in that: The predicting, based on the actual interaction time and cost variable of the user with respect to the item, the second preference information of the user with respect to the item through a preset second mapping relationship includes: When the actual interaction time is greater than the maximum interaction time corresponding to the item, the second preference information of the user for the item is predicted according to the maximum interaction time and the cost variable through a preset second mapping relationship.

11. The method according to any one of claims 8 to 10, characterized in that: The updating of the neural network model according to the first preference information and the second preference information includes: When the actual interaction time is less than the maximum interaction time corresponding to the item, constructing a first loss according to the first preference information and the second preference information, and updating the neural network model according to the first loss; When the actual interaction duration is greater than the maximum interaction duration corresponding to the item, a second loss different from the first loss is constructed according to the first preference information and the second preference information, and the neural network model is updated according to the second loss.

12. The method according to claim 11, characterized in that The first loss is: MSE loss; the second loss is: in, The σ is the standard deviation of user interests.

13. The method according to any one of claims 8 to 12, characterized in that: The second mapping relationship is an inverse function of the first mapping relationship.

14. The method according to any one of claims 8 to 13, characterized in that: The preset second mapping relationship is specifically the following formula: in, is the actual interaction time, c is the cost variable, r u,v For preference information.

15. The method according to any one of claims 8 to 13, characterized in that: The item is a video, and the interaction duration is a viewing duration.

16. A data processing device, characterized in that: The device comprises: The acquisition module is used to obtain the attribute information of users and items; A processing module, used for obtaining the user's preference information for the item according to the attribute information; Determining the predicted interaction time of the user with the item through a preset first mapping relationship according to the preference information and the cost variable; the cost variable is information that affects the interaction time of the user with the item; When the predicted interaction duration meets a preset condition, the item is recommended to the user.

17. The device according to claim 16, characterized in that The processing module is further used for: When the predicted interaction duration determined by the preset first mapping relationship is greater than the maximum interaction duration corresponding to the item, the maximum interaction duration is used as the truncated predicted interaction duration; When the predicted interaction duration meets a preset condition, the method includes: When the predicted interaction duration after the truncation meets a preset condition.

18. The device according to claim 16 or 17, characterized in that The preference information is a score; the preset first mapping relationship satisfies the following constraint: the output score is positively correlated with the predicted interaction duration.

19. The device according to any one of claims 16 to 18, characterized in that The preference information is a score; the preset first mapping relationship satisfies: When the preference information tends to 0, the predicted interaction duration tends to 0; when the preference information tends to 1, the predicted interaction duration tends to infinity.

20. The device according to any one of claims 16 to 19, characterized in that The preset first mapping relationship is specifically the following formula: in, is the predicted interaction time, c is the cost variable, r u,v For preference information.

21. The device according to any one of claims 16 to 20, characterized in that The processing module is further used for: According to the attribute information and / or context information, the cost variable is obtained through a first neural network model.

22. The device according to any one of claims 16 to 21, characterized in that The item is a video, and the interaction duration is a viewing duration.

23. A data processing device, characterized in that: The device comprises: The acquisition module is used to obtain the attribute information of users and items; A processing module, configured to obtain, based on the attribute information, first preference information of the user for the item through a second neural network model; Predicting the second preference information of the user for the item according to the actual interaction time of the user for the item and the cost variable through a preset second mapping relationship; the cost variable is information that affects the interaction time of the user for the item; The second neural network model and the cost variable are updated according to the first preference information and the second preference information.

24. The device according to claim 23, characterized in that The processing module is further used for: According to the attribute information and / or context information, the cost variable is obtained by using a first neural network model; The processing module is specifically used for: The second neural network model, the cost variable and the first neural network model are updated according to the first preference information and the second preference information.

25. The device according to claim 23 or 24, characterized in that The processing module is specifically used for: When the actual interaction time is greater than the maximum interaction time corresponding to the item, the second preference information of the user for the item is predicted according to the maximum interaction time and the cost variable through a preset second mapping relationship.

26. The device according to any one of claims 23 to 25, characterized in that The processing module is specifically used for: When the actual interaction time is less than the maximum interaction time corresponding to the item, constructing a first loss according to the first preference information and the second preference information, and updating the neural network model according to the first loss; When the actual interaction duration is greater than the maximum interaction duration corresponding to the item, a second loss different from the first loss is constructed according to the first preference information and the second preference information, and the neural network model is updated according to the second loss.

27. The device according to claim 26, characterized in that The first loss is: MSE loss; the second loss is: in, The σ is the standard deviation of user interests.

28. The device according to any one of claims 23 to 27, characterized in that The second mapping relationship is an inverse function of the first mapping relationship.

29. The device according to any one of claims 23 to 28, characterized in that The preset second mapping relationship is specifically the following formula: in, is the actual interaction time, c is the cost variable, r u,v For preference information.

30. The device according to any one of claims 23 to 29, characterized in that The item is a video, and the interaction duration is a viewing duration.

31. A data processing device, characterized in that: The device includes a memory and a processor; the memory stores codes, and the processor is configured to obtain the codes and execute the method according to any one of claims 1 to 15.

32. A computer storage medium, characterized in that The computer storage medium stores one or more instructions, which, when executed by one or more computers, enable the one or more computers to implement the method of any one of claims 1 to 15.

33. A computer program product, characterized in that The computer program product comprises codes for implementing the steps of the method according to any one of claims 1 to 15 when the codes are executed.

Citation Information

Cited By

  • Data processing method and related device

    EP4787192A1

  • Data processing method and related device

    WO2025067209A1