A resource recommendation method and device
By constructing a point of interest matching feature that includes click-through rate and click-through rate confidence, combining multi-dimensional point of interest matching, and using a resource score prediction model, the problem of insufficient click-through rate in existing technologies is solved, achieving more accurate resource recommendations and improving user experience.
Patent Information
- Application Number
- CN202510766345.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-10
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2045-06-10
AI Technical Summary
In existing resource recommendation methods, only the click-through rate of points of interest is considered while ignoring the click-through rate confidence, resulting in low recommendation accuracy. In addition, only points of interest matching under a single dimension are used to recall resources, and the recall accuracy is also low.
By constructing point of interest matching features, including click-through rate and click-through rate confidence, and combining point of interest matching features in multiple dimensions, a pre-trained resource score prediction model is used to predict the recommendation score of the resource, and the resource to be recommended is determined based on the score.
It improves the accuracy of resource recommendations, enhances user experience, and ensures that recommended resources are more closely aligned with user interests.
Smart Images

Figure CN120277273B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of resource recommendation, and in particular to a resource recommendation method and device. Background Art
[0002] With the development of internet technology, resource recommendation technology has made rapid progress. Based on the mining of user behavior and insights into user interests and preferences, resource recommendation technology recommends valuable resources to users based on their interests and preferences. Resource recommendation technology can help users efficiently obtain the resources they need.
[0003] It is understandable that the accuracy of resource recommendation is one of the core indicators for measuring resource recommendation solutions. It reflects the degree of match between resource recommendation results and users' real needs or interests. The accuracy of resource recommendation directly affects user experience, and how to achieve more accurate resource recommendation is an urgent problem that needs to be solved. Summary of the Invention
[0004] In view of this, the present application provides a resource recommendation method and apparatus for recommending resources that are more closely matched with the user's interests to the user. The technical solution is as follows:
[0005] The first aspect of the present application provides a resource recommendation method, comprising:
[0006] Obtaining a user profile of the target user, wherein the user profile includes several user interest points and the number of clicks and exposures corresponding to the several user interest points;
[0007] By matching a plurality of resource interest points of each resource in the resource library with the plurality of user interest points, the number of clicks and the number of exposures corresponding to the plurality of resource interest points of each resource in the resource library are obtained;
[0008] Constructing interest point matching features corresponding to the resource interest points of each resource in the resource library according to the number of clicks and exposures respectively corresponding to the resource interest points of each resource in the resource library, wherein the interest point matching features include click-through rate and click-through rate confidence;
[0009] Predicting a recommendation score for each resource in the resource library based on interest point matching features corresponding to a plurality of resource interest points of each resource in the resource library;
[0010] According to the recommendation score of each resource in the resource library, a resource to be recommended is determined, and the resource to be recommended is recommended to the target user.
[0011] In a possible implementation, the matching of the plurality of resource interest points of each resource in the resource library with the plurality of user interest points to obtain the number of clicks and the number of exposures corresponding to the plurality of resource interest points of each resource in the resource library includes:
[0012] For each resource point of interest for each resource in the resource library:
[0013] Determining whether there is a user interest point among the plurality of user interest points that matches the resource interest point;
[0014] If there is a user interest point that matches the resource interest point, the number of clicks and exposures corresponding to the user interest point that matches the resource interest point are determined as the number of clicks and exposures corresponding to the resource interest point;
[0015] If there is no user interest point that matches the resource interest point, it is determined that the number of clicks and the number of exposures corresponding to the resource interest point are both 0.
[0016] In a possible implementation, the plurality of resource interest points of each resource in the resource library are resource interest points in multiple dimensions;
[0017] The method of obtaining the number of clicks and exposures corresponding to the plurality of resource interest points of each resource in the resource library by matching the plurality of resource interest points of each resource in the resource library with the plurality of user interest points includes:
[0018] For each resource in the resource library:
[0019] The number of clicks and exposures corresponding to the resource interest points in each dimension of the resource are obtained by matching the resource interest points in each dimension with the user interest points in the same dimension among the plurality of user interest points.
[0020] In a possible implementation, the plurality of resource interest points of each resource in the resource library are resource interest points in multiple dimensions;
[0021] The constructing, based on the number of clicks and exposures respectively corresponding to the several resource interest points of each resource in the resource library, the interest point matching features respectively corresponding to the several resource interest points of each resource in the resource library includes:
[0022] For each resource in the resource library, the resource interest points in each dimension:
[0023] Calculate the click-through rate of the resource interest point based on the number of clicks and exposures corresponding to the resource interest point;
[0024] The exposure times corresponding to the resource interest points are determined as the click rate confidence degrees corresponding to the resource interest points.
[0025] The dimension identifier of the dimension to which the resource interest point belongs, the click rate corresponding to the resource interest point, and the click rate confidence degree corresponding to the resource interest point are spliced to obtain the interest point matching feature corresponding to the resource interest point.
[0026] In a possible implementation, the method further includes:
[0027] For each resource in the resource library:
[0028] The interest point matching features corresponding to the resource interest points of the resource are input into a pre-trained resource score prediction model to obtain a recommended score of the resource output by the resource score prediction model;
[0029] The resource score prediction model is trained by using a plurality of training samples, and each training sample includes interest point matching features corresponding to resource interest points of a resource recommended to a user and a feedback result of the user on the recommended resource, where the feedback result is used to indicate whether the user clicks the recommended resource.
[0030] In a possible implementation, the method further includes:
[0031] The user is recommended a plurality of resources;
[0032] For each resource recommended to the user:
[0033] The click times and exposure times corresponding to the resource interest points of the resource are obtained by matching the resource interest points of the resource with a plurality of user interest points included in a user portrait of the user;
[0034] The interest point matching features corresponding to the resource interest points of the resource are constructed according to the click times and exposure times corresponding to the resource interest points of the resource;
[0035] The feedback result of the user on the resource is obtained;
[0036] The interest point matching features corresponding to the resource interest points of the resource and the feedback result of the user on the resource are combined to form a training sample.
[0037] In a possible implementation, the resource score prediction model is a factorization machine (FM) model, and the FM model is a model capable of capturing a three-order interaction relationship between features.
[0038] In a possible implementation, determining the resource to be recommended based on the recommendation score of each resource in the resource library includes:
[0039] Normalizing the recommendation score of each resource in the resource library to obtain a normalized score of each resource in the resource library;
[0040] Sort the resources in the resource library according to the normalized score of each resource in the resource library to obtain a resource sequence;
[0041] Determine the resources to be recommended according to the resource sequence.
[0042] In a possible implementation, sorting the resources in the resource library according to the normalized score of each resource in the resource library to obtain a resource sequence includes:
[0043] Determine the number of buckets N according to the preset accuracy;
[0044] Create N buckets according to the number of buckets N, wherein each bucket has a bucket number, and the bucket numbers of the N buckets range from 0 to N-1;
[0045] For each resource in the resource library, determine the bucket number corresponding to the resource based on the number of buckets N and the normalized score of the resource, and place the resource into the bucket with the corresponding bucket number;
[0046] Resources are taken out from N buckets in descending order of bucket numbers to obtain a resource sequence; alternatively, resources are taken out from N buckets in descending order of bucket numbers to obtain a resource sequence.
[0047] A second aspect of the present application provides a resource recommendation device, comprising: a user portrait acquisition module, an interest point matching module, an interest point matching feature construction module, a resource score prediction module, a to-be-recommended resource determination module, and a resource recommendation module;
[0048] The user portrait acquisition module is used to acquire a user portrait of the target user, wherein the user portrait includes a number of user interest points and the number of clicks and exposures corresponding to the plurality of user interest points;
[0049] The interest point matching module is used to obtain the number of clicks and exposures corresponding to the resource interest points of each resource in the resource library by matching the resource interest points of each resource in the resource library with the user interest points;
[0050] The interest point matching feature construction module is used to construct interest point matching features corresponding to several resource interest points of each resource in the resource library according to the number of clicks and exposures corresponding to the several resource interest points of each resource in the resource library, wherein the interest point matching features include click-through rate and click-through rate confidence;
[0051] The resource score prediction module is used to predict the recommendation score of each resource in the resource library based on the interest point matching features corresponding to the multiple resource interest points of each resource in the resource library;
[0052] The to-be-recommended resource determination module is configured to determine the to-be-recommended resource based on the recommendation score of each resource in the resource library;
[0053] The resource recommendation module is used to recommend the resource to be recommended to the target user.
[0054] With the help of the above technical solution, the resource recommendation method provided by the present application, after obtaining the user portrait of the target user, first obtains the number of clicks and exposures corresponding to the several resource interest points of each resource in the resource library by matching the several resource interest points of each resource in the resource library with the several user interest points in the user portrait of the target user, and then constructs an interest point matching feature including click-through rate and click-through rate confidence for each resource interest point of each resource in the resource library based on the number of clicks and exposures corresponding to the several resource interest points of each resource in the resource library, and then uses the interest point matching features corresponding to the several resource interest points of each resource in the resource library as a prediction basis to predict the recommendation score of each resource in the resource library, and finally determines the resources to be recommended based on the recommendation scores of each resource in the resource library, and recommends the resources to be recommended to the target user. Taking into account that the click-through rate corresponding to resource interest points sometimes cannot truly reflect the degree of match between resources and user interests, the resource recommendation method provided in this application constructs an interest point matching feature including click-through rate and click-through rate confidence for each resource interest point of each resource in the resource library, that is, the click-through rate confidence is introduced on the basis of the click-through rate. For the resources in the resource library, a more accurate recommendation score can be predicted based on the click-through rate and the click-through rate confidence. Furthermore, based on the more accurate recommendation score, resources that are more compatible with the target user's interests can be determined, thereby enabling accurate recommendation of resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are merely embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0056] Figure 1 A schematic diagram of a system architecture related to the present application;
[0057] Figure 2 A schematic diagram of a hardware structure of a terminal provided by an embodiment of the present application;
[0058] Figure 3 A schematic diagram of a hardware structure of a server provided by an embodiment of the present application;
[0059] Figure 4 A schematic diagram of a flow of a resource recommendation method provided by an embodiment of the present application;
[0060] Figure 5 A schematic diagram of a flow of obtaining, by an embodiment of the present application, a number of click times and a number of exposure times corresponding to a number of resource interest points of each resource in a resource library respectively, by matching the number of resource interest points of each resource in the resource library with a number of user interest points in a user portrait of a target user;
[0061] Figure 6 A schematic diagram of a flow of constructing, by an embodiment of the present application, interest point matching features corresponding to the number of resource interest points of each resource in the resource library respectively, according to the number of click times and the number of exposure times corresponding to the number of resource interest points of each resource in the resource library respectively;
[0062] Figure 7 A schematic diagram of a structure of a resource recommendation device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0063] The embodiments of the present application are described below in conjunction with the accompanying drawings. The terms used in the embodiment part of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.
[0064] The embodiments of the present application are described below in conjunction with the accompanying drawings. It is known to those skilled in the art that, as technology develops and new scenarios appear, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.
[0065] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0066] In one possible implementation, Figure 1 As shown, the system architecture involved in this application may include a terminal 101 and a server 102, and the terminal 101 may interact with the server 102 via a network (wired network or wireless network). The server 102 may include one or more servers ( Figure 1 The terminal sends the user's recommendation request to the server, and the server recommends resources to the user using the resource recommendation method provided in this application.
[0067] The above-mentioned terminal can be a mobile phone, a tablet computer, a wearable device, an in-vehicle device, a robot, 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 impose any restrictions on this.
[0068] Figure 2 A schematic diagram of an optional hardware structure of a terminal is shown.
[0069] refer to Figure 2 As shown, the terminal may include a radio frequency unit 210, a memory 220, an input unit 230, a display unit 240, a camera 250 (optional), an audio circuit 260 (optional), a speaker 261 (optional), a microphone 262 (optional), an earphone jack 263 (optional), a processor 270, an external interface 280, a power supply 290 and other components. Those skilled in the art will understand that Figure 2 This is merely an example of a terminal and does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown in the figure, or a combination of certain components, or different components.
[0070] The input unit 230 can be used to receive input digital or character information and generate key signal input related to the user settings and function control of the terminal. Specifically, the input unit 230 may include a touch screen 231 (optional) and / or other input devices 232. The touch screen 231 can collect user touch operations on or near it (for example, operations performed on or near the touch screen using a finger, joint, stylus, or any other suitable object) and drive corresponding connected devices according to a pre-set program. The touch screen can detect user touch actions on the touch screen, convert the touch actions into touch signals and transmit them to the processor 270, and can receive and execute commands sent by the processor 270; the touch signals include at least touch point coordinate information. The touch screen 231 can provide an input interface and an output interface between the terminal and the user. In addition, touch screens can be implemented using various types, such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch screen 231, the input unit 230 may also include other input devices. Specifically, the other input devices 232 may include, but are not limited to, one or more of a physical keyboard, function keys (such as a volume control button, a switch button, etc.), a trackball, a mouse, a joystick, and the like.
[0071] The display unit 240 may be used to display information input by a user or information provided to a user, various menus of the terminal, an interactive interface, file display, and / or playback of any multimedia file.
[0072] Memory 220 can be used to store instructions and data. Memory 220 primarily includes an instruction storage area and a data storage area. The data storage area can store various data, such as multimedia files and text. The instruction storage area can store software units such as the operating system, applications, and instructions required for at least one function, or subsets or extensions thereof. It may also include non-volatile random access memory (RAM). It provides processor 270 with management functions for the hardware, software, and data resources within the computing and processing device, supporting control software and applications. It is also used to store multimedia files and running programs and applications.
[0073] The processor 270 is the terminal's control center, connecting all components of the terminal using various interfaces and circuits. By executing instructions stored in memory 220 and accessing data stored in memory 220, it performs various terminal functions and processes data, thereby providing overall control of the terminal. Optionally, the processor 270 may include one or more processing units. Preferably, the processor 270 integrates an application processor and a modem processor, with the application processor primarily processing the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into the processor 270. In some embodiments, the processor and memory may be implemented on a single chip; in other embodiments, they may be implemented on separate chips. The processor 270 may also generate corresponding operational control signals and send them to corresponding components of the computing and processing device. It may also read and process data in the software, particularly the data and programs in memory 220, to enable the various functional modules therein to perform their corresponding functions, thereby controlling the corresponding components to operate as instructed.
[0074] The memory 220 may be used to store software codes related to the resource recommendation method, and the processor 270 may execute the software codes in the memory 220 or schedule other units (such as the input unit 230 and the display unit 240) to implement corresponding functions.
[0075] The RF unit 210 (optional) can be used to send and receive information or receive and send signals during a call. For example, it receives downlink information from the base station and passes it to the processor 270 for processing; in addition, it sends uplink data to the base station. Typically, the RF unit 210 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, etc. Furthermore, the RF unit 210 can communicate with network devices and other devices via wireless communication. This wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile Communications (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.
[0076] In the embodiment of the present application, the radio frequency unit 210 can send data to other devices and can also receive data sent by other devices. It should be understood that the radio frequency unit 210 is optional and can be replaced by other communication interfaces, such as a network port.
[0077] The terminal also includes a power supply 290 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 270 through a power management system, thereby implementing functions such as charging, discharging, and power consumption management through the power management system.
[0078] The terminal further includes an external interface 280 , which may be a standard Micro USB interface or a multi-pin connector, and may be used to connect the terminal to other devices for communication, or to connect a charger for charging the terminal.
[0079] Although not shown, the terminal may further include a flashlight, a wireless fidelity (WiFi) module, a Bluetooth module, sensors with different functions, etc., which will not be described in detail here.
[0080] Next, the product form of the above server will be described.
[0081] Figure 3 A structural diagram of the above server is provided, such as Figure 3 As shown, the server may include a bus 301 , a processing device 302 , a communication interface 303 , and a storage device 304 . The processing device 302 , the storage device 304 , and the communication interface 303 communicate with each other via the bus 301 .
[0082] The bus 301 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.
[0083] The processing device 302 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).
[0084] The storage device 304 may include volatile memory, such as random access memory (RAM). The storage device 304 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0085] The storage device 304 may be used to store software codes related to the resource recommendation method. The processing device 302 may call the software codes stored in the storage device 304 or schedule other units to implement corresponding functions.
[0086] The processor 270 in the above-mentioned terminal and the processing device 302 in the server can be a hardware circuit (such as an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a general-purpose processor, a digital signal processor (DSP), a microprocessor or a microcontroller, etc.), or a combination of these hardware circuits. For example, the processing device can be a hardware system with an instruction execution function, such as a CPU, DSP, etc., or a hardware system without an instruction execution function, such as an ASIC, FPGA, etc., or a combination of the above-mentioned hardware systems without an instruction execution function and hardware systems with an instruction execution function.
[0087] There are currently some resource recommendation methods. Among them, the more typical resource recommendation method is to pre-establish the association relationship between points of interest and resources in the resource library, obtain the user portrait of the target user, and the user portrait includes several user points of interest and the number of clicks and exposures corresponding to several user points of interest. According to the number of clicks and exposures corresponding to several user points of interest in the user portrait, the click-through rate corresponding to each user point of interest in the user portrait is calculated to obtain the K points of interest with the highest click-through rate, and obtain the resources associated with the K points of interest with the highest click-through rate and recommend them to the target user.
[0088] The above scheme recommends resources based on the click-through rates corresponding to the points of interest. That is, the existing resource recommendation scheme only considers the click-through rate, which cannot achieve accurate recommendation. For example, the number of exposures and clicks corresponding to user interest point A are 2 times and 1 time, respectively, and the number of exposures and clicks corresponding to user interest point B are 100 times and 50 times, respectively. Although the click-through rates corresponding to user interest point A and the click-through rates corresponding to user interest point B are both 50%, the confidence level of the click-through rate corresponding to user interest point B is higher because the click on user interest point A may be accidental. Therefore, resources involving user interest point B should be recommended first.
[0089] In addition, user portraits usually include user interests in multiple dimensions, such as classification, topic, and keyword dimensions. When recommending resources, existing resource recommendation methods recommend resources associated with the K user interests with the highest click-through rates in the classification dimension to the target user. However, only using interest points in a single dimension to match recalled resources will result in low recall accuracy.
[0090] In response to the problems existing in existing resource recommendation methods, this application proposes a resource recommendation method with high recommendation accuracy. The resource recommendation method provided by this application is introduced through the following embodiments.
[0091] See also Figure 4 , which shows a flow chart of a resource recommendation method provided in an embodiment of the present application, and the resource recommendation method may include:
[0092] Step S401: Obtain a user profile of the target user.
[0093] In this embodiment, the user portrait of the target user includes several user interest points and the number of clicks and exposures corresponding to the several user interest points. The several user interest points in the user portrait of the target user are the several interest points of the target user.
[0094] It should be noted that the user interest points in the user portrait of the target user are resource interest points of resources exposed to the target user. For example, a resource interest point of a resource includes interest point A and interest point B, and if the resource is exposed to the target user, interest point A and interest point B will be recorded in the user portrait of the target user.
[0095] wherein the exposure times corresponding to any user interest point in the user portrait of the target user are the number of times of exposing resources related to the user interest point to the target user, and the click times corresponding to any user interest point in the user portrait of the target user are the number of times of clicking by the target user on resources related to the user interest point.
[0096] Step S402: Obtain the click times and exposure times corresponding to the resource interest points of each resource in the resource library by matching the resource interest points of each resource in the resource library with the user interest points in the user portrait of the target user.
[0097] In this embodiment, for any resource interest point of any resource in the resource library, the exposure times corresponding to the resource interest point are the number of times of exposing resources related to the resource interest point to the target user, and the click times corresponding to the resource interest point are the number of times of clicking by the target user on resources related to the resource interest point.
[0098] Step S403: Construct the interest point matching features corresponding to the resource interest points of each resource in the resource library according to the click times and exposure times corresponding to the resource interest points of each resource in the resource library.
[0099] wherein the interest point matching features corresponding to any resource interest point include the click rate and the click rate confidence corresponding to the resource interest point, and the click rate corresponding to a resource interest point is the ratio of the click times corresponding to the resource interest point to the exposure times corresponding to the resource interest point, i.e. click rate = click times / exposure times.
[0100] In the process of resource recommendation, since the recommendation effect considering only the click rate is poor, the click rate confidence is introduced on the basis of the click rate in this embodiment, and the introduction of the click rate confidence can improve the accuracy of resource recommendation.
[0101] Step S404: Predict the recommendation scores of each resource in the resource library according to the interest point matching features corresponding to the resource interest points of each resource in the resource library.
[0102] In a possible implementation, a pre-trained resource score prediction model can be used to predict the recommendation scores of each resource in the resource library according to the interest point matching features corresponding to the resource interest points of each resource in the resource library.
[0103] The recommendation score of any resource in the resource library reflects the possibility of the target user clicking the resource. The higher the recommendation score of the resource, the greater the possibility of the target user clicking the resource. Conversely, the lower the score of the resource, the smaller the possibility of the target user clicking the resource.
[0104] Step S405: According to the recommendation score of each resource in the resource library, determine the resource to be recommended, and recommend the resource to be recommended to the target user.
[0105] Specifically, the resources in the resource library can be sorted according to the recommendation score of each resource in the resource library to obtain a resource sequence, and then the resource to be recommended is determined according to the resource sequence, and finally the resource to be recommended is recommended to the target user.
[0106] In a possible implementation, the user portrait of the target user can include user interest points in multiple dimensions (for example, user interest points in a classification dimension, user interest points in a theme dimension, user interest points in a keyword dimension, etc.), and the resource interest points of each resource in the resource library can also be resource interest points in multiple dimensions.
[0107] Therefore, for each resource in the resource library, the resource interest points of the resource in each dimension can be matched with the user interest points in the same dimension in the user portrait of the target user to obtain the number of clicks and the number of exposures corresponding to the resource interest points of the resource in each dimension. After obtaining the number of clicks and the number of exposures corresponding to the resource interest points of each resource in the resource library in each dimension, for each resource in the resource library, the interest point matching feature corresponding to the resource interest points of the resource in each dimension can be determined according to the number of clicks and the number of exposures corresponding to the resource interest points of the resource in each dimension. After obtaining the interest point matching feature corresponding to the resource interest points of each resource in the resource library in each dimension, for each resource in the resource library, the recommendation score of the resource can be predicted according to the interest point matching feature corresponding to the resource interest points of the resource in each dimension. After obtaining the recommendation score of each resource in the resource library, the resource to be recommended can be determined according to the recommendation score of each resource in the resource library, and then the resource to be recommended is recommended to the target user.
[0108] The resource recommendation method provided in the embodiments of the present application, after obtaining the user portrait of the target user, first matches the plurality of resource interest points of each resource in the resource library with the plurality of user interest points in the user portrait of the target user, to obtain the click times and exposure times corresponding to the plurality of resource interest points of each resource in the resource library, then constructs the interest point matching feature containing the click rate and the click rate confidence for each resource interest point of each resource in the resource library according to the click times and exposure times corresponding to the plurality of resource interest points of each resource in the resource library, then takes the interest point matching features corresponding to the plurality of resource interest points of each resource in the resource library as the prediction basis to predict the recommendation scores of each resource in the resource library, and finally determines the to-be-recommended resources according to the recommendation scores of the resources in the resource library, and recommends the to-be-recommended resources to the target user. Considering that the click rate corresponding to the resource interest point cannot truly reflect the matching degree of the resource and the user interest at some time, the resource recommendation method provided in the embodiments of the present application constructs the interest point matching feature containing the click rate and the click rate confidence for each resource interest point of each resource in the resource library, that is, the click rate confidence is introduced on the basis of the click rate, and the recommendation score of the resource can be predicted more accurately on the basis of the click rate combined with the click rate confidence, and then the resource more matched with the interest of the target user can be determined according to the more accurate recommendation score, so that the accurate recommendation of the resource can be realized. In addition, the resource recommendation method provided in the embodiments of the present application can construct the interest point matching feature for the resource interest points of the resource in multiple dimensions, and predict the recommendation score according to the interest point matching features corresponding to the resource interest points in multiple dimensions, and then determine the to-be-recommended resources and recommend them according to the recommendation scores of the resources. It can be seen that the resource recommendation method provided in the embodiments of the present application does not perform resource matching for the interest points in a single dimension, but performs resource matching for the interest points in multiple dimensions, so that the recommendation accuracy of the resource can be improved, and the user experience can be improved.
[0109] In another embodiment of the present application, the specific implementation process of "step S402: obtaining the click times and exposure times corresponding to the plurality of resource interest points of each resource in the resource library by matching the plurality of resource interest points of each resource in the resource library with the plurality of user interest points in the user portrait of the target user" in the above embodiment is introduced.
[0110] Please refer to Figure 5 , which shows a flowchart of obtaining the click times and exposure times corresponding to the plurality of resource interest points of each resource in the resource library by matching the plurality of resource interest points of each resource in the resource library with the plurality of user interest points in the user portrait of the target user, which can include:
[0111] Step S501: For each resource interest point of each resource in the resource library, it is determined whether there is a user interest point in the user portrait of the target user that matches the resource interest point.
[0112] For example, the resources in the resource library are articles, and a resource interest point of a resource in the resource library is "science and technology". It is assumed that the user portrait of the target user contains the user interest point of "science and technology". It is determined that there is a user interest point in the user portrait of the target user that matches the resource interest point.
[0113] Step S502a: If there is a user interest point in the user portrait of the target user that matches the resource interest point, the click count and the exposure count corresponding to the user interest point that matches the resource interest point are determined as the click count and the exposure count corresponding to the resource interest point.
[0114] For example, the resources in the resource library are articles, and a resource interest point of a resource in the resource library is "science and technology". It is assumed that the user portrait of the target user contains the user interest point of "science and technology". It is determined that there is a user interest point in the user portrait of the target user that matches the resource interest point.
[0115] Step S502b: If there is no user interest point in the user portrait of the target user that matches the resource interest point, it is determined that the click count and the exposure count corresponding to the resource interest point are both 0.
[0116] If there is no user interest point in the user portrait of the target user that matches the resource interest point, it is determined that the resource related to the resource interest point has not been exposed to the target user. Therefore, for the target user, the click count and the exposure count corresponding to the resource interest point are both 0.
[0117] The above embodiment mentions that the user portrait of the target user can include user interest points in multiple dimensions, and the resource interest points of each resource in the resource library can also be resource interest points in multiple dimensions. Therefore, the click count and the exposure count corresponding to each resource interest point of each resource in the resource library in each dimension can be obtained through the above process.
[0118] In another embodiment of the present application, the specific implementation process of "Step S403: constructing the interest point matching features corresponding to the resource interest points of each resource in the resource library according to the click counts and the exposure counts corresponding to the resource interest points of each resource in the resource library" in the above embodiment is introduced.
[0119] Please refer to Figure 6, shows a flow chart of constructing interest point matching features corresponding to several resource interest points of each resource in the resource library based on the number of clicks and exposures corresponding to the several resource interest points of each resource in the resource library, which may include:
[0120] Step S601: for each resource interest point in each dimension of each resource in the resource library, calculate the click rate corresponding to the resource interest point according to the number of clicks and exposures corresponding to the resource interest point.
[0121] The click-through rate corresponding to the resource interest point is the ratio of the number of clicks corresponding to the resource interest point to the number of exposures corresponding to the resource interest point.
[0122] Step S602: Determine the number of exposures corresponding to the resource interest point as the click-through rate confidence level corresponding to the resource interest point.
[0123] In this embodiment, the number of exposures corresponding to the resource interest point is used as the click-through rate confidence level corresponding to the resource interest point.
[0124] After obtaining the click-through rate and click-through rate confidence, the obtained click-through rate and click-through rate confidence can be binned to obtain the final click-through rate and click-through rate confidence. Binning can reduce outliers and reduce data complexity.
[0125] Step S603: The dimension identifier of the dimension to which the resource interest point belongs, the click rate corresponding to the resource interest point, and the click rate confidence corresponding to the resource interest point are concatenated to obtain the interest point matching feature corresponding to the resource interest point.
[0126] The dimension identifier may be a dimension name, such as "category".
[0127] Through the above process, the point of interest matching features corresponding to each resource point of interest in each dimension of each resource in the resource library can be obtained.
[0128] In another embodiment of the present application, the specific implementation process of "Step S404: predicting the recommendation score of each resource in the resource library based on the interest point matching features corresponding to several resource interest points of each resource in the resource library" in the above embodiment is introduced.
[0129] In one possible implementation, the process of predicting the recommendation score of each resource in the resource library based on the interest point matching features corresponding to several resource interest points of each resource in the resource library may include: for each resource in the resource library, inputting the interest point matching features corresponding to several resource interest points of the resource (the interest point matching features corresponding to the resource interest points under each dimension) into a pre-trained resource score prediction model to obtain the recommendation score of the resource output by the resource score prediction model.
[0130] The resource score prediction model in this embodiment is trained using training samples in a training data set, wherein the training data set includes multiple training samples, and any training sample includes interest point matching features corresponding to several resource interest points of a resource recommended to the user, as well as the user's feedback result on the recommended resource. The feedback result is used to indicate whether the user clicks on the recommended resource. Exemplarily, the user's feedback result on a recommended resource is "1" or "0", "1" indicates that the user clicks on the recommended resource, and "0" indicates that the user does not click on the recommended resource.
[0131] The process of obtaining training samples in the training data set includes:
[0132] Step a1: Recommend s resources to the user.
[0133] Step a2: For each resource recommended to the user, the number of clicks and exposures corresponding to the resource interest points are obtained by matching the resource interest points with the user interest points included in the user profile.
[0134] Step a3: construct the interest point matching features corresponding to the resource according to the number of clicks and exposures corresponding to the resource interest points.
[0135] The specific implementation process of step a2 and step a3 can be found in the relevant parts of the above embodiment, and will not be described in detail in this embodiment.
[0136] Step a4: Obtain user feedback on the resource.
[0137] Step a5: compose a training sample by combining the interest point matching features corresponding to the plurality of interest points of the resource and the user's feedback results on the resource.
[0138] Through the above process, s training samples can be obtained. Repeating steps a1 to a5 multiple times can obtain a larger number of training samples.
[0139] Next, we introduce the process of training the resource score prediction model using the training samples in the training dataset.
[0140] The process of training a resource score prediction model using training samples in a training dataset may include:
[0141] Step b1: Obtain training samples from the training data set.
[0142] Step b2: Input the interest point matching features in the acquired training samples into the resource score prediction model to obtain the recommendation score predicted by the resource score prediction model.
[0143] The interest point matching features in the obtained training samples (i.e., the interest point matching features corresponding to several resource interest points of a resource recommended to the user) are input into the resource score prediction model. The resource score prediction model predicts the recommendation score of the resource based on the input interest point matching features and outputs it.
[0144] Step b3: Determine the prediction loss of the resource score prediction model based on the recommendation score predicted by the resource score prediction model and the user feedback results on the resource in the obtained training samples.
[0145] The prediction loss of the resource score prediction model can adopt cross entropy loss. The calculation method of cross entropy loss is an existing technology and will not be described in detail in this embodiment.
[0146] Step b4: update the parameters of the resource score prediction model according to the prediction loss of the resource score prediction model.
[0147] Using the training samples in the training data set, the resource score prediction model is iteratively trained multiple times according to the process of steps b1 to b4 above until the training end conditions are met.
[0148] In one possible implementation, the resource score prediction model can be a factorization machine FM model, and the FM model can be an existing FM model that can capture the second-order interaction relationship between features. In order to obtain better recommendation effects, this application proposes an FM model that can capture the third-order interaction relationship between features. This application refers to it as the FM3 model. Compared with the FM model that can capture the second-order interaction relationship between features, the FM3 model has higher accuracy and better performance.
[0149] The FM3 model can be expressed as:
[0150] (1).
[0151] in, is the global bias term, 、 and Characterized by Characterized by The corresponding weight, Characterized by The hidden vector of Characterized by The hidden vector of Characterized by The hidden vector of is the number of features.
[0152] The third-order crossover part of the FM3 model is calculated as follows:
[0153] (2).
[0154] in, is the dimension of the latent vector v, Characterized by The hidden vector The fth parameter of Characterized by The hidden vector The fth parameter of Characterized by The hidden vector The fth parameter of .
[0155] The combinations of the three variables i, j, and l are:
[0156] (3);
[0157] (4);
[0158] (5).
[0159] For (4.1), (4.2), (4.3), (4.4), (4.5), and (4.6), The results are all equal.
[0160] For (5.1), (5.2), (5.3), (5.4), (5.5), and (5.6), The results are all equal.
[0161] Therefore, the third order is calculated as follows:
[0162] (6).
[0163] According to formula (6), the target result is:
[0164] (7).
[0165] The formula optimization is as follows:
[0166] (8);
[0167] (9).
[0168] (10).
[0169] (11);
[0170] (12).
[0171] In another embodiment of the present application, the specific implementation process of "step S405: determining the resource to be recommended according to the recommendation score of each resource in the resource library, and recommending the resource to be recommended to the target user" in the above embodiment is introduced.
[0172] The process of determining the recommended resources based on the recommendation score of each resource in the resource library and recommending the recommended resources to the target users may include:
[0173] Step c1: normalize the recommendation score of each resource in the resource library to obtain a normalized score of each resource in the resource library.
[0174] Specifically, the maximum recommendation score is obtained from the recommendation scores of each resource in the resource library. max and the minimum recommendation score min , normalize the recommendation score of each resource in the resource library as follows:
[0175] y=(x-score min ) / (score max -score min ) (13).
[0176] Where x represents the recommendation score of a resource in the resource library, and y represents the normalized score of the resource.
[0177] Step c2: Sort the resources in the resource library according to the normalized scores of the resources in the resource library to obtain a resource sequence.
[0178] There are multiple ways to implement sorting the resources in the resource library according to the normalized scores of the resources in the resource library. This embodiment provides the following two implementation methods.
[0179] The first implementation method is to sort the resources in the resource library in descending order of scores (or in descending order of scores).
[0180] Considering that the sorting speed of the first implementation is relatively slow (assuming there are n resources in the resource library, the time complexity of the resource sorting method is o(nlog(n))), this embodiment provides the following second implementation.
[0181] The second implementation method: Determine the number of buckets N based on the preset precision; create N buckets based on the number of buckets N, each bucket has a bucket number, and the bucket numbers of the N buckets range from 0 to N-1; for each resource in the resource library, determine the bucket number corresponding to the resource based on the number of buckets N and the normalized score of the resource, and place the resource in the bucket with the corresponding bucket number; take out resources from the N buckets in order from high to low bucket numbers (or in order from low to high bucket numbers) to obtain a resource sequence.
[0182] In one possible implementation, a precision may be selected from several predefined precisions (such as 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001) as the preset precision according to actual needs. Of course, a precision may also be preset according to actual needs.
[0183] If the preset precision is represented by a, the number of buckets N is 1 / a. After determining the number of buckets N, create N buckets with bucket numbers 0, 1, 2, ..., N-1. Then, the bucket number corresponding to the resource is determined based on the number of buckets N and the normalized score of the resources in the resource library. Specifically, the bucket number M corresponding to a resource can be calculated as follows:
[0184] M=int(y×N) (14).
[0185] After determining the bucket number corresponding to a resource, the resource is placed into the bucket with the corresponding bucket number. Next, resources can be retrieved from each bucket in descending order, or in descending order, to obtain a resource sequence. In one possible implementation, the resources retrieved from the bucket can be placed into a result set array. It should be noted that to improve sorting speed, the resources within the bucket do not need to be sorted.
[0186] For example, if the preset precision is 0.1, the number of buckets is 10, and the bucket numbers of the 10 buckets are 0, 1, 2, 3, 4, ... 9.
[0187] Assume that the normalized score of a resource is 0.86, and the bucket number corresponding to the resource is int(0.86×10)=8, then put the resource into bucket 8. In a similar way, each resource in the resource library can be put into 10 buckets, and then the resources can be taken out from each bucket in descending order and put into the result set array. Specifically, first take out the resources in bucket 9 one by one and put them into the result set array, then take out the resources in bucket 8 one by one and put them into the result set array, and then take out the resources in bucket 7 one by one and put them into the result set array. Take them out one by one and put them into the result set array, ..., finally take out the resources in bucket 0 one by one and put them into the result set array. Of course, you can also take out resources from each bucket in order from low to high and put them into the result set array. Specifically, first take out the resources in bucket 0 one by one and put them into the result set array, then take out the resources in bucket 1 one by one and put them into the result set array, then take out the resources in bucket 2 one by one and put them into the result set array, ..., finally take out the resources in bucket 9 one by one and put them into the result set array.
[0188] The second sorting method mentioned above is faster. Assuming that there are n resources in the resource library, the time complexity of the second sorting method mentioned above is o(n).
[0189] Step c3: Determine the resources to be recommended based on the resource sequence, and recommend the resources to be recommended to the target user.
[0190] When sorting resources, if resources are taken out from each bucket in descending order of bucket number, the top K resources (i.e., the first K resources) in the resource sequence will be determined as the resources to be recommended. If resources are taken out from each bucket in descending order of bucket number, the last K resources in the resource sequence will be determined as the resources to be recommended. K is an integer greater than or equal to 1, and the specific value of K can be set according to the actual scenario.
[0191] After the resources to be recommended are determined, they can be recommended to the target users.
[0192] The above describes the resource recommendation method provided by the embodiment of the present application. The following describes an apparatus for implementing the resource recommendation method.
[0193] See also Figure 7 , Figure 7 A structural diagram of a resource recommendation device provided in an embodiment of the present application, the resource recommendation device may include: a user portrait acquisition module 701, an interest point matching module 702, an interest point matching feature construction module 703, a resource score prediction module 704, a resource to be recommended determination module 705 and a resource recommendation module 706.
[0194] The user portrait acquisition module 701 is used to obtain the user portrait of the target user, wherein the user portrait includes a number of user interest points and the number of clicks and exposures corresponding to the user interest points.
[0195] The interest point matching module 702 is used to obtain the number of clicks and exposures corresponding to the resource interest points of each resource in the resource library by matching the resource interest points of each resource in the resource library with the user interest points.
[0196] The interest point matching feature construction module 703 is used to construct interest point matching features corresponding to several resource interest points of each resource in the resource library based on the number of clicks and exposures corresponding to several resource interest points of each resource in the resource library, wherein the interest point matching features include click-through rate and click-through rate confidence.
[0197] The resource score prediction module 704 is configured to predict a recommendation score for each resource in the resource library based on interest point matching features corresponding to a plurality of resource interest points of each resource in the resource library.
[0198] The resource determination module 705 is configured to determine the resource to be recommended based on the recommendation score of each resource in the resource library.
[0199] The resource recommendation module 706 is used to recommend the resources to be recommended to the target user.
[0200] In one possible implementation, when the interest point matching module 702 obtains the number of clicks and exposures corresponding to the resource interest points of each resource in the resource library by matching the resource interest points of each resource in the resource library with the user interest points, the module is specifically configured to:
[0201] For each resource point of interest for each resource in the resource library:
[0202] Determining whether there is a user interest point among the plurality of user interest points that matches the resource interest point;
[0203] If there is a user interest point that matches the resource interest point, the number of clicks and exposures corresponding to the user interest point that matches the resource interest point are determined as the number of clicks and exposures corresponding to the resource interest point;
[0204] If there is no user interest point that matches the resource interest point, it is determined that the number of clicks and the number of exposures corresponding to the resource interest point are both 0.
[0205] In one possible implementation, the multiple resource interest points of each resource in the resource library are resource interest points in multiple dimensions. When the interest point matching module 702 matches the multiple resource interest points of each resource in the resource library with the multiple user interest points to obtain the number of clicks and exposures corresponding to the multiple resource interest points of each resource in the resource library, it is specifically configured to:
[0206] For each resource in the resource library:
[0207] By matching the resource interest points of the resource in each dimension with the user interest points in the same dimension among several user interest points, the number of clicks and exposures corresponding to the interest points of the resource in each dimension can be obtained.
[0208] In one possible implementation, the interest point matching feature construction module 703 is specifically configured to:
[0209] For each resource in the resource library, the resource interest points in each dimension:
[0210] Calculate the click-through rate of the resource interest point based on the number of clicks and exposures corresponding to the resource interest point;
[0211] Determine the number of exposures corresponding to the resource interest point as the click-through rate confidence level corresponding to the resource interest point;
[0212] The dimension identifier of the dimension to which the resource interest point belongs, the click rate corresponding to the resource interest point, and the click rate confidence corresponding to the resource interest point are spliced to obtain the interest point matching feature corresponding to the resource interest point.
[0213] In one possible implementation, the resource score prediction module 704 is specifically configured to:
[0214] For each resource in the resource library:
[0215] Inputting the interest point matching features corresponding to the several resource interest points of the resource into a pre-trained resource score prediction model to obtain a recommendation score for the resource output by the resource score prediction model;
[0216] Among them, the resource score prediction model is trained using several training samples. Any training sample includes the point of interest matching features corresponding to several resource interest points of a resource recommended to the user, as well as the user's feedback results on the recommended resources. The feedback results are used to indicate whether the user clicks on the recommended resources.
[0217] In a possible implementation, the resource recommendation device may further include a training data acquisition module. The training data acquisition module is configured to acquire a number of training samples.
[0218] When acquiring a number of training samples, the training data acquisition module is specifically used to:
[0219] Recommend several resources to users;
[0220] For each resource recommended to the user:
[0221] By matching several resource interest points of the resource with several user interest points included in the user profile of the user, the number of clicks and exposures corresponding to the several resource interest points of the resource are obtained;
[0222] Constructing interest point matching features corresponding to the resource interest points of the resource according to the number of clicks and exposures corresponding to the resource interest points of the resource;
[0223] The interest point matching features corresponding to several resource interest points of the resource and the user's feedback results on the resource are combined into a training sample.
[0224] In a possible implementation, the resource score prediction model is a factorization machine (FM) model, which is a model capable of capturing third-order interaction relationships between features.
[0225] In a possible implementation, when determining the resource to be recommended based on the recommendation score of each resource in the resource library, the to-be-recommended resource determination module 705 is specifically configured to:
[0226] Normalize the recommendation score of each resource in the resource library to obtain the normalized score of each resource in the resource library;
[0227] Sort the resources in the resource library according to their normalized scores to obtain a resource sequence;
[0228] Determine the resources to be recommended based on the resource sequence.
[0229] In a possible implementation, when the to-be-recommended resource determination module 705 sorts the resources in the resource library according to the normalized scores of the resources in the resource library to obtain a resource sequence, it is specifically configured to:
[0230] Determine the number of buckets N according to the preset accuracy;
[0231] Create N buckets according to the number of buckets N, where each bucket has a bucket number, and the bucket numbers of the N buckets range from 0 to N-1;
[0232] For each resource in the resource library, determine the bucket number corresponding to the resource based on the number of buckets N and the normalized score of the resource, and place the resource into the bucket with the corresponding bucket number;
[0233] Resources are taken out from N buckets in descending order of bucket numbers to obtain a resource sequence; alternatively, resources are taken out from N buckets in descending order of bucket numbers to obtain a resource sequence.
[0234] The resource recommendation device provided in the embodiment of the present application has a high resource recommendation accuracy rate and a good user experience.
[0235] An embodiment of the present application further provides an electronic device, which may include: at least one processor and a memory connected to the processor.
[0236] The memory is used to store the computer program, and the processor is used to execute the computer program, so that the electronic device can implement the steps of the resource recommendation method provided in the above embodiment.
[0237] An embodiment of the present application also provides a computer storage medium, which carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement the steps of the resource recommendation method provided in the above embodiment.
[0238] An embodiment of the present application also provides a computer program product, including computer-readable instructions. When the computer-readable instructions are executed on an electronic device, the electronic device implements the steps of the resource recommendation method provided in the above embodiment.
[0239] It should also be noted that the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed across multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment. In addition, in the drawings of the device embodiments provided in this application, the connection relationship between the modules indicates that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.
[0240] 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 can also be implemented by special hardware including application-specific integrated circuits, special CPUs, special memories, special components, etc. In general, all functions performed by computer programs can be easily implemented with corresponding hardware, and the specific hardware structures used to implement the same function can also be diverse, such as analog circuits, digital circuits or special circuits, etc. However, for the present application, software program implementation is a better implementation method in most cases. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer's floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., and includes a number of instructions to enable a computer device (which can be a personal computer, training equipment, or network equipment, etc.) to execute the methods described in each embodiment of the present application.
[0241] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0242] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, a computer, a training device or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website, a computer, a training device or a data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium can be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).
Claims
1. A resource recommendation method, characterized in that: include: Obtaining a user profile of the target user, wherein the user profile includes several user interest points and the number of clicks and exposures corresponding to the several user interest points; By matching a plurality of resource interest points of each resource in the resource library with the plurality of user interest points, the number of clicks and the number of exposures corresponding to the plurality of resource interest points of each resource in the resource library are obtained, where the plurality of resource interest points of each resource in the resource library are resource interest points under multiple dimensions; Calculate the click-through rate corresponding to the resource interest point based on the number of clicks and exposures corresponding to the resource interest point in each dimension of each resource in the resource library; determine the number of exposures corresponding to the resource interest point as the click-through rate confidence corresponding to the resource interest point; perform binning processing on the click-through rate and click-through rate confidence, and concatenate the dimension identifier of the dimension to which the resource interest point belongs, the click-through rate corresponding to the resource interest point after binning, and the click-through rate confidence corresponding to the resource interest point after binning to obtain the interest point matching feature corresponding to the resource interest point; Inputting the point-of-interest matching features corresponding to the multiple points-of-interest of each resource in the resource library into a pre-trained factorization machine (FM) model to obtain a recommendation score for the resource output by the FM model; wherein the FM model is trained using multiple training samples, each of which includes the point-of-interest matching features corresponding to the multiple points-of-interest of a resource recommended to the user, and the user's feedback on the recommended resource, the feedback result being used to indicate whether the user clicked on the recommended resource; and the FM model is a model capable of capturing third-order interactive relationships between features; According to the recommendation score of each resource in the resource library, a resource to be recommended is determined, and the resource to be recommended is recommended to the target user.
2. The resource recommendation method according to claim 1, characterized in that: The method of obtaining the number of clicks and exposures corresponding to the plurality of resource interest points of each resource in the resource library by matching the plurality of resource interest points of each resource in the resource library with the plurality of user interest points includes: For each resource point of interest for each resource in the resource library: Determining whether there is a user interest point among the plurality of user interest points that matches the resource interest point; If there is a user interest point that matches the resource interest point, the number of clicks and exposures corresponding to the user interest point that matches the resource interest point are determined as the number of clicks and exposures corresponding to the resource interest point; If there is no user interest point that matches the resource interest point, it is determined that the number of clicks and the number of exposures corresponding to the resource interest point are both 0.
3. The resource recommendation method according to claim 1, characterized in that: The method of obtaining the number of clicks and exposures corresponding to the plurality of resource interest points of each resource in the resource library by matching the plurality of resource interest points of each resource in the resource library with the plurality of user interest points includes: For each resource in the resource library: The number of clicks and exposures corresponding to the resource interest points in each dimension of the resource are obtained by matching the resource interest points in each dimension with the user interest points in the same dimension among the plurality of user interest points.
4. The resource recommendation method according to claim 1, characterized in that: The process of obtaining the plurality of training samples includes: Recommend several resources to users; For each resource recommended to the user: By matching several resource interest points of the resource with several user interest points included in the user profile of the user, the number of clicks and exposures corresponding to the several resource interest points of the resource are obtained; Constructing interest point matching features corresponding to the resource interest points of the resource according to the number of clicks and exposures corresponding to the resource interest points of the resource; Obtain user feedback on the resource; The interest point matching features corresponding to several resource interest points of the resource and the user's feedback results on the resource are combined into a training sample.
5. The resource recommendation method according to claim 1, characterized in that: Determining the resource to be recommended based on the recommendation score of each resource in the resource library includes: Normalizing the recommendation score of each resource in the resource library to obtain a normalized score of each resource in the resource library; Sort the resources in the resource library according to the normalized score of each resource in the resource library to obtain a resource sequence; Determine the resources to be recommended according to the resource sequence.
6. The resource recommendation method according to claim 5, characterized in that: The step of sorting the resources in the resource library according to the normalized scores of the resources in the resource library to obtain a resource sequence includes: Determine the number of buckets N according to the preset accuracy; Create N buckets according to the number of buckets N, wherein each bucket has a bucket number, and the bucket numbers of the N buckets range from 0 to N-1; For each resource in the resource library, determine the bucket number corresponding to the resource based on the number of buckets N and the normalized score of the resource, and place the resource into the bucket with the corresponding bucket number; Resources are taken out from N buckets in descending order of bucket numbers to obtain a resource sequence; alternatively, resources are taken out from N buckets in descending order of bucket numbers to obtain a resource sequence.
7. A resource recommendation device, characterized in that: include: User portrait acquisition module, interest point matching module, interest point matching feature construction module, resource score prediction module, resource determination module to be recommended, and resource recommendation module; The user portrait acquisition module is used to acquire a user portrait of the target user, wherein the user portrait includes a number of user interest points and the number of clicks and exposures corresponding to the plurality of user interest points; The interest point matching module is used to obtain the number of clicks and exposures corresponding to the resource interest points of each resource in the resource library by matching the resource interest points of each resource in the resource library with the user interest points, where the resource interest points of each resource in the resource library are resource interest points under multiple dimensions; The point of interest matching feature construction module is used to calculate the click-through rate corresponding to the resource point of interest based on the number of clicks and exposures corresponding to the resource point of interest in each dimension of each resource in the resource library; determine the number of exposures corresponding to the resource point of interest as the click-through rate confidence corresponding to the resource point of interest; bin the click-through rate and click-through rate confidence, and splice the dimension identifier of the dimension to which the resource point of interest belongs, the click-through rate corresponding to the resource point of interest after binning, and the click-through rate confidence corresponding to the resource point of interest after binning to obtain the point of interest matching feature corresponding to the resource point of interest; The resource score prediction module is configured to input the point of interest matching features corresponding to the multiple resource points of interest of each resource in the resource library into a pre-trained factorization machine (FM) model to obtain a recommendation score for the resource output by the FM model; wherein the FM model is trained using multiple training samples, each of which includes the point of interest matching features corresponding to the multiple resource points of interest of a resource recommended to the user, and the user's feedback on the recommended resource, the feedback result being used to indicate whether the user clicked on the recommended resource; and the FM model is a model capable of capturing third-order interactive relationships between features; The to-be-recommended resource determination module is configured to determine the to-be-recommended resource based on the recommendation score of each resource in the resource library; The resource recommendation module is used to recommend the resource to be recommended to the target user.
Citation Information
Patent Citations
Method and apparatus for content recommendation
CN111552884A
Recommendation method, device and equipment based on user interest and computer program product
CN119940550A