Recommendation information processing method and device, computer device, and storage medium

By using delivery filters and exposure filters in the internet recommendation system, the problem of repeatedly delivering the same data was solved, enabling timely data retrieval and accurate exposure filtering, thus improving the efficiency of recommendation information processing.

CN116821490BActive Publication Date: 2026-04-28GUANGZHOU QUYAN NETWORK TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUANGZHOU QUYAN NETWORK TECH CO LTD
Filing Date
2023-06-25
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

In real-time recommendation scenarios on the Internet, when users make consecutive requests, the same recommendation data may be sent repeatedly, resulting in delayed response and low data processing efficiency, which affects the validity of the recommendation data.

Method used

By setting up distribution filters and exposure filters, recommended data that has been distributed within the first time threshold and displayed within the second time threshold can be filtered out. The corresponding effective time can be configured to achieve timely data retrieval and accurate exposure filtering.

Benefits of technology

The system optimizes the filtering of recommended information, ensuring the timely retrieval of unexposed data after delivery. This achieves accurate exposure filtering and effective data retrieval, thereby improving the efficiency of recommended information processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116821490B_ABST
    Figure CN116821490B_ABST
Patent Text Reader

Abstract

The application relates to a recommended information processing method and device, computer equipment, a storage medium and a computer program product. The method comprises the following steps: acquiring a candidate item set for a current recommended task; the current recommended task is generated in response to an information stream recommendation request sent by a target user; filtering a target filtering item from the candidate item set to obtain a filtered item for the current recommended task; the target filtering item comprises an item that has been issued to the target user within a first time threshold and an item that has been displayed to the target user within a second time threshold, the first time threshold being smaller than the second time threshold; and according to the filtered item, a target recommended item for the information stream recommendation request is issued to the target user. The method can make the unexposed data be recycled in time, achieve the effects of accurate exposure filtering and effective data recycling, ensure the effectiveness of the recommended information, and improve the recommended information processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technology, and in particular to a method, apparatus, computer equipment, storage medium, and computer program product for processing recommendation information. Background Technology

[0002] With the continuous development of Internet technology, for real-time recommendation scenarios on the Internet, when a user requests a recommendation stream, the backend needs to filter out some data from massive amounts of data as recommendation data to return to the client.

[0003] In related technologies, when users make consecutive requests, the handling of repeatedly sending the same recommendation data is ineffective, with issues such as delayed returns and inability to accurately filter data, affecting the validity of the recommendation data and resulting in low data processing efficiency. Summary of the Invention

[0004] Therefore, it is necessary to provide a method, apparatus, computer device, storage medium, and computer program product for processing recommendation information that can improve the effectiveness of recommendation data, in response to the above-mentioned technical problems.

[0005] Firstly, this application provides a method for processing recommendation information, the method comprising:

[0006] Obtain a set of candidate items for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user;

[0007] Filter target filter entries from the candidate entry set to obtain filtered entries for the current recommendation task; the target filter entries include entries that have been sent to the target user within a first time threshold and entries that have been shown to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0008] Based on the filtered entries, the target recommended entries for the information stream recommendation request are sent to the target user.

[0009] In one embodiment, filtering target entries from the candidate entry set to obtain filtered entries for the current recommendation task includes:

[0010] The candidate item set is input into the delivery filter and the exposure filter;

[0011] The filtered entries are obtained by filtering historical delivery entries that have been delivered to the target user within the first time threshold using the delivery filter, and by filtering historical exposure entries that have been displayed to the target user within the second time threshold using the exposure filter.

[0012] The historical delivery entries are those delivered to the target user based on the historical information stream recommendation request; the historical exposure entries are determined based on the historical exposure reporting information sent by the target user.

[0013] In one embodiment, after the step of sending the target recommendation item for the information stream recommendation request to the target user based on the filtered item, the method further includes:

[0014] The target recommended item is added to the distribution filter as a historical distribution item;

[0015] When an exposure report is received from the target user within the first time threshold, the target recommended item that has been shown to the target user is determined from the exposure report and added to the exposure filter as the historical exposure item.

[0016] In one embodiment, the method further includes:

[0017] According to the first time threshold, delete the historical delivery entries that have been delivered to the target user from the delivery filter;

[0018] According to the second time threshold, delete the historical exposure entries that have been shown to the target user in the exposure filter.

[0019] In one embodiment, the method further includes:

[0020] The delivery filter is constructed by combining multiple first sub-filters; each first sub-filter has the same first storage time range, which is matched with a first time threshold.

[0021] The exposure filter is constructed by combining multiple second sub-filters; each second sub-filter has the same second storage time range, which matches the second time threshold.

[0022] In one embodiment, the method further includes:

[0023] When adding a new entry for the distributed filter, a first sub-filter to be inserted is determined from a plurality of the first sub-filters;

[0024] If the current time is detected to exceed the first storage time range of the first sub-filter to be inserted, a new first sub-filter is created, and the new entry is inserted into the new first sub-filter.

[0025] In one embodiment, inserting the new entry into the new first sub-filter includes:

[0026] Based on the calculated feature value of the new entry, the target storage location corresponding to the new entry in the new first sub-filter is determined; the target storage location includes two storage locations.

[0027] If either of the two storage locations is detected to be idle, the calculated feature value is placed in either of the storage locations.

[0028] Alternatively, if both storage locations are detected to be occupied, the storage locations corresponding to the stored entries in the new first sub-filter are adjusted until both the new entry and the stored entries have corresponding storage locations.

[0029] Secondly, this application also provides a recommendation information processing apparatus, the apparatus comprising:

[0030] The candidate item set acquisition module is used to acquire a candidate item set for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user.

[0031] An item filtering module is used to filter target filtering items from the candidate item set to obtain filtered items for the current recommendation task; the target filtering items include items that have been sent to the target user within a first time threshold and items that have been displayed to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0032] The item delivery module is used to deliver target recommended items for the information flow recommendation request to the target user based on the filtered items.

[0033] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:

[0034] Obtain a set of candidate items for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user;

[0035] Filter target filter entries from the candidate entry set to obtain filtered entries for the current recommendation task; the target filter entries include entries that have been sent to the target user within a first time threshold and entries that have been shown to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0036] Based on the filtered entries, the target recommended entries for the information stream recommendation request are sent to the target user.

[0037] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:

[0038] Obtain a set of candidate items for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user;

[0039] Filter target filter entries from the candidate entry set to obtain filtered entries for the current recommendation task; the target filter entries include entries that have been sent to the target user within a first time threshold and entries that have been shown to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0040] Based on the filtered entries, the target recommended entries for the information stream recommendation request are sent to the target user.

[0041] Fifthly, this application also provides a computer program product. The computer program product includes a computer program, which, when executed by a processor, performs the following steps:

[0042] Obtain a set of candidate items for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user;

[0043] Filter target filter entries from the candidate entry set to obtain filtered entries for the current recommendation task; the target filter entries include entries that have been sent to the target user within a first time threshold and entries that have been shown to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0044] Based on the filtered entries, the target recommended entries for the information stream recommendation request are sent to the target user.

[0045] The aforementioned recommendation information processing method, apparatus, computer equipment, storage medium, and computer program product acquire a set of candidate items for the current recommendation task, which is generated in response to an information stream recommendation request sent by a target user. Then, they filter target filter items from the candidate item set to obtain filtered items for the current recommendation task. These target filter items include items already sent to the target user within a first time threshold and items already displayed to the target user within a second time threshold, where the first time threshold is less than the second time threshold. Based on the filtered items, the target recommendation items for the information stream recommendation request are then sent to the target user. This achieves optimized filtering of recommendation information. By configuring corresponding effective times for the sent items, filtering ensures timely recovery of sent but unexposed data, achieving accurate exposure filtering and effective data recovery, guaranteeing the effectiveness of recommendation information, and improving the efficiency of recommendation information processing. Attached Figure Description

[0046] Figure 1 This is a diagram illustrating the application environment of a recommended information processing method in one embodiment.

[0047] Figure 2 This is a flowchart illustrating a recommendation information processing method in one embodiment;

[0048] Figure 3 This is a schematic diagram of the recommended item distribution process in one embodiment;

[0049] Figure 4a This is a schematic diagram of the filtering process in one embodiment;

[0050] Figure 4b This is a schematic diagram of the filter structure in one embodiment;

[0051] Figure 5 This is a flowchart illustrating the recommendation information processing method in another embodiment;

[0052] Figure 6 This is a structural block diagram of a recommended information processing device in one embodiment;

[0053] Figure 7 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0054] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0055] The recommendation information processing method provided in this application embodiment can be applied to, for example, Figure 1In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104 or located in the cloud or on other network servers. Terminal 102 (such as a target user's terminal device) can send an information stream recommendation request to server 104. Based on this request, server 104 can obtain a set of candidate entries for the current recommendation task. By filtering the target entries from the candidate set, it can obtain the filtered entries for the current recommendation task. Then, based on the filtered entries, it can send the target recommendation entries for the information stream recommendation request to terminal 102. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can be smart TVs, smart in-vehicle devices, etc. Portable wearable devices can be smartwatches, smart bracelets, head-mounted devices, etc. Server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.

[0056] In one embodiment, such as Figure 2 As shown, a recommendation information processing method is provided, which can be applied to... Figure 1 Taking server 104 as an example, the following steps are included:

[0057] Step 201: Obtain the set of candidate items for the current recommendation task;

[0058] The current recommendation task can be generated in response to a news feed recommendation request sent by a target user. For example, if the target user's terminal device has the target application's client installed, logging into the client allows access to the target user's account, which corresponds to a user ID. The server can then receive the news feed recommendation request sent by the target user through that account and generate a recommendation task for that request, which becomes the current recommendation task. The target user can log into the client on different terminal devices and access their respective target user accounts.

[0059] As an example, multiple recommendation information can be returned based on the information flow recommendation request. Each recommendation information can be an information item, and the information item can adopt different information display methods. No specific restrictions are imposed in this embodiment.

[0060] In practical applications, the server can respond to the information flow recommendation request sent by the target account, create a current recommendation task for the information flow recommendation request, and then obtain candidate data from the relevant raw data based on the current recommendation task as a candidate item set, so as to further filter recommendations based on the candidate item set and determine the recommendation items to be sent to the target user.

[0061] In one example, for a real-time recommendation scenario, such as Figure 3 As shown, the target user's terminal device may have the target application installed. The user can trigger a news feed recommendation request for a specific recommendation page within that application. Upon receiving the news feed recommendation request from the target user, the server can use a recall process to filter a portion of the data (i.e., a candidate item set) from the massive dataset to further determine the recommended data to return to the target user. Alternatively, the server can obtain the candidate item set based on the data processed by either process, such as... Figure 3 In this embodiment, there are no specific restrictions on the coarse-scale process, fine-scale process, and re-scale process.

[0062] Step 202: Filter the target filter items from the candidate item set to obtain the filtered items for the current recommendation task;

[0063] The target filtering entries may include entries that have been sent to the target user within a first time threshold and entries that have been displayed to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0064] In a specific implementation, the candidate item set can be input into the delivery filter and the exposure filter. The delivery filter can then filter historical delivery items that have been delivered to the target user within the first time threshold, and the exposure filter can filter historical exposure items that have been displayed to the target user within the second time threshold, so as to filter the target filter items from the candidate item set and obtain the filtered items.

[0065] In one example, such as Figure 3 As shown, when a user makes consecutive requests, in order to avoid sending duplicate data and causing the user to see the same recommended items repeatedly, a filter can be used after the recall process, such as a delivery filter or an exposure filter. The delivery filter can be used to filter items that have already been delivered by the server, while the exposure filter can be used to filter items that have been delivered and displayed. In other words, the exposure filter can give delivered but not yet exposed items a chance to be delivered again, which can increase the chance of high-quality items being exposed and improve the recommendation effect.

[0066] Step 203: Based on the filtered entries, send the target recommended entries for the information flow recommendation request to the target user.

[0067] After obtaining the filtered entries, the target recommended entries can be determined based on the filtered entries. Then, the target recommended entries for the information flow recommendation request can be sent to the target user's terminal device to return the requested recommended information flow.

[0068] Specifically, such as Figure 3As shown, filtered entries can be obtained by using a filter after the recall process. Further recommendation filtering can then be performed based on these filtered entries, such as coarse ranking, fine ranking, and re-ranking, to obtain an entry list that is returned to the target user. Alternatively, the target recommended entries can be returned to the target user by calling the recommendation interface, and the information stream can be formed using these target recommended entries for display.

[0069] Compared to traditional methods that rely on client-side pre-fetching, which suffer from issues such as inaccurate data filtering and the loss of previously unexposed data from recommendations, this embodiment's technical solution accurately reflects exposure data and avoids duplicate exposure of invalid entries. It also overcomes the problem of client-side pre-request operations affecting the accuracy of exposure data, making server-side delivery processing less dependent on the client.

[0070] In the above-described recommendation information processing method, a set of candidate items for the current recommendation task is obtained, and then the target filter items are filtered from the candidate item set to obtain the filtered items for the current recommendation task. Then, based on the filtered items, the target recommendation items for the information flow recommendation request are sent to the target user. This achieves the optimization of recommendation information filtering. By configuring the corresponding effective time for filtering the sent items, the data that has not been exposed can be retrieved in a timely manner, achieving the effects of accurate exposure filtering and effective data retrieval, ensuring the effectiveness of recommendation information and improving the efficiency of recommendation information processing.

[0071] In one embodiment, filtering target entries from the candidate entry set to obtain filtered entries for the current recommendation task may include the following steps:

[0072] The candidate item set is input into the delivery filter and the exposure filter; the delivery filter filters the historical delivery items that have been delivered to the target user within the first time threshold, and the exposure filter filters the historical exposure items that have been displayed to the target user within the second time threshold, to obtain the filtered items.

[0073] Among them, historical delivery entries can be those delivered based on historical information stream recommendation requests to target users; historical exposure entries can be determined based on historical exposure reporting information received from target users, such as historical delivery entries that have already been shown to target users.

[0074] In practical applications, since filters can be used to retrieve whether an element is in a specified set, a delivery filter and an exposure filter can be used to filter the candidate item set. By inputting the candidate item set into the delivery filter, the historical delivery items that have been delivered to the target user within the first time threshold are filtered, and by inputting it into the exposure filter, the historical exposure items that have been displayed to the target user within the second time threshold are filtered, and thus the filtered items can be obtained.

[0075] In one example, the delivery filter can record historical delivery items that have been delivered to the target user, and the exposure filter can record historical exposure items that have been displayed to the target user. The corresponding validity period can be set for the delivery filter and the exposure filter, thereby enabling data to be filtered according to the preset time.

[0076] For example, by setting the effective time of the delivery filter to 3 minutes (i.e., the first time threshold) and the effective time of the exposure filter to 30 minutes (i.e., the second time threshold), it is possible to prevent users from repeatedly seeing the same recommended items (i.e., historical exposure items that have been shown to the target user) within 30 minutes when users make continuous requests. Furthermore, items that have been delivered but not yet exposed can be re-delivered after 3 minutes. This achieves both accurate exposure filtering and sufficient exposure opportunities for excellent items that have not yet been exposed, ensuring that the recommendation effect is not affected.

[0077] In an optional embodiment, the exposure filter can process the exposure tracking data reported offline by the client to determine the items that have been displayed to the target user after being sent. The exposure tracking data can be used to characterize the implementation process of capturing, processing and sending behavior or events for a specified object. For example, for items that have been sent to the target user, it can be identified whether any item has been displayed on the target user's terminal device, that is, the exposure causes the user to view or interact with the item.

[0078] In yet another example, such as Figure 4aAs shown, by using two scrolling filters—a delivery filter and an exposure filter—data can be filtered according to a preset time. The exposure filter processes exposure tracking data reported offline by the client. However, due to the long processing time for data and its addition to the filter, and the issue of exposure data not being reported in a timely manner when users switch clients (e.g., from mobile to PC and then back to mobile), the effectiveness of exposure filtering is affected. This embodiment addresses this by setting corresponding effective times for the delivery filter and the exposure filter. The effective time of the delivery filter can be configured according to the actual rate of data consumption. By ensuring that the effective time of the delivery filter is much shorter than that of the exposure filter, users will not see duplicate recommendations. Customization is also possible, achieving accurate exposure filtering and effective data retrieval, thus improving the effectiveness of recommendation information.

[0079] In this embodiment, by inputting the candidate item set into the delivery filter and the exposure filter, the delivery filter filters the historical delivery items that have been delivered to the target user within the first time threshold, and the exposure filter filters the historical exposure items that have been displayed to the target user within the second time threshold. The filtered items can truly reflect the exposure situation, avoid invalid repeated exposure of items, and ensure the effectiveness of the recommendation information.

[0080] In one embodiment, after the step of sending the target recommendation items for the information feed recommendation request to the target user based on the filtered items, the following steps may also be included:

[0081] The target recommended item is added to the distribution filter as a historical distribution item; when the exposure reporting information sent by the target user is received within the first time threshold, the target recommended item that has been shown to the target user is determined from the exposure reporting information and added to the exposure filter as a historical exposure item.

[0082] In one example, by adding the delivered items (i.e. target recommended items) to the delivery filter when the request returns, when the exposure tracking data reported by the client is received within 3 minutes of delivery (i.e. the first time threshold), the exposed items can be added to the exposure filter, so that users will not see duplicate items within 30 minutes (i.e. the second time threshold), and items that are delivered but not exposed can be re-delivered after 3 minutes.

[0083] In another example, the server can use the exposure tracking data collected by the client as the basis for exposure, and by combining the delivery filter and the exposure filter, and configuring the rolling expiration time for the filter, namely the first time threshold and the second time threshold, the server can instantly reclaim the unexposed delivery data. This realizes exposure filtering and delivery data reclamation, which allows high-quality items to be delivered to the same user multiple times even if they are not exposed, ensuring the exposure opportunity of items that match the user and improving the recommendation effect.

[0084] In this embodiment, by adding the target recommended item as a historical delivery item to the delivery filter, and then when the exposure reporting information sent by the target user is received within the first time threshold, the target recommended item that has been shown to the target user is determined from the exposure reporting information and added as a historical exposure item to the exposure filter. This achieves the effect of accurate exposure filtering and effective recycling of delivery data, thereby improving the effectiveness of the recommended information.

[0085] In one embodiment, the following steps may also be included:

[0086] Based on the first time threshold, delete historical delivery entries that have been delivered to the target user from the delivery filter; based on the second time threshold, delete historical exposure entries that have been displayed to the target user from the exposure filter.

[0087] In practical implementation, by setting expiration times for distributed data, such as setting corresponding validity periods for distribution filters and exposure filters (i.e., first and second time thresholds), distributed but unexposed data can be retrieved in a timely manner. While meeting the client's pre-request recommendation interface requirements, accurate exposure data can be obtained, thus achieving exposure filtering. Furthermore, according to the configured validity periods, the historical distribution entries recorded in the distribution filters that have been distributed to the target users, and the historical exposure entries recorded in the exposure filters that have been displayed to the target users, can be updated. This enables exposure traffic control, adjusts the exposure distribution of recommended items, ensures that excellent items have sufficient exposure opportunities, and guarantees that the recommendation effect is not affected.

[0088] For example, the effective time of the delivery filter can be set to 3 minutes (i.e., the first time threshold), and then the historical delivery entries that have been delivered to the target user in the delivery filter can be deleted according to the effective time of the delivery filter; the effective time of the exposure filter can be set to 30 minutes (i.e., the second time threshold), and then the historical exposure entries that have been displayed to the target user in the exposure filter can be deleted according to the effective time of the exposure filter.

[0089] In this embodiment, by deleting historical delivery entries that have been delivered to the target user from the delivery filter according to a first time threshold, and deleting historical exposure entries that have been displayed to the target user from the exposure filter according to a second time threshold, the effect of accurate exposure filtering and effective recycling of delivery data can be achieved, thereby improving the efficiency of recommendation information processing.

[0090] In one embodiment, the following steps may also be included:

[0091] Combine multiple first sub-filters to construct a delivery filter; each first sub-filter has the same first storage time range, which matches a first time threshold; combine multiple second sub-filters to construct an exposure filter; each second sub-filter has the same second storage time range, which matches a second time threshold.

[0092] In practical applications, to achieve data filtering according to a preset time, multiple sub-filters can be combined to construct a filter. Specifically, multiple first sub-filters can be combined to construct a distribution filter, and multiple second sub-filters can be combined to construct an exposure filter. The first and second sub-filters can be of the same type. For example... Figure 4b As shown, sub-filters can be sorted in ascending order of creation time. Each sub-filter can have the same storage time range and lifecycle. When the lifecycle of any sub-filter is detected to have expired, that sub-filter can be destroyed.

[0093] In this embodiment, by combining multiple first sub-filters to construct a delivery filter, and by combining multiple second sub-filters to construct an exposure filter, data can be filtered according to a preset time based on setting corresponding effective times for the delivery filter and the exposure filter.

[0094] In one embodiment, the following steps may also be included:

[0095] When adding a new entry to a distributed filter, a first sub-filter to be inserted is determined from multiple first sub-filters; if the current time is detected to exceed the first storage time range of the first sub-filter to be inserted, a new first sub-filter is created, and the new entry is inserted into the new first sub-filter.

[0096] In one example, when adding a new entry to a distribution filter, if it is necessary to insert an element (i.e., a new entry), you can check the creation time of each first sub-filter in the distribution filter, and use the first sub-filter with the latest creation time as the first sub-filter to be inserted. If the current time has exceeded its storage time range (i.e., the first storage time range), you can create a new sub-filter and insert the element, that is, create a new first sub-filter and insert the new entry into the new first sub-filter.

[0097] In another example, when adding a new entry to the exposure filter, you can check the creation time of each second sub-filter in the exposure filter and use the second sub-filter with the latest creation time as the second sub-filter to be inserted. If the current time has exceeded its storage time range (i.e. the second storage time range), you can create a new sub-filter and insert the element, that is, create a new second sub-filter and insert the new entry into the new second sub-filter.

[0098] In this embodiment, when adding a new entry to the distributed filter, a first sub-filter to be inserted is determined from multiple first sub-filters. If the current time is detected to exceed the first storage time range of the first sub-filter to be inserted, a new first sub-filter is created, and a new entry is inserted into the new first sub-filter, thus providing data support for filtering information according to a preset time.

[0099] In one embodiment, inserting a new entry into the new first sub-filter may include the following steps:

[0100] Based on the calculated feature value of the new entry, determine the target storage location corresponding to the new entry in the new first sub-filter; the target storage location includes two storage locations; if either storage location is detected to be idle, the calculated feature value is placed in either storage location; or, if both storage locations are detected to be occupied, adjust the storage locations corresponding to the already stored entries in the new first sub-filter until both the new entry and the already stored entries have corresponding storage locations.

[0101] In the specific implementation, for each sub-filter, i.e. the first sub-filter of the delivery filter or the second sub-filter of the exposure filter, during the process of inserting a new entry into the sub-filter, it can perform a hash operation based on the inserted new element (i.e. the new entry) to obtain a fixed-length fingerprint (i.e., calculate the feature value) corresponding to the new element. Then the filter can only store the fingerprint of the inserted new element for recording. That is, the delivery filter can record the historical delivery entries that have been delivered to the target user, and the exposure filter can record the historical exposure entries that have been displayed to the target user.

[0102] In one example, each element stored in the filter can correspond to two storage locations (i.e., target storage locations). The first storage location p1 can be obtained by hashing the element, such as by determining it based on the element's fingerprint (i.e., calculating the feature value). The second storage location p2 can be obtained by hashing the XOR fingerprint of p1, which can be represented by the following formula:

[0103] fp = fingerprint(x)

[0104] p1 = hash(x)

[0105]

[0106] Here, fingerprint is the fingerprint corresponding to the element (i.e., the calculated feature value). Based on the duality of the XOR operation, we can obtain... That is, based on the fingerprint and one of the storage locations p1, the other storage location p2 can be calculated.

[0107] Since the filter forces the array length to be a power of 2, taking the modulo of the array length is equivalent to taking the last n bits of the hash value. When performing the XOR operation, the bits other than the lower n bits can be ignored, and the calculated position p can be retained in the lower n bits as the final dual position.

[0108] In another example, when a new element needs to be inserted into the filter, that is, during the process of inserting a new entry into the sub-filter, two storage locations, p1 and p2, can be calculated for the inserted new element. If one of the two storage locations is empty, the new element can be placed in it. That is, if either of the two storage locations is detected to be in an empty state, the calculated feature value is placed in either storage location.

[0109] In practical applications, two storage locations, p1 and p2, are calculated for the newly inserted element. If both storage locations are full, indicating that both are occupied, one storage location (any location) can be randomly selected. For the element already placed at that location, it is checked whether it has a dual location that can be directly stored. If the element has no dual location for storage, the other elements can be checked and recursively checked until all stored elements have corresponding storage locations. In other words, the storage locations corresponding to the stored entries in the new first sub-filter are adjusted until both the new entry and the stored entries have corresponding storage locations.

[0110] In this embodiment, the target storage location corresponding to the new entry in the new first sub-filter is determined by calculating the feature value of the new entry. If either of the two storage locations is detected to be idle, the calculated feature value is placed in either storage location. Alternatively, if both storage locations are detected to be occupied, the storage location corresponding to the stored entry in the new first sub-filter is adjusted until both the new entry and the stored entry have a corresponding storage location, thus providing technical support for adding new entries to the filter.

[0111] In one embodiment, such as Figure 5 The diagram illustrates another method for processing recommendation information. In this embodiment, the method includes the following steps:

[0112] In step 501, a set of candidate entries for the current recommendation task is obtained; the current recommendation task is generated in response to an information flow recommendation request sent by a target user. In step 502, the set of candidate entries is input into the delivery filter and the exposure filter. In step 503, historical delivery entries sent to the target user within a first time threshold are filtered by the delivery filter, and historical exposure entries displayed to the target user within a second time threshold are filtered by the exposure filter to obtain filtered entries. In step 504, based on the filtered entries, the target recommendation entries for the information flow recommendation request are sent to the target user. In step 505, the target recommendation entries are added to the delivery filter as historical delivery entries. In step 506, when exposure reporting information sent by the target user is received within the first time threshold, the target recommendation entries already displayed to the target user are determined from the exposure reporting information and added to the exposure filter as historical exposure entries. It should be noted that the specific limitations of the above steps can be found in the specific limitations of a recommendation information processing method described above, and will not be repeated here.

[0113] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0114] Based on the same inventive concept, this application also provides a recommendation information processing apparatus for implementing the recommendation information processing method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more of the recommendation information processing apparatus embodiments provided below can be found in the limitations of the recommendation information processing method described above, and will not be repeated here.

[0115] In one embodiment, such as Figure 6 As shown, a recommendation information processing device is provided, comprising:

[0116] The candidate item set acquisition module 601 is used to acquire a candidate item set for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user.

[0117] The item filtering module 602 is used to filter target filtering items from the candidate item set to obtain filtered items for the current recommendation task; the target filtering items include items that have been sent to the target user within a first time threshold and items that have been displayed to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0118] The item delivery module 603 is used to deliver target recommended items for the information flow recommendation request to the target user based on the filtered items.

[0119] In one embodiment, the entry filtering module 602 includes:

[0120] The candidate item set input submodule is used to input the candidate item set into the distribution filter and the exposure filter;

[0121] The filter processing submodule is used to filter historical delivery entries that have been delivered to the target user within the first time threshold using the delivery filter, and to filter historical exposure entries that have been displayed to the target user within the second time threshold using the exposure filter, so as to obtain the filtered entries.

[0122] The historical delivery entries are those delivered to the target user based on the historical information stream recommendation request; the historical exposure entries are determined based on the historical exposure reporting information sent by the target user.

[0123] In one embodiment, the apparatus further includes:

[0124] The delivery item addition module is used to add the target recommended item as a historical delivery item to the delivery filter;

[0125] The exposure entry addition module is used to determine the target recommended entry that has been shown to the target user from the exposure reporting information when the exposure reporting information is received from the target user within the first time threshold, and add it as the historical exposure entry to the exposure filter.

[0126] In one embodiment, the apparatus further includes:

[0127] The delivery entry deletion module is used to delete historical delivery entries that have been delivered to the target user from the delivery filter according to the first time threshold.

[0128] The exposure entry deletion module is used to delete historical exposure entries that have been shown to the target user in the exposure filter according to the second time threshold.

[0129] In one embodiment, the apparatus further includes:

[0130] A filter construction module is used to combine multiple first sub-filters to construct the filter; each first sub-filter has the same first storage time range, and the first storage time range is matched with a first time threshold.

[0131] An exposure filter building module is used to combine multiple second sub-filters to build the exposure filter; each second sub-filter has the same second storage time range, which matches the second time threshold.

[0132] In one embodiment, the apparatus further includes:

[0133] The sub-filter detection module is used to determine a first sub-filter to be inserted from a plurality of first sub-filters when adding a new entry for the distributed filter;

[0134] An entry insertion module is used to create a new first sub-filter and insert the new entry into the new first sub-filter if the current time is detected to exceed the first storage time range of the first sub-filter to be inserted.

[0135] In one embodiment, the entry insertion module includes:

[0136] The target storage location determination submodule is used to determine the target storage location corresponding to the new entry in the new first sub-filter based on the calculated feature value of the new entry; the target storage location includes two storage locations;

[0137] An insertion processing submodule is used to, if either of the two storage locations is detected to be in an idle state, place the calculated feature value into either of the two storage locations; or, if both storage locations are detected to be in an occupied state, adjust the storage location corresponding to the stored entry in the new first sub-filter until both the new entry and the stored entry have a corresponding storage location.

[0138] Each module in the aforementioned recommendation information processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0139] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 7As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores recommendation information processing data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a recommendation information processing method.

[0140] Those skilled in the art will understand that Figure 7 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0141] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0142] Obtain a set of candidate items for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user;

[0143] Filter target filter entries from the candidate entry set to obtain filtered entries for the current recommendation task; the target filter entries include entries that have been sent to the target user within a first time threshold and entries that have been shown to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0144] Based on the filtered entries, the target recommended entries for the information stream recommendation request are sent to the target user.

[0145] In one embodiment, the processor, when executing a computer program, also implements the steps of the recommendation information processing method in the other embodiments described above.

[0146] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0147] Obtain a set of candidate items for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user;

[0148] Filter target filter entries from the candidate entry set to obtain filtered entries for the current recommendation task; the target filter entries include entries that have been sent to the target user within a first time threshold and entries that have been shown to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0149] Based on the filtered entries, the target recommended entries for the information stream recommendation request are sent to the target user.

[0150] In one embodiment, when the computer program is executed by a processor, it also implements the steps of the recommendation information processing method in the other embodiments described above.

[0151] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:

[0152] Obtain a set of candidate items for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user;

[0153] Filter target filter entries from the candidate entry set to obtain filtered entries for the current recommendation task; the target filter entries include entries that have been sent to the target user within a first time threshold and entries that have been shown to the target user within a second time threshold, wherein the first time threshold is less than the second time threshold.

[0154] Based on the filtered entries, the target recommended entries for the information stream recommendation request are sent to the target user.

[0155] In one embodiment, when the computer program is executed by a processor, it also implements the steps of the recommendation information processing method in the other embodiments described above.

[0156] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0157] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0158] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0159] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method for processing recommendation information, characterized in that, The method includes: Obtain a set of candidate items for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user; The candidate item set is input into the delivery filter and the exposure filter; The historical delivery entries that have been delivered to the target user within the first time threshold are filtered by the delivery filter, and the historical exposure entries that have been displayed to the target user within the second time threshold are filtered by the exposure filter to obtain the filtered entries. The effective time of the distribution filter is the first time threshold; the effective time of the exposure filter is the second time threshold; the first time threshold is less than the second time threshold; Based on the filtered entries, the target recommended entries for the information stream recommendation request are sent to the target user. The method further includes: The delivery filter is constructed by combining multiple first sub-filters; each first sub-filter has the same first storage time range, which is matched with a first time threshold. The exposure filter is constructed by combining multiple second sub-filters; each second sub-filter has the same second storage time range, which is matched with the second time threshold. When adding a new entry for the distributed filter, a first sub-filter to be inserted is determined from a plurality of the first sub-filters; If the current time is detected to exceed the first storage time range of the first sub-filter to be inserted, a new first sub-filter is created, and the new entry is inserted into the new first sub-filter.

2. The method according to claim 1, characterized in that, The historical delivery entries are those delivered to the target user based on the historical information stream recommendation request; the historical exposure entries are determined based on the historical exposure reporting information sent by the target user.

3. The method according to claim 2, characterized in that, After the step of sending the target recommendation item for the information stream recommendation request to the target user based on the filtered items, the method further includes: The target recommended item is added to the distribution filter as a historical distribution item; When an exposure report is received from the target user within the first time threshold, the target recommended item that has been shown to the target user is determined from the exposure report and added to the exposure filter as the historical exposure item.

4. The method according to claim 2, characterized in that, The method further includes: According to the first time threshold, delete the historical delivery entries that have been delivered to the target user from the delivery filter; According to the second time threshold, delete the historical exposure entries that have been shown to the target user in the exposure filter.

5. The method according to claim 1, characterized in that, The insertion of the new entry into the new first sub-filter includes: Based on the calculated feature value of the new entry, the target storage location corresponding to the new entry in the new first sub-filter is determined; the target storage location includes two storage locations. If either of the two storage locations is detected to be idle, the calculated feature value is placed in either of the storage locations. Alternatively, if both storage locations are detected to be occupied, the storage locations corresponding to the stored entries in the new first sub-filter are adjusted until both the new entry and the stored entries have corresponding storage locations.

6. A recommendation information processing device, characterized in that, The device includes: The candidate item set acquisition module is used to acquire a candidate item set for the current recommendation task; the current recommendation task is generated in response to an information stream recommendation request sent by a target user. The item filtering module is used to input the candidate item set into the delivery filter and the exposure filter; The historical delivery entries that have been delivered to the target user within the first time threshold are filtered by the delivery filter, and the historical exposure entries that have been displayed to the target user within the second time threshold are filtered by the exposure filter to obtain the filtered entries. The effective time of the distribution filter is the first time threshold; the effective time of the exposure filter is the second time threshold, and the first time threshold is less than the second time threshold. The item delivery module is used to deliver the target recommended items for the information flow recommendation request to the target user based on the filtered items; The device further includes: A filter construction module is used to combine multiple first sub-filters to construct the filter; each first sub-filter has the same first storage time range, and the first storage time range is matched with a first time threshold. An exposure filter construction module is used to combine multiple second sub-filters to construct the exposure filter; each second sub-filter has the same second storage time range, which matches a second time threshold. The sub-filter detection module is used to determine a first sub-filter to be inserted from a plurality of first sub-filters when adding a new entry for the distributed filter; An entry insertion module is used to create a new first sub-filter and insert the new entry into the new first sub-filter if the current time is detected to exceed the first storage time range of the first sub-filter to be inserted.

7. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 5.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Information recommendation method and apparatus, and Bloom filter creation method and apparatus

    CN110781386A

  • Duplicate removal method and device in recommendation scene, electronic equipment and storage medium

    CN113792180A