Method for constructing index and method for recalling items

By constructing an inverted index for items and utilizing static and dynamic features to quickly retrieve and recall items, the problem of recall accuracy and performance caused by frequent database access in existing technologies is solved, achieving efficient and accurate item recommendation.

CN116521681BActive Publication Date: 2026-02-10SHANGHAI SOULGATE TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310475103.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-27
Publication Date
2026-02-10
Estimated Expiration
2043-04-27

AI Technical Summary

Technical Problem

In the existing technology, the frequent access to the database to determine whether an item meets the recall criteria during the item recall process leads to database recording failure, reducing the accuracy of recalled items and the service performance of the recommendation system.

Method used

By constructing an inverted index for items, and utilizing the static features of items and the dynamic features related to exposure, items that meet the recall criteria can be quickly retrieved, reducing the frequency of database access, lowering the probability of database failure, and avoiding the waste of recall quotas.

Benefits of technology

It improves the efficiency and accuracy of item retrieval, reduces database pressure and failure probability, and enhances the performance of the recommendation system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116521681B_ABST
    Figure CN116521681B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method for constructing an index and a method for recalling an item, relating to the technical field of Internet, and the method comprises: acquiring feature data of an item, wherein the feature data comprises static features of the item and dynamic features related to exposure of the item; constructing an inverted index corresponding to the item according to the feature data, so that the item is recalled through the inverted index in the case of meeting a recall condition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of Internet technology, and in particular to a method for constructing an index and a method for recalling items. Background Technology

[0002] Recommendation systems can proactively recommend customized items to users. Proactively recommending customized items can help users save browsing time and improve the user experience; it can also increase the exposure of recommended items, making them more likely to attract user attention.

[0003] In related technologies, when recommending items, items are directly exposed, then some of the exposed items are recalled, filtered based on the actual exposure of the items, and finally at least some of the filtered items are selected as recommended items. Summary of the Invention

[0004] In related technologies, items are first recalled, and then filtered. However, since the number of recalled items is limited, some items will be filtered out and not recommended to users, consuming the recall quota. Furthermore, the dynamic characteristics related to item exposure are recorded in a database. To obtain items that meet the recall criteria, these technologies require frequent database accesses. Each recall requires retrieving the dynamic data of each item and individually determining whether it meets the recall criteria. This approach is prone to database recording failures, leading to errors in the dynamic data, reducing the accuracy of recalled items, and ultimately impacting the service performance of the recommendation system.

[0005] To address the aforementioned problems, the present disclosure provides the following technical solutions.

[0006] According to one aspect of the present disclosure, a method for constructing an index is provided, comprising: acquiring feature data of an item, the feature data including static features of the item and dynamic features related to the exposure of the item; constructing an inverted index corresponding to the item based on the feature data, so that the item can be recalled through the inverted index when recall conditions are met.

[0007] In some embodiments, the dynamic feature includes the server exposure of the item, and the method further includes: when the server exposure reaches at least one preset threshold, retrieving the dynamic feature from the database.

[0008] In some embodiments, the at least one preset threshold includes a plurality of incremental preset thresholds, the plurality of preset thresholds includes a plurality of sets of thresholds, each set of thresholds includes two adjacent preset thresholds, the plurality of sets of thresholds includes a first set of thresholds and a second set of thresholds, wherein the preceding preset threshold in the first set of thresholds is less than the preceding preset threshold in the second set of thresholds, and the absolute value of the difference between the first set of thresholds is less than the absolute value of the difference between the second set of thresholds.

[0009] In some embodiments, in each of the multiple sets of thresholds, the absolute value of the difference between the first set of thresholds is less than the absolute value of the difference between the second set of thresholds.

[0010] In some embodiments, the multiple sets of thresholds further include a third set of thresholds, wherein the first preset threshold in the second set of thresholds is less than the first preset threshold in the third set of thresholds, and the difference between the absolute value of the difference between the second set of thresholds and the absolute value of the difference between the first set of thresholds is less than the difference between the absolute value of the difference between the third set of thresholds and the absolute value of the difference between the second set of thresholds.

[0011] In some embodiments, the difference between the absolute value of the difference between the middle set of thresholds in each of the multiple sets of thresholds and the absolute value of the difference between the previous set of thresholds is less than the difference between the absolute value of the difference between the next set of thresholds and the absolute value of the difference between the middle set of thresholds.

[0012] In some embodiments, retrieving the dynamic feature from the database includes: receiving an indication message that the server exposure has reached at least one preset threshold; and retrieving the dynamic feature from the database in response to the indication message.

[0013] In some embodiments, obtaining the dynamic features from the database includes: obtaining a snapshot of the dynamic features of the item at the current moment from the database; and obtaining the dynamic features based on the snapshot.

[0014] In some embodiments, the dynamic features include at least one of the item’s server-side exposure, client-side exposure, and interaction volume.

[0015] In some embodiments, the interaction volume includes at least one of the following: clicks, likes, comments, and shares of the item.

[0016] In some embodiments, the method further includes: obtaining user data related to user behavior from user middleware; obtaining dynamic features related to the exposure of the item based on the user data; and storing the dynamic features in a database, wherein obtaining the feature data of the item includes: obtaining the dynamic features from the database.

[0017] In some embodiments, constructing the inverted index corresponding to the item based on the feature data includes: writing the feature data into a search engine to construct the inverted index in the search engine.

[0018] In some embodiments, the method further includes: retrieving the static feature from the article intermediate if the static feature changes.

[0019] In some embodiments, the static characteristics of the article include the article's serial number and at least one of its name, category, and label.

[0020] According to another aspect of the present disclosure, a method for recalling items is provided, comprising: searching for at least one inverted index that satisfies recall conditions, wherein each of the at least one inverted index is constructed according to the index construction method described in any of the above embodiments; determining at least one corresponding item based on the at least one inverted index; and recalling the at least one item.

[0021] According to another aspect of the embodiments of this disclosure, a method for recommending items is provided, comprising: determining at least one item to be recommended from a plurality of items, wherein the plurality of items are recalled according to the item recall method described in any of the above embodiments; and recommending the at least one item to be recommended to a user.

[0022] According to another aspect of the present disclosure, an apparatus for constructing an index is provided, comprising: an acquisition module configured to acquire feature data of an item, the feature data including static features of the item and dynamic features related to the exposure of the item; and a construction module configured to construct an inverted index corresponding to the item based on the feature data, so that the item can be recalled through the inverted index when recall conditions are met.

[0023] According to another aspect of the present disclosure, an apparatus for recalling items is provided, comprising: a search module configured to search for at least one inverted index that satisfies recall conditions, wherein each of the at least one inverted index is constructed according to the index construction method described in any of the above embodiments; a determination module configured to determine at least one corresponding item based on the at least one inverted index; and a recall module configured to recall the at least one item.

[0024] According to another aspect of the present disclosure, an apparatus for recommending items is provided, comprising: a determining module configured to determine at least one item to be recommended from a plurality of items, the plurality of items being recalled according to the item recall method described in any of the preceding embodiments; and a recommending module configured to recommend the at least one item to be recommended to a user.

[0025] According to another aspect of the present disclosure, an apparatus for constructing an index is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the method for constructing an index as described in any of the preceding embodiments based on instructions stored in the memory.

[0026] According to another aspect of the present disclosure, an apparatus for recalling items is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the method for recalling items as described in any of the above embodiments based on instructions stored in the memory.

[0027] According to another aspect of the present disclosure, an apparatus for recommending items is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the method for recommending items as described in any of the above embodiments based on instructions stored in the memory.

[0028] According to another aspect of the present disclosure, a system for recommending items is provided, comprising at least one of the following: an index-building apparatus, an item recall apparatus, and an item recommendation apparatus as described in any of the foregoing embodiments.

[0029] According to another aspect of the present disclosure, a computer-readable storage medium is provided, including computer program instructions, wherein the computer program instructions, when executed by a processor, implement the method described in any of the above embodiments.

[0030] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program, when executed by a processor, implements the method described in any of the above embodiments.

[0031] In this embodiment, an inverted index is constructed based on the static characteristics of the item and the dynamic characteristics related to the item's exposure. When recalling items, the inverted index constructed in this manner can quickly retrieve items that meet the recall criteria based on the dynamic characteristics related to exposure, without needing to traverse the dynamic characteristics of each item and determine whether each item meets the recall criteria individually, thus improving the recall efficiency. Furthermore, items recalled through the inverted index already meet the recall criteria, eliminating the need for subsequent filtering and avoiding waste of recall quotas. In addition, directly recalling items based on the inverted index avoids frequent database access, reducing the probability of database failure and contributing to improved item recall accuracy.

[0032] The technical solutions of this disclosure will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description

[0033] To more clearly illustrate the technical solutions in the embodiments of this disclosure 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 this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0034] Figure 1 This is a flowchart illustrating a method for constructing an index according to some embodiments of this disclosure;

[0035] Figure 2 This is a flowchart illustrating the process of obtaining dynamic features of an item according to some embodiments of this disclosure;

[0036] Figure 3 This is a schematic diagram of the structure of a recommendation system according to some embodiments of the present disclosure;

[0037] Figure 4 This is a flowchart illustrating a method for recalling items according to some embodiments of the present disclosure;

[0038] Figure 5 This is a flowchart illustrating a method for recommending items according to some embodiments of the present disclosure;

[0039] Figure 6 This is a schematic diagram of the structure of an index-building apparatus according to some embodiments of the present disclosure;

[0040] Figure 7 This is a schematic diagram of the structure of a device for recalling items according to some embodiments of this disclosure;

[0041] Figure 8 This is a schematic diagram of the structure of an apparatus for a recommended article according to some embodiments of the present disclosure;

[0042] Figure 9 This is a schematic diagram of the structure of an electronic device according to some embodiments of the present disclosure. Detailed Implementation

[0043] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0044] Unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of this disclosure.

[0045] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.

[0046] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.

[0047] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.

[0048] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.

[0049] Recommendation systems can proactively recommend customized items to users based on their browsing history, interaction history, and other information. A user's browsing history and interaction history reflect their personal preferences.

[0050] In some embodiments, the recommendation system is used to recommend products or advertisements to users in shopping software. In other embodiments, the recommendation system is used to recommend posts, news, personal profiles, etc., to users in social media software.

[0051] The process of determining recommended items mainly involves three steps: recall, filtering, and sorting. Finally, the selected items are recommended to the user. Related technologies typically involve first recalling items, then filtering the recalled items, and finally sorting them.

[0052] This disclosure proposes the following technical solution that can perform filtering while recalling items.

[0053] Figure 1 This is a flowchart illustrating a method for constructing an index according to some embodiments of the present disclosure.

[0054] like Figure 1 As shown, the method for constructing the index includes steps 102 and 104.

[0055] In step 102, feature data of the item is acquired, including static features of the item and dynamic features related to the exposure of the item.

[0056] Items include products, advertisements, posts, news, or personal pages.

[0057] In some embodiments, the dynamic characteristics of an item include at least one of the item's server-side exposure, client-side exposure, and interaction volume.

[0058] In some embodiments, the dynamic characteristics of an item include multiple of the following: server-side exposure, client-side exposure, and interaction volume. For example, the dynamic characteristics of an item may include both server-side and client-side exposure. Another example is that the dynamic characteristics of an item may include both server-side and interaction volume. Yet another example is that the dynamic characteristics of an item may include both client-side and interaction volume. Still another example is that the dynamic characteristics of an item may include server-side, client-side, and interaction volume.

[0059] Server-side exposure for an item is the cumulative number of times the item is pushed to a user by the server. For example, in response to a recommendation request from an application used by a user, the server pushes K items to that user's application. Each of these K items receives one server-side exposure, meaning the cumulative server-side exposure for all K items is incremented by 1. As another example, in response to recommendation requests from applications used by users A and B, the server pushes items 1, 2, and 3 to user A, and items 1 and 3 to user B. Items 1 and 3 each receive two server-side exposures, while item 2 receives only one.

[0060] An item's client-side exposure is the cumulative number of times it is displayed on the user's client. For example, although the server pushes K items to a user's application, if the application's layout only displays M items per page and the user doesn't typically swipe back, only the M items on the first page will be displayed once on the user's client. In this case, the cumulative client-side exposure of each of these M items will be incremented by 1. All other items out of the K items will only receive one server-side exposure and no client-side exposure.

[0061] The interaction volume of an item reflects user interaction behavior with that item. In some embodiments, the interaction volume of an item includes at least one of the following: clicks, likes, comments, and shares. For example, if a user clicks on N items out of M items displayed in the client and likes one of those N items, then the click volume of each of the N items is incremented by 1, and the like volume of the liked item is incremented by 1.

[0062] In some embodiments, the static characteristics of an item include the item number and at least one of name, category, label, and publication time.

[0063] Item numbers are used to distinguish different items.

[0064] In some embodiments, an item's tag is a description of the item. For example, in a short video app, a short video with content related to finance might be tagged with "finance".

[0065] In some embodiments, an item's label may include one or more. For example, in shopping software, an item's label may include "red" and "comfortable".

[0066] In step 104, an inverted index corresponding to the item is constructed based on the feature data so that the item can be recalled through the inverted index if the recall conditions are met.

[0067] Following steps 102 and 104, an inverted index can be constructed for each of the multiple items.

[0068] In the above embodiments, when recalling items, the inverted index constructed in the above manner can quickly retrieve items that meet the recall conditions based on exposure-related dynamic features, without needing to traverse the dynamic features of each item and determine whether each item meets the recall conditions, thus improving the recall efficiency. Furthermore, items recalled through the inverted index already meet the recall conditions, eliminating the need for subsequent filtering and avoiding waste of recall quotas. In addition, directly recalling items based on the inverted index avoids frequent database access, reducing the probability of database failure and contributing to improved item recall accuracy.

[0069] Figure 2 This is a schematic flowchart illustrating the process of obtaining dynamic features of an item according to some embodiments of this disclosure.

[0070] In some embodiments, the method for constructing an index also includes, for example, Figure 2 Steps 202, 204, and 206 are shown.

[0071] Figure 3 This is a schematic diagram of the structure of a recommendation system according to some embodiments of the present disclosure. The following is in conjunction with… Figure 2 and Figure 3 The process of acquiring the dynamic characteristics of an item is explained.

[0072] In step 202, as Figure 3 As shown, user data related to user behavior is obtained from user middleware 310.

[0073] In some embodiments, the user middleware 310 acquires user data related to user behavior in real time through event tracking. For example, the user middleware 310 is a Kafka middleware.

[0074] In some embodiments, user data includes items pushed by the server to the user's application software, items displayed on the user's client, and user interactions with the items.

[0075] Since user data is stored on a user-by-user basis and records information related to each user, further steps 204 are required to obtain dynamic characteristics of items.

[0076] In step 204, dynamic features related to the exposure of the item are obtained based on user data.

[0077] In some embodiments, step 204 includes real-time statistical analysis of dynamic features in user data related to the exposure of an item.

[0078] In step 206, the dynamic features are stored in database 311. Figure 1 Step 102, obtaining the feature data of the item, includes obtaining dynamic features from database 311.

[0079] In some embodiments, the dynamic characteristics of items in database 311 are stored in key-value pairs, where the key is the item's ID and the value is a dictionary recording the item's exposure. Each dictionary recording item exposure includes at least one pair of elements, each pair containing a key and a value. The key in each pair represents the type of exposure or interaction, and the value represents the specific numerical value of the exposure or interaction. For example, the dictionary for item A includes two pairs of elements: one pair contains the item's client-side exposure and its numerical value, and the other pair contains the item's likes and their numerical value.

[0080] In some embodiments, the statistical analysis of dynamic features related to item exposure in user data is performed using the Hincrby command. The Hincrby command is used to accumulate values ​​from existing ones. Item exposure is generally measured using cumulative values; using the Hincrby command for statistical analysis can record exposure increments more efficiently, thus improving statistical efficiency.

[0081] The dynamic features of an object record information related to its exposure. Since the exposure of an object is constantly changing, its dynamic features also change continuously. The process of updating dynamic features is illustrated below with some examples.

[0082] In some embodiments, the dynamic features include the server-side exposure of an item. The method for building the index further includes: retrieving the dynamic features from the database 311 when the server-side exposure reaches at least one preset threshold. In other words, the dynamic features are retrieved from the database 311 each time a preset threshold is reached. For example, the preset thresholds set for server-side exposure are [20, 30, 40, 100, 300]. When the server-side exposure of an item reaches 20 times, the dynamic features of the item are retrieved again; when the server-side exposure reaches 30 times, the dynamic features of the item are retrieved again; when the server-side exposure reaches 40 times, the dynamic features of the item are retrieved a third time, and so on.

[0083] The above method relies on server-side exposure to drive the re-acquisition of item dynamic features. For any item to receive further exposure, it must first receive server-side exposure. This server-side exposure-driven re-acquisition of item dynamic features facilitates understanding the patterns of change in these features and the impact of server-side exposure on other exposure-related dynamic data. This, in turn, helps reduce the update frequency of the inverted index and alleviates the pressure on the database.

[0084] In some embodiments, an indication message is received indicating that the server exposure has reached at least one preset threshold; in response to the indication message, dynamic features are retrieved again from database 311. The inverted index of the item is updated based on the retrieved dynamic features. For example, if the indication message is sent by database 311, and the data is used to record the dynamic features of the item, sending the indication message from the database can make the inverted index update more timely and accurate.

[0085] In some embodiments, obtaining dynamic features from database 311 includes: obtaining a snapshot of the dynamic features of an item at the current moment from database 311; and obtaining the dynamic features of the item based on the obtained snapshot. Obtaining dynamic features through snapshots can improve the acquisition speed, thereby improving the update efficiency of the inverted index.

[0086] In some embodiments, at least one preset threshold set for server-side exposure includes multiple incremental preset thresholds. The multiple preset thresholds include multiple sets of thresholds, each set including two adjacent preset thresholds. The multiple sets of thresholds include a first set of thresholds and a second set of thresholds, wherein the preceding preset threshold in the first set of thresholds is less than the preceding preset threshold in the second set of thresholds, and the absolute value of the difference between the first set of thresholds is less than the absolute value of the difference between the second set of thresholds.

[0087] For example, multiple preset thresholds for server-side exposure are set as [20, 30, 40, 100, 300], with each pair of adjacent preset thresholds forming a threshold group. In this case, the multiple preset thresholds include a total of 4 threshold groups: [20, 30], [30, 40], [40, 100], and [100, 300]. For example, the first threshold group is [20, 30], and the second threshold group is [40, 100]. The previous preset threshold 20 in the first threshold group is less than the previous preset threshold 40 in the second threshold group, and the absolute value of the difference between the first and second threshold groups, 10, is less than the absolute value of the difference between the second and third threshold groups, 60.

[0088] The growth trend of item exposure is that the higher the exposure, the faster the growth. Setting a larger difference between the later thresholds than between the earlier thresholds better aligns with the exposure growth trend, effectively reducing the update frequency of the inverted index and alleviating the pressure on the database.

[0089] In some embodiments, in each pair of adjacent threshold sets, the absolute value of the difference between the previous threshold set is less than the absolute value of the difference between the next threshold set. For example, the preset thresholds are [30, 60, 100, 150, 210] or [20, 50, 100, 300, 800]. This approach can further reduce the update frequency of the inverted index and alleviate the pressure on the database 311.

[0090] In some embodiments, the multiple threshold sets further include a third threshold set, where the previous preset threshold in the second threshold set is less than the previous preset threshold in the third threshold set, and the difference between the absolute value of the difference in the second threshold sets and the absolute value of the difference in the first threshold set is less than the difference between the absolute value of the difference in the third threshold set and the absolute value of the difference in the second threshold set. For example, multiple preset thresholds are [20, 30, 40, 100, 300], the first threshold set is [20, 30], the second threshold set is [40, 100], and the third threshold set is [100, 300]. The previous preset threshold 40 in the second threshold set is less than the previous preset threshold 100 in the third threshold set. The difference between the absolute value of the difference in the second threshold sets 60 and the absolute value of the difference in the first threshold sets 10 is less than the difference between the absolute value of the difference in the third threshold sets 200 and the absolute value of the difference in the second threshold sets 60 is less than the difference in the absolute value of the difference in the second threshold sets 60 is less than the difference in the absolute value of the difference in the third threshold sets 200 is less than the difference in the absolute value of the difference in the second threshold sets 60 is less than the difference in the absolute value of the difference in the second threshold sets 60 is less than the difference in the absolute value of the difference in the third ...

[0091] In some embodiments, the difference between the absolute value of the difference of the middle threshold group and the absolute value of the difference of the previous threshold group in each of three consecutive threshold groups is less than the difference between the absolute value of the difference of the next threshold group and the absolute value of the difference of the middle threshold group. For example, multiple preset thresholds are [20, 50, 100, 300, 800]. For example, three consecutive threshold groups are [20, 50], [50, 100], and [100, 300]. The difference 20 between the absolute value 50 of the difference of the middle threshold group [50, 100] and the absolute value 30 of the difference of the previous threshold group [20, 50] is less than the difference 200 between the absolute value 200 of the difference of the next threshold group [100, 300] and the absolute value 50 of the difference of the middle threshold group [50, 100]. As another example, three consecutive threshold groups are [50, 100], [100, 300], and [300, 800]. The difference of 200 between the absolute value of the difference in the middle set of thresholds [100, 300] and 50 between the absolute value of the difference in the previous set of thresholds [50, 100] is 150, which is less than the difference of 500 between the absolute value of the difference in the next set of thresholds [300, 800] and 200 between the absolute value of the difference in the middle set of thresholds [100, 300], which is 300. This method can further reduce the update frequency of the inverted index and alleviate the pressure on database 311.

[0092] In some embodiments, step 104, constructing the inverted index corresponding to the item based on the feature data, includes: writing the feature data into the search engine 313 to construct the inverted index in the search engine 313. In this manner, the search engine 313 can more quickly utilize the inverted index constructed in the search engine 313 to perform retrieval, which helps improve the efficiency of item retrieval in the subsequent item retrieval process.

[0093] In some embodiments, the search engine 313 also provides retrieval capabilities for recalled items. By using pre-defined recall criteria as search keywords in the search engine 313, the inverted index of items that meet the recall criteria can be retrieved, thereby identifying the items that meet the recall criteria. This method facilitates the subsequent item recall process. For example, if the search keywords are server-side impressions greater than 10, publication time within half an hour, and client-side impressions of 0, inputting these keywords into the search engine 313 will retrieve all inverted indexes that meet the recall criteria listed in the keywords, and then the corresponding items can be found and recalled through the inverted index.

[0094] In some embodiments, the retrieval capabilities provided by the search engine 313 are implemented through an API (Application Programming Interface).

[0095] In some implementations, Search Engine 313 is a full-text search engine based on the Lucene architecture. In others, it employs distributed storage and supports multi-tenancy. Still others feature a web interface and support JSON (JavaScript Object Notation) format files.

[0096] In some embodiments, the method for constructing the index further includes: retrieving the static features from the item middleware 312 when the static features change. For example, the item middleware 312 is a Kafka middleware. The item middleware 312 is used to store the static features of items. The probability of changes in the static features of items is low, and retrieving the static features from the item middleware 312 when the static features of items change has a small impact on the item middleware 312. Timely updating the static features of items can improve the accuracy of the item inverted index, thereby making subsequent item retrieval more accurate.

[0097] In addition to the above-described method for constructing an index, this disclosure also proposes a method for recalling items.

[0098] Figure 4 This is a flowchart illustrating a method for recalling items according to some embodiments of the present disclosure.

[0099] like Figure 4 As shown, the method for recalling items includes steps 402, 404, and 406.

[0100] In step 402, at least one inverted index that satisfies the recall criteria is searched. Each of the at least one inverted index is constructed according to the index construction method of any of the embodiments described above.

[0101] For example, if only one inverted index satisfies the recall condition, then only that one inverted index will be found. Conversely, if multiple inverted indexes satisfy the recall condition, then all of those inverted indexes will be found.

[0102] In step 404, at least one corresponding item is determined based on at least one inverted index.

[0103] In step 406, at least one item is recalled.

[0104] For example, for each item in the item library, a corresponding inverted index is constructed using the indexing method described above. The feature data obtained during inverted index construction includes the item's ID, publication time, and server-side impressions. The recall criteria for an item are a publication time within half an hour and a server-side impression count greater than 10. First, all inverted indexes that meet the recall criteria are found. Then, the items pointed to by each inverted index are determined, and finally, these items are recalled.

[0105] When recalling items using the above method, the inverted index can quickly retrieve items that meet the recall criteria based on exposure-related dynamic features, without needing to traverse the dynamic features of each item and then individually determine whether it meets the recall criteria, thus improving recall efficiency. Furthermore, items recalled via the inverted index already meet the recall criteria, eliminating the need for subsequent filtering and avoiding waste of recall quotas. In addition, directly recalling items based on the inverted index avoids frequent access to database 311, reducing the probability of database 311 failure and contributing to improved item recall accuracy.

[0106] This disclosure also proposes a method for recommending items.

[0107] Figure 5 This is a flowchart illustrating a method for recommending items according to some embodiments of the present disclosure.

[0108] like Figure 5 As shown, the method for recommending items includes steps 502 and 504.

[0109] In step 502, at least one item to be recommended is determined from a plurality of items. The plurality of items are recalled according to the method for recalling items according to any of the above embodiments.

[0110] For example, multiple items are sorted according to preset recommendation rules, and a preset number of items that rank first among the multiple items are identified as items to be recommended.

[0111] In step 504, at least one item to be recommended is recommended to the user.

[0112] When recommending items using the above method, the inverted index can quickly retrieve items that meet the recall criteria based on exposure-related dynamic features, without needing to traverse the dynamic features of each item and judge whether each item meets the recall criteria individually. This helps improve the recall efficiency of items, and thus improves the recommendation efficiency. Furthermore, items recalled through the inverted index already meet the recall criteria, eliminating the need for subsequent filtering and avoiding the waste of recall quotas. This allows for retaining more candidate items in the subsequent recommendation process, increasing the probability of items being recommended. In addition, directly recalling items based on the inverted index avoids frequent access to database 311, reducing the probability of database 311 failure and helping to improve the accuracy of item recall, thereby improving the recommendation efficiency.

[0113] Figure 6 This is a schematic diagram of the structure of an apparatus for constructing an index according to some embodiments of the present disclosure.

[0114] like Figure 6 As shown, the apparatus for constructing the index includes an acquisition module 601 and a construction module 602.

[0115] The acquisition module 601 is configured to acquire feature data of an item. The feature data includes static features of the item and dynamic features related to the item's exposure.

[0116] The construction module 602 is configured to build an inverted index corresponding to the item based on the feature data, so that the item can be recalled through the inverted index if the recall conditions are met.

[0117] In some embodiments, the index-building apparatus may further include other modules to perform the index-building methods of the other embodiments described above.

[0118] Figure 7 This is a schematic diagram of a device for recalling items according to some embodiments of the present disclosure.

[0119] like Figure 7 As shown, the device for recalling items includes a search module 701, a determination module 702, and a recall module 703.

[0120] The lookup module 701 is configured to look up at least one inverted index that satisfies the recall criteria. Each of the at least one inverted index is constructed according to the index construction method in any of the above embodiments.

[0121] The determination module 702 is configured to determine at least one corresponding item based on at least one inverted index found by the lookup module 701.

[0122] The recall module 703 is configured to recall at least one item determined by the recall determination module 702.

[0123] In some embodiments, the device for recalling items may also include other modules to perform the methods for recalling items described in the other embodiments above.

[0124] In some embodiments, the means for recalling items includes the means for building an index according to any of the above embodiments.

[0125] Figure 8 This is a schematic diagram of the structure of an apparatus for a recommended article according to some embodiments of the present disclosure.

[0126] like Figure 8 As shown, the device for recommending items includes a determination module 801 and a recommendation module 802.

[0127] The determining module 801 is configured to determine at least one item to be recommended from a plurality of items. The plurality of items are recalled according to the item recall method of any of the above embodiments.

[0128] The recommendation module 802 is configured to recommend at least one item to be recommended to the user, as determined by the determination module 801.

[0129] In some embodiments, the device for recommending items includes the device for recalling items from any of the above embodiments.

[0130] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus embodiments, since they largely correspond to the method embodiments, the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0131] Figure 9 This is a schematic diagram of the structure of an electronic device according to some embodiments of the present disclosure. The electronic device may be an indexing device, a recall device, or a recommendation device.

[0132] like Figure 9 As shown, the electronic device 900 includes a memory 901 and a processor 902 coupled to the memory 901. The processor 902 is configured to execute, based on instructions stored in the memory 901, the method of constructing an index, the method of recalling items, or the method of recommending items of any of the foregoing embodiments.

[0133] The memory 901 may include, for example, system memory, fixed non-volatile storage media, etc. The system memory may store, for example, an operating system, application programs, a boot loader, and other programs.

[0134] Electronic device 900 may also include input / output interface 903, network interface 904, storage interface 905, etc. The input / output interface 903, network interface 904, and storage interface 905, as well as the memory 901 and processor 902, can be connected via, for example, a bus 906. Input / output interface 903 provides a connection interface for input / output devices such as monitors, mice, keyboards, and touchscreens. Network interface 904 provides a connection interface for various networked devices. Storage interface 905 provides a connection interface for external storage devices such as SD cards and USB flash drives.

[0135] This disclosure also provides a recommendation system, including at least one of the apparatus for constructing an index, the apparatus for recalling items, and the apparatus for recommending items as described in any of the above embodiments.

[0136] This disclosure also provides a computer-readable storage medium including computer program instructions that, when executed by a processor, implement the method of any of the above embodiments.

[0137] This disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the method of any of the above embodiments.

[0138] The embodiments of this disclosure have now been described in detail. To avoid obscuring the concept of this disclosure, some details known in the art have not been described. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.

[0139] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0140] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that the functions specified in one or more flowchart illustrations and / or one or more blocks in a block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate functions for implementing the functions in the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1A device that provides the functions specified in one or more boxes.

[0141] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0142] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0143] While specific embodiments of this disclosure have been described in detail by way of examples, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of this disclosure. Those skilled in the art should understand that modifications can be made to the above embodiments or equivalent substitutions can be made to some technical features without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.

Claims

1. A method for constructing an index, comprising: Acquire feature data of the item, the feature data including static features of the item and dynamic features related to the exposure of the item, the dynamic features including the server-side exposure of the item; An inverted index corresponding to the item is constructed based on the feature data, so that the item can be recalled through the inverted index when the recall conditions are met; When the server-side exposure reaches at least one preset threshold, the dynamic feature is retrieved again from the database. The at least one preset threshold includes multiple incremental preset thresholds. The multiple preset thresholds include multiple sets of thresholds. Each set of thresholds includes two adjacent preset thresholds. The multiple sets of thresholds include a first set of thresholds and a second set of thresholds. The first preset threshold in the first set of thresholds is less than the first preset threshold in the second set of thresholds. The absolute value of the difference between the first set of thresholds is less than the absolute value of the difference between the second set of thresholds.

2. The method according to claim 1, wherein, In the multiple sets of thresholds, the absolute value of the difference between the thresholds in the first set is less than the absolute value of the difference between the thresholds in the second set.

3. The method according to claim 2, wherein, The multiple sets of thresholds also include a third set of thresholds, wherein the first preset threshold in the second set of thresholds is less than the first preset threshold in the third set of thresholds, and the difference between the absolute value of the difference between the second set of thresholds and the absolute value of the difference between the first set of thresholds is less than the difference between the absolute value of the difference between the third set of thresholds and the absolute value of the difference between the second set of thresholds.

4. The method according to claim 3, wherein, In the multiple sets of thresholds, the absolute difference between the middle set of thresholds in each of three consecutive sets of thresholds and the absolute difference between the previous set of thresholds is less than the absolute difference between the middle set of thresholds and the subsequent set of thresholds.

5. The method according to claim 1, wherein, The dynamic features also include at least one of the item's client exposure and interaction volume.

6. The method according to any one of claims 1-5, further comprising: Obtain user data related to user behavior from user middleware; The dynamic features related to the exposure of the item are obtained based on the user data; Store the dynamic features in the database; The acquisition of item feature data includes: acquiring the dynamic features from the database.

7. The method according to any one of claims 1-5, wherein, The step of constructing the inverted index corresponding to the item based on the feature data includes: The feature data is written into a search engine to build the inverted index in the search engine.

8. A method for recalling items, comprising: Find at least one inverted index that satisfies the recall criteria, wherein each of the at least one inverted index is constructed by the method according to any one of claims 1-7; Determine at least one corresponding item based on the at least one inverted index; At least one of the items is to be recalled.

9. A method for recommending items, comprising: At least one item to be recommended is determined from a plurality of items, wherein the plurality of items are recalled by the method according to claim 8; The at least one item to be recommended is recommended to the user.

10. An apparatus for constructing an index, comprising: The acquisition module is configured to acquire feature data of an item, the feature data including static features of the item and dynamic features related to the exposure of the item, the dynamic features including the server-side exposure of the item; The construction module is configured to construct an inverted index corresponding to the item based on the feature data, so that the item can be recalled through the inverted index when the recall conditions are met. The acquisition module is configured to retrieve the dynamic features from the database again when the server exposure reaches at least one preset threshold. The at least one preset threshold includes multiple incremental preset thresholds. The multiple preset thresholds include multiple sets of thresholds. Each set of thresholds includes two adjacent preset thresholds. The multiple sets of thresholds include a first set of thresholds and a second set of thresholds. The first preset threshold in the first set of thresholds is less than the first preset threshold in the second set of thresholds. The absolute value of the difference between the first set of thresholds is less than the absolute value of the difference between the second set of thresholds.

11. An electronic device, comprising: Memory; as well as A processor coupled to the memory is configured to execute the method of any one of claims 1-9 based on instructions stored in the memory.

12. A computer-readable storage medium comprising computer program instructions, wherein, When the computer program instructions are executed by the processor, they implement the method described in any one of claims 1-9.

13. A computer program product comprising a computer program, wherein, When the computer program is executed by a processor, it implements the method described in any one of claims 1-9.

Citation Information

Patent Citations

  • Recommendation method and device based on artificial intelligence, and electronic equipment

    CN112380430A