Information recommendation method and device, electronic equipment and storage medium

By identifying target recommendation objects that meet the maximum and minimum conditions in information recommendation, the conflict problem between recommendation rules is resolved, recommendation efficiency is improved, and the rationality and efficiency of the recommendation order are ensured.

CN117009657BActive Publication Date: 2025-12-30MIGU CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310836294.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-07
Publication Date
2025-12-30
Estimated Expiration
2043-07-07

AI Technical Summary

Technical Problem

Existing technologies for information recommendation suffer from inefficiency and fail to meet practical needs due to conflicts between multiple recommendation rules.

Method used

By acquiring multiple recommendation rules and information to be recommended, target recommendation objects that meet the maximum and minimum conditions are identified and stored in the recommendation list. The position of the target recommendation object in the list indicates the recommendation order to avoid conflicts between new and old rules.

Benefits of technology

This improves the efficiency of information recommendation, ensures that the target recommendation object meets the requirements of both the old and new rules, avoids conflicts between rules, and achieves more efficient information recommendation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117009657B_ABST
    Figure CN117009657B_ABST
Patent Text Reader

Abstract

The present disclosure relates to an information recommendation method and device, electronic equipment and storage medium. The method comprises: obtaining a plurality of recommendation rules and to-be-recommended information; wherein the recommendation rules comprise a recommended information type and a recommendation condition, the recommendation condition comprises a maximum condition and a minimum condition corresponding to the information quantity of the information type; obtaining a target recommendation object satisfying the maximum condition and the minimum condition from a plurality of candidate objects, and storing the target recommendation object into a recommendation list, the position of the target recommendation object in the recommendation list representing a corresponding recommendation order. In the embodiment, since the target recommendation object can satisfy the maximum recommendation condition and the minimum recommendation condition in the recommendation rules, the target recommendation object is recommended based on the corresponding recommendation order in the recommendation list, which can meet the requirements of the new rules while meeting the old rules, thereby avoiding the conflict between the new rules and the old rules, and greatly improving the efficiency of information recommendation.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of computer, and particularly relates to an information recommendation method and device, an electronic device and a storage medium. BACKGROUND

[0002] With the continuous development of technology, more and more users are used to watching videos through terminals such as mobile phones, and in order to better meet the needs of users, the related technology usually recommends relevant video programs and other recommendation information to users.

[0003] However, when the related technology pushes relevant recommendation information to users, it usually formulates many recommendation rules, such as recommendation types or the number of recommendations corresponding to different recommendation types, and also constantly generates new recommendation rules, which may conflict with old recommendation rules, thereby reducing the recommendation efficiency. SUMMARY

[0004] The present disclosure provides an information recommendation method, device, electronic device and storage medium.

[0005] According to a first aspect of the present disclosure, an information recommendation method is provided, the method comprising:

[0006] obtaining a plurality of recommendation rules and to-be-recommended information; wherein the recommendation rules comprise a recommended information type and a recommendation condition, the recommendation condition comprises a maximum condition and a minimum condition corresponding to the information quantity of the information type, and the to-be-recommended information comprises a plurality of candidate objects;

[0007] obtaining a target recommendation object satisfying the maximum condition and the minimum condition from the plurality of candidate objects, and storing the target recommendation object into a recommendation list, wherein the position of the target recommendation object in the recommendation list represents a corresponding recommendation order.

[0008] According to a second aspect of the present disclosure, an information recommendation device is provided, the device comprising:

[0009] an information obtaining module configured to obtain a plurality of recommendation rules and to-be-recommended information; wherein the recommendation rules comprise a recommended information type and a recommendation condition, the recommendation condition comprises a maximum condition and a minimum condition corresponding to the information quantity of the information type, and the to-be-recommended information comprises a plurality of candidate objects;

[0010] a target recommendation object obtaining module configured to obtain a target recommendation object satisfying the maximum condition and the minimum condition from the plurality of candidate objects, and store the target recommendation object into a recommendation list, wherein the position of the target recommendation object in the recommendation list represents a corresponding recommendation order.

[0011] According to a third aspect of the present disclosure, an electronic device is provided. The electronic device comprises a memory and a processor, the memory having stored thereon a computer program, the processor implementing the method as described above when executing the program.

[0012] According to a fourth aspect of the present disclosure, a computer readable storage medium is provided, having stored thereon a computer program, the program being executed by a processor to implement the method as described above.

[0013] The information recommendation method, device, electronic device and storage medium provided by the embodiments of the present disclosure can improve the efficiency of information recommendation to a great extent. BRIEF DESCRIPTION OF DRAWINGS

[0014] In the following description of the example embodiments in conjunction with the accompanying drawings, more details, features and advantages of the present disclosure are disclosed, in which:

[0015] Figure 1 A flowchart of the information recommendation method provided by an example embodiment of the present disclosure is provided.

[0016] Figure 2 A functional module schematic block diagram of the information recommendation device provided by an example embodiment of the present disclosure is provided.

[0017] Figure 3 A structural block diagram of the electronic device provided by an example embodiment of the present disclosure is provided.

[0018] Figure 4 A structural block diagram of the computer system provided by an example embodiment of the present disclosure is provided. DETAILED DESCRIPTION

[0019] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms, and should not be interpreted as being limited to the embodiments set forth herein, but rather the embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for exemplary purposes only, and are not intended to limit the scope of protection of the present disclosure.

[0020] It should be understood that each step recited in the method embodiments of the present disclosure can be performed in different order and / or in parallel. In addition, the method embodiments can include additional steps and / or omit performing the steps shown. The scope of the present disclosure is not limited in this respect.

[0021] The term “comprising” and variations thereof as used herein are open-ended, and mean “including but not limited to”. The term “based on” means “based, at least in part, on”. The term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one additional embodiment”; the term “some embodiments” means “at least some embodiments”. Related terms shall be construed accordingly. It should be noted that reference to “first”, “second” and the like in the present disclosure indicates different devices, modules or units, and does not require or imply that these devices, modules or units are different in function or order.

[0022] It should be noted that the terms “one”, “multiple” mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless the context clearly indicates otherwise, it should be understood as “one or more”.

[0023] The names of the messages or information exchanged between the devices in the embodiments of the present disclosure are only for illustrative purposes, and are not intended to limit the scope of the messages or information.

[0024] It can be understood that before using the technical solutions disclosed in the embodiments of the present disclosure, the type, scope of use, use scenario, etc. of the personal information involved in the present disclosure should be informed to the user and the authorization of the user should be obtained in accordance with relevant laws and regulations.

[0025] For example, in response to receiving a user's active request, a prompt message is sent to the user to explicitly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can voluntarily choose whether to provide personal information to the electronic device, application program, server or storage medium, etc. software or hardware performing the operation of the technical solutions of the present disclosure according to the prompt message.

[0026] As an optional but non-limiting implementation, in response to receiving the active request of the user, the manner of sending the prompt information to the user may be, for example, a pop-up window manner in which the prompt information may be presented in a text manner. In addition, the pop-up window may also carry a selection control for the user to select "agree" or "disagree" to provide the personal information to the electronic device. It can be understood that the above notification and obtaining of the user authorization process is only illustrative and does not limit the implementation of the present disclosure, and other manners meeting the relevant laws and regulations can also be applied to the implementation of the present disclosure.

[0027] With more and more users watching videos, listening to music or viewing related news events through terminal products such as mobile phones, the background will also recommend videos or other related multimedia data that the user may be interested in based on the user's related information, watching or browsing information.

[0028] And the recommendation system is generally divided into four stages of recall, rough sorting, fine sorting and rearrangement, each stage has a corresponding recommendation model, and the fine sorting model outputs the recommendation result according to the user behavior and characteristics, and a rule-based rearrangement model is often needed on the basis of the fine sorting result to meet the specific needs of the business, such as in the video recommendation scene, there needs to be at least 1 long video and at most 2 long videos in the top 5 of the recommendation result. These strong constraints must be implemented through rules. There are often many rules in the push rearrangement link, and conflicts may exist between multiple rules. For example, there are two rules,

[0029] Rule 1: In the top 3 of the recommendation result, there are at least 2 military videos and at most 2 military videos;

[0030] Rule 2: In the top 3 of the recommendation result, there are at least 1 sports video and at most 2 sports videos;

[0031] Rule 3: In the top 3 of the recommendation result, there are at least 1 variety show video and at most 2 variety show videos.

[0032] In the reordering link, rules 1, 2, 3 cannot be satisfied at the same time, and for rule conflicts, the industry-related method generally makes the following processing: conflict checking is performed when the rules are configured, and if there is a conflict, an error is prompted, and the rules are reconfigured. When the rules are configured, no conflict checking is performed, and in the actual matching of the rules, the last or first configured rule is used. In actual use, due to the complexity of rule configuration, there can be hundreds or thousands of rules in the production process, and a new rule conflicts with multiple already configured rules, which needs to be considered comprehensively before adjusting the rules; and the newly adjusted rule can conflict with other already configured rules, and until there is no conflict, the configuration can be completed, so that the configuration of the rules is very cumbersome. In order to solve the conflict, the rules need to be adjusted, and the rules cannot be configured according to the actual needs. When the rules are configured, no conflict checking is performed, and in the actual matching of the rules, the last or first configured rule is used, which can cause the following problems: the rules affect each other, only part of the rules take effect, and when the rules are configured, the existing rules need to be traversed first, and the influence of the new rules on the old rules is evaluated, so the rule configuration is difficult.

[0033] Therefore, in order to meet the requirements of related rules as much as possible and improve the recommendation efficiency, the target recommendation object is selected from the information to be recommended, and the sorting is re-performed, which can solve the problems of complex configuration when the number of reordering rules is large, and the rules cannot be configured according to the actual needs due to rule conflicts, and only part of the rules take effect.

[0034] In the embodiment, the following multiple rules are used for illustration, and it should be noted that more rules can be involved in actual use, and the embodiment is not limited thereto.

[0035] Rule 1: At least one song type B and at most one song type B in 3 songs;

[0036] Rule 2: At least one song type A and at most two song types C in 5 songs;

[0037] Rule 3: At least two song types A and at most two song types A in 3 songs.

[0038] The content of the information to be recommended can be represented by Table 1, which can be recommendation information obtained according to the score of the hot spot, or recommendation content that needs to be reordered, and the recommendation object needs to be obtained therefrom and reordered in order to meet the recommendation conditions in multiple recommendation rules.

[0039] Table 1:

[0040]

[0041] In the above Table 1, 10 songs are included, and each song is ranked according to its corresponding score, and each song includes a corresponding ID (Identity Document), name, label, and score.

[0042] In the embodiments provided in the present disclosure, rules for recommending reordering can be obtained, for example, including the above-mentioned rule 1, rule 2, and rule 3. In the embodiments, for example, a rule engine can load rules in sequence according to rule order. In the embodiments, the minimum value of the type label corresponding to the information quantity in each rule can be taken as the minimum condition label, and the maximum value of the type label corresponding to the information quantity can be taken as the maximum condition label. For example, in the above-mentioned rule 1, it is required that there is at least one song of type B in the three songs, and at most one song of type B in the three songs, that is, the minimum value of the number of songs of type B in the three songs is 1, and the label of the song of type B is type B. Therefore, the minimum condition label can be taken as the minimum condition label of the three songs of type B, and the maximum value of the number of songs of type B in the three songs is 1. Therefore, the maximum condition label can be taken as the maximum condition label of the three songs of type B. Therefore, a container TagVector is created to store the minimum condition label (referred to as tag). In the embodiments, Table 1 can be regarded as a candidate object (referred to as Candidate) that needs to be reordered, or part of the candidate objects in Table 1 are selected for reordering. The position of the container TagVector corresponds to the type label of the reordered Candidate. In the range of [windowSize-min+1, windowSize] of the container TagVector, the tag of each rule is stored, and the number of labels existing in the range of windowSize is min, where windowSize and min are positive numbers. The reordered Candidate can have multiple tags (for example, the song “Yellow River Great Chorus” has two tags of song type A and song type B), and the tag storage position is initialized to [windowSize-min+1, windowSize] in order to be used with the PickedUpTagVector container (see the description in the embodiments below). When the tag is at the current position (currentPos), the window range is occupied in advance. The windowSize of multiple rules can be the same (for example, rule 1 and rule 3), so multiple tags can exist in one position in the container. Wherein, currentPos-1 represents the number of candidates that have been reordered.

[0043] It should be noted that windowSize is the size of the window in the rule, which can be a sliding window, and for rule 1, windowSize = 3; min is the minimum number in the rule, and for rule 1, min = 1. Similarly, for rule 2, windowSize = 5, min = 1; for rule 3, windowSize = 3, min = 2; for the above rules, see table 2, the minimum condition container is: TagVector container:

[0044] Table 2:

[0045]

[0046] In the embodiment, the reordered Candidate list is input into the rule engine, and the rule engine performs the following steps:

[0047] Step 11, sort the Candidates according to the user personalized score from large to small to obtain a RankCandidateList, since table 1 has been sorted according to the score from large to small, the RankCandidateList can be shown in table 1.

[0048] Step 12, add the candidate to be reordered to the Map(TagCandidateMap), as shown in table 3, wherein the key is the tag, and the value is the Candidate list of the tag, sorted according to the user personalized score from large to small

[0049] Table 3:

[0050]

[0051] Step 13, establish a recommended list tag container (PickedUpTagVector), and the position of the container corresponds to the number of reordered Candidates. Record the tags that have been occupied in advance at each position, as shown in table 4.

[0052] Table 4:

[0053]

[0054] Step 14, create a TagPickedUpCountVector container, as shown in Table 5, the position of the container corresponds to the number of reordered Candidates. The value in the container is a TagPickedUpCountMap, the key of the TagPickedUpCountMap is a Tag, and each key-value record is the number of reordered Candidates with the tag in the window range of [currentPos-windowSize+1, currentPos] before the current position (currentPos-1).

[0055] Table 5:

[0056]

[0057] Step 15, create a TagForbiddenVector container, the position of the container corresponds to the number of reordered Candidates, and the value in the container is a Map (TagForbiddenMap) indicating the tag forbidden state, which can be forbidden or allowed. The key of the TagForbiddenMap is a Tag, and each key-value record is whether the number of reordered Candidates with the tag in the window range of [currentPos-windowSize+1, currentPos] before the current position (currentPos-1) is greater than or equal to the maximum conditional requirement (max). If it is greater than or equal to max, the Candidate with this tag is forbidden; otherwise, the Candidate with this tag is allowed. Wherein, currentPos-1 is the number of reordered Candidates.

[0058] In the embodiment, in order to obtain the tag meeting the conditions, the following steps are performed:

[0059] Step 21, if there is no tag in the current position of the TagVector, go to step 31.

[0060] Step 22, if a tag is obtained in the current position of the TagVector, and the current position of the PickedUpTagVector cannot contain this tag. In the embodiment, if there is a tag in the current position, the recommended object meeting the tag will be selected from the Candidate object. For example, if the current position of the TagVector is position 2, and the tag is song type A, then the Candidate object with the tag of song type A needs to be selected from the Candidate object.

[0061] In the embodiment, the Candidate that meets the most rules is selected, and the specific selection steps are as follows:

[0062] Step 31, if no tag is found in step 21, the RankCandidateList in step 11 is used as the CandidateList; if a tag is found in step 22, the CandidateList is obtained from the TagCandidateMap according to the Tag;

[0063] Step 32, the TagForbiddenMap is obtained from the currentPos of the TagForbiddenVector, and the maintenance of the value of the TagForbiddenMap is shown in step 45 below.

[0064] Step 33, the candidateList obtained in step 31 is traversed, and the TagForbiddenMap obtained in step 32 is used to check whether the Candidate meets all the maximum conditions; if the maximum conditions are met, the current Candidate is added to the result queue, and the traversal is exited.

[0065] Otherwise, the next Candidate is selected from the candidateList, and the maximum conditions are checked through the TagForbiddenMap until the Candidate that meets all the maximum conditions is found, which is added to the result queue and the traversal is exited.

[0066] In the embodiment, the tag of the selected Candidate needs to be processed, and the specific processing steps can include the following steps:

[0067] Step 41, the tag of the Candidate in the above embodiment is obtained, and if the currentPos of the TagVector does not have the tag, the tag is searched in the range of [currentPos+1, currentPos+window-1], and the search order is from currentPos+window-1, and then decreases. After the tag is found, the tag is added to the PickedUpTagVector at the found position.

[0068] Step 42, if the tag of the Candidate in the above embodiment is not in the PickedUpTagVector, the tag of the Candidate is moved to the currentPos+windowSize position of the TagVector, so that the tag changes in the windowSize interval.

[0069] Step 43, if the current position of TagVector does not exist in the tag of Candidate in the above embodiment, migrate to the current position + 1 position of TagVector, avoid the loss of tags in the window range.

[0070] Step 44, calculate the number of tags in the windowSize range, which can be calculated by subtracting the tags at the same position of PickedUpTagVector from the tags at the same position of TagVector. By using TagVector and PickedUpTagVector together, it can be ensured that the number of tags in the [curentPos+1, currentPos+windowSize] window is the same as the minimum number of tags under the rule configuration, and the minimum condition in the sliding window is realized. The rule is satisfied.

[0071] Step 45, update the number of current tags in the Candidate in the [currentPos+1, currentPos+windowSize-1] range of the TagPickedUpCountVector container, record the number of current tags in the Candidate picked in the [currentPos+1, currentPos+windowSize-1] range. If the number of current tags in the Candidate picked in the [currentPos+1, currentPos+windowSize-1] range is greater than or equal to the number required by the maximum condition of the rule, set the value of the tag in the TagForbiddenVector container corresponding to the position of the TagForbiddenMap container to “forbidden”. In the embodiment, the TagForbiddenMap is used to realize the judgment of the maximum condition.

[0072] In the embodiment provided in the present disclosure, the Candidate selected in the above embodiment is removed from the TagCandidateMap; the Candidate selected in the above embodiment is removed from the RankCandidateList. Repeat the above embodiment until all Candidates are added to the result queue.

[0073] Specifically, in the embodiment provided in the present disclosure, the Candidate can be selected from Table 1 one by one, and the Candidate meeting the minimum condition and the maximum condition is selected.

[0074] In the first Candidate selected from Table 1, the first position of TagVector is null, the CandidateList is obtained from Table 1, the first candidate "On the Fields of Hope" is obtained from the CandidateList, the song type B is "allowed" and the song type A is "allowed" in the first position of the TagForbiddenMap of the TagForbiddenVector container, "On the Fields of Hope" is put into the first position of the reordering queue, and Table 6 can be obtained:

[0075] Table 6:

[0076]

[0077] After the first Candidate is selected, the TagVector can be updated. Since the window size corresponding to the song type B is 3, the song type B label is moved to the fourth position of the TagVector; the window size of the song type A is 3, the song type A label is moved to the fourth position of the TagVector, and the updated TagVector is shown in Table 7:

[0078] Table 7:

[0079]

[0080] Next, the PickedUpTagVector container is updated. Since the window size of the song type B label is 3, the positions 2 and 3 of the TagPickedUpCountVector are updated, and the count of the song type B in the TagPickedUpCountMap is 1; the window size of the song type A label is 3, the positions 2 and 3 of the TagPickedUpCountVector are updated, and the count of the song type A in the TagPickedUpCountMap is 1. The updated PickedUpTagVector container is shown in Table 8:

[0081] Table 8:

[0082]

[0083] Based on the above example, the TagForbiddenVector container is updated, the 2nd and 3rd positions of the TagPickedUpCountVector container, the value of the song type B in the TagPickedUpCountMap is 1, equal to the max value of rule 1, the 2nd and 3rd positions of the TagForbiddenVector are set to forbidden in the TagForbiddenMap for the song type B. The updated TagForbiddenVector container is shown in Table 9:

[0084] Table 9:

[0085]

[0086] In the example, the candidate that has been picked is deleted from the TagCandidateMap and the RankCandidateList. The song "In the Field of Hope" is deleted from the TagCandidateMap, resulting in an updated TagCandidateMap, shown in Table 10:

[0087] Table 10:

[0088]

[0089] The RankCandidateList is updated, shown in Table 11:

[0090] Table 11:

[0091]

[0092] Based on the above example, after the first candidate is picked in Table 1, the second candidate can be picked, which is the candidate that meets the minimum and maximum conditions.

[0093] In the example, the 2nd position of the TagVecotr contains the song type A. From the above example, the CandidateList corresponding to the song type A is obtained. The 1st candidate "The Great Yellow River Chorus" is obtained from the CandidateList. The song type B in the 2nd position of the TagForbiddenVector container in the TagForbiddenMap is "forbidden" and the song type A is "allowed". The "The Great Yellow River Chorus" does not meet the max rule. The 2nd candidate "Counting Ducks" is obtained from the CandidateList. The song type A in the 2nd position of the TagForbiddenVector container in the TagForbiddenMap is "allowed", which meets all the maximum conditions. The "Counting Ducks" is placed in the 2nd position of the reordering queue, shown in Table 12.

[0094] Table 12:

[0095]

[0096] The TagVector is then updated, the window size for song type A is 3, and the song type A tag is moved to the 5th position in the TagVector, see Table 13 for the resulting TagVector container:

[0097] Table 13:

[0098]

[0099] The PickedUpTagVector is then updated, since the 2nd position in the TagVector has a song type A tag, the PickedUpTagVector does not need to be updated, see Table 14:

[0100] Table 14:

[0101]

[0102] In the example, the TagPickedUpCountVector container is next updated, since the window size for song type A tags is 3, the 3rd position in the TagPickedUpCountVector is updated, the count for song type A in the TagPickedUpCountMap is 2, the 4th position in the TagPickedUpCountVector is updated, the count for song type A in the TagPickedUpCountMap is 1. The updated TagPickedUpCountVector container is obtained, see Table 15:

[0103] Table 15:

[0104]

[0105] The TagForbiddenVector container is next updated, the value for song type A in the TagPickedUpCountMap at the 3rd position in the TagPickedUpCountVector is 2, which is equal to the maximum (max) value of rule 3, the value for song type A in the TagForbiddenMap at the 3rd position in the TagForbiddenVector is set to forbidden, the updated TagForbiddenVector container is obtained, see Table 16:

[0106] Table 16:

[0107]

[0108] In the example, the picked up candidate is removed from the TagCandidateMap and the RankCandidateList, and the 《Counting Ducks》 is removed from the TagCandidateMap, and the updated TagCandidateMap Map is obtained, see Table 17:

[0109] Table 17:

[0110]

[0111] In the example, the 《Counting Ducks》 is removed from the RankCandidateList, and the updated RankCandidateList is obtained, see Table 18:

[0112] Table 18:

[0113]

[0114] In the example, the next candidate (Candidate) is picked up, and the Candidate that meets the minimum condition and the maximum condition is picked up.

[0115] From Table 13, it can be seen that the TagVector contains song type A and song type B in the third position, but the PickedUpTagVector contains song type A and song type B in the third position, and it can be known from the above example that the song type A and song type B tags are already occupied and cannot be used. According to the CandidateList of Table 18, the first candidate 《my heart will go on》 is obtained from the CandidateList, the song type A in the third position of the TagForbiddenVector container TagForbiddenMap is “allowed”, and 《my heart will go on》 meets all the maximum condition rules, and 《my heart will go on》 is placed in the third position of the reordering queue, see Table 19:

[0116] Table 19:

[0117]

[0118] It can be known from the above that the reordering result obtained by the above Table 19 has met the above rule 1 and rule 3.

[0119] In the example, the TagVector is updated, and the window size of the song type A is 5, so the song type A tag is added to the eighth position of the TagVector, and the updated TagVector container is obtained, see Table 20:

[0120] Table 20:

[0121]

[0122] In the example, the PickedUpTagVector is updated, the 3rd position of the TagVector does not have a song type A tag, and the song type A tag is found in the 5th position of the TagVector, starting from the 7th position of the TagVector. The song type A tag is written in the 5th position of the PickedUpTagVector, and the updated PickedUpTagVector container is obtained, as shown in Table 21.

[0123] Table 21:

[0124]

[0125] The TagPickedUpCountVector container is then updated, the window for the song type A tag is 5, and the count of the song type C in the TagPickedUpCountMap in the positions 4 to 8 of the TagPickedUpCountVector is 1, and the updated TagPickedUpCountVector container is obtained, as shown in Table 22.

[0126] Table 22:

[0127]

[0128] In the example, the TagForbiddenVector container is updated, the value of the song type A in the TagPickedUpCountMap in the positions 4 to 7 of the TagPickedUpCountVector is 1, which is less than the maximum value of the rule 2, and the value of the song type A in the TagForbiddenMap in the positions 4 to 7 of the TagForbiddenVector is not changed, and is still “allowed”. The later TagForbiddenVector container is obtained, as shown in Table 23.

[0129] Table 23:

[0130]

[0131] In the embodiment, the selected Candidate is deleted from the TagCandidateMap and the RankCandidateList, and My Heart Will Go On is deleted from the TagCandidateMap, to obtain an updated TagCandidateMap, as shown in Table 24.

[0132] Table 24:

[0133]

[0134] My Heart Will Go On is deleted from the RankCandidateList, to obtain an updated RankCandidateList, as shown in Table 25.

[0135] Table 25:

[0136]

[0137] Based on the above embodiment, in another embodiment provided in the disclosure, an information recommendation method is further provided, as shown in the following. Figure 1 The method can include the following steps:

[0138] In step S110, a plurality of recommendation rules and to-be-recommended information are obtained.

[0139] The recommendation rules include a recommended information type and a recommendation condition, the recommendation condition includes a maximum condition and a minimum condition corresponding to an information quantity of the information type, and the to-be-recommended information includes a plurality of candidate objects.

[0140] In the embodiment, the plurality of recommendation rules can be several, tens or more. As new rules continue to appear, conflicts with old rules may occur, and therefore the requirements of multiple rules need to be met as much as possible. The to-be-recommended information can be related information that needs to be recommended to a user, for example, in the process of watching a video, the user needs to be recommended related video or audio content that may be of interest to the user, etc. For example, the recommendation information can be sorted according to the score of the video or audio. For example, the plurality of recommendation rules can be the rules 1, 2 and 3 in the above embodiment. The information recommendation type in the embodiment can be a corresponding tag type, for example, song type B, folk song, song type A or song type A in a song.

[0141] In step S120, a target recommendation object satisfying the maximum condition and the minimum condition is obtained from the plurality of candidate objects, and the target recommendation object is stored in a recommendation list. The position of the target recommendation object in the recommendation list represents a corresponding recommendation order.

[0142] In the embodiment, the target recommendation object satisfying the recommendation condition can be obtained from the multiple candidate objects one by one until all the recommendation rules are satisfied. That is, the target recommendation object is obtained from the multiple candidate objects, and the target recommendation object is reordered to obtain a recommendation list containing the target recommendation object, different positions in the recommendation list correspond to different target recommendation objects, that is, the position of the target recommendation object in the recommendation list represents the corresponding recommendation order, for example, the first in the obtained recommendation list is the first recommendation, and the second is the second recommendation. Since the recommended recommendation object affects the subsequent recommendation object, the recommendation needs to be made in the order determined, and the recommendation list is obtained.

[0143] In the embodiment, the recommendation condition can include a maximum condition and a minimum condition. For example, the minimum condition can be a minimum value of the number of information of a certain type required in the rule, for example, at least one song of type B in rule 1, and the minimum value of the number of songs of type B is 1. The maximum condition can be a maximum value of the number of information of a certain type required in the rule, for example, at most one song of type B in rule 1, and the maximum value of the number of songs of type B is 1. The information to be recommended includes multiple candidate objects, for example, multiple candidate objects contained in Table 1, that is, multiple songs to be recommended, and the songs satisfying the recommendation condition need to be recommended from these songs one by one. Therefore, in the embodiment, the target recommendation object satisfying the recommendation condition is obtained from the multiple candidate objects, and the recommendation condition can specifically include that the number of target recommendation objects is not less than the minimum value and not greater than the maximum value.

[0144] The information recommendation method provided by the disclosure obtains multiple recommendation rules and recommendation information, determines the target recommendation object satisfying the maximum condition and the minimum condition in the recommendation condition from the multiple candidate objects in the recommendation information based on the information type and the recommendation condition in the recommendation rule, and stores the target recommendation object in the recommendation list. The position of the target recommendation object in the recommendation list represents the corresponding recommendation order. In the embodiment, since the target recommendation object can satisfy the maximum recommendation condition and the minimum recommendation condition in the recommendation rule, the target recommendation object is recommended based on the corresponding recommendation order in the recommendation list, which can satisfy the requirements of the new rule while satisfying the old rule, and can avoid the conflict between the new rule and the old rule, thereby greatly improving the efficiency of information recommendation.

[0145] Based on the above embodiment, in another embodiment provided by the disclosure, the method can further include the following steps:

[0146] In step S130, candidate recommendation information is obtained. The candidate recommendation information includes multiple candidate objects, and the candidate objects correspond to personalized scores.

[0147] In step S140, the plurality of candidate objects in the candidate recommendation information are ranked based on the personalized scores, and the ranked candidate recommendation information is taken as the to-be-recommended information.

[0148] In the embodiments, the candidate recommendation information can be obtained, and the plurality of candidate objects in the candidate recommendation information are prepared to be pushed to the user. However, because there are a plurality of recommendation rules, the recommendation conditions of the plurality of recommendation rules need to be satisfied as much as possible. Therefore, it is required to reasonably select the candidate objects from the plurality of candidate objects and give the order of recommendation to meet the requirements of the plurality of recommendation rules.

[0149] Because the recommendation information recommended to the user is highly related to the scores of the candidate objects, the higher the score of the candidate object is, the greater the possibility of being received by the user is. Therefore, the plurality of candidate objects in the candidate recommendation information can be ranked in advance according to the personalized scores to obtain the to-be-recommended information. In this way, the target recommendation object that meets the recommendation conditions of the plurality of recommendation rules can be selected in sequence according to the order of the personalized scores from the recommendation information obtained after ranking. In addition, the target recommendation object can meet the recommendation conditions of the plurality of recommendation rules and the needs of the user as much as possible.

[0150] In the embodiments provided in the present disclosure, the recommendation conditions include maximum conditions and minimum conditions. The minimum conditions represent the minimum number of target recommendations corresponding to the type labels in the recommendation rules, and the maximum conditions represent the maximum number of target recommendations corresponding to the type labels in the recommendation rules.

[0151] Based on the above embodiments, in another embodiment provided in the present disclosure, the step S120 can further include the following steps.

[0152] In step S121, a sliding window is created based on the recommendation rules. The size of the sliding window is determined based on the number of information of the information type corresponding to the recommendation rules.

[0153] In step S122, a target candidate object in the plurality of candidate objects is obtained. If the target candidate object meets the condition that the number of information of the information type contained in the sliding window is not less than the minimum value, the target candidate object is taken as the target recommendation object.

[0154] In the embodiments, for example, the above-mentioned rule 1, rule 2 and rule 3, the windowSize can represent the size of the window in the rule, for the above-mentioned rule 1, windowSize = 3; the min is the minimum number in the rule, for rule 1: min = 1. Similarly, for rule 2: windowSize = 5, min = 1; for rule 3: windowSize = 3, min = 2. In this way, in the process of obtaining the target candidate object in the plurality of candidate objects, the target candidate object can be taken as the target recommended object when the target candidate object meets the condition that the number of information of the information type contained in the sliding window is not less than the minimum value. And further verification can be performed on the obtained target recommended object to determine that the target candidate object is taken as the target recommended object when the number of information of the information type contained in the sliding window is not greater than the maximum value, so that it can be determined that the selected target recommended object can meet the recommendation condition in the recommendation rule.

[0155] Therefore, in combination with the above-mentioned embodiments, in the embodiments provided in the present disclosure, the label container and the recommendation list label container can be created, and the type labels corresponding to the plurality of recommendation rules can be stored in the label container, so that the stored label container can include a plurality of type labels corresponding to different positions. In the embodiments, the information of the target recommended object stored in the recommendation list is recorded in the recommendation list label container, and the target recommended object meeting the minimum recommendation condition is stored in the recommendation list based on the label container and the recommendation list label container.

[0156] In the embodiments, when the recommendation rule is loaded, the label of each rule can be placed in the label container (TagVector), and the position range placed in the container is windowSize-min+1 to windowSize, and the number is equal to min. The recommendation list label container PickedUpTagVector records the labels used in the range of [currentPos, currentPos+windowSize-1], and currentPos represents the current position. The combination of TagVector and PickedUpTagVector is used to ensure that the number of type labels in any windowSize interval is min. The candidate is selected from the result list according to the type label of the currentPos position of TagVector, so that the number of candidates selected in the windowSize range is min, which ensures that all min rule conditions in the windowSize range are met as much as possible. For details, please refer to the description of the above-mentioned embodiments, which will not be repeated here.

[0157] In the embodiments provided in this disclosure, a TagForbiddenMap can also be created. This TagForbiddenMap includes location information and the corresponding tag status, where the tag status includes either an allowed or prohibited status. The TagForbiddenMap is updated based on the information of the target recommended object stored in the recommendation list. Then, the target recommended objects in the recommendation list are traversed based on the TagForbiddenMap, and the number of information items corresponding to the information type in the sliding window is checked to see if it exceeds the maximum value. That is, if the target recommended object meets the maximum condition, it is determined that the target recommended object meets the recommendation condition. By obtaining the target candidate object from multiple candidate objects, and based on the target candidate object and the target recommended objects in the recommendation list, if the maximum condition is not met, the target candidate object is prohibited from being used as the target recommended object; if the maximum condition is met, the target candidate object is used as the target recommended object.

[0158] In this embodiment, the TagPickedUpCountVector container described above can be used to record the number of candidates selected for each type of tag [currentPos - windowSize + 1, currentPos]. If the number of candidates selected for a tag is greater than or equal to the maximum (max) condition of the rule, then the tagvalue of the TagForbiddenMap at the corresponding position in the TagForbiddenVector is set to prohibited. The TagForbiddenVector described above is used to limit the maximum condition of the rule.

[0159] Additionally, candidates requiring reordering are placed into a TagCandidateMap, where the key is the rule's tag and the value is a list of candidates with that tag. During reordering, the tag is obtained from the currentPos position of TagVector, then used to retrieve the candidate list from TagCandidateMap. The candidate list is then traversed to the corresponding position in TagForbiddenVector to retrieve TagForbiddenMap. TagForbiddenMap is used to verify the max rule conditions, and the candidate matching all max conditions is used as the reordering result. This aims to satisfy as many max conditions as possible. This eliminates the need to consider rule conflicts and mutual exclusions when configuring recommendation rules, significantly improving rule management efficiency.

[0160] By dividing each functional module according to its corresponding function, this disclosure provides an information recommendation device, which can be a server or a chip applied to a server. Figure 2A schematic block diagram of the functional modules of an information recommendation device provided for an exemplary embodiment of this disclosure. For example... Figure 2 As shown, the information recommendation device includes:

[0161] The information acquisition module 10 is used to acquire multiple recommendation rules and information to be recommended; wherein, the recommendation rules include the information type to be recommended and the recommendation conditions, the recommendation conditions include the maximum and minimum conditions corresponding to the number of information of the information type, and the information to be recommended includes multiple candidate objects;

[0162] The target recommendation object acquisition module 20 is used to acquire target recommendation objects that satisfy the maximum condition and the minimum condition from the plurality of candidate objects, wherein the position of the target recommendation object in the recommendation list indicates the corresponding recommendation order.

[0163] In yet another embodiment provided in this disclosure, the apparatus further includes:

[0164] The candidate recommendation information acquisition module is used to acquire candidate recommendation information, which includes multiple candidate objects and each candidate object corresponds to a personalized score.

[0165] The sorting module is used to sort the multiple candidate objects in the candidate recommendation information based on the personalized score, and to use the sorted candidate recommendation information as the information to be recommended.

[0166] In another embodiment provided in this disclosure, the minimum condition represents the minimum value corresponding to the number of information of the information type in the recommendation rule, and the maximum condition represents the maximum value corresponding to the number of information of the information type in the recommendation rule. The target recommendation object acquisition module is specifically used for:

[0167] From the plurality of candidate objects, a target recommended object that meets the recommendation criteria is obtained, wherein the recommendation criteria include that the number of the target recommended objects is not less than the minimum value and not greater than the maximum value.

[0168] In another embodiment provided in this disclosure, the target recommendation object acquisition module is specifically used for:

[0169] A sliding window is created based on the recommendation rule, and the size of the sliding window is determined based on the amount of information of the information type corresponding to the recommendation rule.

[0170] If the number of information items corresponding to the information type contained in the sliding window is not less than the minimum value, the target candidate object is selected as the target recommendation object.

[0171] In another embodiment provided in this disclosure, the apparatus further includes a processing module, which is specifically used for:

[0172] Create a tag container and a recommendation list tag container;

[0173] The type labels corresponding to the multiple recommendation rules are stored in the label container, and the stored label container includes the type labels corresponding to multiple positions respectively;

[0174] The recommendation list label container records information about the target recommendation objects stored in the recommendation list.

[0175] Based on the tag container and the recommendation list tag container, store target recommendation objects in the recommendation list that satisfy the condition that the number of information corresponding to the information type in the sliding window is not less than the minimum value.

[0176] In yet another embodiment provided in this disclosure, the processing module is further configured to:

[0177] Create a label prohibition container, which includes location information and the label status corresponding to the location information, wherein the label status includes an allowed status or a prohibited status;

[0178] The tag prohibition container is updated based on the information of the target recommended object stored in the recommendation list;

[0179] Based on the label, the container is prohibited from traversing the target recommendation object in the recommendation list, and it is detected whether the number of information corresponding to the information type in the sliding window is greater than the maximum value;

[0180] If the number of information items corresponding to the information type in the sliding window is not greater than the maximum value, then the target recommendation object is determined to meet the recommendation conditions.

[0181] In yet another embodiment provided in this disclosure, the processing module is further configured to:

[0182] Obtain the target candidate object from the plurality of candidate objects, and based on the target candidate object and the target recommended object in the recommendation list, if the number of information corresponding to the information type in the sliding window is greater than the maximum value, prohibit the target candidate object from being used as the target recommended object;

[0183] If the number of information items corresponding to the information type in the sliding window is not greater than the maximum value, the target candidate object is taken as the target recommendation object.

[0184] The information recommendation device provided in this embodiment acquires multiple recommendation rules and recommendation information. Based on the information type and recommendation conditions in the recommendation rules, it determines target recommendation objects from multiple candidate objects in the recommendation information that satisfy the maximum and minimum conditions of the recommendation conditions, and stores the target recommendation objects in a recommendation list. The position of the target recommendation object in the recommendation list indicates the corresponding recommendation order. In this embodiment, since the target recommendation object can satisfy the maximum and minimum recommendation conditions in the recommendation rules, the target recommendation object is recommended based on the corresponding recommendation order in the recommendation list. This satisfies both the old and new rules, thereby avoiding conflicts between the old and new rules and greatly improving the efficiency of information recommendation.

[0185] This disclosure also provides an electronic device, including: at least one processor; a memory for storing processor-executable instructions; wherein the at least one processor is configured to execute the instructions to implement the methods disclosed in this disclosure.

[0186] Figure 3 This is a schematic diagram of the structure of an electronic device provided as an exemplary embodiment of this disclosure. For example... Figure 3 As shown, the electronic device 1800 includes at least one processor 1801 and a memory 1802 coupled to the processor 1801. The processor 1801 can perform the corresponding steps in the methods disclosed in the embodiments of this disclosure.

[0187] The processor 1801 described above can also be called a central processing unit (CPU), which can be an integrated circuit chip with signal processing capabilities. Each step in the method disclosed in this embodiment can be implemented by the integrated logic circuitry in the processor 1801 or by software instructions. The processor 1801 can be a general-purpose processor, a digital signal processor (DSP), an ASIC, a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this embodiment can be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software modules can be located in the memory 1802, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The processor 1801 reads information from the memory 1802 and, in conjunction with its hardware, completes the steps of the method described above.

[0188] Furthermore, various operations / processes according to this disclosure, implemented via software and / or firmware, can be transmitted from a storage medium or network to a computer system with a dedicated hardware architecture, such as... Figure 4 The computer system 1900 shown is equipped with the programs that constitute the software. When various programs are installed, the computer system is able to perform various functions, including those described above. Figure 4 A block diagram of a computer system provided for an exemplary embodiment of this disclosure.

[0189] Computer System 1900 is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0190] like Figure 4As shown, the computer system 1900 includes a computing unit 1901, which can perform various appropriate actions and processes based on a computer program stored in a read-only memory (ROM) 1902 or a computer program loaded from a storage unit 1908 into a random access memory (RAM) 1903. The RAM 1903 may also store various programs and data required for the operation of the computer system 1900. The computing unit 1901, ROM 1902, and RAM 1903 are interconnected via a bus 1904. An input / output (I / O) interface 1905 is also connected to the bus 1904.

[0191] Multiple components in computer system 1900 are connected to I / O interface 1905, including: input unit 1906, output unit 1907, storage unit 1908, and communication unit 1909. Input unit 1906 can be any type of device capable of inputting information into computer system 1900. Input unit 1906 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of the electronic device. Output unit 1907 can be any type of device capable of presenting information and may include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 1908 may include, but is not limited to, hard disks and optical disks. Communication unit 1909 allows computer system 1900 to exchange information / data with other devices via a network such as the Internet, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth™ devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.

[0192] The computing unit 1901 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1901 performs the various methods and processes described above. For example, in some embodiments, the methods disclosed in this disclosure can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 1908. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 1900 via ROM 1902 and / or communication unit 1909. In some embodiments, the computing unit 1901 can be configured to perform the methods disclosed in this disclosure by any other suitable means (e.g., by means of firmware).

[0193] This disclosure also provides a computer-readable storage medium, wherein when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is able to perform the methods disclosed in this disclosure.

[0194] The computer-readable storage medium in this disclosure can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. The aforementioned computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specifically, the aforementioned computer-readable storage medium may include electrical connections based on one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0195] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0196] This disclosure also provides a computer program product, including a computer program, wherein the computer program, when executed by a processor, implements the methods disclosed in the embodiments of this disclosure.

[0197] In embodiments of this disclosure, computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof. These programming languages ​​include, but are not limited to, object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)), or it can be connected to an external computer.

[0198] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0199] The modules, components, or units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the modules, components, or units do not necessarily constitute a limitation on the module, component, or unit itself.

[0200] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary hardware logic components that can be used include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.

[0201] The above description is merely an embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0202] While specific embodiments of this disclosure have been described in detail by way of example, 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 without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.

Claims

1. An information recommendation method characterized by comprising: The method comprises: obtaining a plurality of recommendation rules and to-be-recommended information; wherein the recommendation rules comprise a recommended information type and a recommendation condition, the recommendation condition comprises a maximum condition and a minimum condition corresponding to the information quantity of the information type, and the to-be-recommended information comprises a plurality of candidate objects; the minimum condition represents a minimum value corresponding to the information quantity of the information type in the recommendation rule, and the maximum condition represents a maximum value corresponding to the information quantity of the information type in the recommendation rule; obtaining a target recommendation object satisfying the maximum condition and the minimum condition from the plurality of candidate objects, and storing the target recommendation object into a recommendation list, wherein the position of the target recommendation object in the recommendation list represents a corresponding recommendation order; creating a label container and a recommendation list label container; storing the type label corresponding to the plurality of recommendation rules into the label container, and the stored label container comprising a plurality of position corresponding type labels; recording the information of the target recommendation object stored into the recommendation list through the recommendation list label container; storing a target recommendation object satisfying the condition that the information quantity corresponding to the information type in the sliding window is not less than the minimum value into the recommendation list based on the label container and the recommendation list label container; wherein the sliding window is created based on the recommendation rule, and the size of the sliding window is determined based on the information quantity of the information type corresponding to the recommendation rule; The method further comprises: creating a label prohibition container, the label prohibition container comprising position information and a label state corresponding to the position information, the label state comprising an allowed state or a prohibited state; updating the label prohibition container based on the information of the target recommendation object stored in the recommendation list; based on the label prohibition container, traversing the target recommendation object in the recommendation list, and detecting whether the information quantity corresponding to the information type in the sliding window is greater than the maximum value; in the case that the information quantity corresponding to the information type in the sliding window is not greater than the maximum value, determining that the target recommendation object satisfies the recommendation condition.

2. The method of claim 1, wherein, The method further comprises: obtaining candidate recommendation information, the candidate recommendation information comprising a plurality of candidate objects, and the candidate objects corresponding to a personalized score; based on the personalized score, sorting the plurality of candidate objects in the candidate recommendation information, and taking the sorted candidate recommendation information as the to-be-recommended information.

3. The method of claim 1, wherein, The method further comprises: obtaining a target recommendation object satisfying the recommendation condition from the plurality of candidate objects, the recommendation condition comprising that the quantity of the target recommendation object is not less than the minimum value and not greater than the maximum value.

4. The method of claim 3, wherein, The method further comprises: obtaining a target candidate object in the plurality of candidate objects, and taking the target candidate object as the target recommendation object in the case that the information quantity corresponding to the information type contained in the sliding window is not less than the minimum value.

5. The method of claim 1, wherein, The method further includes: obtaining a target candidate object in the plurality of candidate objects, and based on the target candidate object and a target recommended object in the recommended list, prohibiting the target candidate object as the target recommended object in a case that the number of information corresponding to the information type in the sliding window is greater than the maximum value; in a case that the number of information corresponding to the information type in the sliding window is not greater than the maximum value, taking the target candidate object as the target recommended object.

6. An information recommendation device characterized by comprising: The device includes: an information obtaining module, configured to obtain a plurality of recommended rules and to-be-recommended information; wherein the recommended rules include a recommended information type and a recommended condition, the recommended condition includes a maximum condition and a minimum condition corresponding to the number of information of the information type, and the to-be-recommended information includes a plurality of candidate objects; the minimum condition represents a minimum value corresponding to the number of information of the information type in the recommended rule, and the maximum condition represents a maximum value corresponding to the number of information of the information type in the recommended rule; a target recommended object obtaining module, configured to obtain a target recommended object satisfying the maximum condition and the minimum condition from the plurality of candidate objects, and store the target recommended object into a recommended list, wherein the position of the target recommended object in the recommended list represents a corresponding recommended order; The device further includes a processing module, which is specifically configured to: create a label container and a recommended list label container; store the type label corresponding to the plurality of recommended rules into the label container, and the stored label container includes a plurality of position corresponding type labels; record the information of the target recommended object stored into the recommended list through the recommended list label container; based on the label container and the recommended list label container, store a target recommended object satisfying the number of information corresponding to the information type in the sliding window is not less than the minimum value into the recommended list; wherein the sliding window is created based on the recommended rule, and the size of the sliding window is determined based on the number of information of the information type corresponding to the recommended rule; The processing module is specifically further configured to: create a label prohibition container, the label prohibition container includes position information and a label state corresponding to the position information, and the label state includes an allowed state or a prohibited state; update the label prohibition container based on the information of the target recommended object stored in the recommended list; based on the label prohibition container, traverse the target recommended object in the recommended list, and detect whether the number of information corresponding to the information type in the sliding window is greater than the maximum value; in a case that the number of information corresponding to the information type in the sliding window is not greater than the maximum value, determine that the target recommended object satisfies the recommended condition.

7. An electronic device, comprising: includes: at least one processor; a memory for storing instructions executable by the at least one processor; wherein the at least one processor is configured to execute the instructions to implement the method of any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, When the instructions in the computer-readable storage medium are executed by the processor of the electronic device, the electronic device is enabled to perform the method of any one of claims 1-5.

Citation Information

Patent Citations

  • Information recommendation method and device, computer equipment and storage medium

    CN115659009A