Data processing method, device and equipment

By adopting a dual-channel network architecture in the recommendation system, bilinear feature extraction and local feature enhancement are solved, and the accuracy and efficiency of recommendation results are improved.

CN119599111APending Publication Date: 2025-03-11LENOVO (BEIJING) LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411547996.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

When the existing recommendation system recommends content to users from massive information, the data processing efficiency is slow, which affects the accuracy and efficiency of the recommendation results.

Method used

Using a dual-channel network architecture, bilinear feature extraction and feature compression are performed through the first network branch, and local feature enhancement and feature compression are performed through the second network branch. Combined with the bilinear feature interaction layer, feature fusion layer, feature purification layer and gate selection layer, the evaluation value of each object by the target user is generated, and the recommended content is finally determined.

Benefits of technology

It improves the efficiency of data processing and the accuracy of recommended results, reduces the amount of model calculations and the number of parameters, and enhances the richness of features and the accuracy of recommendations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119599111A_ABST
    Figure CN119599111A_ABST
Patent Text Reader

Abstract

The invention provides a data processing method, device and equipment. The data processing method comprises the steps that target data is acquired, and the target data represents first attribute information of a target user and second attribute information of multiple objects; the target data are input into the two-way network, a first target feature output through a first network branch in the two-way network and a second target feature output through a second network branch in the two-way network are obtained, the first network branch is used for conducting bilinear feature extraction on the target data, feature compression is conducted on the extracted features, and the second network branch is used for conducting feature compression on the extracted features; the second network branch is used for performing local feature enhancement on the target data and performing feature compression on the enhanced features; according to the first target feature and the second target feature, determining an evaluation value of the target user about each object; and determining a target object recommended to the target user according to the evaluation value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data processing technology, and in particular to a data processing method, device and equipment. Background Art

[0002] With the development of Internet technology, more and more applications involve content recommendation functions, which are used to actively recommend content that users may be interested in. When recommendation systems recommend items or content that users may be interested in from massive amounts of information, data processing efficiency is slow. Summary of the invention

[0003] In view of this, the present disclosure provides a data processing method, apparatus and device.

[0004] According to a first aspect of the present disclosure, a data processing method is provided, comprising: acquiring target data, the target data representing first attribute information of a target user and second attribute information of multiple objects; inputting the target data into a two-way network to obtain a first target feature output by a first network branch in the two-way network and a second target feature output by a second network branch in the two-way network, the first network branch being used to perform bilinear feature extraction on the target data and perform feature compression on the extracted features, and the second network branch being used to perform local feature enhancement on the target data and perform feature compression on the enhanced features; determining an evaluation value of the target user regarding each object based on the first target feature and the second target feature; and determining a target object recommended to the target user based on the evaluation value.

[0005] According to an embodiment of the present disclosure, the first network branch includes a bilinear feature interaction layer and a first compression layer, and the target data is input into the two-way network to obtain a first target feature output by the first network branch in the two-way network, including: based on the bilinear feature interaction layer, every two initial features in a plurality of initial features are combined to obtain a plurality of interaction features, and the target data includes a plurality of initial features; based on the bilinear feature interaction layer, the plurality of interaction features are spliced ​​to obtain a spliced ​​feature; based on the first compression layer, the spliced ​​feature is compressed to obtain a first target feature.

[0006] According to an embodiment of the present disclosure, the second network branch includes a secondary feature crossover layer, a feature fusion layer and a second compression layer. The target data is input into the two-way network to obtain a second target feature output by the second network branch in the two-way network, including: based on the secondary feature crossover layer, the l-th layer feature is cross-featured with the initial feature to obtain a first intermediate feature, the target data includes multiple initial features, the secondary feature crossover layer includes N layers, l≤N, l is a positive integer, and N is a positive integer greater than or equal to 2; based on the feature fusion layer, the first intermediate feature is fused with the l-th layer feature to obtain a second intermediate feature and use it as the l+1-th layer feature, repeat the above operation until the N-th layer feature, and use the N-th layer feature as the third intermediate feature; based on the second compression layer, compress the third intermediate feature to obtain the second target feature.

[0007] According to an embodiment of the present disclosure, the second network branch also includes a feature purification layer, which, based on the feature fusion layer, fuses the first intermediate feature with the l-th layer feature to obtain the second intermediate feature and uses it as the l+1-th layer feature, including: based on the feature purification layer, purifying the first intermediate feature to obtain a fourth intermediate feature; based on the feature fusion layer, fusing the fourth intermediate feature with the l-th layer feature to obtain the second intermediate feature as the l+1-th layer feature.

[0008] According to an embodiment of the present disclosure, based on the feature purification layer, the first intermediate feature is feature purified to obtain a fourth intermediate feature, including: extracting features from the first intermediate feature to obtain a purified feature; and fusing the purified feature with the first intermediate feature to obtain a fourth intermediate feature.

[0009] According to an embodiment of the present disclosure, the second network branch also includes a gated selection layer, which, based on a feature fusion layer, combines the fourth intermediate feature with the lth layer feature to obtain a second intermediate feature as the l+1th layer feature, including: based on the gated selection layer, performing feature selection on the fourth intermediate feature to obtain a fifth intermediate feature; based on the feature fusion layer, fusing the fifth intermediate feature with the lth layer feature to obtain the second intermediate feature as the l+1th layer feature.

[0010] According to an embodiment of the present disclosure, the target user's evaluation value for each object is determined based on the first target feature and the second target feature, including: fusing the first target feature with the second target feature to obtain a third target feature; based on a fully connected layer, performing feature extraction on the third target feature to obtain a fourth target feature; and determining the target user's evaluation value for each object based on the fourth target feature.

[0011] According to an embodiment of the present disclosure, acquiring target data includes: determining a second discrete feature based on a first continuous feature in first attribute information, the first attribute information including a first discrete feature and a first continuous feature; determining a fourth discrete feature based on a second continuous feature in second attribute information, the second attribute information including a third discrete feature and a second continuous feature; determining target data based on the first discrete feature, the second discrete feature, the third discrete feature and the fourth discrete feature; wherein the first discrete feature represents category information of a target user, the second discrete feature represents quantitative information of the target user, the third discrete feature represents category information of an object, and the fourth discrete feature represents quantitative information of the object.

[0012] The second aspect of the present disclosure provides a data processing device, including: an acquisition module, used to acquire target data, the target data represents first attribute information of a target user and second attribute information of multiple objects; a processing module, used to input multiple target data into a two-way network, and obtain a first target feature output by a first network branch in the two-way network and a second target feature output by a second network branch in the two-way network, the first network branch is used to perform bilinear feature extraction on the target data and perform feature compression on the extracted features, and the second network branch is used to perform local feature enhancement on the target data and perform feature compression on the enhanced features; a first determination module, used to determine the target user's evaluation value for each object based on the first target feature and the second target feature; and a second determination module, used to determine the target object recommended to the target user based on the evaluation value.

[0013] A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors execute the above-mentioned data processing method.

[0014] The fourth aspect of the present disclosure further provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to execute the above-mentioned data processing method.

[0015] The fifth aspect of the present disclosure also provides a computer program product, including a computer program, which implements the above-mentioned data processing method when executed by a processor.

[0016] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0018] Figure 1 The application scenario diagram of the data processing method according to the embodiment of the present disclosure is schematically shown;

[0019] Figure 2A A flowchart schematically shows a data processing method according to an embodiment of the present disclosure;

[0020] Figure 2B One of the schematic diagrams of a dual-path network in a data processing method according to an embodiment of the present disclosure is schematically shown;

[0021] Figure 2C The second schematic diagram of a dual-path network in the data processing method according to an embodiment of the present disclosure is schematically shown;

[0022] Figure 2D The third schematic diagram schematically shows a dual-path network in the data processing method according to an embodiment of the present disclosure;

[0023] Figure 2E A fourth schematic diagram of a dual-path network in a data processing method according to an embodiment of the present disclosure is schematically shown;

[0024] Figure 2F The fifth schematic diagram schematically shows a dual-path network in the data processing method according to an embodiment of the present disclosure;

[0025] Figure 2G The sixth schematic diagram schematically shows a dual-path network in the data processing method according to an embodiment of the present disclosure;

[0026] Figure 2H The seventh schematic diagram schematically shows a dual-path network in the data processing method according to an embodiment of the present disclosure;

[0027] Figure 3 A flowchart of a first network branch processing method according to an embodiment of the present disclosure is schematically shown;

[0028] Figure 4 One of the flowcharts of the second network branch processing method according to an embodiment of the present disclosure is schematically shown;

[0029] Figure 5 The second flowchart of the second network branch processing method according to the embodiment of the present disclosure is schematically shown;

[0030] Figure 6 The third flowchart of the second network branch processing method according to the embodiment of the present disclosure is schematically shown;

[0031] Figure 7 A fourth flowchart of the second network branch processing method according to an embodiment of the present disclosure is schematically shown;

[0032] Figure 8 A flowchart of a method for determining an evaluation value of a target user with respect to each object according to an embodiment of the present disclosure is schematically shown;

[0033] Fig. 9 A flowchart of a method for acquiring target data according to an embodiment of the present disclosure is schematically shown;

[0034] Fig.10 A structural block diagram schematically shows a data processing device according to an embodiment of the present disclosure; and

[0035] Fig.11 A block diagram of an electronic device suitable for implementing a data processing method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0036] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0037] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0038] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0039] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0040] The embodiments of the present disclosure provide a data processing method, apparatus and device. Before introducing the technical solutions provided by the embodiments of the present disclosure, the related technologies involved in the present disclosure are first described.

[0041] With the development of Internet technology, more and more applications involve content recommendation functions, which are used to actively recommend content that users may be interested in. When recommendation systems recommend items or content that users may be interested in from massive amounts of information, data processing efficiency is slow.

[0042] For example, in a recommendation system, sorting plays an important role in the recommendation system. The quality of sorting determines the effect of user experience. Deep Cross Network (DCN) is a model used in recommendation systems and other machine learning tasks, which aims to capture high-order interactions between features and sort recommended information. It combines the advantages of deep learning and linear models and has strong expressive power. However, the DCN algorithm makes high-order feature crosses, which leads to a deeper network, an increase in network model parameters, and an increase in data calculation complexity, which slows down network inference. At the same time, as the network deepens, it leads to excessive crossover of high-order irrelevant features, which easily generates noise that affects the quality of feature fusion, thereby affecting the accuracy of recommended information.

[0043] Before further describing the embodiments of the present disclosure in detail, the nouns and terms involved in the embodiments of the present disclosure are described. The nouns and terms involved in the embodiments of the present disclosure are subject to the following interpretations.

[0044] Hadamard product, in linear algebra, refers to the element-by-element product of two matrices or vectors of the same dimension.

[0045] The dot product is an operation in vector space that maps two vectors to a scalar.

[0046] Bilinear Feature Extraction captures the interaction between features through bilinear mapping. In this method, the representation of features is not just a linear combination, but a bilinear model (i.e., containing two linear transformations) is used to transform the features. These complex feature interactions can be better captured by introducing high-order feature modeling.

[0047] Gated Selection is a mechanism that controls information flow and feature selection. This mechanism can dynamically determine which features or information should be passed to the next layer of the model, thereby improving the flexibility and expressiveness of the model.

[0048] The Criteo dataset is a public dataset for research in machine learning and advertising recommendation systems.

[0049] FiBiNet (Feature Interaction via Bilevel Network) is a deep learning model for recommendation systems and advertising click-through rate prediction.

[0050] An embodiment of the present disclosure provides a data processing method, including: acquiring target data, the target data representing first attribute information of a target user and second attribute information of multiple objects; inputting the target data into a two-way network to obtain a first target feature output by a first network branch in the two-way network and a second target feature output by a second network branch in the two-way network, the first network branch being used to perform bilinear feature extraction on the target data and perform feature compression on the extracted features, and the second network branch being used to perform local feature enhancement on the target data and perform feature compression on the enhanced features; determining an evaluation value of the target user regarding each object based on the first target feature and the second target feature; and determining a target object to be recommended to the target user based on the evaluation value.

[0051] Figure 1 The application scenario diagram of the data processing method according to the embodiment of the present disclosure is schematically shown.

[0052] like Figure 1 As shown, the application scenario 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for a communication link between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0053] When the application scenario is a model training scenario: the server 105 stores pre-collected training data and deploys a model to be trained, and the model can be trained based on the training data on the server 105 .

[0054] When the application scenario is a recommendation scenario: the server 105 stores the candidate objects and the relevant data of the users to be recommended and deploys the trained model. The recommended object to be recommended to the user can be determined on the server 105 based on the candidate objects and the relevant data of the users to be recommended and the trained model.

[0055] Users can use terminal devices 101, 102, 103 to interact with server 105 through network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only examples).

[0056] The terminal devices 101 , 102 , and 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.

[0057] The user can open an application related to the object on the terminal devices 101, 102, and 103 to interact with the object, for example, listening to music, watching videos, listening to podcasts, etc. on the application. With the authorization of the user, the terminal devices 101, 102, and 103 can record the interaction between the user and the object, and send the recorded data to the server 105 for model training and / or for real-time update of user target data.

[0058] The server 105 may be independently provided from the terminal devices 101 , 102 , 103 , or may be integrated into the terminal devices 101 , 102 , 103 .

[0059] It should be noted that the data processing method provided in the embodiment of the present disclosure can generally be executed by the server 105. Accordingly, the data processing device provided in the embodiment of the present disclosure can generally be set in the server 105. The data processing method provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105. Accordingly, the data processing device provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105.

[0060] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.

[0061] The following will be based on Figure 1 The scene described by Figure 2A to Figure 9 The data processing method of the disclosed embodiment is described in detail. It should be noted that the above application scenarios are only shown to facilitate understanding of the spirit and principle of the present disclosure, and the embodiments of the present disclosure are not limited in this respect. On the contrary, the embodiments of the present disclosure can be applied to any applicable scenario.

[0062] It should be noted that the embodiments of the present disclosure may be applied to electronic devices, and the electronic devices may be terminals or servers, that is, the recommendation methods provided by the exemplary embodiments of the present disclosure may be executed on the terminals or servers.

[0063] Figure 2A The flowchart of the data processing method according to the embodiment of the present disclosure is schematically shown.

[0064] like Figure 2A As shown, the data processing method of this embodiment includes operations S10 to S40.

[0065] In operation S10, target data is acquired, where the target data represents first attribute information of a target user and second attribute information of a plurality of objects.

[0066] Exemplarily, the target data may be attribute information of a target user and multiple objects to be recommended.

[0067] For example, the first attribute information of the target user can be understood as the basic information and behavior information of the target user. The basic information can be the identity information and preference information of the target user. For example, the basic information of the target user can include gender, city, occupation, favorite color, favorite brand, etc. The behavior information can be the rating information, purchase information, browsing information, etc. of the target user. For example, the behavior information of the target user can be historical purchase products, historical product browsing information, historical ratings for a certain product, etc.

[0068] The second attribute information of the object can be understood as the basic information of the object to be recommended. For example, the basic information may include price, time, model, etc.

[0069] The basic information corresponding to objects of different categories may be the same or different. For example, when the object to be recommended is a movie, the basic information may include the movie's name, year, director, actors, etc. When the object to be recommended is clothing, the basic information may include the clothing's style, color, season of wear, etc.

[0070] In operation S20, the target data is input into the two-way network to obtain a first target feature output by a first network branch in the two-way network and a second target feature output by a second network branch in the two-way network. The first network branch is used to perform bilinear feature extraction on the target data and perform feature compression on the extracted features. The second network branch is used to perform local feature enhancement on the target data and perform feature compression on the enhanced features.

[0071] For example, refer to Figure 2BA dual-path network can be understood as a network with two parallel branches, one branch is a first network branch, and the other branch is a second network branch, wherein the first network branch and the second network branch can process target data independently.

[0072] Bilinear feature extraction can be to linearly combine every two features of multiple features corresponding to the target data to extract the relationship between different features.

[0073] Local feature enhancement can be to enhance important features among multiple features corresponding to the target data to emphasize the key features.

[0074] Feature compression can be the process of reducing the dimensionality of features.

[0075] The target data is input into the first network branch, and the first network branch performs bilinear feature extraction on the target data, and compresses the extracted features and outputs the first target features. That is, the first network branch linearly combines every two features of the multiple features corresponding to the target data, and then performs dimensionality reduction (i.e., reduces the dimension) on the combined features to obtain the first target feature. The data volume of the first target feature is less than the data volume of the multiple features corresponding to the target data.

[0076] The target data is input into the second network branch, and the second network branch performs local feature enhancement on the target data, and then compresses the enhanced features and outputs the second target features. That is, the second network branch enhances the key features among the multiple features corresponding to the target data, and then performs dimensionality reduction (i.e., reduces the dimension) on the enhanced features to obtain the second target features. The data volume of the second target features is less than the data volume of the multiple features corresponding to the target data.

[0077] In operation S30, the evaluation value of the target user on each object is determined based on the first target feature and the second target feature.

[0078] For example, the evaluation value may be a degree of fit between the characterizing object and the target object.

[0079] The first target feature and the second target feature are processed to obtain an evaluation value of each of the multiple objects to be recommended. The evaluation value between each object to be recommended and the target user is calculated respectively.

[0080] In operation S40, a target object recommended to the target user is determined according to the evaluation value.

[0081] Exemplarily, the target object can be understood as an object recommended to the target user. The target object can be one or more. In the case of multiple target objects, the multiple target objects can be multiple objects to be recommended, that is, the number of objects to be recommended is the same as the number of target objects; or they can be partial objects selected from the multiple objects to be recommended, that is, the number of objects to be recommended is greater than the number of target objects. The embodiment of the present disclosure does not limit the number of selected target objects, and the number of recommended target objects can be selected according to the actual application scenario.

[0082] The recommendation order can be made according to the evaluation value of each object in the multiple objects to be recommended. For example, multiple objects are arranged from front to back in the order of evaluation value from large to small, that is, objects with large evaluation values ​​are placed in front and objects with small evaluation values ​​are placed in the back. For example, the evaluation values ​​of all objects to be recommended can be calculated, and then the top ten objects with evaluation values ​​are taken, and these top ten objects are arranged in order from large to small according to the evaluation values ​​for recommendation; or the evaluation values ​​of all objects to be recommended can be calculated, and then all objects are arranged in order from large to small according to the evaluation values ​​for recommendation.

[0083] It can be understood that, on the one hand, by processing and then compressing the features by the first network branch and the second network branch in the dual-path network, the number of features involved in the calculation is reduced, thereby reducing the amount of model calculation; on the other hand, the first network branch and the second network branch can perform different types of feature processing on the features, that is, screen the features from different dimensions, and finally combine the screening results of the two dimensions for the final evaluation calculation, thereby improving the accuracy of the recommendation results.

[0084] The method for processing the target data by the first network branch will be combined with Figure 2B and Figure 3 Provide explanation.

[0085] Figure 3 The flowchart of the first network branch processing method according to the embodiment of the present disclosure is schematically shown.

[0086] As described above, in operation S20, the target data is input into the two-way network to obtain a first target feature outputted by a first network branch in the two-way network. Figure 3 As shown, the operation may further include operation S21a to operation S23a.

[0087] The first network branch includes a bilinear feature interaction layer and a first compression layer.

[0088] In operation S21a, based on the bilinear feature interaction layer, feature combinations are performed on every two initial features among the multiple initial features to obtain multiple interaction features, and the target data includes the multiple initial features.

[0089] In operation S22a, based on the bilinear feature interaction layer, multiple interaction features are concatenated to obtain a concatenated feature.

[0090] In operation S23a, based on the first compression layer, the splicing feature is compressed to obtain a first target feature.

[0091] Exemplarily, the initial features may be understood as features obtained by vector encoding conversion of the first attribute information of the target user and the second attribute information of multiple objects.

[0092] Reference Figure 2C , the bilinear feature interaction layer (BiLC, Bilinear Layer Compress) combines every two initial features among multiple initial features to obtain multiple interactive features. The inner product method is used in the process of feature combination, as follows:

[0093]

[0094] in, represents the interaction feature, represents the i-th initial feature, represents the transposed j-th initial feature, Represents the weight parameter matrix, i≠j.

[0095] The corresponding vector dimension is: [1, 64] [64*64] [64, 1]=[1, 1].

[0096] The multiple interaction features obtained by combining are spliced ​​to obtain spliced ​​features.

[0097] The first compression layer reduces the dimension of the concatenated features to obtain the first target features. That is, similar or repeated features (redundant features) in the concatenated features are deleted. Redundant features may be caused by interference or noise introduced by errors during the data collection process.

[0098] It is understandable that bilinear feature extraction can capture the long-term universal features of users, increase the richness of features and improve the accuracy of recommendation calculations; the use of inner product method to combine features makes the calculation parameters become one-tenth of Eembedding dim (the inverse of the embedding dimension), significantly reducing the number of parameters required for calculation. At the same time, through experiments, the model feature extraction ability is not reduced after parameter compression.

[0099] The second network branch processes the target data by combining Figure 2D and Figure 4-Figure 7 Provide explanation.

[0100] Figure 4 One of the flowcharts of the second network branch processing method according to an embodiment of the present disclosure is schematically shown.

[0101] As described above, in operation S20, the target data is input into the two-way network to obtain a second target feature outputted by the second network branch in the two-way network. Figure 4 As shown, the operation may further include operation S21b to operation S23b.

[0102] The second network branch includes a secondary feature cross-layer, a feature fusion layer, and a second compression layer.

[0103] In operation S21b, based on the secondary feature cross layer, the lth layer feature is cross-linked with the initial feature to obtain the first intermediate feature, the target data includes multiple initial features, the secondary feature cross layer includes N layers, l≤N, l is a positive integer, and N is a positive integer greater than or equal to 2.

[0104] In operation S22b, based on the feature fusion layer, the first intermediate feature is fused with the lth layer feature to obtain the second intermediate feature and use it as the l+1th layer feature. The above operation is repeated until the Nth layer feature is obtained, and the Nth layer feature is used as the third intermediate feature.

[0105] In operation S23b, based on the second compression layer, the third intermediate feature is compressed to obtain a second target feature.

[0106] Exemplarily, the initial feature can be understood as a feature after vector coding and conversion of the first attribute information of the target user and the second attribute information of multiple objects. Here, the initial feature can be understood as a whole concept, that is, multiple initial features.

[0107] The network usually consists of multiple layers, each layer extracts features at different levels, and the features of the current layer are usually more abstract than the previous layer. Here, N layers can be understood as hyperparameters, which are determined by the settings. For example, the secondary feature cross layer includes N layers. Figure 2D , multiple initial features are input into the secondary feature crossover layer, and the secondary feature crossover layer crosses the l-th layer features in the network with multiple initial features to obtain the first intermediate features. The feature fusion layer fuses the first intermediate features with the l-th layer features to obtain the second intermediate features and use them as the l+1-th layer features. Repeat the above operation until the N-th layer features are obtained, and the N-th layer features are used as the third intermediate features.

[0108] For example, the first layer features are clicked and crossed with multiple initial features to obtain the first intermediate features of the second layer, and the first intermediate features of the second layer are added to the first layer features to obtain the features of the second layer (i.e., the second intermediate features of the second layer). The second layer features are clicked and crossed with multiple initial features to obtain the first intermediate features of the third layer, and the first intermediate features of the third layer are added to the second layer features to obtain the third layer features (i.e., the second intermediate features of the third layer)… The N-1 layer features are clicked and crossed with multiple initial features to obtain the first intermediate features of the N layer, and the first intermediate features of the N layer are added to the N-1 layer features to obtain the features of the N layer (i.e., the third intermediate features). At this time, the features of the N layer (i.e., the third intermediate features) are the final results output by the feature fusion layer.

[0109] It can be understood that the local feature enhancement performed by the second network branch can capture the user's local preference features.

[0110] Figure 5 The second flowchart of the second network branch processing method according to the embodiment of the present disclosure is schematically shown.

[0111] As described above, in operation S22, based on the feature fusion layer, the first intermediate feature is fused with the lth layer feature to obtain the second intermediate feature and use it as the l+1th layer feature. Figure 5 As shown, the operation may further include operation S221b to operation S222b.

[0112] The second network branch also includes a feature refinement layer.

[0113] In operation S221b, based on the feature purification layer, feature purification is performed on the first intermediate feature to obtain a fourth intermediate feature.

[0114] In operation S222b, based on the feature fusion layer, the fourth intermediate feature is fused with the lth layer feature to obtain the second intermediate feature as the l+1th layer feature.

[0115] For example, refer to Figure 2E , the first intermediate feature outputted by the secondary feature cross layer is inputted into the feature purification layer for further purification, thereby obtaining the fourth intermediate feature. Then the purified fourth intermediate feature is fused with the lth layer feature to obtain the second intermediate feature as the l+1th layer feature.

[0116] For example, multiple initial features are input into the secondary feature crossover layer, and the secondary feature crossover layer crosses the l-th layer features in the network with multiple initial features to obtain the first intermediate feature. The first intermediate feature is input into the feature purification layer for purification to obtain the fourth intermediate feature. The fourth intermediate feature is input into the feature fusion layer, and the feature fusion layer fuses the fourth intermediate feature with the l-th layer features to obtain the second intermediate feature and use it as the l+1-th layer feature. The above operation is repeated until the N-th layer features are obtained, and the N-th layer features are used as the third intermediate feature.

[0117] For example, the first layer features are clicked and crossed with multiple initial features to obtain the first intermediate features of the second layer, the first intermediate features are purified to obtain the fourth intermediate features of the second layer, the fourth intermediate features of the second layer are added to the first layer features to obtain the second layer features (i.e., the second intermediate features of the second layer). The second layer features are clicked and crossed with multiple initial features to obtain the first intermediate features of the third layer, the first intermediate features of the third layer are purified to obtain the fourth intermediate features of the third layer, the fourth intermediate features of the third layer are added to the second layer features to obtain the third layer features (i.e., the second intermediate features of the third layer). … The N-1 layer features are clicked and crossed with multiple initial features to obtain the first intermediate features of the N layer, the first intermediate features of the N layer are purified to obtain the fourth intermediate features of the N layer, the fourth intermediate features of the N layer are added to the N-1 layer features to obtain the features of the N layer (i.e., the third intermediate features). At this time, the features of the N layer (i.e., the third intermediate features) are the final results output by the feature fusion layer.

[0118] It is understandable that further purification of the cross-features can improve the quality and effectiveness of the features, thereby improving the accuracy of the recommended objects.

[0119] Figure 6 The third flowchart of the second network branch processing method according to the embodiment of the present disclosure is schematically shown.

[0120] As described above, in operation S221b, based on the feature purification layer, the first intermediate feature is feature purified to obtain a fourth intermediate feature. Figure 6 As shown, the operation may further include operation S2211b to operation S2212b.

[0121] In operation S2211b, feature extraction is performed on the first intermediate feature to obtain a purified feature.

[0122] In operation S2212b, the purified feature is merged with the first intermediate feature to obtain a fourth intermediate feature.

[0123] For example, refer to Figure 2FIf the first intermediate feature of the secondary feature cross layer input is represented by a vector, it can be recorded as: a[B, C, H, W], where a: represents a set of vectors; B: batchsize, the number of samples; C: the number of channels, for example, the image has 3 channels, and the default number of channels in this application is 1; H: the number of features. In the process of feature purification, firstly, the vector a[B, C, H, W] is average pooled in the H and W dimensions; secondly, the convolutional layer is used to extract features; then the extracted features are group normalized and nonlinearly operated to obtain the purified features; finally, the H-dimensional and W-dimensional weights of the purified features are multiplied by the original a vector (i.e., the first intermediate feature) to obtain the purified vector a' [B, C, H, W] (i.e., the fourth intermediate feature).

[0124] It can be understood that the feature purification layer can ensure that the dimension of the output feature is consistent with the dimension of the input feature, and only the corresponding features change.

[0125] Figure 7 A fourth flowchart of the second network branch processing method according to an embodiment of the present disclosure is schematically shown.

[0126] As described above, in operation S222b, based on the feature fusion layer, the fourth intermediate feature is fused with the lth layer feature to obtain the second intermediate feature as the l+1th layer feature. Figure 7 As shown, the operation may further include operation S2221b to operation S2222b.

[0127] The second network branch also includes a gated selection layer.

[0128] In operation S2221b, feature selection is performed on the fourth intermediate feature based on the gated selection layer to obtain a fifth intermediate feature.

[0129] In operation S2222b, based on the feature fusion layer, the fifth intermediate feature is fused with the l-th layer feature to obtain the second intermediate feature as the l+1-th layer feature.

[0130] For example, refer to Figure 2G , the fourth intermediate feature (a'[B,C,H,W]) after purification is input into the gated selection layer, and the gated selection layer selects a'' (i.e., the fifth intermediate feature) for the fourth intermediate feature (a'[B,C,H,W]) after purification through the gated network. The fifth intermediate feature a'' is added to the l-th layer feature to obtain the second intermediate feature as the l+1-th layer feature.

[0131] For example, the first layer features are clicked and crossed with multiple initial features to obtain the first intermediate features of the second layer, the first intermediate features are purified to obtain the fourth intermediate features of the second layer, the fourth intermediate features of the second layer are subjected to feature selection through a gating network to obtain the fifth intermediate features of the second layer, and the fifth intermediate features of the second layer are added to the first layer features to obtain the second layer features (i.e., the second intermediate features of the second layer). The second layer features are clicked and crossed with multiple initial features to obtain the first intermediate features of the third layer, the first intermediate features of the third layer are purified to obtain the fourth intermediate features of the third layer, the fourth intermediate features of the third layer are subjected to feature selection through a gating network to obtain the fifth intermediate features of the third layer, and the fifth intermediate features of the third layer are added to the second layer features to obtain the third layer features (i.e., the second intermediate features of the third layer). …The N-1th layer features are clicked and crossed with multiple initial features to obtain the first intermediate features of the Nth layer, the first intermediate features of the Nth layer are purified to obtain the fourth intermediate features of the Nth layer, the fourth intermediate features of the Nth layer are subjected to feature selection through a gated network to obtain the fifth intermediate features of the Nth layer, and the fifth intermediate features of the Nth layer are added to the N-1th layer features to obtain the features of the Nth layer (i.e., the third intermediate features). At this point, the features of the Nth layer (i.e., the third intermediate features) are used as the final results output by the feature fusion layer.

[0132] It is understandable that the second network branch first cross-integrates the features, then enhances the attention algorithm for grouping local features, and finally screens the effective features through the gating network to filter out the noise features. This can not only reduce the number of subsequent feature calculations and improve the efficiency of calculations, but also ensure the accuracy of calculations and improve the accuracy of recommendations.

[0133] In order to facilitate the understanding of the feature processing of the first network branch and the second network branch in the embodiment of the present disclosure, in combination with the specific example, refer to Figure 2H Provide further explanation.

[0134] The first network branch includes: a bilinear feature interaction layer (BiLC, Bilinear Layer Compress) and a first compression layer.

[0135] The bilinear feature interaction layer combines every two initial features among the multiple initial features to obtain multiple interactive features. The multiple interactive features are then input into the first compression layer, which reduces the dimension of the concatenated features to obtain the first target feature.

[0136] The second network branch (GELAC, Group Enhance Local Attention Compress) can include a secondary feature cross layer, a feature purification layer, a gated selection layer, a feature fusion layer, and a second compression layer connected in sequence. The specific algorithm is as follows:

[0137]

[0138] in, represents the l+1th feature, Represents the Enhance Local Attention function, represents the lth feature, represents the initial features, Indicates bias, Represents weight.

[0139] Multiple initial features are input into the secondary feature crossing layer (Feature Crossing). The lth layer feature weighting (with bias b) in the secondary feature crossing layer network l ) is clicked and crossed with multiple initial features to obtain the first intermediate feature of the l+1 layer. The first intermediate feature of the l+1 layer is represented by the vector a[B, C, H, W]. The first intermediate feature vector a is input to the feature purification layer (Feature Pure) for purification. First, the vector a is averaged and pooled in the H and W dimensions; secondly, the convolution layer is used for feature extraction; then the extracted features are group normalized (Group Norm) and nonlinear operations are performed to obtain the purified features; finally, the H-dimensional and W-dimensional weights of the purified features are multiplied with the original a vector (i.e., the first intermediate feature of the l+1 layer) to obtain the purified vector a' (i.e., the fourth intermediate feature of the l+1 layer). The fourth intermediate feature of the l+1 layer is input to the gate selection layer (Gate Select), and the gate selection layer selects the feature a'' (i.e., the fifth intermediate feature of the l+1 layer) through the gated network for the purified fourth intermediate feature of the l+1 layer (a' [B, C, H, W]). The fifth intermediate feature of the l+1 layer is input into the feature fusion layer (Refuse), and the fifth intermediate feature a'' of the l+1 layer is added to the l-layer feature to obtain the second intermediate feature as the l+1 layer feature. Repeat the above operation until the N-th layer feature of the network, and use the result of the N-th layer feature output as the third intermediate feature. The third intermediate feature is input into the second compression layer. The second compression layer compresses the third intermediate feature into a small-dimensional feature (i.e., the second target feature) through a linear model.

[0140] It is understandable that the second network branch cross-integrates the features; then the attention algorithm for grouping local features is enhanced; and finally the gated network is used to filter out the effective features and filter out the noise features. The second compression layer can further compress the features, reduce the feature dimensions, reduce the model parameters and redundant features, and thus improve the efficiency of subsequent calculations.

[0141] Figure 8 The flowchart of the method for determining the evaluation value of each object by the target user according to the embodiment of the present disclosure is schematically shown.

[0142] As described above, in operation S30, the evaluation value of the target user with respect to each object is determined based on the first target feature and the second target feature. Figure 8 As shown, the operation may further include operation S31 to operation S33.

[0143] In operation S31, the first target feature is fused with the second target feature to obtain a third target feature.

[0144] In operation S32, feature extraction is performed on the third target feature based on the fully connected layer to obtain a fourth target feature.

[0145] In operation S33, an evaluation value of the target user with respect to each object is determined according to the fourth target feature.

[0146] Exemplarily, the fully connected layer mainly uses a multi-layer perceptron (MLP) to learn high-order interactive information between features. The fully connected layer concatenates the first target feature output by the first network branch with the second target feature output by the second network branch to obtain a third target feature. The third target feature is used as the input of the multi-layer perceptron. The output layer takes the output result of the multi-layer perceptron in the fully connected layer as input, undergoes linear calculation, and finally outputs the final prediction result under the action of the activation function (Sigmoid), that is, the target user's evaluation value of the object. Each time an object and the target user's information are input, the evaluation value of the object is finally obtained, and the multiple objects to be recommended and the target user's information are input in turn, thereby obtaining the evaluation values ​​corresponding to the multiple objects.

[0147] Fig. 9 The flowchart of the method for acquiring target data according to an embodiment of the present disclosure is schematically shown.

[0148] As described above, in operation S10, target data is acquired. Fig. 9 As shown, the operation may further include operation S11 to operation S13.

[0149] In operation S11, a second discrete feature is determined according to a first continuous feature in first attribute information, where the first attribute information includes the first discrete feature and the first continuous feature.

[0150] In operation S12, a fourth discrete feature is determined according to the second continuous feature in the second attribute information, where the second attribute information includes the third discrete feature and the second continuous feature.

[0151] In operation S13 , target data is determined according to the first discrete feature, the second discrete feature, the third discrete feature, and the fourth discrete feature.

[0152] The first attribute information may be original data of the target user, including a first continuous feature and a first discrete feature. The second attribute information may be original data of multiple objects, including a second continuous feature and a third discrete feature.

[0153] The first discrete feature represents the category information of the target user, the second discrete feature represents the quantitative information of the target user, the third discrete feature represents the category information of the object, and the fourth discrete feature represents the quantitative information of the object.

[0154] For example, discrete features can be understood as categorical features, which have no inherent order or interval and have limited values. For example, the first discrete feature of the target user may include: gender, city, occupation, favorite color, etc. In the case where the recommended object is a movie, the third discrete feature of the object may include: the name of the movie, year, director, actor, etc.

[0155] Continuous features can be understood as numerical features that can be measured with numerical values ​​and can take any value within a range. For example, the first continuous feature of the target user may include age, height, etc. When the recommended object is a movie, the second continuous feature of the object may include release time, average / maximum / minimum number of clicks on different types of movies by the target user in the past * days, etc.

[0156] After obtaining the first discrete feature and the first continuous feature of the target user, the first continuous feature is bucketed and converted into the second discrete feature. After obtaining the third discrete feature and the second continuous feature of the object, the second continuous feature is bucketed and converted into the fourth discrete feature. Then the first discrete feature, the second discrete feature, the third discrete feature and the fourth discrete feature are transformed respectively. For example: gender (male, female, unknown correspond to codes 0, 1, 2 respectively), each code corresponds to a vector code during initialization, for example: 0-->(0.01, -0.03,…,0.3). The data value corresponding to a height of 165cm is 165, and this value is sometimes normalized, for example: the maximum (220cm) and the minimum (20cm) are encoded with the maximum and minimum, and (165-20) / (220-20)=0.725 is the final code of the continuous value to eliminate the difference in dimensions.

[0157] In order to verify the reliability of the recommendation model corresponding to the data processing method of the embodiment of the present disclosure, two representative recommendation algorithm models in previous studies are selected for comparison. The comparison models are: Deep Cross Network (DCN) and Fidelity-Bias Network (FiBiNet) based on deep learning.

[0158] The recommended model corresponding to the data processing method of the embodiment of the present disclosure, as well as the DCN network and the FiBiNet network are verified by using the Criteo data set. The model is evaluated by using the evaluation indicators loss value (Loss) and AUC value (Area Under the Curve). The results shown in Table 1 are obtained:

[0159] Model Loss AUC FiBiNet 0.4424 0.8098 DCN 0.4412 0.8104 BiLGC 0.4375 0.8145

[0160] According to the analysis of Table 1, under the same parameter training environment, the recommended model corresponding to the data processing method of the embodiment of the present disclosure has a smaller loss value than the DCN network and the FiBiNet network; and the recommended model corresponding to the data processing method of the embodiment of the present disclosure has a larger loss value than the DCN network and the FiBiNet network. This shows that the recommended model corresponding to the data processing method of the embodiment of the present disclosure has a better application recommendation effect in the recommendation scenario than the DCN network and the FiBiNet network.

[0161] Based on the above data processing method, the present disclosure also provides a data processing device. Fig.10 The device is described in detail.

[0162] Fig.10 The structure block diagram of a data processing device according to an embodiment of the present disclosure is schematically shown.

[0163] like Fig.10 As shown, the data processing device 500 of this embodiment includes an acquisition module 510 , a processing module 520 , a first determination module 530 and a second determination module 540 .

[0164] The acquisition module 510 is used to acquire target data, where the target data represents the first attribute information of the target user and the second attribute information of multiple objects. In one embodiment, the acquisition module 510 can be used to perform the operation S10 described above, which will not be described in detail here.

[0165] The processing module 520 is used to input the target data into the two-way network, obtain the first target feature output by the first network branch in the two-way network and the second target feature output by the second network branch in the two-way network, the first network branch is used to perform bilinear feature extraction on the target data and perform feature compression on the extracted features, and the second network branch is used to perform local feature enhancement on the target data and perform feature compression on the enhanced features. In one embodiment, the processing module 520 can be used to perform the operation S20 described above, which will not be repeated here.

[0166] The first determination module 530 is used to determine the evaluation value of the target user on each object according to the first target feature and the second target feature. In one embodiment, the first determination module 530 can be used to perform the operation S30 described above, which will not be described in detail here.

[0167] The second determination module 540 is used to determine the target object recommended to the target user according to the evaluation value. In one embodiment, the second determination module 540 can be used to perform the operation S40 described above, which will not be described in detail here.

[0168] In some embodiments, the first network branch includes a bilinear feature interaction layer and a first compression layer. The processing module of this embodiment includes: a combination submodule, a splicing submodule and a first compression submodule.

[0169] The combination submodule is used to combine every two initial features among multiple initial features based on the bilinear feature interaction layer to obtain multiple interactive features, and the target data includes multiple initial features.

[0170] The splicing submodule is used to splice multiple interactive features based on the bilinear feature interaction layer to obtain splicing features.

[0171] The first compression submodule is used to compress the splicing feature based on the first compression layer to obtain a first target feature.

[0172] In some embodiments, the second network branch includes a secondary feature cross-layer, a feature fusion layer, and a second compression layer. The processing device of this embodiment also includes a processing submodule, a first fusion submodule, and a second compression submodule.

[0173] The processing submodule is used to perform feature crossover of the lth layer feature with the initial feature based on the secondary feature crossover layer to obtain the first intermediate feature. The target data includes multiple initial features. The second network branch includes N layers, l≤N, l is a positive integer, and N is a positive integer greater than or equal to 2.

[0174] The first fusion submodule is used to fuse the first intermediate feature with the lth layer feature based on the feature fusion layer to obtain the second intermediate feature and use it as the l+1th layer feature. The above operation is repeated until the Nth layer feature, and the result of the Nth layer feature output is used as the third intermediate feature.

[0175] The second compression submodule is used to compress the third intermediate feature based on the second compression layer to obtain the second target feature.

[0176] In some embodiments, the second network branch further comprises a feature purification layer. The purification module of this embodiment comprises: a purification submodule.

[0177] The purification submodule is used to perform feature purification on the first intermediate feature based on the feature purification layer to obtain a fourth intermediate feature.

[0178] The first fusion submodule is used to fuse the fourth intermediate feature with the lth layer feature based on the feature fusion layer to obtain the second intermediate feature as the l+1th layer feature.

[0179] In some embodiments, the purification submodule further includes: a purification unit and a first fusion unit.

[0180] The purification unit is used to extract features from the first intermediate features to obtain purified features.

[0181] The first fusion unit is used to fuse the purified feature with the first intermediate feature to obtain a fourth intermediate feature.

[0182] In some embodiments, the second network branch further includes a gated selection layer. The first fusion submodule includes: a selection unit and a second fusion unit.

[0183] The selection unit is used to perform feature selection on the fourth intermediate feature based on the gated selection layer to obtain the fifth intermediate feature.

[0184] The second fusion unit is used to fuse the fifth intermediate feature with the l-th layer feature based on the feature fusion layer to obtain the second intermediate feature as the l+1-th layer feature.

[0185] In some embodiments, the first determination module includes: a second fusion submodule, an extraction submodule and a first determination submodule.

[0186] The second fusion submodule is used to fuse the first target feature with the second target feature to obtain a third target feature.

[0187] The extraction submodule is used to perform feature extraction on the third target feature based on the fully connected layer to obtain the fourth target feature.

[0188] The first determination submodule is used to determine the evaluation value of the target user on each object according to the fourth target feature.

[0189] In some embodiments, the acquisition module includes: a second determination submodule, a third determination submodule, and a fourth determination submodule.

[0190] The second determination submodule is used to determine the second discrete feature according to the first continuous feature in the first attribute information, and the first attribute information includes the first discrete feature and the first continuous feature.

[0191] The third determining submodule is used to determine a fourth discrete feature according to a second continuous feature in the second attribute information, where the second attribute information includes the third discrete feature and the second continuous feature.

[0192] The fourth determination submodule is used to determine the target data according to the first discrete feature, the second discrete feature, the third discrete feature and the fourth discrete feature.

[0193] The first discrete feature represents the category information of the target user, the second discrete feature represents the quantitative information of the target user, the third discrete feature represents the category information of the object, and the fourth discrete feature represents the quantitative information of the object.

[0194] According to an embodiment of the present disclosure, any multiple modules among the acquisition module 510, the processing module 520, the first determination module 530, and the second determination module 540 can be combined into one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the acquisition module 510, the processing module 520, the first determination module 530, and the second determination module 540 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in a suitable combination of any of them. Alternatively, at least one of the acquisition module 510, the processing module 520, the first determination module 530 and the second determination module 540 may be at least partially implemented as a computer program module, and when the computer program module is executed, a corresponding function may be executed.

[0195] Fig.11 A block diagram of an electronic device suitable for implementing a data processing method according to an embodiment of the present disclosure is schematically shown.

[0196] like Fig.11 As shown, the electronic device 600 according to an embodiment of the present disclosure includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 to a random access memory (RAM) 603. The processor 601 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 601 may also include an onboard memory for caching purposes. The processor 601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0197] In RAM 603, various programs and data required for the operation of electronic device 600 are stored. Processor 601, ROM 602 and RAM 603 are connected to each other via bus 604. Processor 601 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 602 and / or RAM 603. It should be noted that the program can also be stored in one or more memories other than ROM 602 and RAM 603. Processor 601 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in one or more memories.

[0198] According to an embodiment of the present disclosure, the electronic device 600 may further include an input / output (I / O) interface 605, which is also connected to the bus 604. The electronic device 600 may further include one or more of the following components connected to the I / O interface 605: an input portion 606 including a keyboard, a mouse, etc.; an output portion 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 608 including a hard disk, etc.; and a communication portion 609 including a network interface card such as a LAN card, a modem, etc. The communication portion 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage portion 608 as needed.

[0199] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.

[0200] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, it may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 602 and / or RAM 603 described above and / or one or more memories other than ROM 602 and RAM 603.

[0201] The embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the data processing method provided by the embodiment of the present disclosure.

[0202] The above functions defined in the system / device of the embodiment of the present disclosure are performed when the computer program is executed by the processor 601. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.

[0203] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 609, and / or installed from a removable medium 611. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0204] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the processor 601, the above functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, apparatus, module, unit, etc. described above can be implemented by a computer program module.

[0205] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).

[0206] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0207] It will be appreciated by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations and / or combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways without departing from the spirit and teachings of the present disclosure. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0208] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the attached claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A data processing method, comprising: Acquire target data, where the target data represents first attribute information of a target user and second attribute information of a plurality of objects; Inputting the target data into a two-way network, obtaining a first target feature output by a first network branch in the two-way network and a second target feature output by a second network branch in the two-way network, wherein the first network branch is used to perform bilinear feature extraction on the target data and perform feature compression on the extracted features, and the second network branch is used to perform local feature enhancement on the target data and perform feature compression on the enhanced features; Determining, according to the first target feature and the second target feature, an evaluation value of the target user with respect to each of the objects; According to the evaluation value, a target object recommended to the target user is determined.

2. The method according to claim 1, wherein the first network branch comprises a bilinear feature interaction layer and a first compression layer, and the target data is input into the two-way network to obtain a first target feature output by the first network branch in the two-way network, comprising: Based on the bilinear feature interaction layer, every two initial features in a plurality of initial features are combined to obtain a plurality of interactive features, wherein the target data includes a plurality of initial features; Based on the bilinear feature interaction layer, the multiple interaction features are spliced ​​to obtain a spliced ​​feature; Based on the first compression layer, the splicing feature is compressed to obtain a first target feature.

3. The method according to claim 1, wherein the second network branch comprises a secondary feature cross layer, a feature fusion layer, and a second compression layer, and the target data is input into a two-way network to obtain a second target feature output by the second network branch in the two-way network, comprising: Based on the secondary feature cross layer, the l-th layer feature is cross-featured with the initial feature to obtain a first intermediate feature, the target data includes a plurality of initial features, the secondary feature cross layer includes N layers, l≤N, l is a positive integer, and N is a positive integer greater than or equal to 2; Based on the feature fusion layer, the first intermediate feature is fused with the l-th layer feature to obtain a second intermediate feature and use it as the l+1-th layer feature, repeat the above operation until the N-th layer feature, and use the N-th layer feature as the third intermediate feature; Based on the second compression layer, the third intermediate feature is compressed to obtain a second target feature.

4. The method according to claim 3, wherein the second network branch further comprises a feature purification layer, and based on the feature fusion layer, the first intermediate feature is fused with the first layer feature to obtain a second intermediate feature as the first + first layer feature, comprising: Based on the feature purification layer, perform feature purification on the first intermediate feature to obtain a fourth intermediate feature; Based on the feature fusion layer, the fourth intermediate feature is fused with the lth layer feature to obtain the second intermediate feature as the l+1th layer feature.

5. The method according to claim 4, based on the feature purification layer, performing feature purification on the first intermediate feature to obtain a fourth intermediate feature, comprising: Performing feature extraction on the first intermediate feature to obtain a purified feature; The purified feature is merged with the first intermediate feature to obtain the fourth intermediate feature.

6. The method according to claim 4, wherein the second network branch further comprises a gated selection layer, and based on the feature fusion layer, the fourth intermediate feature and the first layer feature are combined to obtain a second intermediate feature as the first + 1 layer feature, comprising: Based on the gated selection layer, performing feature selection on the fourth intermediate feature to obtain a fifth intermediate feature; Based on the feature fusion layer, the fifth intermediate feature is fused with the lth layer feature to obtain the second intermediate feature as the l+1th layer feature.

7. The method according to claim 1, determining the evaluation value of the target user with respect to each of the objects according to the first target feature and the second target feature, comprising: Fusing the first target feature with the second target feature to obtain a third target feature; Based on the fully connected layer, feature extraction is performed on the third target feature to obtain a fourth target feature; According to the fourth target feature, an evaluation value of the target user on each of the objects is determined.

8. The method according to claim 1, obtaining target data, comprising: determining a second discrete feature according to a first continuous feature in the first attribute information, wherein the first attribute information includes the first discrete feature and the first continuous feature; determining a fourth discrete feature according to a second continuous feature in the second attribute information, wherein the second attribute information includes a third discrete feature and a second continuous feature; determining the target data according to the first discrete feature, the second discrete feature, the third discrete feature, and the fourth discrete feature; The first discrete feature represents the category information of the target user, the second discrete feature represents the quantitative information of the target user, the third discrete feature represents the category information of the object, and the fourth discrete feature represents the quantitative information of the object.

9. A data processing device, comprising: An acquisition module, used to acquire target data, wherein the target data represents first attribute information of a target user and second attribute information of multiple objects; A processing module, used for inputting the plurality of target data into a two-way network, obtaining a first target feature outputted by a first network branch in the two-way network and a second target feature outputted by a second network branch in the two-way network, wherein the first network branch is used for performing bilinear feature extraction on the target data and performing feature compression on the extracted features, and the second network branch is used for performing local feature enhancement on the target data and performing feature compression on the enhanced features; A first determining module, configured to determine an evaluation value of the target user with respect to each of the objects according to the first target feature and the second target feature; as well as The second determining module is used to determine the target object recommended to the target user according to the evaluation value.

10. An electronic device, comprising: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors execute the method according to any one of claims 1 to 8.