Personalized recommendation method, device, equipment and storage medium
By calculating a click-through rate weighted value and dynamically adjusting the click-through rate, the problem of excessive exposure of user-preferred content in personalized recommendations was solved, thereby improving content diversity and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-08
- Publication Date
- 2026-04-14
AI Technical Summary
In existing personalized recommendation methods, excessive exposure to user-preferred content leads to a decline in user experience.
By obtaining the content and type to be recommended, as well as the learning rate parameter, a click-through rate weighted value is calculated, and then weighted and sorted to dynamically adjust the click-through rate to avoid recommending homogeneous content.
It achieves diversity in content display, enhances user experience, and avoids excessive exposure of user-preferred content.
Smart Images

Figure CN114817628B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of big data processing technology, and in particular to a personalized recommendation method, apparatus, device, and storage medium. Background Technology
[0002] Short video feeds (also known as waterfall feeds) are a common format for personalized recommendation products, typically including immersive full-screen feeds, single-row feeds, and dual-row feeds. The core function of short video products is to use recommendation systems to suggest content that users may be interested in. In the current waterfall feed format, users refresh the page to access new content.
[0003] To ensure the diversity of recommended content for users and avoid "aesthetic fatigue" and "information cocoons" in the recommendation system, existing personalized recommendation methods are based on the diversity of candidate content tags for sorting. The problem with this approach is that although it can achieve content display diversity, as users refresh the page repeatedly, they still see a lot of similar content, resulting in excessive exposure of user-preferred content, which can easily reduce the user experience. Summary of the Invention
[0004] The main objective of this invention is to provide a personalized recommendation method, apparatus, device, and storage medium, aiming to solve the technical problem of excessive exposure of user-preferred content in existing personalized recommendation methods.
[0005] To achieve the above objectives, the present invention adopts the following technical solution:
[0006] In a first aspect, the present invention provides a personalized recommendation method applied to a server, the method comprising:
[0007] Obtain the content to be recommended, its type, and the learning rate parameter;
[0008] Based on the type of content to be recommended and the learning rate parameter, the click-through rate weighted value for each type is obtained;
[0009] Based on the weighted click-through rate values for each type, the estimated click-through rate for each type is weighted to obtain the weighted click-through rate for each type.
[0010] Based on the weighted click-through rate of each type, the content to be recommended is sorted to obtain the recommendation order of the content to be recommended.
[0011] Optionally, in the above personalized recommendation method, the step of obtaining the content to be recommended and the type of the content to be recommended includes:
[0012] Obtain the waterfall layout product format;
[0013] Determine the amount of content to be displayed corresponding to the waterfall layout product format;
[0014] The amount of preloaded content is determined based on the amount of content to be displayed;
[0015] Based on the number of preloaded contents, the exposed contents in the candidate contents are filtered to obtain the contents to be recommended and the type of the contents to be recommended.
[0016] Optionally, in the above personalized recommendation method, the step of determining the number of preloaded contents based on the number of displayed contents includes:
[0017] Based on the quantity of displayed content, the quantity of preloaded content is determined using a first calculation formula; wherein the first calculation formula is:
[0018]
[0019] Here, req_num represents the amount of preloaded content, and v_num represents the amount of content to be displayed.
[0020] Optionally, in the above personalized recommendation method, the step of obtaining the learning rate parameter includes:
[0021] Based on the amount of preloaded content, the learning rate parameter is determined using a second calculation formula; wherein the second calculation formula is:
[0022] α = 1 - λ × req_num,
[0023] Where α represents the learning rate parameter, λ represents the empirical constant, and req_num represents the amount of preloaded content.
[0024] Optionally, in the above personalized recommendation method, before the step of obtaining the click-through rate weighted value for each type based on the type of the content to be recommended and the learning rate parameter, the method further includes:
[0025] Get the user's current number of steps t;
[0026] The step of obtaining the click-through rate weighted value for each type based on the type of content to be recommended and the learning rate parameter includes:
[0027] When t=1, initialize the click-through rate weighting value B(tag) for each type to 1;
[0028] When t > 1, the click-through rate weighted value B(tag) for each type is updated using the third calculation formula; wherein, the third calculation formula is:
[0029] B(tag)=(1-α)·B(tag)+α(tA(tag)),
[0030] Where B(tag) represents the click-through rate weighted value of the type tag, α represents the learning rate parameter, and A(tag) represents the number of access steps corresponding to the last time the type tag was exposed to the user.
[0031] Optionally, in the above personalized recommendation method, the step of weighting the estimated click-through rate of each type based on the weighted click-through rate values of each type to obtain the weighted click-through rate of each type includes:
[0032] Using the fourth calculation formula, the click-through rate weighted values for each type are normalized to obtain the normalized click-through rate weighted values for each type; wherein, the fourth calculation formula is:
[0033]
[0034] Where Be(tag) represents the normalized click-through rate weighted value of the type tag, and B(tag) represents the click-through rate weighted value of the type tag, {B n (tag)} represents the weighted click-through rate value for all types, max({B n (tag)}) represents the maximum click-through rate weighted value among all types, and n represents the number of types;
[0035] Based on the normalized click-through rate weighted values for each type, the estimated click-through rate for each type is weighted to obtain the weighted click-through rate for each type.
[0036] Optionally, in the above personalized recommendation method, before the step of weighting the estimated click-through rate of each type according to the weighted click-through rate value of each type to obtain the weighted click-through rate of each type, the method further includes:
[0037] The content to be recommended is input into the click-through rate prediction model obtained through training to obtain the estimated click-through rate for each type.
[0038] Secondly, the present invention provides a personalized recommendation device, the device comprising:
[0039] The data acquisition module is used to acquire the content to be recommended, the type of the content to be recommended, and the learning rate parameter;
[0040] The click-through rate weighting module is used to obtain the click-through rate weighting value for each type based on the type of the content to be recommended and the learning rate parameter.
[0041] The click-through rate weighting module is used to weight the estimated click-through rate of each type according to the click-through rate weighting value of each type, so as to obtain the weighted click-through rate of each type.
[0042] The sorting module is used to sort the content to be recommended according to the weighted click-through rate of each type, so as to obtain the recommendation order of the content to be recommended.
[0043] Thirdly, the present invention provides a personalized recommendation device, the device comprising:
[0044] The processor and memory, wherein the memory stores a personalized recommendation program, which, when executed by the processor, implements the personalized recommendation method as described above.
[0045] Fourthly, the present invention provides a computer-readable storage medium storing a computer program that, when executed by one or more processors, implements the personalized recommendation method described above.
[0046] The above-described one or more technical solutions provided by this invention can have the following advantages or at least achieve the following technical effects:
[0047] This invention proposes a personalized recommendation method, apparatus, device, and storage medium. It acquires the content to be recommended, its type, and a learning rate parameter. Then, it calculates a weighted click-through rate (CTR) value for each type based on the content type and learning rate parameter. Next, it weights the estimated CTR for each type based on these weighted CTR values to obtain a weighted CTR for each type. Finally, it sorts the content to be recommended based on the weighted CTR for each type, thus achieving a diversified content display. This invention dynamically adjusts the CTR to sort the content to be recommended, avoiding excessive recommendations of homogeneous content favored by users, improving the diversity of personalized recommendations, and enhancing the user experience. This invention can be applied to various waterfall-style personalized recommendation product formats and can also improve upon existing CTR prediction technologies based on content to be recommended. Attached Figure Description
[0048] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0049] Figure 1 This is an example of a short video feed stream in existing technology;
[0050] Figure 2A before-and-after comparison example of ranking existing personalized recommendation methods;
[0051] Figure 3 This is a flowchart illustrating the first embodiment of the personalized recommendation method of the present invention;
[0052] Figure 4 This is a schematic diagram of the hardware structure of the personalized recommendation device involved in the present invention.
[0053] Figure 5 This is a schematic diagram of the functional modules of the first embodiment of the personalized recommendation device of the present invention.
[0054] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and accompanying drawings. Detailed Implementation
[0055] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0056] It should be noted that in this invention, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element. Furthermore, in this invention, descriptions involving "first," "second," etc., are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include at least one of those features.
[0057] In this invention, the suffixes such as "module," "component," or "unit" used to denote elements are used only for illustrative purposes and have no specific meaning in themselves. Therefore, "module," "component," or "unit" can be used interchangeably. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances. Furthermore, the technical solutions of the various embodiments can be combined with each other, but only on the basis that they can be implemented by those skilled in the art. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed by this invention.
[0058] Short video feeds (also known as waterfall feeds) are a common form of personalized recommendation products, typically including immersive full-screen feeds, single-row feeds, and dual-row feeds, such as... Figure 1 The image shown is an example of a short video feed stream. Figure 1 (a) is an immersive full-screen feed. Figure 1 (b) is a single-row feed. Figure 1 (c) is a double-row feed.
[0059] Analysis of existing technologies reveals that recommending potentially interesting content to users using recommendation systems is a core function of short video products. In current waterfall-style product formats, users access new content by refreshing the page (pulling down or up, swiping left or right). Existing personalized recommendation methods involve users initiating recommendation requests through the client; the recommendation server parses the request, retrieves candidate content, obtains user and candidate content characteristics, inputs them into a click-through rate (CTR) prediction model for prediction, sorts candidate content from highest to lowest based on the predicted CTR, then re-ranks the content based on candidate content tags for diversity, and returns the preset top few items to the client based on page display requirements. It can be seen that ranking is a crucial step in personalized recommendation methods. To ensure the diversity of recommended content and avoid user "aesthetic fatigue" and "information cocoons" in the recommendation system, current common methods involve re-ranking candidate content based on tags for diversity. For example... Figure 2 The image shows a comparison example of prior art reordering, such as... Figure 2 The left side of the image shows the sequence obtained after the click-through rate prediction model in the recommendation system. It can be seen that candidate content that users are interested in tends to be concentrated at the top. To ensure that the content displayed to users is not "clustered," candidate content tags are used for re-sorting. Assuming the re-sorting interval is 1, for... Figure 2 The candidate content on the left side of the middle section is reordered, and the reordering result is as follows: Figure 2 As shown on the right side of the page. Although the above rearrangement scheme can achieve content display diversity, as users continuously refresh the page, they still see a lot of similar content. For example...Figure 2 In this context, users who prefer military content will see a significant amount of such content displayed through content recall and sorting. While reordering based on content tags can maintain some diversity, military content remains abundant with each page refresh. This creates the experience of constantly receiving military-related recommendations simply because the user likes it. Clearly, reordering solely based on content tags cannot solve the problem of excessive exposure to user-preferred content, potentially degrading the user experience. Therefore, when reordering content by tag, the content already exposed to the user should also be considered.
[0060] In view of the technical problem that existing personalized recommendation methods expose too much content that users prefer, this invention provides a personalized recommendation method, the overall idea of which is as follows:
[0061] Obtain the content to be recommended, its type, and learning rate parameters; based on the content type and learning rate parameters, obtain the click-through rate weighted value for each type; based on the click-through rate weighted value for each type, weight the estimated click-through rate for each type to obtain the weighted click-through rate for each type; based on the weighted click-through rate for each type, sort the content to be recommended to obtain the recommendation order.
[0062] The above technical solution achieves the goal of diversifying content display. This invention dynamically adjusts click-through rates to rank the content to be recommended in a personalized recommendation method, avoiding excessive recommendations of homogeneous content favored by users, thus enhancing the diversity of personalized recommendations and improving user experience. This invention can be applied to various waterfall-style personalized recommendation product formats and can also be improved upon existing click-through rate prediction technologies based on the content to be recommended.
[0063] The personalized recommendation method, apparatus, device, and storage medium provided by the present invention will be described in detail below with reference to the accompanying drawings and through specific embodiments and implementation methods.
[0064] Example 1
[0065] Reference Figure 3 The flowchart illustrates the first embodiment of the personalized recommendation method of the present invention. This personalized recommendation method can be applied to a personalized recommendation system, wherein the personalized recommendation system can be carried on a single-end terminal device, which is the personalized recommendation device, or it can be carried on a system containing at least one client and at least one server that is executed on two or more ends, wherein the client is connected to the server, and the system is the personalized recommendation device.
[0066] In this embodiment, a personalized recommendation device applied to both ends is used as an example for explanation, specifically a server applied to the personalized recommendation device. This server can communicate with the client via a network. The server refers to a network device capable of network connectivity, such as a server or cloud platform. The client refers to a terminal device capable of network connectivity, such as a mobile phone, computer, tablet computer, or laptop computer.
[0067] like Figure 4 The diagram shown illustrates the hardware structure of a personalized recommendation device. When this personalized recommendation device is a single-end terminal device, Figure 4 This can be a hardware structure diagram of the terminal device; when the personalized recommendation device is a system executed at both ends... Figure 4 This can be a hardware structure diagram of the server in the system. The server may include: a processor 1001, such as a CPU (Central Processing Unit), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005.
[0068] Those skilled in the art will understand that Figure 4 The hardware structure shown does not constitute a limitation on the personalized recommendation device of the present invention, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0069] Specifically, the communication bus 1002 is used to realize the connection and communication between these components; the user interface 1003 is used to connect to the user equipment and communicate with the user equipment for data. The user interface 1003 may include output units, such as a display screen, and input units, such as a keyboard; the network interface 1004 is used to connect to the backend server and communicate with the backend server for data. The network interface 1004 may include input / output interfaces, such as standard wired interfaces and wireless interfaces, such as Wi-Fi interfaces.
[0070] The memory 1005 is used to store various types of data, such as instructions for any application or method in the server, as well as application-related data. The memory 1005 can be a high-speed RAM or a stable memory, such as a disk storage. Optionally, the memory 1005 can also be a storage device independent of the processor 1001.
[0071] For details, please refer to... Figure 2 The memory 1005 may include an operating system, a network communication module, a user interface module, and a personalized recommendation program. The network communication module is mainly used to connect to the client and communicate data with the client.
[0072] The processor 1001 is used to call the personalized recommendation program stored in the memory 1005 and perform the following operations:
[0073] Obtain the content to be recommended, its type, and the learning rate parameter;
[0074] Based on the type of content to be recommended and the learning rate parameter, the click-through rate weighted value for each type is obtained;
[0075] Based on the weighted click-through rate values for each type, the estimated click-through rate for each type is weighted to obtain the weighted click-through rate for each type.
[0076] Based on the weighted click-through rate of each type, the content to be recommended is sorted to obtain the recommendation order of the content to be recommended.
[0077] Based on the servers described above, the following will be combined with... Figure 3 The flowchart shown illustrates the personalized recommendation method of this embodiment in detail. The method may include the following steps:
[0078] Step S100: Obtain the content to be recommended, the type of the content to be recommended, and the learning rate parameter.
[0079] Specifically, the server obtains the content to be recommended and the corresponding type of that content. It can obtain the type of each piece of content to be recommended, or it can obtain all types based on the type of each piece of content to be recommended, for later use. At the same time, it can directly obtain the preset learning rate parameter, or it can obtain the specific number of loadable content based on the characteristics of the server and the clients connected to the server, and thus calculate the learning rate parameter.
[0080] Specifically, step S100 may include:
[0081] Step S110: Obtain the waterfall layout product form.
[0082] Waterfall layout products can take the form of immersive waterfall layouts, single-row waterfall layouts, and double-row waterfall layouts, etc. The specific waterfall layout product form can be set according to actual needs.
[0083] Step S120: Determine the number of display contents corresponding to the waterfall flow product format.
[0084] After obtaining the waterfall layout product format, the corresponding number of recommended content items, v_num, that can be displayed on a personalized recommendation device under this waterfall layout product format is determined. For example, based on... Figure 1 The examples shown indicate that the number of displayed content v_num = 1 for an immersive waterfall layout, 3 for a single-row waterfall layout, and 8 for a double-row waterfall layout.
[0085] Specifically, the server can receive user access requests sent by the client; the user access request includes the client's waterfall layout product format and the corresponding number of displayed content. In this embodiment, specifically, the client generates a corresponding user access request based on user operations. This user access request can be generated for each or every few swipes, or at preset intervals, or based on the recommended content already displayed on the client. The client sends the user access request to the server, and the server receives the user access request accordingly. The user access request includes the client's waterfall layout product format and the number of displayed content within that waterfall layout product format. After receiving the user access request, the server parses it to obtain the client's waterfall layout product format; it also obtains the corresponding number of displayed content v_num under the waterfall layout product format, specifically the number of recommended content that the client can display on one screen.
[0086] Step S130: Determine the amount of preloaded content based on the amount of displayed content.
[0087] Specifically, based on the quantity of displayed content, the quantity of preloaded content is determined using a first calculation formula; wherein the first calculation formula is:
[0088]
[0089] Where req_num represents the number of preloaded contents, v_num represents the number of displayed contents, and log is base 10.
[0090] The amount of preloaded content needs to be determined based on the amount of content to be displayed on the client. If the amount of preloaded content is too small, the client will frequently send user access requests to the server to meet display requirements and frequently request recommended content, which will increase the server load and make the user experience less smooth. However, if the amount of preloaded content is too large, too much preloaded content will not be displayed to the user, resulting in "waste".
[0091] Therefore, this embodiment uses the first calculation formula to calculate the preloaded content quantity req_num. Using the above formula, the number of videos that need to be preloaded in a single client request can be obtained. For example, the immersive waterfall layout displays 1 content v_num, corresponding to a preloaded content quantity req_num = 4; a single-row waterfall layout displays 3 content v_num, corresponding to a preloaded content quantity req_num = 6; and a double-row waterfall layout displays 8 content v_num, corresponding to a preloaded content quantity req_num = 16.
[0092] Step S140: Based on the number of preloaded contents, filter the exposed contents in the candidate contents to obtain the contents to be recommended and the type of the contents to be recommended.
[0093] Specifically, the server retrieves candidate content from the database, then filters it, removing already exposed content to prevent duplicate recommendations and maintain a positive user experience. From the filtered candidate content, a corresponding number of candidate content items are selected as the content to be recommended, based on the calculated number of pre-loaded content items. For example, in this embodiment, the number of content items to be recommended for an immersive waterfall layout can be 4, for a single-row waterfall layout it can be 6, and for a double-row waterfall layout it can be 16. In actual settings, the relationship between the number of content items to be recommended and the number of pre-loaded content items can be further configured according to actual needs.
[0094] Define the type of content to be recommended as a unique identifier called a tag, and you can get all the types {tags} in the content to be recommended. n}, where n represents the number of types in the content to be recommended. For example, the enumeration of types can be "military", "entertainment", "finance", "anime", etc.
[0095] Step S140: Determine the learning rate parameter based on the amount of preloaded content.
[0096] Specifically, based on the amount of preloaded content, the learning rate parameter is determined using a second calculation formula; wherein the second calculation formula is:
[0097] α = 1 - λ × req_num,
[0098] Where α represents the learning rate parameter, λ represents the empirical constant, and req_num represents the amount of preloaded content.
[0099] Specifically, the learning rate can be preset or calculated using the formula above, and its value is a floating-point number between 0 and 1. The magnitude of the learning rate α directly determines the rate of change of the subsequent click-through rate weighted value B(tag), and also affects whether the same type of content can be continuously seen in subsequent user access requests sent by the client. For example, when recommending military content to users, the faster the corresponding click-through rate weighted value B(tag) decays, the less likely military content will appear again in subsequent preloading. The rate of change of the click-through rate weighted value B(tag) under different learning rates is shown in Table 1.
[0100] Table 1
[0101]
[0102]
[0103] As shown in Table 1, when the learning rate is 0.2, the click-through rate weighted value B(tag) decays slowly, while when the learning rate is 0.8, the click-through rate weighted value B(tag) decays quickly. Therefore, changes in the learning rate directly affect the decay rate of the click-through rate weighted value B(tag), and different decay rates result in significant differences in user experience under different content preloading conditions.
[0104] When there is a lot of preloaded content, the server is accessed less frequently, and the B(tag) is updated less frequently. If the learning rate is set too high, the B(tag) will decay too quickly, and when the user receives the second preloaded content, there will be no content of that type to push. In this case, the user will not see that type of content even in a long preload. Therefore, a smaller learning rate is more suitable in this situation.
[0105] When the amount of preloaded content is small, the server is accessed more frequently, and the B(tag) is updated more frequently. If the learning rate is set too low, the B(tag) will decay too slowly, and a large amount of similar content will still be recommended in subsequent preloaded content, which does not solve the problem of excessive exposure of interest-related content. Therefore, a larger learning rate is more suitable in this case.
[0106] In this embodiment, based on the example above, it can be seen that the number of preloaded contents, `req_num`, is inversely proportional to the learning rate, `α`. Based on practical experience, an empirical constant `λ` can be set accordingly. For example, in this embodiment, `λ = 0.04`. Correspondingly, based on the inverse relationship between the number of preloaded contents, `req_num`, and the learning rate, `α`, the specific calculation formula can be obtained as follows:
[0107] α = 1 - 0.04 × req_num,
[0108] By combining the preloaded content quantity req_num obtained from the above calculation, the learning rate parameter can be determined.
[0109] Step S200: Based on the type of the content to be recommended and the learning rate parameter, obtain the click-through rate weighted value for each type.
[0110] Specifically, prior to step S200, the method may also include:
[0111] Step S150: Obtain the user's current access step count t.
[0112] Each swipe or several swipes by a user can be counted as one visit, or a preset time interval can be automatically counted as one visit. Visits can also be marked based on the number of recommended content items displayed and the display time. For example, if a preset number of recommended content items are displayed and the display time of one or more of them reaches a certain threshold, it can be counted as one visit.
[0113] In this embodiment, the current access step number t is the user's current access step number to the personalized recommendation device, specifically the client's current access step number to the server. The user access request is generated based on the user's operation on the client. When the server receives the user access request sent by the client, it can obtain the access step number corresponding to the user access request, which is the user's current access step number t.
[0114] Step S200 may include:
[0115] Step S210: When the current access step t = 1, initialize the click rate weighting value B(tag) of each type to 1.
[0116] When the client initiates a user access request for the first time, it initializes the click-through rate weighting value B(tag) for each type with an initial value of 1.
[0117] Step S220: When the current access step t > 1, update the click-through rate weighted value B(tag) for each type using the third calculation formula; wherein, the third calculation formula is:
[0118] B(tag)=(1-α)·B(tag)+α(tA(tag)),
[0119] Where B(tag) represents the click-through rate weighted value of the type tag, α represents the learning rate parameter, and A(tag) represents the number of access steps corresponding to the last time the type tag was exposed to the user.
[0120] When the client subsequently initiates a user access request—that is, in cases other than the first time—the corresponding B(tag) will only be updated when only the type tag is exposed to the user, and this update will be performed using the third calculation formula. It should be noted that only content types that were actually exposed in the last instance will have both A(tag) and B(tag) updated; otherwise, only B(tag) will be calculated and compared. The reason for this is that content types that were not exposed will accumulate a step difference (tA(tag)), thus obtaining a larger update amount in a single B(tag) calculation.
[0121] As can be seen from the third calculation formula, if a tag is not exposed for many steps, the difference in tA(tag) will increase, and B(tag) will increase accordingly. At this time, using B(tag) to weight the estimated click-through rate can make the content corresponding to the tag rank higher and be recommended to the user. Conversely, if the tag is frequently exposed, B(tag) will decay in each update, and the content corresponding to the tag will be ranked lower and not recommended to the user due to the weighted estimated click-through rate.
[0122] The server calculates the click-through rate weighted value B(tag) for each type, thus obtaining the click-through rate weighted value {B(tag)} for all types. n}, for use in subsequent calculations.
[0123] Step S300: Based on the weighted values of the click-through rates for each type, the estimated click-through rates for each type are weighted to obtain the weighted click-through rates for each type.
[0124] Specifically, step S300 may include:
[0125] Step S310: Normalize the click-through rate weighted values for each type to obtain normalized click-through rate weighted values for each type.
[0126] Specifically, the click-through rate weighted values for each type are normalized using the fourth calculation formula to obtain the normalized click-through rate weighted values for each type; wherein, the fourth calculation formula is:
[0127]
[0128] Where Be(tag) represents the normalized click-through rate weighted value of the type tag, and B(tag) represents the click-through rate weighted value of the type tag, {B n (tag)} represents the weighted click-through rate value for all types, max({B n (tag)}) represents the maximum click-through rate weighted value among all types, and n represents the number of types.
[0129] To ensure that the weight of each estimated click-through rate is between 0 and 1, after obtaining the click-through rate weight B(tag) for each type, the click-through rate weight B(tag) can be normalized according to the fourth calculation formula to obtain the normalized click-through rate weight Be(tag) for each type.
[0130] Step S320: Based on the normalized click-through rate weighted values of each type, the estimated click-through rate of each type is weighted to obtain the weighted click-through rate of each type.
[0131] The formula for weighted processing is as follows:
[0132] Pbctr = Be(tag) × Pctr,
[0133] Where Pbctr represents the weighted click-through rate of the type tag, and Pctr represents the estimated click-through rate of the type tag.
[0134] Prior to step S320, the method may further include:
[0135] Step S330: Input the content to be recommended into the click-through rate prediction model obtained through training to obtain the estimated click-through rate for each type.
[0136] After the server obtains the content to be recommended, it inputs this content into the trained click-through rate (CTR) prediction model, which outputs the estimated CTR for each type of content to be recommended. It should be noted that the step of training the CTR prediction model based on training data is existing technology and will not be elaborated here. Instead, the pre-trained CTR prediction model is directly called to obtain the estimated CTR for each type of content to be recommended.
[0137] Then, based on the normalized click-through rate weighted values of each type obtained in step S310, the estimated click-through rate of each type is weighted. Specifically, the estimated click-through rate of each type is multiplied by its respective normalized click-through rate weighted value to obtain the weighted click-through rate of each type.
[0138] Step S400: Sort the content to be recommended according to the weighted click-through rate of each type to obtain the recommendation order of the content to be recommended.
[0139] After obtaining the weighted click-through rates (CTRs) for each type, the content to be recommended can be sorted or reordered, exposing the content with higher CTRs to users. It should be noted that sorting is for cases where all content in the recommended list is of the same level and has no inherent order; in this case, the content can be sorted based on the weighted CTRs for each type. Reordering is for cases where the content in the recommended list has already been sorted once, such as when the recommended list was sorted in step S140, or when it already has an inherent order according to other procedures. For example, when obtaining candidate content, candidate content with an ordered sequence is directly obtained, and then filtered according to step S140 to obtain the recommended content; in this case, the content can be reordered based on the weighted CTRs for each type. Correspondingly, this yields the recommendation order of the content to be recommended. Therefore, the recommendation order can be one obtained after sorting the content, or another obtained after reordering it.
[0140] Step S500: Display the content to be recommended according to the recommended order.
[0141] Specifically, after obtaining the recommendation order of the content to be recommended, the content can be sorted directly and displayed sequentially or based on user actions. Alternatively, the server can sort the content according to the recommendation order and then send the sorted content to the client for display.
[0142] After the server receives the recommended content sorted in recommendation order, it can send the sorted content to the client. The client receives the recommended content and displays it to the user in a pre-loaded manner according to the user's actions. When sending recommended content to the client, the server can send all the content, in which case the number of recommended content matches the number of pre-loaded content corresponding to the client's waterfall layout. For example, an immersive waterfall layout has 4 recommended content items, a single-row waterfall layout has 6, and a double-row waterfall layout has 16. Alternatively, the server can select the top N content items based on the waterfall layout and the corresponding number of displayed content items carried in the user's access request. For example, an immersive waterfall layout has 1 displayed content item and 4 recommended content items, so only the top 1 item can be sent to the client; a single-row waterfall layout has 3 displayed content items and 6 recommended content items, so only the top 3 can be sent; and a double-row waterfall layout has 8 displayed content items and 16 recommended content items, so only the top 8 can be sent.
[0143] Since users typically initiate multiple access requests from the client in real-world applications, this method requires iterative execution. In this embodiment, assuming a user accesses the site multiple times within a short period (i.e., the client sends multiple access requests), the process of dynamically adjusting the click-through rate (CTR) weighting and weighted CTR according to steps S100-S500 is as follows: When a certain type of content is exposed more frequently, the CTR weighting value Be(tag) obtained in step S200 will decrease accordingly, and the weighted CTR Pbctr obtained in step S300 will correspondingly decrease. This type of content will be ranked lower, and consequently, the number of times it is exposed decreases. In subsequent iterations, when the server receives the next or several access requests from the client, the CTR weighting value Be(tag) obtained in step S200 will increase again, and the weighted CTR Pbctr obtained in step S300 will increase, shifting the ranking of this type higher. At this point, the content of this type can continue to be exposed until the number of times it is exposed becomes more frequent, at which point it decreases again. This process involves a cyclical "downgrading" and "upgrading" of content of a certain type. This type of content will not be constantly exposed, but will be displayed to users in a cycle of increasing-decreasing-increasing exposure. This allows users to experience personalized content recommendations without receiving the same type of content too frequently, ensuring content diversity and a better experience.
[0144] To more clearly demonstrate the technical effect of the personalized recommendation method of the present invention, two comparative experiments are conducted below for the case of this embodiment:
[0145] Suppose a short video platform only offers two types of short videos: military and entertainment. This means the recommended content will only include these two categories. Furthermore, assume users prefer military content. The client makes 8 requests to the server, and the learning rate is set to 0.8. Two sets of comparative experiments are conducted with these settings:
[0146] Experiment 1: The recommended content is sorted directly based on the estimated click-through rate (CTR) for each type. This means that the recommended content from step S100 is directly input into the trained CTR prediction model to obtain the estimated CTR Pctr, and then the recommended content is sorted directly based on this estimated CTR Pctr, resulting in the estimated CTR Pctr for each type and the recommended content corresponding to each access step, as shown in Table 2.
[0147] Table 2
[0148]
[0149] Experiment 2: Sort the recommended content according to the method of this embodiment.
[0150] First, after obtaining the content to be recommended and the learning rate parameter of 0.8 in step S100, the click-through rate weighted value B(tag) is calculated according to step S200, resulting in the click-through rate weighted value B(tag) shown in Table 3:
[0151] Table 3
[0152]
[0153] Then, for the click-through rate weighted value B(tag) in Table 3, the corresponding normalized click-through rate weighted value Be(tag) is calculated according to step S310, resulting in the normalized click-through rate weighted value Be(tag) as shown in Table 4:
[0154] Table 4
[0155]
[0156] Finally, the weighted click-through rate (Pbctr) is calculated based on the normalized click-through rate weighted value Be(tag) in Table 4. The estimated click-through rate (Pctr) used in calculating the weighted click-through rate (Pbctr) is directly calculated by substituting the corresponding data in Table 2. The results are shown in Table 5, which contains the weighted click-through rates (Pbctr) for each type and the recommended content corresponding to each number of steps per visit.
[0157] Table 5
[0158]
[0159] As shown in Tables 2-5, if the estimated click-through rate (Pctr) is simply used for sorting, then military content favored by users will be continuously exposed. However, using the method in this embodiment, by dynamically adjusting Be(tag) to dynamically adjust the weighted click-through rate (Pbctr), and then sorting the recommended content according to the weighted click-through rate (Pbctr), the user can see one piece of entertainment content every four requests. This effectively avoids the situation where users repeatedly see the same type of content.
[0160] The personalized recommendation method provided in this embodiment obtains the content to be recommended, its type, and a learning rate parameter. It then calculates a weighted click-through rate (CTR) value for each type based on the content type and learning rate parameter. Next, it weights the estimated CTR for each type based on these weighted CTR values to obtain a weighted CTR for each type. Finally, it sorts the content to be recommended based on the weighted CTR for each type, thus achieving a diversified content display. This invention dynamically adjusts the CTR to sort the content to be recommended in the personalized recommendation method, avoiding excessive recommendations of homogeneous content favored by users, improving the diversity of personalized recommendations, and enhancing the user experience. This invention can be used in various waterfall-style personalized recommendation product formats and can also be improved upon existing CTR prediction technologies based on content to be recommended.
[0161] Example 2
[0162] Based on the same inventive concept, referring to Figure 5 The present invention provides a first embodiment of a personalized recommendation device, which can be a virtual device applied to a personalized recommendation device executed on a single end, or applied to a server of a personalized recommendation device executed on two or more ends.
[0163] The following is combined Figure 5 The functional module diagram shown illustrates the personalized recommendation device provided in this embodiment in detail. The device may include:
[0164] The data acquisition module is used to acquire the content to be recommended, the type of the content to be recommended, and the learning rate parameter;
[0165] The click-through rate weighting module is used to obtain the click-through rate weighting value for each type based on the type of the content to be recommended and the learning rate parameter.
[0166] The click-through rate weighting module is used to weight the estimated click-through rate of each type according to the click-through rate weighting value of each type, so as to obtain the weighted click-through rate of each type.
[0167] The sorting module is used to sort the content to be recommended according to the weighted click-through rate of each type, so as to obtain the recommendation order of the content to be recommended.
[0168] Furthermore, the data acquisition module may include:
[0169] The waterfall layout acquisition unit is used to acquire the waterfall layout product format;
[0170] The content quantity determination unit is used to determine the quantity of display content corresponding to the waterfall flow product format.
[0171] The preload quantity acquisition unit is used to determine the preload quantity based on the quantity of displayed content;
[0172] The content to be recommended acquisition unit is used to filter the exposed content in the candidate content according to the number of preloaded content to obtain the content to be recommended and the type of the content to be recommended.
[0173] Furthermore, the preload quantity acquisition unit is specifically used for:
[0174] Based on the quantity of displayed content, the quantity of preloaded content is determined using a first calculation formula; wherein the first calculation formula is:
[0175]
[0176] Here, req_num represents the amount of preloaded content, and v_num represents the amount of content to be displayed.
[0177] Furthermore, the data acquisition module may also include:
[0178] The learning rate acquisition unit is used to determine the learning rate parameter based on the amount of preloaded content using a second calculation formula; wherein the second calculation formula is:
[0179] α = 1 - λ × req_num,
[0180] Where α represents the learning rate parameter, λ represents the empirical constant, and req_num represents the amount of preloaded content.
[0181] Furthermore, the data acquisition module may also include:
[0182] The access step acquisition unit is used to acquire the user's current access step count t;
[0183] The click-through rate weighting module may include:
[0184] An initialization unit is used to initialize the click-through rate weighting value B(tag) of each type to 1 when the current access step t = 1;
[0185] The update unit is used to update the click-through rate weighted value B(tag) of each type using a third calculation formula when the current access step t > 1; wherein the third calculation formula is:
[0186] B(tag)=(1-α)·B(tag)+α(tA(tag)),
[0187] Where B(tag) represents the click-through rate weighted value of the type tag, α represents the learning rate parameter, and A(tag) represents the number of access steps corresponding to the last time the type tag was exposed to the user.
[0188] Furthermore, the click-through rate weighting module may include:
[0189] The normalization processing unit is used to normalize the click-through rate weighted values of each type using a fourth calculation formula to obtain the normalized click-through rate weighted values of each type; wherein, the fourth calculation formula is:
[0190]
[0191] Where Be(tag) represents the normalized click-through rate weighted value of the type tag, and B(tag) represents the click-through rate weighted value of the type tag, {B n (tag)} represents the weighted click-through rate value for all types, max({B n (tag)}) represents the maximum click-through rate weighted value among all types, and n represents the number of types.
[0192] Furthermore, the device may also include:
[0193] The estimated click-through rate (CTR) acquisition module is used to input the content to be recommended into the trained CTR prediction model to obtain the estimated CTR for each type.
[0194] It should be noted that the functions and corresponding technical effects of each module in the personalized recommendation device provided in this embodiment can be referred to the description of the specific implementation methods in the various embodiments of the personalized recommendation method of this invention. For the sake of brevity, they will not be repeated here.
[0195] Example 3
[0196] Based on the same inventive concept, this embodiment provides a personalized recommendation device. The device can be a single-end terminal device or a system including a client and a server that executes across two or more ends. This embodiment uses a single-end terminal device as an example for explanation.
[0197] Specifically, the terminal device refers to a terminal device or network device that can achieve network connectivity. It can be a mobile phone, computer, tablet computer, portable computer, or other terminal device, or a server, cloud platform, or other network device.
[0198] Reference Figure 4 This is a schematic diagram of the hardware structure of the personalized recommendation device of the present invention. The device may include a processor and a memory, wherein the memory stores a personalized recommendation program, and when the personalized recommendation program is executed by the processor, it implements all or part of the steps of various embodiments of the personalized recommendation method of the present invention.
[0199] It is understood that the personalized recommendation device may further include a communication bus, a user interface, and a network interface. The communication bus is used to enable communication between these components. The user interface is used to connect to and communicate with user equipment, and may include output units such as a display screen and input units such as a keyboard. The network interface is used to connect to and communicate with clients, and may include input / output interfaces, such as standard wired interfaces and wireless interfaces such as Wi-Fi interfaces.
[0200] The memory is used to store various types of data, which may include, for example, instructions for any application or method in the server, as well as application-related data. The memory can be implemented using any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Random Access Memory (RAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disks, or optical disks. Optionally, the memory can also be a storage device independent of the processor.
[0201] The processor is used to call the personalized recommendation program stored in the memory and execute the personalized recommendation method as described above. The processor may be an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field-programmable gate array (FPGA), a controller, a microcontroller, a microprocessor, or other electronic components, and is used to execute all or part of the steps of the various embodiments of the personalized recommendation method described above.
[0202] Example 4
[0203] Based on the same inventive concept, this embodiment provides a computer-readable storage medium, such as flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic memory, disk, optical disk, server, etc., wherein a computer program is stored on the storage medium, and the computer program can be executed by one or more processors. When the computer program is executed by the processor, it can implement all or part of the steps of the various embodiments of the personalized recommendation method of the present invention.
[0204] It should be noted that the sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0205] The above description is merely an optional embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made using the contents of the present invention's specification and drawings under the inventive concept of the present invention, or direct or indirect applications in other related technical fields, are included within the patent protection scope of the present invention.
Claims
1. A personalized recommendation method, characterized in that, The method includes: Obtain the content to be recommended, its type, and the learning rate parameter; Based on the type of content to be recommended, the learning rate parameter, and the step difference accumulated for each type, a click-through rate weighted value for each type is obtained. The step difference is the difference between the current number of access steps and the number of access steps when each type was last exposed to the user. Based on the weighted click-through rate values for each type, the estimated click-through rate for each type is weighted to obtain the weighted click-through rate for each type. Based on the weighted click-through rate of each type, the content to be recommended is sorted to obtain the recommendation order of the content to be recommended; Before the step of obtaining the click-through rate weighted value for each type based on the type of the content to be recommended, the learning rate parameter, and the accumulated step difference for each type, the method further includes: Get the user's current number of steps t; The step of obtaining the click-through rate weighted value for each type based on the type of content to be recommended and the learning rate parameter includes: When the current access step t=1, initialize the click rate weighting value B(tag) of each type to 1; When the current access step count t > 1, the click-through rate weighted value B(tag) for each type is updated based on the accumulated step count difference for each type using the third calculation formula; wherein, the third calculation formula is: , Where B(tag) represents the click-through rate weighted value of the type tag, α represents the learning rate parameter, and A(tag) represents the number of access steps corresponding to the last time the type tag was exposed to the user.
2. The personalized recommendation method as described in claim 1, characterized in that, The steps of obtaining the content to be recommended and the type of the content to be recommended include: Obtain the waterfall layout product format; Determine the amount of content to be displayed corresponding to the waterfall layout product format; The amount of preloaded content is determined based on the amount of content to be displayed; Based on the number of preloaded contents, the exposed contents in the candidate contents are filtered to obtain the contents to be recommended and the type of the contents to be recommended.
3. The personalized recommendation method as described in claim 2, characterized in that, The step of determining the amount of preloaded content based on the amount of displayed content includes: Based on the quantity of displayed content, the quantity of preloaded content is determined using a first calculation formula; wherein the first calculation formula is: , Here, req_num represents the amount of preloaded content, and v_num represents the amount of content to be displayed.
4. The personalized recommendation method as described in claim 2, characterized in that, The steps for obtaining the learning rate parameter include: Based on the amount of preloaded content, the learning rate parameter is determined using a second calculation formula; wherein the second calculation formula is: , Where α represents the learning rate parameter, λ represents the empirical constant, and req_num represents the amount of preloaded content.
5. The personalized recommendation method as described in claim 1, characterized in that, The step of weighting the estimated click-through rate (CTR) of each type based on the weighted CTR values of each type to obtain the weighted CTR of each type includes: Using the fourth calculation formula, the click-through rate weighted values for each type are normalized to obtain the normalized click-through rate weighted values for each type; wherein, the fourth calculation formula is: , Where Be(tag) represents the normalized click-through rate weighted value of the type tag, and B(tag) represents the click-through rate weighted value of the type tag. This represents the weighted average click-through rate for all types of data. This represents the maximum click-through rate weighted value among all click-through rate weighted values, where n represents the number of types. Based on the normalized click-through rate weighted values for each type, the estimated click-through rate for each type is weighted to obtain the weighted click-through rate for each type.
6. The personalized recommendation method as described in claim 1, characterized in that, Before the step of weighting the estimated click-through rate of each type according to the weighted click-through rate values of each type to obtain the weighted click-through rate of each type, the method further includes: The content to be recommended is input into the click-through rate prediction model obtained through training to obtain the estimated click-through rate for each type.
7. A personalized recommendation device, characterized in that, The device includes: The data acquisition module is used to acquire the content to be recommended, the type of the content to be recommended, and the learning rate parameter; The click-through rate weighting module is used to obtain the click-through rate weighting value of each type based on the type of the content to be recommended, the learning rate parameter, and the step difference accumulated by each type. The step difference is the difference between the current access step count and the access step count when each type was last exposed to the user. The click-through rate weighting module is used to weight the estimated click-through rate of each type according to the click-through rate weighting value of each type, so as to obtain the weighted click-through rate of each type. The sorting module is used to sort the content to be recommended according to the weighted click-through rate of each type, so as to obtain the recommendation order of the content to be recommended. The device is further configured to obtain the user's current access step count t; when the current access step count t=1, initialize the click-through rate weighting value B(tag) of each type to 1; when the current access step count t>1, update the click-through rate weighting value B(tag) of each type according to the accumulated step difference of each type using a third calculation formula; wherein, the third calculation formula is: , Where B(tag) represents the click-through rate weighted value of the type tag, α represents the learning rate parameter, and A(tag) represents the number of access steps corresponding to the last time the type tag was exposed to the user.
8. A personalized recommendation device, characterized in that, The device includes: A processor and a memory, wherein the memory stores a personalized recommendation program, which, when executed by the processor, implements the personalized recommendation method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by one or more processors, implements the personalized recommendation method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Method and device for displaying picture in waterfall flow manner
CN105095200A
Method and device for determining recommended resources, electronic equipment and storage medium
CN113326436A