A data processing method and apparatus

CN117216378BActive Publication Date: 2026-09-11HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310953708.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-31
Publication Date
2026-09-11
Estimated Expiration
2043-07-31

AI Technical Summary

Technical Problem

现有技术中,直接将不同的数据源的异构行为转化为单一偏好向量,忽视了用户对于不同数据源的多层级偏好,从而导致推荐模型进行混排时的推荐精度较低

Benefits of technology

[0008] In one possible implementation, the method further includes: updating the association value and the recommendation model based on the recommendation information and the corresponding tags.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117216378B_ABST
    Figure CN117216378B_ABST
Patent Text Reader

Abstract

A data processing method applied to the field of artificial intelligence, comprising: acquiring a plurality of sequences, each sequence comprising a feature representation of an item in a data source in which a user has an interaction behavior, the data source comprising a target data source; determining a first preference feature of the user for each data source according to the relationship between the features of the items in each sequence; fusing the preference features of the plurality of data sources to obtain a second preference feature according to the association value between the target data source and each of the other data sources; and fusing the feature representation of a target item with the second preference feature corresponding to the target data source, and processing the fusion result through a recommendation model to obtain recommendation information. The application fuses the extracted user preferences for multiple data sources into the features of the items, so that the result obtained by the recommendation model has a higher degree of personalization, and the accuracy of the recommendation model is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

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

[0003] Existing content blending methods fail to effectively learn users' real-time preferences. Current methods all rely on a "cloud-side" model: user requests are sent from the device (i.e., the user's mobile device) to the cloud, the model is deployed in the cloud for inference, and the blended list is sent back to the device. This architecture fully utilizes the capabilities of cloud servers, but due to network bandwidth and latency, the cloud-side model cannot perceive real-time changes in user interests, potentially leading to suboptimal blending results. For example, as shown in the diagram, suppose we are blending three types of push content: images, text, and videos. Cloud-based historical behavior shows that users like video and text pushes, while the device shows that the user recently clicked on an image push. This might indicate that the user has developed a new interest in images, but the cloud-side model, due to network bandwidth and latency, cannot obtain the user's recent behavior and therefore cannot perceive the user's latest interests.

[0004] With the continuous expansion of computing power and storage capacity in mobile devices, edge computing has made it possible to perform inference and even training on edge devices. Edge models can access complete user behavior, thereby sensing real-time changes in user interests and responding in real time. Therefore, this invention proposes placing the haphazard ranking model on the edge device to fully utilize real-time user behavior. The cloud server transmits the haphazard ranking model and candidate items to the edge device, where the model performs haphazard ranking using real-time behavior and directly displays the haphazard ranking results list to the user.

[0005] In mixed ranking, candidate items come from different data sources. Current technologies directly convert the heterogeneous behavior of different data sources into a single preference vector, ignoring the multi-level preferences of users for different data sources. This results in low recommendation accuracy when the recommendation model performs mixed ranking. Summary of the Invention

[0006] In a first aspect, this application provides a data processing method, the method comprising: acquiring multiple sequences, each sequence including feature representations of items interacting with by a user in a data source, the data source including a target data source; determining a first preference feature of the user for each data source based on the relationship between the features of items in each sequence; fusing the preference features of the multiple data sources based on the association values ​​between the target data source and each other data source to obtain a second preference feature of the user for the target data source; acquiring feature representations of target items; the target items being items in the target data source; fusing the feature representations of the target items with the second preference features corresponding to the target data source, and processing the fusion result through a recommendation model to obtain recommendation information for recommending the target items to the user.

[0007] This application embodiment integrates extracted user preferences from multiple data sources into the features of items, thereby making the recommendation model more personalized and improving its accuracy.

[0008] In one possible implementation, the method further includes: updating the association value and the recommendation model based on the recommendation information and the corresponding tags.

[0009] In one possible implementation, fusing the preference features of multiple data sources based on the correlation values ​​between the target data source and other data sources includes: using the correlation values ​​as weights to weight the preference features of multiple data sources.

[0010] In one possible implementation, the method further includes: interacting the user's second preference feature for the target data source with preference features for other data sources through an attention mechanism to obtain the second preference feature after interaction; the step of fusing the feature representation of the target item with the second preference feature corresponding to the target data source includes: fusing the feature representation of the target item with the second preference feature after interaction.

[0011] In this embodiment, user history is divided into multiple subsequences according to different data sources, and the interactions within and between data sources are modeled. Furthermore, preferences can be transferred from popular to less popular sources through linear and higher-order representation sharing, outputting a user preference representation vector for each data source.

[0012] In one possible implementation, processing the fusion result through a recommendation model includes: processing the fusion result, the second preference feature, and the feature representation of the target item through a recommendation model.

[0013] In one possible implementation, the method further includes: processing the fusion result of the user's preference features for multiple data sources through a neural network to obtain the user's personalized parameters; and adjusting the recommendation information according to the personalized parameters.

[0014] In this embodiment, the extracted multi-level preferences are fused with the features of candidate items, and a preference adaptive generator generates a set of personalized parameters to enhance the model's personalization capabilities.

[0015] In one possible implementation, the neural network is a multilayer perceptron.

[0016] In one possible implementation, all or part of the recommendation model is deployed on the edge.

[0017] Secondly, this application provides a data processing apparatus, the apparatus comprising:

[0018] The acquisition module is used to acquire multiple sequences, each sequence including feature representations of items in which the user interacts with them in a data source, the data source including a target data source;

[0019] The processing module is used to determine the user's first preference feature for each data source based on the relationship between the features of items in each sequence;

[0020] Based on the correlation values ​​between the target data source and each other data source, the preference features of multiple data sources are fused to obtain the user's second preference feature for the target data source;

[0021] Obtain the feature representation of the target item; the target item is an item from the target data source;

[0022] The feature representation of the target item is fused with the second preference feature corresponding to the target data source, and the fusion result is processed by a recommendation model to obtain recommendation information for recommending the target item to the user.

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

[0024] Based on the recommendation information and the corresponding tags, update the association value and the recommendation model.

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

[0026] The associated values ​​are used as weights to weight the preference features of multiple data sources.

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

[0028] The user's second preference feature for the target data source is interacted with the user's preference features for other data sources through an attention mechanism to obtain the second preference feature after interaction;

[0029] The processing module is specifically used for:

[0030] The feature representation of the target item is fused with the second preference feature after the interaction.

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

[0032] The fusion result, the second preference feature, and the feature representation of the target item are processed by a recommendation model.

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

[0034] The user's personalized parameters are obtained by processing the fusion results of the user's preference features from multiple data sources through a neural network.

[0035] The recommendation information is adjusted based on the personalized parameters.

[0036] In one possible implementation, the neural network is a multilayer perceptron.

[0037] In one possible implementation, all or part of the recommendation model is deployed on the edge.

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

[0039] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the methods described in the first aspect and any of its optional methods.

[0040] Fifthly, embodiments of this application provide a computer program that, when run on a computer, causes the computer to perform the first aspect and any of its optional methods described above.

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

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

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

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

[0045] Figure 4 A schematic diagram illustrating a recommended scenario provided in an embodiment of this application;

[0046] Figure 5 A flowchart illustrating a data processing method provided in an embodiment of this application;

[0047] Figure 6 A schematic diagram of a data processing method provided in an embodiment of this application;

[0048] Figure 7 A schematic diagram of a software architecture provided for an embodiment of this application;

[0049] Figure 8 This is a schematic diagram illustrating one effect of an embodiment of this application;

[0050] Figure 9 This is a deployment illustration of an embodiment of this application;

[0051] Figure 10 A schematic diagram of the structure of a data processing apparatus provided in an embodiment of this application;

[0052] Figure 11 A schematic diagram of the structure of the execution device provided in the embodiments of this application;

[0053] Figure 12 A schematic diagram of the structure of the training device provided in the embodiments of this application;

[0054] Figure 13 This is a schematic diagram of a chip structure provided in an embodiment of this application. Detailed Implementation

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

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

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

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

[0059] (1) Infrastructure

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

[0061] (2) Data

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

[0063] (3) Data processing

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

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

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

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

[0068] (4) General ability

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

[0070] (5) Smart Products and Industry Applications

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

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

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

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

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

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

[0077] See appendix Figure 2 This invention provides a recommendation system architecture 200. A data acquisition device 260 is used to collect samples. A training sample can consist of multiple feature information (or described as attribute information, such as user attributes and item attributes). The feature information can be of various types, specifically including user feature information, object feature information, and tag features. User feature information is used to characterize user characteristics, such as gender, age, occupation, hobbies, etc. Object feature information is used to characterize the features of the objects pushed to the user. Different recommendation systems correspond to different objects, and the types of features to be extracted for different objects are also different. For example, the object features extracted from the training samples of an app market can be the app's name (identifier), type, size, etc. The object features mentioned in the training samples of e-commerce apps can include the product name, category, price range, etc. The label features are used to indicate whether a sample is a positive or negative example. Typically, the label features of a sample can be obtained from the user's actions on the recommended object. Samples where the user has performed an action on the recommended object are positive examples, while samples where the user has not performed an action or has only browsed the recommended object are negative examples. For example, if a user clicks on, downloads, or purchases a recommended object, the label feature is 1, indicating that the sample is a positive example. If the user has not performed any action on the recommended object, the label feature is 0, indicating that the sample is a negative example.

[0078] After collection, samples can be stored in database 230. Some or all feature information of the samples in database 230 can also be directly obtained from client device 240, such as user feature information, user operation information on objects (used to determine type identification), and object feature information (such as object identification). Training device 220 trains and obtains model parameter matrix based on samples in database 230 to generate recommendation model 201. Recommendation model 201 can be used to evaluate a large number of objects to obtain scores for each object to be recommended. Furthermore, it can recommend a specified or preset number of objects from the evaluation results of a large number of objects. Calculation module 211 obtains recommendation results based on the evaluation results of recommendation model 201 and recommends them to client device through I / O interface 212.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0095] 2. Personalized Recommendation System

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

[0097] 3. Offline training

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

[0099] 4. Online Inference

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

[0101] 5. Hybrid Re-ranking: This is typically the final stage of a recommendation system. Commercial recommendation systems generally consist of multiple stages, including "recall-refinement-re-ranking (hybrid ranking)". A hybrid ranking system takes multiple ranked lists from different upstream data sources (e.g., news, videos, photos, advertisements) as input and outputs a merged list of items.

[0102] 6. Edge Computing: Edge computing is a network computing approach that aims to bring computing as close as possible to the data source to reduce latency and bandwidth usage. Edge computing aims to run fewer processes in the cloud, moving these processes locally, such as on a user's mobile device, IoT device, or edge server. Placing computing at the network edge minimizes the long-distance communication that must occur between clients and servers.

[0103] 7. Overall utility of the recommendation system: average click-through rate, conversion rate, and revenue of the recommendation list. This considers not only the click-through rate of individual recommended items, but also the average number of clicks across the entire recommendation list.

[0104] 8. "Personalized recommendations for each user": This means that different users will have different recommendation model parameters.

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

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

[0107] For example, apps with a predicted high user selection rate can be displayed at the top of the recommendation list, while apps with a predicted low user selection rate can be displayed at the bottom.

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

[0109] (1) Neural Network

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

[0111]

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

[0113] (2) Deep Neural Networks

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

[0115] (3) Loss Function

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

[0117] (4) Backpropagation algorithm

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

[0119] (5) Machine Learning Systems

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

[0121] (6) Personalized recommendation system

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

[0123] Hybrid re-ranking (also known as multi-source re-ranking, or simply hybrid ranking) is a rapidly developing field with numerous applications in industry. Unlike traditional single-source re-ranking, hybrid ranking systems take multiple ranked lists from different upstream data sources (such as news, videos, photos, and advertisements) as input and output a merged list of items. Items from different data sources typically exist in different feature spaces (i.e., heterogeneity), and each ranked list is sorted separately by different ranking models. The scores of items from different data sources cannot be directly compared; therefore, a hybrid ranking model is needed to re-unify the scores of items from each data source before re-ranking them. The basic goal of hybrid ranking is to optimize the overall list utility (e.g., the total number of clicks), but other goals may also exist, such as ranking fairness. As the final stage of a recommendation system, the quality of hybrid ranking is influenced by real-time user behavior. Real-time user behavior contains rich information about user preferences and interests, which can be used to better learn users' personalized preferences.

[0124] Therefore, there is an urgent need for a method to augment the original sequence recommendation dataset.

[0125] Existing content blending methods fail to effectively learn users' real-time preferences. Current methods all rely on a "cloud-side" model: user requests are sent from the device (i.e., the user's mobile device) to the cloud, the model is deployed in the cloud for inference, and the blended list is sent back to the device. This architecture fully utilizes the capabilities of cloud servers, but due to network bandwidth and latency, the cloud-side model cannot perceive real-time changes in user interests, potentially leading to suboptimal blending results. For example, as shown in the diagram, suppose we are blending three types of push content: images, text, and videos. Cloud-based historical behavior shows that users like video and text pushes, while the device shows that the user recently clicked on an image push. This might indicate that the user has developed a new interest in images, but the cloud-side model, due to network bandwidth and latency, cannot obtain the user's recent behavior and therefore cannot perceive the user's latest interests.

[0126] With the continuous expansion of computing power and storage capacity in mobile devices, edge computing has made it possible to perform inference and even training on edge devices. Edge models can access complete user behavior, thereby sensing real-time changes in user interests and responding in real time. Therefore, this invention proposes placing the haphazard ranking model on the edge device to fully utilize real-time user behavior. The cloud server transmits the haphazard ranking model and candidate items to the edge device, where the model performs haphazard ranking using real-time behavior and directly displays the haphazard ranking results list to the user.

[0127] However, deploying hybrid models on the edge side mainly faces the following two major challenges:

[0128] 1) How to extract user preferences for different data sources from heterogeneous and imbalanced user behavior. User preferences for different data sources typically have two levels: high-level preferences across different data sources and fine-grained preferences within each data source. For example, a user might prefer videos to articles, and might like food from a video source but prefer social news from an article source. Previous research directly transformed heterogeneous behavior into a single preference vector, ignoring the multi-level preferences of users across different data sources. More importantly, previous work did not address the problem of imbalanced user behavior across multiple sources. Users may have a large amount of behavior on some popular data sources, while their behavior on other less popular data sources is very sparse, making it particularly difficult to learn the actual preferences of users for sparse data sources. In fact, the lack of items from less popular data sources in a user's history does not necessarily mean that the user is not interested in that source; it may simply mean that such items have not been recommended to the user recently. Therefore, it is beneficial to use the correlation between different data sources to infer user preferences for less popular sources.

[0129] 2) How to effectively utilize the correlation between extracted personalized preferences and candidate items. On the one hand, candidate items come from different data sources, and the degree to which user preferences for each data source have an impact on candidate items varies. For example, user preferences for video data sources have a greater impact on video candidate items, but a smaller impact on article candidate items. Therefore, for mixed ranking, aligning user preferences with corresponding candidate items is crucial. However, existing work simply concatenates candidate items with a vector containing mixed preferences from multiple data sources, which may introduce interference and noise, affecting the final recommendation effect. On the other hand, since the model is closer to the user in edge computing, the expectations for model personalization are much higher than on the cloud side. However, the common practice in industry is to train the model in the cloud and then send it to edge devices for inference. While this reduces the resource consumption of the device, it uses the same set of model parameters to serve different users, limiting the potential for providing customized models and real-time personalization for each user.

[0130] To address the aforementioned problems, embodiments of this application provide a data processing method. The data processing method of this application embodiment will be described in detail below with reference to the accompanying drawings.

[0131] Reference Figure 5 , Figure 5 This is a flowchart illustrating a data processing method provided in an embodiment of this application, such as... Figure 5 As shown in the embodiment of this application, a data processing method may include steps 501 to 505, which are described in detail below.

[0132] 501. Obtain multiple sequences, each sequence including a feature representation of an item in which a user interacts with it in a data source, the data source including a target data source.

[0133] When a user sends a request to the recommendation system, they can obtain multiple sorted lists (such as images, text, videos, etc.) from different data sources, as well as the user's behavioral history on different data sources. For example, the sorted list may have m candidate items from data source A, n candidate items from data source B, and p candidate items from data source C. Similarly, the user's behavioral history also comes from heterogeneous item sequences from different data sources (that is, multiple sequences in the embodiments of this application).

[0134] In one possible implementation, heterogeneous user behavior histories from different sources (i.e., the set of items in which users interact) and sets of candidate items (such as text, images, videos, etc.) can be mapped to the same feature space for subsequent processing.

[0135] like Figure 6 As shown, Figure 6 The lowest layer is the heterogeneous coding module, whose input can include two parts: the user's multi-source behavior history and a multi-source candidate set. Different data sources may have different features (e.g., video has image features, while text only has text features). The heterogeneous coding module uses different non-linear mappings to map the behavior history and candidate set from different sources into continuous representation vectors of the same dimension. Each item in the behavior history and candidate set corresponds to a continuous vector. Assuming there are m different data sources, the resulting user behavior representations are denoted as H1, ..., H... m The candidate set is denoted as X1, ..., X... m .

[0136] 502. Determine the user's first preference feature for each data source based on the relationship between the features of items in each sequence.

[0137] In this embodiment of the application, user preferences (or interests) for different data sources can be modeled.

[0138] like Figure 6 As shown, Figure 6 The top left corner contains the multi-source behavior modeling module. The input to this module is the continuous representation vector corresponding to the user's heterogeneous behavior sequence. Assuming there are m different data sources, m different sub-sequences can be obtained (e.g., ...). Figure 6 The different colors in the text represent the behavioral sequences corresponding to different data sources.

[0139] In this embodiment, user history is divided into multiple subsequences according to different data sources, and the interactions within and between data sources are modeled. Furthermore, preferences can be transferred from popular to less popular sources through linear and higher-order representation sharing, outputting a user preference representation vector for each data source.

[0140] Within each data source, behavioral dependencies exist, reflecting a user's interest in that data source. The user's primary preference feature for each data source can be determined based on the relationships between the features of items in each sequence. For example, the classic GRU network structure can be used to model the dependencies within each data source. i =GRU(H i This allows us to obtain the user's first preference feature for each data source.

[0141] The size of the first preference feature can be the same as the size of the item's features.

[0142] 503. Based on the correlation values ​​between the target data source and each other data source, the preference features of multiple data sources are fused to obtain the user's second preference feature for the target data source;

[0143] In this embodiment of the application, preferences can be migrated from popular sources to less popular sources through linear sharing.

[0144] In one possible implementation, the associated values ​​can be used as weights to weight the preference features of multiple data sources.

[0145] To address the issue of sparse behavior from less popular data sources, this application proposes linearly weighting the interests (i.e., the first preference feature) from different data sources to achieve effective information sharing and obtain a second preference feature. Here, α can be a linearly weighted weight automatically learned by the model. In other words, the associated value can be the parameter being updated.

[0146]

[0147] In this embodiment of the application, preferences can be transferred from popular sources to less popular sources through high-level feature sharing.

[0148] In one possible implementation, the user's second preference feature for the target data source can be interacted with preference features for other data sources through an attention mechanism to obtain the second preference feature after interaction. Based on linear weighting, the classic self-attention mechanism can be further utilized for high-dimensional interaction between different data sources.

[0149]

[0150] in, It is p i and v i splicing, This is to stabilize the parameters during the training process, where W represents the weights to be learned. The resulting R matrix is ​​a representation of user preferences for different data sources obtained through the multi-source behavior modeling module. Each row of the R matrix r i This represents the user's preference for different data sources i.

[0151] 504. Obtain the feature representation of the target item; the target item is an item from the target data source;

[0152] It should be understood that during mixed sorting, candidate items from multiple data sources, including the target item, can be obtained. This application uses the target item as an example for illustration.

[0153] 505. The feature representation of the target item is fused with the second preference feature corresponding to the target data source, and the fusion result is processed by a recommendation model to obtain recommendation information for recommending the target item to the user.

[0154] The feature representation of the target item can be fused with the second preference feature corresponding to the target data source to obtain a fusion result. In other words, the user's interest in the data source is incorporated into the features of the item.

[0155] For example, if the second preference feature and the feature representation of the target item have the same size, the fusion method can be the multiplication of corresponding elements.

[0156] In one possible implementation, the fusion result described above, the second preference feature, and the feature representation of the target item can be jointly input into the recommendation model.

[0157] like Figure 6 As shown in the upper right part, since the final mixed list is affected by other items in the list, the interaction between candidate items can be modeled using Attention. Then, the representation of each candidate item Its corresponding data source preference representation r i To integrate. Among them... This represents the j-th candidate item in data source i.

[0158]

[0159] Where ⊕ and ⊙ represent vector concatenation and element-wise multiplication, respectively.

[0160] The feature representation of the target item can be fused with the second preference feature corresponding to the target data source, and the fusion result can be processed by a recommendation model to obtain recommendation information for recommending the target item to the user. The recommendation information can be a score corresponding to the target item.

[0161] Furthermore, this application embodiment designs a preference adaptive parameter generator (i.e., the neural network described in this application embodiment), which maps the user's preference representation on m data sources to a set of personalized model parameters. These personalized model parameters can represent the user's personalized characteristics and are used to adjust the results obtained by the recommendation model.

[0162] In one possible implementation, a neural network can be used to process the fusion results of the user's preference features from multiple data sources to obtain the user's personalized parameters; the recommendation information can then be adjusted based on these personalized parameters.

[0163] In one possible implementation, the neural network is a multilayer perceptron.

[0164] For example, the personalized parameter g(R) can be calculated using the following formula:

[0165]

[0166] The dimension of g(R) depends on which part of the parameters needs to be personalized. For example, if the parameters of the final output layer of the model are personalized, then:

[0167]

[0168] Here, σ is the activation function of this layer of the network, and z is the input of this layer of the network. This is the final score for the corresponding candidate items. A unified sorting sequence can be generated based on the obtained scores.

[0169] In this embodiment, the extracted multi-level preferences are fused with the features of candidate items, and a preference adaptive generator generates a set of personalized parameters to enhance the model's personalization capabilities.

[0170] The output can be the reorder score for each candidate item. The list is then sorted from highest to lowest reorder score and displayed to the user.

[0171] In one possible implementation, when updating the recommendation model, the recommendation model can be updated based on the recommendation information and the corresponding tags (and the associated values ​​can also be updated).

[0172] For example, the overall utility of the list (e.g., number of clicks) can be optimized using the binary cross-entropy loss function:

[0173]

[0174] In addition, exposure fairness across different data sources can be considered, and the JS divergence between the current exposure ratio and the ideal fair exposure ratio (i.e., calculating the difference between the two distributions) can be calculated:

[0175]

[0176] The model is trained by combining two loss functions on the training set:

[0177]

[0178] All or part of the embodiments in this application can be deployed on the edge, taking a multi-source candidate set and the user's real-time behavior as input, and outputting a unified list after mixing. Existing mixing models are all deployed on the cloud, resulting in slow response speed and delay in feedback on real-time user behavior. For example, refer to... Figure 9 , Figure 9 This is a specific deployment flowchart of an embodiment of this application.

[0179] This application embodiment integrates extracted user preferences from multiple data sources into the features of items, thereby making the recommendation model more personalized and improving its accuracy.

[0180] Furthermore, the adaptive generation of personalized model parameters provides a higher degree of personalization compared to existing edge-side inference models.

[0181] Reference Figure 7 , Figure 7 Here is a schematic diagram of a software architecture according to an embodiment of this application:

[0182] When a user sends a request to the recommendation system, this invention inputs multiple sorted lists (such as images, text, videos, etc.) from different data sources, as well as the user's behavioral history on these different data sources. For example, the sorted lists may contain m candidate items from data source A, n candidate items from data source B, and p candidate items from data source C. Similarly, the user's behavioral history also consists of heterogeneous sequences of items from different data sources.

[0183] The 101 heterogeneous encoding module maps heterogeneous user behavior histories and ranking lists (candidate sets) from different sources to the same feature space. The 102 multi-source behavior modeling module acquires the encoded user behavior history, divides the user history into multiple subsequences according to different data sources, and models the interactions within and between data sources. Preferences are transferred from popular to less popular sources through linear and higher-order representation sharing. A preference representation vector for each data source is output. The 103 preference adaptive re-ranking module fuses the encoded candidate item representations output by 101 and the user preference representations for different data sources output by the 102 multi-source behavior modeling module. Specifically, the 103 preference adaptive re-ranking module includes a 104 preference adaptive parameter generator, which maps the user preference representations for different data sources output by the 102 multi-source behavior modeling module to different network parameters for each user. The 103 preference adaptive re-ranking module finally outputs the re-ranking score for each candidate item. The items are sorted from high to low according to their re-ranking scores and displayed to the user. All or part of the model parameters of this invention are placed on the edge, and the entire inference process is performed on the edge.

[0184] The beneficial effects of the embodiments of this application will be described below with reference to experiments:

[0185] The effectiveness of this invention was verified on two publicly available datasets. Experimental results are shown below. Figure 8 As shown. The baselines compared in this invention include three types: (1) cloud-side single data source reordering algorithms such as DIN-C; (2) edge-side single data source reordering algorithms such as DIN-E; and (3) edge-side recommendation algorithms such as EdgeRec. Figure 8 The bottom line lists the technical effects of the invention. The evaluation metrics used include accuracy-related metrics such as AUC, MAP, NDC, and Utility, where higher values ​​are better, and the fairness metric JS, where lower values ​​are better. Figure 8 The results shown demonstrate that the proposed solution achieves optimal results under various conditions.

[0186] Reference Figure 10 , Figure 10 This is a schematic diagram of the structure of a data processing apparatus provided in an embodiment of this application, such as... Figure 10 As shown in the embodiment of this application, a data processing apparatus 1000 is provided, the apparatus comprising:

[0187] The acquisition module 1001 is used to acquire multiple sequences, each sequence including a feature representation of an item in which a user interacts with an item in a data source, the data source including a target data source;

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

[0189] Processing module 1002 is used to determine the user's first preference feature for each data source based on the relationship between the features of items in each sequence;

[0190] Based on the correlation values ​​between the target data source and each other data source, the preference features of multiple data sources are fused to obtain the user's second preference feature for the target data source;

[0191] Obtain the feature representation of the target item; the target item is an item from the target data source;

[0192] The feature representation of the target item is fused with the second preference feature corresponding to the target data source, and the fusion result is processed by a recommendation model to obtain recommendation information for recommending the target item to the user.

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

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

[0195] Based on the recommendation information and the corresponding tags, update the association value and the recommendation model.

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

[0197] The associated values ​​are used as weights to weight the preference features of multiple data sources.

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

[0199] The user's second preference feature for the target data source is interacted with the user's preference features for other data sources through an attention mechanism to obtain the second preference feature after interaction;

[0200] The processing module 1002 is specifically used for:

[0201] The feature representation of the target item is fused with the second preference feature after the interaction.

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

[0203] The fusion result, the second preference feature, and the feature representation of the target item are processed by a recommendation model.

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

[0205] The user's personalized parameters are obtained by processing the fusion results of the user's preference features from multiple data sources through a neural network.

[0206] The recommendation information is adjusted based on the personalized parameters.

[0207] In one possible implementation, the neural network is a multilayer perceptron.

[0208] In one possible implementation, all or part of the recommendation model is deployed on the edge.

[0209] The following describes a terminal device provided in an embodiment of this application. Please refer to [link to relevant documentation]. Figure 11 , Figure 11 This is a schematic diagram of a terminal device provided in an embodiment of this application. The terminal device 1100 can specifically be a virtual reality (VR) device, a mobile phone, a tablet, a laptop computer, a smart wearable device, etc., and is not limited thereto. Specifically, the terminal device 1100 includes: a receiver 1101, a transmitter 1102, a processor 1103, and a memory 1104 (wherein the number of processors 1103 in the terminal device 1100 can be one or more). Figure 11 (Taking a processor as an example), processor 1103 may include application processor 11031 and communication processor 11032. In some embodiments of this application, receiver 1101, transmitter 1102, processor 1103 and memory 1104 may be connected via bus or other means.

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

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

[0212] The methods disclosed in the embodiments of this application can be applied to or implemented by the processor 1103. The processor 1103 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 1103 or by instructions in software form. The processor 1103 can be a general-purpose processor, a digital signal processor (DSP), a microprocessor, or a microcontroller, and may further include an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor 1103 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 1104. Processor 1103 reads the information in memory 1104 and, in conjunction with its hardware, completes the steps involved in the model training or model inference process described above.

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

[0214] This application also provides a server; please refer to [link / reference]. Figure 12 , Figure 12This is a schematic diagram of a server structure provided in an embodiment of this application. The server 1200 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 1212 (e.g., one or more processors) and memory 1232, and one or more storage media 1230 (e.g., one or more mass storage devices) for storing application programs 1242 or data 1244. The memory 1232 and storage media 1230 can be temporary or persistent storage. The program stored in the storage media 1230 may include one or more modules (not shown in the diagram), each module may include a series of instruction operations on the server. Furthermore, the CPU 1212 may be configured to communicate with the storage media 1230 and execute the series of instruction operations in the storage media 1230 on the server 1200.

[0215] Server 1200 may also include one or more power supplies 1226, one or more wired or wireless network interfaces 1250, one or more input / output interfaces 1258; or, one or more operating systems 1241, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0216] In this embodiment, the central processing unit 1212 is used to perform actions related to model training or model inference in the above embodiments.

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

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

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

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

[0221] In some implementations, the arithmetic circuit 1303 internally includes multiple processing engines (PEs). In some implementations, the arithmetic circuit 1303 is a two-dimensional pulsating array. The arithmetic circuit 1303 can also be a one-dimensional pulsating array or other electronic circuits capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuit 1303 is a general-purpose matrix processor.

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

[0223] Unified memory 1306 is used to store input and output data. Weight data is directly transferred to weight memory 1302 via Direct Memory Access Controller (DMAC) 1305. Input data is also transferred to unified memory 1306 via DMAC.

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

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

[0226] The DMAC is mainly used to move input data from external memory DDR to unified memory 1306, or to weight data to weight memory 1302, or to input data to input memory 1301.

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

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

[0229] The instruction fetch buffer 1309 connected to the controller 1304 is used to store the instructions used by the controller 1304;

[0230] Unified memory 1306, input memory 1301, weighted memory 1302, and instruction fetch memory 1309 are all on-chip memories. External memory is proprietary to this NPU hardware architecture.

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

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

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

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

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

Claims

1. A data processing method, characterized by, The method includes: Multiple sequences are obtained, each sequence including feature representations of items that have user interaction behavior in a data source, wherein the data source is different upstream data sources in the mixed ranking system, and the data source includes the target data source; Based on the relationship between the features of items in each sequence, the user's first preference feature for each data source is determined; Based on the correlation values ​​between the target data source and each other data source, the first preference features of multiple data sources are fused together to obtain the second preference features of the user for the target data source. The correlation values ​​are parameters that are updated during the training of the recommendation model. Obtain the feature representation of the target item; the target item is an item from the target data source; The feature representation of the target item is fused with the second preference feature corresponding to the target data source, and the fusion result is processed by a recommendation model to obtain recommendation information for recommending the target item to the user; wherein the second fusion operation includes concatenation and element-wise multiplication.

2. The method of claim 1, wherein, The method further includes: Based on the recommendation information and the corresponding tags, update the association value and the recommendation model.

3. The method according to claim 1 or 2, characterized in that, The first fusion operation, which involves combining the preference features of multiple data sources based on the correlation values ​​between the target data source and other data sources, includes: The correlation values ​​are used as weights to weight the preference features of multiple data sources.

4. The method according to claim 1, characterized in that, The method further includes: The user's second preference feature for the target data source is interacted with the user's preference features for other data sources through an attention mechanism to obtain the second preference feature after interaction; The second fusion operation, which involves combining the feature representation of the target item with the second preference feature corresponding to the target data source, includes: The feature representation of the target item is fused with the second preference feature after the interaction.

5. The method according to claim 1, characterized in that, The process of processing the fusion result through the recommendation model includes: The fusion result, the second preference feature, and the feature representation of the target item are processed by a recommendation model.

6. The method according to claim 1, characterized in that, The method further includes: The user's personalized parameters are obtained by processing the fusion results of the user's preference features from multiple data sources through a neural network. The recommendation information is adjusted based on the personalized parameters.

7. The method according to claim 1, characterized in that, The recommendation model is deployed entirely or partially on the device side.

8. A data processing apparatus, characterized in that, The device includes: The acquisition module is used to acquire multiple sequences, each sequence including the feature representation of items that have user interaction behavior in a data source, wherein the data source is different upstream data sources in the mixed ranking system, and the data source includes the target data source; The processing module is used to determine the user's first preference feature for each data source based on the relationship between the features of items in each sequence; Based on the correlation values ​​between the target data source and each other data source, the first preference features of multiple data sources are fused together to obtain the second preference features of the user for the target data source. The correlation values ​​are parameters that are updated during the training of the recommendation model. Obtain the feature representation of the target item; the target item is an item from the target data source; The feature representation of the target item is fused with the second preference feature corresponding to the target data source, and the fusion result is processed by a recommendation model to obtain recommendation information for recommending the target item to the user; wherein the second fusion operation includes concatenation and element-wise multiplication.

9. The apparatus according to claim 8, characterized in that, The processing module is further configured to: Based on the recommendation information and the corresponding tags, update the association value and the recommendation model.

10. The apparatus according to claim 8 or 9, characterized in that, The processing module is specifically used for: The correlation values ​​are used as weights to weight the preference features of multiple data sources.

11. The apparatus according to claim 8, characterized in that, The processing module is further configured to: The user's second preference feature for the target data source is interacted with the user's preference features for other data sources through an attention mechanism to obtain the second preference feature after interaction; The processing module is specifically used for: The feature representation of the target item is fused with the second preference feature after the interaction.

12. The apparatus according to claim 8, characterized in that, The processing module is specifically used for: The fusion result, the second preference feature, and the feature representation of the target item are processed by a recommendation model.

13. The apparatus according to claim 8, characterized in that, The processing module is further configured to: The user's personalized parameters are obtained by processing the fusion results of the user's preference features from multiple data sources through a neural network. The recommendation information is adjusted based on the personalized parameters.

14. The apparatus according to claim 13, characterized in that, The recommendation model is deployed entirely or partially on the device side.

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

16. A computer program product, characterized in that, Includes computer-readable instructions that, when executed on a computer device, cause the computer device to perform the method as described in any one of claims 1 to 7.

17. A data processing system, comprising at least one processor and at least one memory; the processor and the memory are connected via a communication bus and communicate with each other. The at least one memory is used to store code; The at least one processor is used to execute the code to perform the method as described in any one of claims 1 to 7.

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

Citation Information

Patent Citations

  • Cross-domain recommendation method oriented to cold start users and based on classification preference migration

    CN115438732A

  • Agricultural knowledge service method and system

    CN116109435A