Product recommendation method based on multi-tower model and related device

Through the high-order double tower model and the second-order double tower model in the multi-tower model, the high-order implicit and second-order explicit interaction of user characteristics and product characteristics is achieved, which solves the problem of insufficient learning ability of the double tower model and improves the accuracy and interpretability of product recommendations.

CN120355518APending Publication Date: 2025-07-22ABC FINANCIAL TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510545627.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-28
Publication Date
2025-07-22

AI Technical Summary

Technical Problem

The learning ability of the double tower model configured in the existing personalized recommendation services is relatively weak and the recall accuracy is low, resulting in low recognition accuracy of the products of interest and poor product personalized recommendation effect.

Method used

The multi-tower model is adopted, including the high-order dual-tower model and the second-order dual-tower model, and the high-order implicit interaction between user characteristics and product characteristics is achieved through the high-order dual-tower model, and the second-order dual-tower model is used to achieve the second-order explicit interaction between user characteristics and product characteristics, integrating high-order matching and second-order matching to improve the accuracy of product matching.

Benefits of technology

It improves the interpretability and learning ability of the model, enhances the accuracy of product matching, and can more accurately represent users' preferences and purchasing possibilities for candidate products.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120355518A_ABST
    Figure CN120355518A_ABST
Patent Text Reader

Abstract

The invention discloses a product recommendation method based on a multi-tower model and a related device, and relates to the technical field of artificial intelligence, a high-order double-tower model in the multi-tower model is utilized to predict the high-order matching degree of a target user and each candidate product, and high-order implicit interaction of user features and product features is realized through the high-order double-tower model, so that the user experience is improved. The method comprises the following steps: acquiring a non-linear relationship by using a multi-tower model, predicting a second-order matching degree between a target user and each candidate product by using a second-order double-tower model in the multi-tower model, and realizing second-order explicit interaction between user features and product features through the second-order double-tower model, thereby improving the interpretability and learning ability of the model. The obtained high-order matching degree and the second-order matching degree can represent the preference of the target user to the candidate product. Therefore, the product matching degree obtained by at least fusing the high-order matching degree and the second-order matching degree can represent the possibility that the target user purchases the candidate product, and the accuracy of the product matching degree 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 technology, and in particular, to a product recommendation method and related device based on a multi-tower model. Background Art

[0002] With the development of artificial intelligence technology, personalized recommendation services are usually configured in the financial system to overcome the disadvantages of low offline product sales efficiency, high cost, and the dependence of recommendation accuracy on personal experience. Currently, the personalized recommendation service uses a two-tower model to combine the high-order features of users and high-order product features to infer the products that users may be interested in, thereby realizing personalized product recommendation. However, although the two-tower model configured in the existing personalized recommendation service has the advantages of simple model structure and high computing efficiency, its learning ability is weak and the recall accuracy is low, resulting in low recognition accuracy of interested products and poor effect of personalized product recommendation. Summary of the Invention

[0003] In view of the above problems, this application provides a product recommendation method and related device based on a multi-tower model to achieve the purpose of improving the recognition accuracy of recommended products. The specific solutions are as follows:

[0004] The first aspect of this application provides a product recommendation method based on a multi-tower model, including:

[0005] Obtain a set of first-order user feature vectors of a target user, and input the set of first-order user feature vectors into a pre-trained multi-tower model; the set of first-order user feature vectors includes multiple first-order user feature vectors; the multi-tower model includes a product matching module, a high-order two-tower model, and a second-order two-tower model, and the second-order two-tower model includes a second-order user tower and a second-order product tower; the high-order two-tower model includes a high-order user tower and a high-order product tower;

[0006] Obtain a set of first-order product feature vectors of each candidate product, and input the set of first-order product feature vectors into the multi-tower model; the set of first-order product feature vectors includes multiple first-order product feature vectors;

[0007] Perform deep feature extraction and normalization on the concatenation result of all first-order user feature vectors of the target user through the high-order user tower to obtain a high-order user interest vector; perform deep feature extraction and normalization on the concatenation result of all first-order product feature vectors of the candidate product through the high-order product tower to obtain a high-order product feature vector;

[0008] Perform sum pooling and normalization on the set of first-order user feature vectors through the second-order user tower to obtain a user sum feature vector; perform sum pooling and normalization on the set of first-order product feature vectors through the second-order product tower to obtain a product sum feature vector;

[0009] The inner product of the high - order user interest vector of the target user and the high - order product feature vector of the candidate product is calculated through the product matching module to obtain the high - order matching degree between the target user and the candidate product, and the inner product of the user sum feature vector and the product sum feature vector is calculated to obtain the second - order matching degree between the target user and the candidate product; at least based on the high - order matching degree and the second - order matching degree between the target user and the candidate product, the product matching degree is obtained.

[0010] Based on the product matching degrees between multiple candidate products and the target user, at least one recommended product is obtained.

[0011] In a possible implementation, obtaining the first - order user feature vector set of the target user includes:

[0012] Obtaining the user feature data of the target user, where the user feature data includes multiple user features.

[0013] From the pre - constructed user feature embedding table, the first - order user feature vectors of each user feature in the user feature data are obtained to get the first - order user feature vector set of the target user; the user feature embedding table is used to record the first - order user feature vectors of preset user features, and the first - order user feature vectors of each preset user feature are obtained by encoding the preset user features.

[0014] The obtaining of the first - order product feature vector set of each candidate product includes:

[0015] Obtaining the product feature data of each candidate product, where the product feature data includes multiple product features.

[0016] From the pre - constructed product feature embedding table, the first - order product feature vectors of each product feature in the product feature data are obtained to get the first - order product feature vector set of the candidate product; the product feature embedding table is used to record the first - order product feature vectors of preset product features, and the first - order product feature vectors of each preset product feature are obtained by encoding the preset product features.

[0017] In a possible implementation, the second - order user tower includes a sum pooling layer and a normalization layer, and the second - order product tower includes a sum pooling layer and a normalization layer.

[0018] The calculation of the user sum feature vector by performing sum pooling and normalization on the first - order user feature vector set through the second - order user tower includes:

[0019] Sum pooling is performed on multiple first-order user feature vectors of the target user through a sum pooling layer, and the sum pooling result is normalized through a normalization layer to obtain the user sum feature vector;

[0020] Performing sum pooling and normalization on the first-order product feature vector set through the second-order product tower to obtain a product sum feature vector includes:

[0021] Sum pooling is performed on multiple first-order product feature vectors of the candidate product through a sum pooling layer, and the sum pooling result is normalized through a normalization layer to obtain the product sum feature vector.

[0022] In a possible implementation, the multi-tower model further includes a user preference tower; the product recommendation method based on the multi-tower model further includes:

[0023] Performing deep feature extraction and normalization on the concatenation result of all first-order user feature vectors of the target user through the user preference tower to obtain a user preference value, where the user preference value is used to characterize the degree of interest of the target user in all candidate products;

[0024] The obtaining of the product matching degree based at least on the high-order matching degree and the second-order matching degree between the target user and the candidate product includes:

[0025] Performing weighted summation on the user preference value, the high-order matching degree between the target user and the candidate product, and the second-order matching degree between the target user and the candidate product to obtain the product matching degree between the target user and the candidate product.

[0026] In a possible implementation, the product recommendation method based on the multi-tower model further includes:

[0027] Correspondingly storing the user identification and user feature matrix of the target user into a user feature database, where the user feature matrix includes a high-order user interest vector, a user sum feature vector, and a user preference value;

[0028] Correspondingly storing the product identification and product feature matrix of the candidate feature into a product feature database, where the product feature matrix includes a high-order product feature vector, a product sum feature vector, and a unit vector.

[0029] In a possible implementation, before obtaining the first-order user feature vector set of the target user and inputting the first-order user feature vector set into a pre-trained multi-tower model, the product recommendation method based on the multi-tower model further includes:

[0030] Based on the user identifier of the target user, retrieve from the user feature database whether there is a user feature matrix of the target user; if it exists, directly obtain the user feature matrix of the target user, and input the user feature matrix into the product matching module;

[0031] Before obtaining the first-order product feature vector set of the candidate product and inputting the first-order product feature vector set into the multi-tower model, the product recommendation method based on the multi-tower model further includes:

[0032] Based on the product identifier of the candidate product, retrieve from the product feature database whether there is a product feature matrix of the candidate product; if it exists, directly obtain the product feature matrix of the candidate product, and input the product feature matrix into the product matching module.

[0033] In a possible implementation, obtaining the first-order user feature vector set of the target user and inputting the first-order user feature vector set into a pre-trained multi-tower model includes:

[0034] If the user feature database does not have the user feature matrix of the target user, obtain the first-order user feature vector set of the target user, and input the first-order user feature vector set into the high-order user tower, the second-order user tower, and the user preference tower respectively;

[0035] Obtaining the first-order product feature vector set of the candidate product and inputting the first-order product feature vector set into the multi-tower model, inputting the first-order product feature vector set into the multi-tower model includes:

[0036] If the product feature database does not have the product feature matrix of the candidate product, obtain the first-order product feature vector set of the candidate product, and input the first-order product feature vector set into the high-order product tower and the second-order product tower respectively.

[0037] In a possible implementation, obtaining at least one recommended product based on the product matching degrees of multiple candidate products and the target user includes:

[0038] Based on the product matching degrees of the target user and each candidate product, sort each candidate product in descending order of the product matching degree with the target user, and obtain at least one recommended product based on a preset recommendation condition to obtain a recommended product set, where the recommendation condition includes that the product matching degree between the recommended product and the target user is greater than a preset matching degree threshold and the ranking is among the top N, and N is a preset value.

[0039] The second aspect of this application provides a product recommendation device based on a multi-tower model, including:

[0040] A first-order user feature acquisition unit, configured to acquire a set of first-order user feature vectors of a target user, and input the set of first-order user feature vectors into a pre-trained multi-tower model; the set of first-order user feature vectors includes multiple first-order user feature vectors; the multi-tower model includes a product matching module, a high-order two-tower model, and a second-order two-tower model, and the second-order two-tower model includes a second-order user tower and a second-order product tower; the high-order two-tower model includes a high-order user tower and a high-order product tower;

[0041] A first-order product feature acquisition unit, configured to acquire a set of first-order product feature vectors of each candidate product, and input the set of first-order product feature vectors into the multi-tower model; the set of first-order product feature vectors includes multiple first-order product feature vectors;

[0042] A high-order feature acquisition unit, configured to perform deep feature extraction and normalization on the concatenation result of all the first-order user feature vectors of the target user through the high-order user tower to obtain a high-order user interest vector; perform deep feature extraction and normalization on the concatenation result of all the first-order product feature vectors of the candidate product through the high-order product tower to obtain a high-order product feature vector;

[0043] A feature summation unit, configured to perform sum pooling and normalization on the set of first-order user feature vectors through the second-order user tower to obtain a user summation feature vector; perform sum pooling and normalization on the set of first-order product feature vectors through the second-order product tower to obtain a product summation feature vector;

[0044] A feature matching unit, configured to calculate the inner product of the high-order user interest vector of the target user and the high-order product feature vector of the candidate product through the product matching module to obtain the high-order matching degree between the target user and the candidate product, calculate the inner product of the user summation feature vector and the product summation feature vector to obtain the second-order matching degree between the target user and the candidate product; obtain a product matching degree based on at least the high-order matching degree and the second-order matching degree between the target user and the candidate product;

[0045] A product recommendation unit, configured to obtain at least one recommended product based on the product matching degrees between multiple candidate products and the target user.

[0046] A third aspect of this application provides an electronic device, including at least one processor and a memory connected to the processor, where:

[0047] The memory is used to store a computer program;

[0048] The processor is configured to execute the computer program so that the electronic device can implement the product recommendation method based on a multi-tower model according to the first aspect or any implementation manner of the first aspect.

[0049] With the above technical solution, a product recommendation method and related device provided by this application use a high-order two-tower model in the multi-tower model to predict the high-order matching degree between a target user and each candidate product, and realize the high-order implicit interaction between user features and product features through the high-order two-tower model, so as to capture non-linear relationships. Use the second-order two-tower model in the multi-tower model to predict the second-order matching degree between the target user and each candidate product, and realize the second-order explicit interaction between user features and product features through the second-order two-tower model, thereby improving the model interpretability and learning ability. Both the obtained high-order matching degree and second-order matching degree can characterize the preference of the target user for the candidate product. Therefore, the product matching degree obtained by at least fusing the high-order matching degree and the second-order matching degree can characterize the possibility that the target user purchases the candidate product, and improve the accuracy of the product matching degree. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Combined with the accompanying drawings and referring to the following specific embodiments, the above and other features, advantages and aspects of the various embodiments of the present disclosure will become more obvious. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic, and the original components and elements are not necessarily drawn to scale.

[0051] Figure 1 It is a schematic diagram of a system architecture provided by this application;

[0052] Figure 2 It shows an optional hardware structure schematic diagram of the terminal 100;

[0053] Figure 3 It shows a schematic diagram of the structure of a server 200;

[0054] Figure 4 It is a schematic flowchart of a product recommendation method based on a multi-tower model provided by an embodiment of this application;

[0055] Figure 5 It is a specific structure schematic diagram of a multi-tower model provided by an embodiment of this application;

[0056] Figure 6 It is another specific structure schematic diagram of a multi-tower model provided by an embodiment of this application;

[0057] Figure 7 It is a specific implementation flowchart of a product recommendation method based on a multi-tower model provided by an embodiment of this application;

[0058] Figure 8 It is a schematic diagram of the structure of a product recommendation device based on a multi-tower model provided by an embodiment of this application;

[0059] Figure 9A schematic structural diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0060] The embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application. The terms used in the embodiments of the present application are only for explaining the specific embodiments of the present application, rather than aiming to limit the present application.

[0061] The embodiments of the present application will be described below with reference to the accompanying drawings. Those of ordinary skill in the art will know that with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.

[0062] The terms "first", "second", etc. in the specification, claims and above-mentioned drawings of the present application are used to distinguish similar objects, and do not have to be used to describe a specific order or sequence. It should be understood that such terms can be interchanged under appropriate circumstances, which is only a way of distinguishing when describing objects with the same attributes in the embodiments of the present application. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion, so that a process, method, system, product or device comprising a series of units does not have to be limited to those units, but may include other units not clearly listed or inherent to these processes, methods, products or devices.

[0063] The present application can be applied in the field of artificial intelligence technology. Specifically, it can be applied to the personalized recommendation scenario of financial products. Since the two-tower model configured in the existing personalized recommendation service only calculates the inner product of the high-order user interest vector and the high-order product feature vector at the last layer, there is no combination interaction between the user-side features and the product-side features. This results in the lack of the ability of the two-tower model to explicitly model the combined features of the user side and the product side, reducing the learning ability of the model.

[0064] In response to this, the embodiments of the present application provide a product recommendation method based on a multi-tower model, which uses the high-order two-tower model in the pre-trained multi-tower model to predict the high-order matching degree between the user and the product, and uses the second-order two-tower model in the multi-tower model to predict the second-order matching degree between the user and the product. The high-order matching degree and the second-order matching degree are fused to obtain the product matching degree, which is used to characterize the probability that the user is interested in the product, or the degree of interest of the user in the product, or the possibility that the user purchases the product. This solution realizes the high-order implicit interaction between user features and product features through the high-order two-tower model, thereby capturing non-linear relationships, and realizes the second-order explicit interaction between user features and product features through the second-order two-tower model, thereby improving the model interpretability and learning ability. The high-order matching degree and the second-order matching degree are fused to obtain the product matching degree, improving the accuracy of the multi-tower model in predicting the product matching degree.

[0065] SeeFigure 1 , a product recommendation method based on a multi-tower model provided by an embodiment of the present application can be applied to a system as shown in Figure 1 shown below. Figure 1 FIG. shows a schematic diagram of a system architecture. The system may include a terminal 100 and a server 200. Among them, the server 200 may include one or more servers ( Figure 1 illustrated by taking one server as an example), and the server 200 may provide the product recommendation method based on the multi-tower model provided by the embodiments of the present application for one or more terminals.

[0066] Among them, a product recommendation application can be installed on the terminal 100. The above product recommendation application can provide an interface. The terminal 100 can receive relevant parameters input by the user on the interface and send the above parameters to the server 200. The server 200 can obtain a processing result based on the received parameters and return the processing result to the terminal 100.

[0067] It should be understood that in some alternative implementations, the terminal 100 can also complete the action of obtaining the processing result based on the received parameters by itself without the cooperation of the server, which is not limited in the embodiments of the present application.

[0068] Next, the product form of the terminal 100 will be described. Figure 1 in the terminal 100;

[0069] The terminal 100 in the embodiments of the present application may be a mobile phone, a tablet computer, a wearable device, a vehicle-mounted device, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc., and the embodiments of the present application do not make any restrictions on this.

[0070] Figure 2 FIG. shows an alternative schematic diagram of the hardware structure of the terminal 100.

[0071] Referring to Figure 2 shown, the terminal 100 may include a radio frequency unit 110, a memory 120, an input unit 130, a display unit 140, a camera 150 (optional), an audio circuit 160 (optional), a speaker 161 (optional), a microphone 162 (optional), a headphone jack 163 (optional), a processor 170, an external interface 180, a power supply 190, etc. Those skilled in the art can understand that Figure 2This is just an example of a terminal or a multi-functional device, and does not constitute a limitation on the terminal or multi-functional device. It may include more or fewer components than shown in the figure, or combine certain components, or have different components.

[0072] The input unit 130 can be used to receive input digital or character information, and generate key signal inputs related to the user settings and function control of the portable multi-functional device. Specifically, the input unit 130 may include a touch screen 131 (optional) and / or other input devices 132. The touch screen 131 can collect touch operations of the user thereon or nearby (such as operations of the user using fingers, joints, styli, or any suitable object on or near the touch screen), and drive corresponding connection devices according to a pre-set program. The touch screen can detect the touch action of the user on the touch screen, convert the touch action into a touch signal and send it to the processor 170, and can receive and execute commands sent by the processor 170; the touch signal at least includes contact coordinate information. The touch screen 131 can provide an input interface and an output interface between the terminal 100 and the user. In addition, various types such as resistive, capacitive, infrared, and surface acoustic wave can be used to implement the touch screen. In addition to the touch screen 131, the input unit 130 may further include other input devices. Specifically, the other input devices 132 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power on / off keys, etc.), trackballs, mice, joysticks, etc.

[0073] Among them, the input device 132 can receive input data, etc.

[0074] The display unit 140 can be used to display information input by the user or information provided to the user, various menus of the terminal 100, an interactive interface, file display, and / or the playback of any multimedia file. In the embodiments of the present application, the display unit 140 can be used to display an interface for product recommendation based on a multi-tower model, processing results, etc.

[0075] The memory 120 can be used to store instructions and data. The memory 120 mainly includes a storage instruction area and a storage data area. The storage data area can store various data, such as multimedia files, texts, etc.; the storage instruction area can store software units such as an operating system, applications, instructions required for at least one function, or their subsets or extended sets. It may also include a non-volatile random access memory; it provides the processor 170 with management of hardware, software, and data resources in the computing processing device, supports control software and applications. It is also used for the storage of multimedia files, and the storage of running programs and applications.

[0076] The processor 170 is the control center of the terminal 100. It connects various parts of the entire terminal 100 through various interfaces and circuits. By running or executing the instructions stored in the memory 120 and invoking the data stored in the memory 120, it performs various functions of the terminal 100 and processes data, thereby exercising overall control over the terminal device. Optionally, the processor 170 may include one or more processing units; preferably, the processor 170 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above-mentioned modem processor may not be integrated into the processor 170 either. In some embodiments, the processor and the memory may be implemented on a single chip, and in some embodiments, they may also be separately implemented on independent chips. The processor 170 can also be used to generate corresponding operation control signals, send them to the corresponding components of the computing and processing device, read and process the data in the software, especially read and process the data and programs in the memory 120, so that each functional module therein executes the corresponding functions, thereby controlling the corresponding components to act according to the requirements of the instructions.

[0077] Among them, the memory 120 can be used to store software codes related to the product recommendation method based on the multi-tower model. The processor 170 can execute the steps of the product recommendation method based on the multi-tower model, and can also schedule other units (such as the above-mentioned input unit 130 and display unit 140) to implement the corresponding functions.

[0078] The radio frequency unit 110 (optional) can be used for receiving and transmitting information or signals during a call. For example, after receiving the downlink information from the base station, it is sent to the processor 170 for processing; in addition, the uplink data is sent to the base station. Generally, the RF circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the radio frequency unit 110 can also communicate with network devices and other devices through wireless communication. This wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.

[0079] Among them, in the embodiment of the present application, the radio frequency unit 110 can send data to the server 200 and receive the processing result sent by the server 200.

[0080] It should be understood that the radio frequency unit 110 is optional and can be replaced by other communication interfaces, such as a network interface.

[0081] The terminal 100 also includes a power supply 190 (such as a battery) for powering each component. Preferably, the power supply can be logically connected to the processor 170 through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system.

[0082] The terminal 100 also includes an external interface 180. This external interface can be a standard Micro USB interface or a multi-pin connector, which can be used to connect the terminal 100 to other devices for communication and can also be used to connect a charger to charge the terminal 100.

[0083] Although not shown, the terminal 100 may also include a flash, a wireless fidelity (WiFi) module, a Bluetooth module, sensors with different functions, etc., which will not be elaborated here. Some or all of the methods described below can be applied to the terminal 100 as Figure 2 shown.

[0084] Next, the product form of the server 200 will be described. Figure 1 in the server 200;

[0085] Figure 3 FIG. shows a schematic structural diagram of a server 200, as Figure 3 shown, the server 200 includes a bus 201, a processor 202, a communication interface 203, and a memory 204. The processor 202, the memory 204, and the communication interface 203 communicate with each other through the bus 201.

[0086] The bus 201 may be a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, or the like. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity of representation, Figure 3 only a thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0087] The processor 202 may be any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0088] The memory 204 may include a volatile memory, such as a random access memory (RAM). The memory 204 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0089] Among them, the memory 204 may be used to store software codes related to the product recommendation method based on the multi-tower model, and the processor 202 may execute the steps of the product recommendation method based on the multi-tower model of the chip, or may also schedule other units to implement the corresponding functions.

[0090] It should be understood that the above-mentioned terminal 100 and server 200 can be centralized or distributed devices, and the processors in the above-mentioned terminal 100 and server 200 (such as processor 170 and processor 202) can be hardware circuits (such as application specific integrated circuit (ASIC), field-programmable gate array (FPGA), general-purpose processor, digital signal processor (DSP), microprocessor or microcontroller, etc.), or a combination of these hardware circuits. For example, the processor can be a hardware system with the function of executing instructions, such as CPU, DSP, etc., or a hardware system without the function of executing instructions, such as ASIC, FPGA, etc., or a combination of the above-mentioned hardware system without the function of executing instructions and the hardware system with the function of executing instructions.

[0091] The following will introduce in detail the product recommendation method based on the multi-tower model according to the embodiments of the present application with reference to the accompanying drawings.

[0092] Refer to Figure 4 , Figure 4 which is a schematic flowchart of a product recommendation method based on the multi-tower model provided by the embodiments of the present application. This solution can be independently implemented in a terminal or a server, or jointly implemented by a terminal and a server, which is not limited in the present application. As Figure 4 shown, a product recommendation method based on the multi-tower model provided by the embodiments of the present application may include S401 to S408, and the following will describe these steps in detail respectively.

[0093] S401. Obtain the set of first-order user feature vectors of the target user, and input the set of first-order user feature vectors into a pre-trained multi-tower model.

[0094] In this embodiment, the set of first-order user feature vectors includes multiple first-order user feature vectors.

[0095] In an optional embodiment, the method for obtaining the set of first-order user feature vectors of the target user includes:

[0096] Obtain the user feature data of the target user, where the user feature data includes multiple user features.

[0097] From the pre-constructed user feature embedding table, obtain the first-order user feature vectors of each user feature in the user feature data, so as to obtain the set of first-order user feature vectors of the target user. The user feature embedding table is used to record the first-order user feature vectors of preset user features, and the first-order user feature vectors of each preset user feature are obtained by encoding the preset user features.

[0098] In this embodiment, the multi-tower model includes a product matching module, a high-order two-tower model, and a second-order two-tower model. The second-order two-tower model includes a second-order user tower and a second-order product tower. The high-order two-tower model includes a high-order user tower and a high-order product tower.

[0099] Figure 5 It is a schematic diagram of the specific structure of a multi-tower model provided by an embodiment of the present application. As Figure 5 shown, the high-order two-tower model and the second-order two-tower model are independently configured. In the high-order two-tower model, the high-order user tower and the high-order product tower are independently configured. In the second-order two-tower model, the second-order user tower and the second-order product tower are independently configured. Optionally, the high-order user tower includes a deep neural network DNN and a normalization layer. The high-order product tower includes a deep neural network DNN and a normalization layer. The second-order user tower includes a sum pooling layer and a normalization layer. The second-order product tower includes a sum pooling layer and a normalization layer. It should be noted that the specific structures of each DNN, normalization layer, and sum pooling layer can refer to the prior art.

[0100] S402. Obtain the set of first-order product feature vectors of each candidate product, and input the set of first-order product feature vectors into the multi-tower model.

[0101] In this embodiment, the set of first-order product feature vectors includes multiple first-order product feature vectors.

[0102] In an alternative embodiment, the method for obtaining the set of first-order product feature vectors of each candidate product includes:

[0103] Obtain the product feature data of each candidate product. The product feature data includes multiple product features.

[0104] From the pre-constructed product feature embedding table, obtain the first-order product feature vectors of each product feature in the product feature data to obtain the set of first-order product feature vectors of the candidate product. The product feature embedding table is used to record the first-order product feature vectors of preset product features. The first-order product feature vectors of each preset product feature are obtained by encoding the preset product features.

[0105] S403. Perform deep feature extraction and normalization on the concatenation result of all first-order user feature vectors of the target user through the high-order user tower to obtain the high-order user interest vector.

[0106] In this embodiment, the concatenation result of all first-order user feature vectors refers to the result vector obtained by concatenating all first-order user feature vectors.

[0107] In an alternative embodiment, the input data is subjected to feature extraction by the DNN in the high-order user tower, and after the feature extraction result is normalized by the normalization layer, a high-order user interest vector is obtained.

[0108] S404. The concatenation result of all first-order product feature vectors of the candidate product is subjected to deep feature extraction and normalization by the high-order product tower to obtain a high-order product feature vector.

[0109] In an alternative embodiment, the concatenation result of all first-order product feature vectors of the candidate product is subjected to feature extraction by the DNN in the high-order product tower, and after the feature extraction result is normalized by the normalization layer, a high-order product feature vector is obtained.

[0110] S405. The first-order user feature vector set is subjected to sum pooling and normalization by the second-order user tower to obtain a user sum feature vector.

[0111] In an alternative embodiment, the multiple first-order user feature vectors of the target user are subjected to sum pooling by the sum pooling layer in the second-order user tower, and the sum pooling result is normalized by the normalization layer to obtain a user sum feature vector.

[0112] S406. The first-order product feature vector set is subjected to sum pooling and normalization by the second-order product tower to obtain a product sum feature vector.

[0113] In an alternative embodiment, the multiple first-order product feature vectors of the candidate product are subjected to sum pooling by the sum pooling layer in the second-order product tower, and the sum pooling result is normalized by the normalization layer to obtain a product sum feature vector.

[0114] S407. The inner product of the high-order user interest vector of the target user and the high-order product feature vector of the candidate product is calculated by the product matching module to obtain the high-order matching degree between the target user and the candidate product, and the inner product of the user sum feature vector and the product sum feature vector is calculated to obtain the second-order matching degree between the target user and the candidate product. At least based on the high-order matching degree and the second-order matching degree between the target user and the candidate product, the product matching degree is obtained.

[0115] In this embodiment, the specific method for obtaining the product matching degree at least based on the high-order matching degree and the second-order matching degree between the target user and the candidate product includes performing weighted summation on the high-order matching degree and the second-order matching degree between the target user and the candidate product, and mapping the weighted summation result through an activation function to obtain the product matching degree, where the weights of the high-order matching degree and the second-order matching degree can be pre-configured or obtained by training iteration update.

[0116] S408. At least one recommended product is obtained based on the product matching degrees of multiple candidate products and the target user.

[0117] In this embodiment, in different personalized scenarios, at least one recommended product is obtained based on the personalized scenario requirements, so as to obtain a set of recommended products.

[0118] In an alternative embodiment, based on the product matching degrees between the target user and each candidate product, each candidate product is sorted from large to small according to the product matching degree with the target user, and at least one recommended product is obtained based on a preset recommendation condition to obtain a set of recommended products. The recommendation condition includes that the product matching degree between the recommended product and the target user is greater than a preset matching degree threshold and the ranking is among the top N, where N is a preset value.

[0119] It can be seen from the above technical solutions that a product recommendation method based on a multi-tower model provided by an embodiment of the present application uses a high-order two-tower model in the multi-tower model to predict the high-order matching degrees between the target user and each candidate product, and realizes the high-order implicit interaction between user features and product features through the high-order two-tower model, so as to capture non-linear relationships. The second-order two-tower model in the multi-tower model is used to predict the second-order matching degrees between the target user and each candidate product, and the second-order explicit interaction between user features and product features is realized through the second-order two-tower model, so as to improve the model interpretability and learning ability. Both the obtained high-order matching degrees and second-order matching degrees can characterize the preferences of the target user for candidate products. Therefore, the product matching degree obtained by at least fusing the high-order matching degree and the second-order matching degree can characterize the possibility that the target user purchases the candidate product, and the accuracy of the product matching degree is improved.

[0120] Furthermore, a product recommendation method based on a multi-tower model provided by an embodiment of the present application includes various alternative specific implementations. For example, the execution order of S403 to 406 is not limited in the present application. Optionally, it can be seen from the structure of the multi-tower model that S403 to 406 are decoupled and can be executed in parallel. For another example, the multi-tower model further includes a user preference tower. Specifically, a product recommendation method based on a multi-tower model provided by an embodiment of the present application can be applied to a product recommendation system. Figure 6 For the specific structural schematic diagram of a product recommendation system provided by an embodiment of the present application, as Figure 6 shown, the product recommendation system includes a feature embedding module, a multi-tower model, and a product recommendation module.

[0121] In this embodiment, the feature embedding module is used to obtain the first-order user feature vectors of each user feature in the user feature data and output a set of first-order user feature vectors. The first-order product feature vectors of each product feature in the product feature data are obtained and a set of first-order product feature vectors is output.

[0122] In this embodiment, the multi-tower model includes a high-order two-tower model, a second-order two-tower model, a user preference tower, and a product matching module.

[0123] The high-order dual tower model includes a high-order user tower and a high-order product tower. The high-order user tower includes a first DNN (Deep Neural Network) and a first normalization layer, and the high-order product tower includes a second DNN and a second normalization layer. The high-order dual tower model is used to generate a high-order user interest vector based on a set of first-order user feature vectors through the high-order user tower, and generate a high-order product feature vector based on a set of first-order product feature vectors through the high-order product tower.

[0124] The second-order dual tower model includes a second-order user tower and a second-order product tower. Among them, the second-order user tower includes a first sum pooling layer and a third normalization layer, and the second-order product tower includes a second sum pooling layer and a fourth normalization layer. The second-order dual tower model is used to generate a user sum feature vector based on a set of first-order user feature vectors through the second-order user tower, and generate a product sum feature vector based on a set of first-order product feature vectors through the second-order product tower.

[0125] The user preference tower includes a third DNN and an activation function layer. The user preference tower is used to generate a user preference value based on a set of first-order user feature vectors.

[0126] The product matching module includes a high-order matching module, a second-order matching module, and a matching fusion module. The product matching module is used to match the high-order user interest vector and the high-order product feature vector through the high-order matching module to generate a high-order matching degree, calculate the inner product of the user sum feature vector and the product sum feature vector through the second-order matching module to generate a second-order matching degree, and fuse the high-order matching degree, the second-order matching degree, and the user preference degree based on the fusion parameters through the matching fusion module to obtain the product matching degree, where the fusion parameters include the fusion weights corresponding to the high-order matching degree, the second-order matching degree, and the user preference degree respectively.

[0127] In this embodiment, the various model parameters in the multi-tower model are obtained through training iteration updates. The model parameters include a user feature embedding table, a product feature embedding table, the network parameters of each DNN, and the fusion parameters. Among them, the second-order dual tower model, the high-order dual tower model, and the user preference tower share the user feature embedding table and the product feature embedding table.

[0128] It should be noted that through end-to-end training of the multi-tower model, the specific training method of the multi-tower model can refer to the prior art.

[0129] In this embodiment, the product recommendation module is used to sort the products from large to small based on the product matching degree between the target user and each product, and then obtain a recommended product set, where the recommended product set includes the top N products in terms of ranking.

[0130] Refer to Figure 7 , Figure 7This embodiment of the application provides a specific implementation process of an optional product recommendation method based on a multi-tower model. As Figure 7 shown, this application specifically includes S701 to S712 as follows:

[0131] S701. After obtaining the target recommendation instruction, obtain the user feature data of the target user and the product feature data of each candidate product.

[0132] In this embodiment, the target recommendation instruction is used to indicate recommending products of a target type for the target user. The target user is any user for whom products are to be recommended, and the user feature data includes multiple user features, such as gender, age, number of loan times, and credit rating, etc. The candidate products are products of the target type in a preset product library, and the product feature data includes multiple product features, such as price, interest rate, type, and risk level, etc.

[0133] It should be noted that the user feature data of the target user and the product feature data of each candidate product are obtained from the user database and the product database.

[0134] S702. Input the user feature data into the feature embedding module, and through the feature embedding module, obtain the first-order user feature vectors of each user feature in the user feature data from a pre-constructed user feature embedding table, and obtain the set of first-order user feature vectors of the target user.

[0135] In this embodiment, the set of first-order user feature vectors includes the first-order user feature vectors of each user feature.

[0136] In this embodiment, the user feature embedding table is used to record the first-order user feature vectors of preset user features. The first-order user feature vectors of each preset user feature are obtained by encoding the preset user features, and the user feature embedding table is iteratively learned together with other model parameters when training the model.

[0137] S703. Input the product feature data of each product into the feature embedding module, and through the feature embedding module, obtain the first-order product feature vectors of each product feature in the product feature data from a pre-constructed product feature embedding table, and obtain the set of first-order product feature vectors of each product.

[0138] In this embodiment, the set of first-order product feature vectors includes the first-order product feature vectors of each product feature.

[0139] In this embodiment, the product feature embedding table is used to record the first-order product feature vectors of preset product features. The first-order product feature vectors of each preset product feature are obtained by encoding the preset product features, and the product feature embedding table is iteratively learned together with other model parameters when training the model.

[0140] For example, the dimensions of the first-order feature vectors are all d. The user feature data of the target user includes m user features. The first-order user feature vectors corresponding to the m user features are u1, u2,..., um respectively. Any first-order user feature vector ui = [ui1, ui2,..., uik,..., uid] (i = 1, 2,.., m), where uik is the scalar value of ui in dimension k. The product feature data of the candidate product X has n product features. The first-order product feature vectors corresponding to the n product features are p1, p2,..., pn respectively. Any first-order product feature vector pj = [pj1, pj2,..., pjk,..., pjd] (j = 1, 2,.., n), where pjk is the scalar value of pj in dimension k.

[0141] It should be noted that each type of feature embedding table can be configured as one or more according to actual needs. Preferably, a user feature embedding table and a product feature embedding table are preset in the feature embedding module, which respectively store the first-order feature vectors of the unified dimensions of user features and product features. The first-order feature vectors in the user feature embedding table and the product feature embedding table belong to the model parameters and will be iteratively learned during the training of the model. After the model training is completed, the user feature embedding table and the product feature embedding table are learned.

[0142] S704. Concatenate all the first-order user feature vectors of the target user and use them as input data to input into the high-order user tower. Perform feature extraction on the input data through the first DNN, and after normalizing the feature extraction result through the first normalization layer, obtain the high-order user interest vector.

[0143] In this embodiment, after concatenating u1 to um, input them into the DNN of the high-order user tower, that is, the first DNN. Perform feature extraction on the input data through the DNN, and the feature extraction result, that is, the high-order feature vector U’1, is output by the neurons in the top layer of the DNN. Perform normalization on U’1 through the first normalization layer to obtain the high-order user interest vector U1. Optionally, U1 = U’1 / ||U’1||.

[0144] S705. For each candidate product, concatenate all the first-order product feature vectors of the candidate product and use them as input data to input into the high-order product tower. Perform feature extraction on the input data through the second DNN, and after normalizing the feature extraction result through the second normalization layer, obtain the high-order product feature vector.

[0145] In this embodiment, for candidate product X, after splicing p1 to pn, the result is input into the DNN of the high-order product tower, that is, the second DNN. The DNN extracts features from the input data, and the feature extraction result, that is, the high-order feature vector P'1, is output by the neurons in the top layer of the DNN. The high-order product feature vector P1 is obtained by normalizing P'1 through the second normalization layer. Optionally, P1 = P'1 / ||P'1||.

[0146] S706. Calculate the inner product of the high-order user interest vector of the target user and the high-order product feature vectors of each candidate product through the high-order matching module to obtain the high-order matching degrees between the target user and each candidate product.

[0147] In this embodiment, for the target user and candidate product X, the high-order matching degree y1 is equal to the inner product of U1 and P1, that is, y1 = U1P1.

[0148] S707. Use the multiple first-order user feature vectors of the target user as input data and input them into the second-order user tower. Perform sum pooling on the input data through the first sum pooling layer, and normalize the sum pooling result through the third normalization layer to obtain the user sum feature vector.

[0149] In this embodiment, the multiple first-order user feature vectors input into the second-order user tower can be selected from the set of first-order user feature vectors of the target user based on a preset explicit rule. The explicit rule can be pre-configured based on the product type. The explicit rule includes multiple target user features and multiple target product features. Select the first-order user feature vectors corresponding to the multiple target user features as input data and input them into the second-order user tower.

[0150] For example, input u1 to u10 into the sum pooling layer of the second-order user tower, that is, the first sum pooling layer. Perform sum pooling on the input data through the sum pooling layer to obtain the sum pooling result, that is, the first-order feature vector U'2. Normalize U'2 through the third normalization layer to obtain the user sum feature vector U2 = U'2 / ||U'2||. Where U'2 = 。

[0151] S708. Use the multiple first-order product feature vectors of the target product as input data and input them into the second-order product tower. Perform sum pooling on the input data through the second sum pooling layer, and normalize the sum pooling result through the fourth normalization layer to obtain the product sum feature vector.

[0152] In this embodiment, multiple first-order product feature vectors input into the second-order product tower can be selected from the set of first-order product feature vectors of the target product based on a preset explicit rule. For example, p1 to p20 are used as input data and input into the sum pooling layer of the second-order product tower, that is, the second sum pooling layer. The input data is sum pooled by the sum pooling layer to obtain a sum pooling result, that is, the first-order feature vector P'2. The product sum feature vector P2 = P'2 / ||P'2|| is obtained by normalizing P'2 through the fourth normalization layer. Wherein, P'2 = 。

[0153] S709. Calculate the inner product of the user sum feature vector of the target user and the product sum feature vector of the candidate product through the second-order matching module to obtain the second-order matching degree between the target user and the candidate product.

[0154] In this embodiment, for the target user and the candidate product X, the second-order matching degree y2 is equal to the inner product of U2 and P2, that is, y2 = U2P2 = U'2P'2 / (||U'2|| × ||P'2||). Since, U'2 = and P'2 = , therefore:

[0155] y2 = U2P2 = U'2P'2 / (||U'2|| × ||P'2||) = ( 。

[0156] It can be seen from the above derivation that the inner product of the user sum feature vector of the target user and the product sum feature vector of the candidate product is equal to the sum of the pairwise inner products of the first-order user feature vectors of the target user and the first-order product feature vectors of the candidate product divided by the norms of the vectors U'2 and P'2, that is, the second-order explicit interaction result between the target user and the candidate product.

[0157] S710. Concatenate all the first-order user feature vectors of the target user and use them as input data to input into the user preference tower. The input data is subjected to feature extraction through the third DNN, and after the feature extraction result is mapped through the activation function layer, the user preference value is obtained.

[0158] In this embodiment, after concatenating u1 to um, it is input into the DNN of the user preference tower, that is, the third DNN. The input data is subjected to feature extraction through the DNN, and the activation function layer maps the output features of the neurons in the top layer of the DNN through an activation function (for example, the hyperbolic tangent function tanh) to obtain the user preference value. The user preference value represents the preference U of the target user for the products of the target type b , U b The value range is (-1, 1), where the target type is the type to which all candidate products belong.

[0159] S711. Based on the fusion parameters, the high-order matching degree, second-order matching degree, and user preference degree of the target user and each candidate product are fused through the matching fusion module to obtain the product matching degree between the target user and each candidate product, and the product matching degree between the target user and each candidate product is output to the product recommendation module as the output data of the multi-tower model.

[0160] In this embodiment, the fusion parameters include the high-order matching degree y1, the second-order matching degree y2, and the user preference degree U b The respective corresponding fusion weights are denoted as Wy1, Wy2, and Wy3 respectively.

[0161] In this embodiment, taking the target user and candidate product X as an example, through the product matching module, based on the fusion parameters, the high-order matching degree y1, second-order matching degree y2, and user preference degree U of the target user and candidate product X b are weighted and added, and the weighted addition result is mapped through a preset activation function to obtain the product matching degree between the target user and candidate product X.

[0162] Taking the activation function as sigmoid as an example, the product matching degree y between the target user and candidate product X = sigmoid (Wy1×y1 + Wy2×y2 + Wy3×U b + b). Among them, the value range of y is (0,1), indicating the estimated probability that the target user purchases the candidate product. Among them, b is the bias and belongs to the model parameters.

[0163] S712. Based on the product matching degree between the target user and each candidate product, the product recommendation module sorts the candidate products from large to small based on the preset recommendation conditions to obtain a recommended product set.

[0164] In this embodiment, the recommended product set includes multiple recommended products. The recommended product is a candidate product that meets the preset recommendation conditions. The recommendation conditions include that the product matching degree is greater than the preset matching degree threshold and the ranking is among the top N, where N is a preset value. For example, N = 1, that is, only one recommended product is selected for each type of candidate product.

[0165] As can be seen from the above technical solution, a product recommendation method based on a multi-tower model provided by an embodiment of the present application uses a high-order dual-tower model in the multi-tower model to predict the high-order matching degree between a target user and each candidate product, and realizes the high-order implicit interaction between user features and product features through the high-order dual-tower model, so as to capture non-linear relationships. The obtained high-order matching degree can characterize the preference of the target user for the candidate product. The second-order dual-tower model in the multi-tower model is used to predict the second-order matching degree between the target user and each candidate product, and the second-order explicit interaction between user features and product features is realized through the second-order dual-tower model, so as to improve the model interpretability and learning ability. The obtained second-order matching degree can characterize the preference of the target user for the candidate product. The user preference tower in the multi-tower model is used to predict the user preference degree of the target user for all candidate products, which is used to characterize the overall preference of the target user for products. This solution uses different towers to calculate the preference of the target user for all candidate products and the preference for a single candidate product respectively, reduces the learning difficulty of the recommendation task, and improves the learning ability of the model. Further, the product matching degree obtained by fusing the high-order matching degree, the second-order matching degree, and the user preference degree can characterize the possibility that the target user purchases the candidate product, and improves the accuracy of the product matching degree.

[0166] Further, in the second-order dual-tower model of this solution, the decoupling of the user tower and the product tower is achieved by adding a sum pooling layer, which maintains the advantages of the dual-tower model with a simple structure and fast calculation speed, and realizes that each tower runs independently to obtain output data and store it. For each tower for a user or a candidate product, only one operation needs to be performed, and the operation result is stored for future use, which improves the execution efficiency of the recommendation task.

[0167] Based on the respective independent features of each tower of the dual-tower model provided by the embodiment of the present application, the present application does not limit the execution order of S702 and S703, the execution order of S704 and S705, and the execution order of S707 and S708. Further, the execution order of S706, S709, and S710 is not limited.

[0168] It should be noted that the above is only an optional specific implementation of a product recommendation method based on a multi-tower model provided by the embodiments of the present application. In another possible implementation, the product recommendation system based on the multi-tower model further includes a product feature database and a customer feature database. Among them, the product feature database is used to store the product feature matrices of various types of products. The product feature matrix is composed of a product high-order feature vector, a product summation feature vector, and 1. Taking the first product as an example, the product feature matrix D1 of the first product = [high-order product feature vector, product summation feature vector, 1]. The user feature database is used to store the user feature matrices of each user. The user feature matrix is composed of a high-order user interest vector, a second-order user interest vector, and a user preference value. Taking the first user as an example, the user feature matrix K1 of the first user = [high-order user interest vector, user summation feature vector, user preference value].

[0169] Based on this, this method further includes any one of the following steps A1 to A5:

[0170] A1. When a preset first timing is reached, obtain the user feature data of the newly added user from the user database, obtain the first-order user feature vector set of the newly added user through the feature embedding module, obtain the high-order user interest vector of the newly added user based on the first-order user feature vector set of the newly added user through the high-order user tower, obtain the user summation feature vector of the newly added user based on the first-order user feature vector set of the newly added user through the second-order user tower, obtain the user preference value of the newly added user based on the first-order user feature vector set of the newly added user through the user preference tower, and store the user identifier of the newly added user and the user feature matrix = [high-order user interest vector, user summation feature vector, user preference value] in the user feature database in a corresponding manner. Among them, the first timing includes the update time when a preset second update period is reached. It should be noted that in the initial stage, the user feature matrices of all users are obtained in batches, and an initial user feature database is constructed. It should be noted that the specific methods for obtaining the high-order user interest vector, the user summation feature vector, and the user preference value can refer to the above embodiments.

[0171] When reaching the preset second timing, obtain the product feature data of the new product from the product database, obtain the first-order product feature vector set of the new product through the feature embedding module, obtain the high-order product feature vector of the new product based on the first-order product feature vector set of the new product through the high-order product tower, obtain the product summation feature vector of the new product based on the first-order product feature vector set of the new product through the second-order product tower, and store the product identifier, type, and product feature matrix = [high-order product feature vector, product summation feature vector, 1] of the new product in the product feature database correspondingly. Among them, the second timing includes the update time when reaching the preset second update cycle. It should be noted that in the initial stage, batch obtain the product feature matrices of all products and construct the initial product feature database. It should be noted that the specific methods for obtaining the high-order product feature vector and the product summation feature vector can refer to the above embodiments.

[0172] A3. After obtaining the target recommendation instruction, retrieve the user feature database based on the user identifier of the target user to determine whether there is a user feature matrix of the target user.

[0173] If it exists, obtain the user feature matrix of the target user from the user feature database and input the user feature matrix of the target user into the product matching module.

[0174] If it does not exist, execute S702, S704, S707, and S710 to obtain the high-order user interest vector, user summation feature vector, and user preference value, input the high-order user interest vector, user summation feature vector, and user preference value into the product matching module, and store the user identifier and user feature matrix of the target user in the user feature database.

[0175] A4. After obtaining the target recommendation instruction, obtain the product identifiers of the candidate products from the product database based on the target type. For each candidate product, for the product identifiers of each candidate product, retrieve the product feature database to determine whether there is a product feature matrix of the candidate product.

[0176] If it exists, obtain the product feature matrix of the candidate product from the product feature database and input the product feature matrix of the candidate product into the product matching module.

[0177] If it does not exist, execute S703, S705, and S708 to obtain the high-order product feature vector and the product summation feature vector, input the high-order product feature vector and the product summation feature vector into the product matching module, and store the product identifier and product feature matrix of the candidate product in the product feature database.

[0178] A5. The product matching module calculates the weighted inner product of the user feature matrix of the input target user and the product feature matrix of the candidate product, and uses the weighted inner product result as the product matching degree.

[0179] In summary, in this solution, by constructing and updating the user feature database and the product feature database, after obtaining the target recommendation instruction, the user feature database and the product feature database are directly retrieved to obtain the user feature matrix of the target user and the product feature matrix of each candidate product. Then, the high-order matching module directly calculates the inner product of the high-order user interest vector and the high-order product feature vector to obtain the high-order matching degree, the second-order matching module calculates the inner product of the user summation feature vector and the product summation feature vector to obtain the second-order matching degree, and the matching fusion module fuses the high-order matching degree, the second-order matching degree, and the user preference value to obtain the product matching degree. It can be seen that the multi-tower model provided in the embodiment of this application is a representation learning model that uniformly models the high-order user tower, the high-order product tower, the second-order user tower, the second-order product tower, and the user preference tower. Different modules in the multi-tower model are used to implement different modeling functions respectively, which improves the learning ability of the model. At the same time, the multi-tower model expresses users and products as independent feature vectors respectively. On the one hand, it supports independent calculation of the two, maintaining the advantages of the two-tower model structure being simple and the calculation speed being fast. On the other hand, it supports pre-calculating the feature matrices of each user and product, improving the execution efficiency of the recommendation task.

[0180] The above introduces a product recommendation method based on a multi-tower model provided in the embodiment of this application. Next, a device for executing the above product recommendation method based on a multi-tower model will be introduced.

[0181] Please refer to Figure 8 , Figure 8 which is a schematic structural diagram of a product recommendation device based on a multi-tower model provided in the embodiment of this application. As Figure 8 shown, the product recommendation device 800 based on the multi-tower model includes:

[0182] A first-order user feature acquisition unit 801, configured to acquire a set of first-order user feature vectors of a target user, and input the set of first-order user feature vectors into a pre-trained multi-tower model; the set of first-order user feature vectors includes multiple first-order user feature vectors; the multi-tower model includes a product matching module, a high-order two-tower model, and a second-order two-tower model, and the second-order two-tower model includes a second-order user tower and a second-order product tower; the high-order two-tower model includes a high-order user tower and a high-order product tower;

[0183] A first-order product feature acquisition unit 802, configured to acquire a set of first-order product feature vectors of each candidate product, and input the set of first-order product feature vectors into the multi-tower model; the set of first-order product feature vectors includes multiple first-order product feature vectors;

[0184] A high-order feature acquisition unit 803 is configured to perform deep feature extraction and normalization on the concatenation result of all first-order user feature vectors of the target user through the high-order user tower to obtain a high-order user interest vector; perform deep feature extraction and normalization on the concatenation result of all first-order product feature vectors of the candidate product through the high-order product tower to obtain a high-order product feature vector;

[0185] A feature summation unit 804 is configured to perform sum pooling and normalization on the first-order user feature vector set through the second-order user tower to obtain a user summation feature vector; perform sum pooling and normalization on the first-order product feature vector set through the second-order product tower to obtain a product summation feature vector;

[0186] A feature matching unit 805 is configured to calculate the inner product of the high-order user interest vector of the target user and the high-order product feature vector of the candidate product through the product matching module to obtain the high-order matching degree between the target user and the candidate product, calculate the inner product of the user summation feature vector and the product summation feature vector to obtain the second-order matching degree between the target user and the candidate product; obtain a product matching degree based at least on the high-order matching degree and the second-order matching degree between the target user and the candidate product;

[0187] A product recommendation unit 806 is configured to obtain at least one recommended product based on the product matching degrees between multiple candidate products and the target user.

[0188] Optionally, when the first-order user feature acquisition unit is configured to obtain the first-order user feature vector set of the target user, it is specifically configured to:

[0189] Obtain the user feature data of the target user, where the user feature data includes multiple user features;

[0190] Obtain the first-order user feature vectors of the respective user features in the user feature data from a pre-constructed user feature embedding table to obtain the first-order user feature vector set of the target user; the user feature embedding table is used to record the first-order user feature vectors of preset user features, and the first-order user feature vectors of the respective preset user features are obtained by encoding the preset user features;

[0191] When the first-order product feature acquisition unit is configured to obtain the first-order product feature vector set of each candidate product, it is specifically configured to:

[0192] Obtain the product feature data of each candidate product, where the product feature data includes multiple product features;

[0193] From a pre - constructed product feature embedding table, obtain the first - order product feature vectors of each product feature in the product feature data, and obtain the set of first - order product feature vectors of the candidate product; the product feature embedding table is used to record the first - order product feature vectors of preset product features, and the first - order product feature vectors of each preset product feature are obtained by encoding the preset product features.

[0194] Optionally, the second - order user tower includes a sum - pooling layer and a normalization layer, and the second - order product tower includes a sum - pooling layer and a normalization layer;

[0195] When the feature summation unit is used to perform sum - pooling and normalization on the set of first - order user feature vectors through the second - order user tower to obtain the user summation feature vector, it is specifically used for: performing sum - pooling on the multiple first - order user feature vectors of the target user through the sum - pooling layer, and performing normalization on the sum - pooling result through the normalization layer to obtain the user summation feature vector;

[0196] When the feature summation unit is used to perform sum - pooling and normalization on the set of first - order product feature vectors through the second - order product tower to obtain the product summation feature vector, it is specifically used for: performing sum - pooling on the multiple first - order product feature vectors of the candidate product through the sum - pooling layer, and performing normalization on the sum - pooling result through the normalization layer to obtain the product summation feature vector.

[0197] Optionally, the multi - tower model further includes a user preference tower; the product recommendation device based on the multi - tower model further includes a user preference inference unit, which is used for: performing deep feature extraction and normalization on the concatenation result of all the first - order user feature vectors of the target user through the user preference tower to obtain the user preference value, and the user preference value is used to represent the degree of interest of the target user in all candidate products;

[0198] When the feature matching unit is used to obtain the product matching degree based on at least the high - order matching degree and the second - order matching degree between the target user and the candidate product, it is specifically used for:

[0199] Performing weighted summation on the user preference value, the high - order matching degree between the target user and the candidate product, and the second - order matching degree between the target user and the candidate product to obtain the product matching degree between the target user and the candidate product.

[0200] Optionally, the product recommendation device based on the multi - tower model further includes a data storage unit, which is used for:

[0201] Correspondingly storing the user identification and the user feature matrix of the target user into the user feature database, and the user feature matrix includes the high - order user interest vector, the user summation feature vector, and the user preference value;

[0202] Store the product identification and product feature matrix of the candidate feature in the product feature database correspondingly. The product feature matrix includes a high-order product feature vector, a product summation feature vector, and a unit vector.

[0203] Optionally, the product recommendation device based on the multi-tower model further includes a first feature retrieval unit, configured to, before obtaining the first-order user feature vector set of the target user and inputting the first-order user feature vector set into a pre-trained multi-tower model, retrieve from the user feature database whether there is a user feature matrix of the target user based on the user identification of the target user; if so, directly obtain the user feature matrix of the target user and input the user feature matrix into the product matching module.

[0204] The product recommendation device based on the multi-tower model further includes a second feature retrieval unit, configured to, before obtaining the first-order product feature vector set of the candidate product and inputting the first-order product feature vector set into the multi-tower model, retrieve from the product feature database whether there is a product feature matrix of the candidate product based on the product identification of the candidate product; if so, directly obtain the product feature matrix of the candidate product and input the product feature matrix into the product matching module.

[0205] Optionally, when the first-order user feature obtaining unit is configured to obtain the first-order user feature vector set of the target user and input the first-order user feature vector set into a pre-trained multi-tower model, it is specifically configured to:

[0206] If the user feature database does not have the user feature matrix of the target user, obtain the first-order user feature vector set of the target user and input the first-order user feature vector set into the high-order user tower, the second-order user tower, and the user preference tower respectively.

[0207] When the first-order product feature obtaining unit is configured to obtain the first-order product feature vector set of the candidate product and input the first-order product feature vector set into the multi-tower model, it is specifically configured to:

[0208] If the product feature database does not have the product feature matrix of the candidate product, obtain the first-order product feature vector set of the candidate product and input the first-order product feature vector set into the high-order product tower and the second-order product tower respectively.

[0209] Optionally, when the product recommendation unit is used to obtain at least one recommended product based on the product matching degrees between multiple candidate products and the target user, it specifically is used for: sorting each of the candidate products in descending order of the product matching degree with the target user based on the product matching degrees between the target user and each of the candidate products, and obtaining at least one recommended product based on a preset recommendation condition to obtain a recommended product set, where the recommendation condition includes that the product matching degree between the recommended product and the target user is greater than a preset matching degree threshold and the ranking is among the top N, and N is a preset value.

[0210] An embodiment of the present application also provides an electronic device. Refer to Figure 9 as shown Figure 9 which shows a schematic structural diagram of the electronic device suitable for implementing the electronic device in the embodiment of the present application. The electronic device in the embodiment of the present application may include, but is not limited to, fixed terminals such as mobile phones, laptop computers, PDAs (Personal Digital Assistants), PADs (Tablet Computers), desktop computers, and the like. Figure 9 The electronic device shown is only an example and should not bring any limitation to the functions and usage scopes of the embodiment of the present application.

[0211] As Figure 9 shown, the electronic device may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 901, which may perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage device 908 into a random access memory (RAM) 903. When the electronic device is powered on, various programs and data required for the operation of the electronic device are also stored in the RAM 903. The processing device 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.

[0212] Generally, the following devices may be connected to the I / O interface 905: an input device 906 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 907 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 908 including, for example, a memory card, a hard disk, etc.; and a communication device 909. The communication device 909 may allow the electronic device to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 9 the electronic device shown has various devices, it should be understood that it is not required to implement or have all the shown devices. More or fewer devices may be alternatively implemented or had.

[0213] An embodiment of the present application also provides a computer program product, including computer-readable instructions, which, when running on an electronic device, enable the electronic device to implement any one of the product recommendation methods based on the multi-tower model provided by the embodiments of the present application.

[0214] An embodiment of the present application also provides a computer-readable storage medium, which carries one or more computer programs. When the one or more computer programs are executed by an electronic device, they can enable the electronic device to implement any one of the product recommendation methods based on the multi-tower model provided by the embodiments of the present application.

[0215] In addition, it should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the drawings of the device embodiments provided by the present application, the connection relationships between the modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines.

[0216] Through the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by dedicated hardware including application-specific integrated circuits, dedicated CPUs, dedicated memories, dedicated components, etc. Generally, functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structures used to implement the same function can also be various, such as analog circuits, digital circuits or dedicated circuits. However, for the present application, in more cases, software program implementation is a better implementation method. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product is stored in a readable storage medium, such as a floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk or optical disc of a computer, and includes several instructions to enable a computer device (which can be a personal computer, training device, or network device, etc.) to execute the methods described in the various embodiments of the present application.

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

[0218] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from a website, computer, training device, or data center to another website, computer, training device, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). 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 includes one or more integrated available media. The available medium may be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.

Claims

1. A product recommendation method based on a multi-tower model, characterized in that, Including: Obtain a set of first-order user feature vectors of a target user, and input the set of first-order user feature vectors into a pre-trained multi-tower model; the set of first-order user feature vectors includes multiple first-order user feature vectors; the multi-tower model includes a product matching module, a high-order dual-tower model, and a second-order dual-tower model, and the second-order dual-tower model includes a second-order user tower and a second-order product tower; the high-order dual-tower model includes a high-order user tower and a high-order product tower; Obtain a set of first-order product feature vectors of each candidate product, and input the set of first-order product feature vectors into the multi-tower model; the set of first-order product feature vectors includes multiple first-order product feature vectors; Perform deep feature extraction and normalization on the concatenation result of all first-order user feature vectors of the target user through the high-order user tower to obtain a high-order user interest vector; perform deep feature extraction and normalization on the concatenation result of all first-order product feature vectors of the candidate product through the high-order product tower to obtain a high-order product feature vector; Perform sum pooling and normalization on the set of first-order user feature vectors through the second-order user tower to obtain a user sum feature vector; perform sum pooling and normalization on the set of first-order product feature vectors through the second-order product tower to obtain a product sum feature vector; Calculate the inner product of the high-order user interest vector of the target user and the high-order product feature vector of the candidate product through the product matching module to obtain the high-order matching degree between the target user and the candidate product, and calculate the inner product of the user sum feature vector and the product sum feature vector to obtain the second-order matching degree between the target user and the candidate product; Obtain a product matching degree based on at least the high-order matching degree and the second-order matching degree between the target user and the candidate product; Obtain at least one recommended product based on the product matching degrees between multiple candidate products and the target user.

2. The product recommendation method based on a multi-tower model according to claim 1, wherein, The obtaining of the set of first-order user feature vectors of the target user includes: Obtain the user feature data of the target user, where the user feature data includes multiple user features; Obtain the first-order user feature vectors of each user feature in the user feature data from a pre-constructed user feature embedding table to obtain the set of first-order user feature vectors of the target user; the user feature embedding table is used to record the first-order user feature vectors of preset user features, and the first-order user feature vectors of each preset user feature are obtained by encoding the preset user features; The obtaining of the set of first-order product feature vectors of each candidate product includes: Obtain the product feature data of each candidate product, where the product feature data includes multiple product features; Obtain the first-order product feature vectors of each product feature in the product feature data from a pre-constructed product feature embedding table to obtain the set of first-order product feature vectors of the candidate product; the product feature embedding table is used to record the first-order product feature vectors of preset product features, and the first-order product feature vectors of each preset product feature are obtained by encoding the preset product features.

3. The product recommendation method based on a multi-tower model according to claim 1, wherein, The second-order user tower includes a sum pooling layer and a normalization layer, and the second-order product tower includes a sum pooling layer and a normalization layer; The process of obtaining the user sum feature vector by performing sum pooling and normalization on the first-order user feature vector set through the second-order user tower includes: Performing sum pooling on multiple first-order user feature vectors of the target user through the sum pooling layer, and performing normalization on the sum pooling result through the normalization layer to obtain the user sum feature vector; The process of obtaining the product sum feature vector by performing sum pooling and normalization on the first-order product feature vector set through the second-order product tower includes: Performing sum pooling on multiple first-order product feature vectors of the candidate product through the sum pooling layer, and performing normalization on the sum pooling result through the normalization layer to obtain the product sum feature vector.

4. The product recommendation method based on a multi-tower model according to claim 1, wherein, The multi-tower model further includes a user preference tower; the product recommendation method based on the multi-tower model further includes: Performing deep feature extraction and normalization on the concatenation result of all first-order user feature vectors of the target user through the user preference tower to obtain a user preference value, which is used to represent the degree of interest of the target user in all candidate products; The process of obtaining the product matching degree based at least on the high-order matching degree and the second-order matching degree between the target user and the candidate product includes: Performing weighted summation on the user preference value, the high-order matching degree between the target user and the candidate product, and the second-order matching degree between the target user and the candidate product to obtain the product matching degree between the target user and the candidate product.

5. The product recommendation method based on a multi-tower model according to claim 4, wherein The product recommendation method based on the multi-tower model further includes: Correspondingly storing the user identifier and the user feature matrix of the target user into the user feature database, where the user feature matrix includes a high-order user interest vector, a user sum feature vector, and a user preference value; Correspondingly storing the product identifier and the product feature matrix of the candidate feature into the product feature database, where the product feature matrix includes a high-order product feature vector, a product sum feature vector, and a unit vector.

6. The product recommendation method based on a multi-tower model according to claim 5, wherein Before obtaining the first-order user feature vector set of the target user and inputting the first-order user feature vector set into the pre-trained multi-tower model, the product recommendation method based on the multi-tower model further includes: Based on the user identifier of the target user, retrieving from the user feature database whether there is a user feature matrix of the target user; if it exists, directly obtaining the user feature matrix of the target user and inputting the user feature matrix into the product matching module; Before obtaining the first-order product feature vector set of the candidate product and inputting the first-order product feature vector set into the multi-tower model, the product recommendation method based on the multi-tower model further includes: Based on the product identifier of the candidate product, retrieving from the product feature database whether there is a product feature matrix of the candidate product; if it exists, directly obtaining the product feature matrix of the candidate product and inputting the product feature matrix into the product matching module.

7. The product recommendation method based on a multi-tower model according to claim 6, wherein The obtaining of the first-order user feature vector set of the target user and inputting the first-order user feature vector set into a pre-trained multi-tower model includes: If the user feature matrix of the target user does not exist in the user feature database, obtain the first-order user feature vector set of the target user, and input the first-order user feature vector set into the high-order user tower, the second-order user tower, and the user preference tower respectively; Obtain the first-order product feature vector set of the candidate product, and input the first-order product feature vector set into the multi-tower model. Inputting the first-order product feature vector set into the multi-tower model includes: If the product feature matrix of the candidate product does not exist in the product feature database, obtain the first-order product feature vector set of the candidate product, and input the first-order product feature vector set into the high-order product tower and the second-order product tower respectively.

8. The product recommendation method based on a multi-tower model according to claim 1, characterized in that The obtaining of at least one recommended product based on the product matching degrees of the multiple candidate products and the target user includes: Based on the product matching degrees of the target user and each of the candidate products, sort each of the candidate products in descending order according to the product matching degree with the target user, and obtain at least one recommended product based on a preset recommendation condition to obtain a recommended product set. The recommendation condition includes that the product matching degree of the recommended product and the target user is greater than a preset matching degree threshold and the ranking is among the top N, where N is a preset value.

9. A product recommendation device based on a multi-tower model, characterized in that, It includes: A first-order user feature acquisition unit for obtaining the first-order user feature vector set of the target user and inputting the first-order user feature vector set into a pre-trained multi-tower model; the first-order user feature vector set includes multiple first-order user feature vectors; the multi-tower model includes a product matching module, a high-order double-tower model, and a second-order double-tower model. The second-order double-tower model includes a second-order user tower and a second-order product tower; the high-order double-tower model includes a high-order user tower and a high-order product tower; A first-order product feature acquisition unit for obtaining the first-order product feature vector set of each candidate product and inputting the first-order product feature vector set into the multi-tower model; the first-order product feature vector set includes multiple first-order product feature vectors; A high-order feature acquisition unit for performing deep feature extraction and normalization on the concatenation result of all the first-order user feature vectors of the target user through the high-order user tower to obtain a high-order user interest vector; performing deep feature extraction and normalization on the concatenation result of all the first-order product feature vectors of the candidate product through the high-order product tower to obtain a high-order product feature vector; A feature summation unit for performing sum pooling and normalization on the first-order user feature vector set through the second-order user tower to obtain a user summation feature vector; performing sum pooling and normalization on the first-order product feature vector set through the second-order product tower to obtain a product summation feature vector; A feature matching unit, configured to calculate the inner product of the high-order user interest vector of the target user and the high-order product feature vector of the candidate product through the product matching module, to obtain the high-order matching degree between the target user and the candidate product, and calculate the inner product of the user summation feature vector and the product summation feature vector, to obtain the second-order matching degree between the target user and the candidate product; Obtain the product matching degree based on at least the high-order matching degree and the second-order matching degree between the target user and the candidate product; A product recommendation unit, configured to obtain at least one recommended product based on the product matching degrees between multiple candidate products and the target user.

10. An electronic device, characterized in that, Comprising at least one processor and a memory connected to the processor, wherein: The memory is used to store computer programs; The processor is used to execute the computer programs, so that the electronic device can implement the product recommendation method based on the multi-tower model according to any one of claims 1 to 8.

Citation Information

Cited By

  • Real-time red person and brand dynamic matching method and system based on double-tower neural network

    CN121073537A