Information pushing method and device and storage medium
By performing parallel object selection processing on multiple recommendations over multiple iterations, the problem of finding the optimal global matching solution under the weighting of matching information between recommendations and users is solved, thus achieving fast and efficient information push.
Patent Information
- Application Number
- CN202410585350.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-09
- Publication Date
- 2025-11-11
AI Technical Summary
Existing technologies struggle to quickly obtain the globally optimal matching solution when there are matching weights between recommendation information and users.
By performing multiple iterations of object selection based on matching weights on multiple recommendation information, the target object with the highest matching weight is selected in parallel each time, and the object selected last is determined as the matching object.
It speeds up the matching process, improves the efficiency of the global optimal matching solution between recommendation information and target objects, and achieves optimal information push when there is matching weight between recommendation information and users.
Smart Images

Figure CN120935252A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information processing technology, and in particular to an information push method, apparatus and storage medium. Background Technology
[0002] Currently, when pushing information, a bipartite graph can be constructed by matching the recommendations to be pushed with the users who want to receive them. The Hungarian algorithm is then used to find the maximum matching in this bipartite graph, identifying the user corresponding to each recommendation, and then pushing the corresponding recommendation to each user. However, this method only works when there is no matching weight between the recommendations and the users. When there is matching weight between the recommendations and the users, finding the globally optimal matching solution—that is, finding the matching result that maximizes the sum of the matching weights between the recommendations and the users—is a pressing technical problem that needs to be solved. Summary of the Invention
[0003] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.
[0004] This application provides an information push method, apparatus, and storage medium that can quickly obtain the optimal global matching solution between recommendation information and users, even when there is a matching weight between recommendation information and users.
[0005] On the one hand, embodiments of this application provide an information push method, including the following steps:
[0006] Multiple recommendation information items and multiple target objects are obtained, wherein there is a matching relationship between the multiple recommendation information items and the multiple target objects, and different matching relationships have different matching weights;
[0007] The object selection process based on the matching weight is performed iteratively on multiple recommendations, wherein each time the object selection process is performed, for multiple recommendations, the one with the largest matching weight is selected as the current selection object among the multiple target objects with the matching relationship.
[0008] The selected object corresponding to each piece of recommendation information obtained in the last object selection process is determined as the matching object corresponding to each piece of recommendation information.
[0009] The corresponding recommendation information is pushed to each of the matched objects.
[0010] On the other hand, embodiments of this application also provide an information push device, including:
[0011] An information acquisition unit is used to acquire multiple recommendation information and multiple target objects, wherein there is a matching relationship between the multiple recommendation information and the multiple target objects, and different matching relationships have different matching weights;
[0012] An information processing unit is configured to perform multiple iterations of object selection processing based on the matching weight on multiple recommendation information, wherein each time the object selection processing is performed, for multiple recommendation information, the one with the largest matching weight is selected as the current selection object among the multiple target objects with the corresponding matching relationship in parallel;
[0013] An object determination unit is used to determine the selected object corresponding to each piece of recommendation information obtained in the last object selection process as a matching object corresponding to each piece of recommendation information.
[0014] An information push unit is used to push the corresponding recommendation information to each of the matched objects.
[0015] Optionally, the recommendation information has an object selection set, which consists of multiple target objects that have the matching relationship with the recommendation information; the information processing unit is specifically used for:
[0016] For multiple sets of recommendation information, in parallel, the target object that has not been selected by the current recommendation information and has the largest matching weight is selected as the current selection object from the corresponding object selection set.
[0017] Optionally, the recommendation information has a allowed number of selections, and the target object has a allowed number of selections; the information processing unit is further configured to:
[0018] For multiple recommended information items whose selected number is less than the allowed selection number, in parallel, in the corresponding object selection set, the target object with the largest matching weight that has not been selected by the current recommended information and whose selected number is not greater than the allowed selection number is selected as the current selection object.
[0019] Optionally, the information processing unit is further configured to:
[0020] The number of currently selected recommended information and the number of currently selected target objects are incremented by one.
[0021] Delete the currently selected target object from the object selection set.
[0022] Optionally, the information push device further includes an iterative judgment unit, which is used to:
[0023] Determine whether there exists at least one instance where the number of selected items in the recommended information is less than the allowed number of selections, and whether the object selection set of the recommended information is not empty;
[0024] If at least one of the recommended information has a selection count less than the allowed selection count, and the object selection set of the recommended information is not empty, proceed with the next object selection process.
[0025] If the number of selected items for all the recommended items is not less than the allowed number of selections, or if the object selection set for all the recommended items is empty, no further object selection processing will be performed.
[0026] Optionally, the information processing unit is further configured to:
[0027] After selecting the target object whose number of selections is no greater than the allowed number of selections, which has not been selected by the current recommendation information, and which has the largest matching weight as the current selection object, if the number of selections of the currently selected target object is greater than the allowed number of selections, the matching weight between the currently selected target object and the current recommendation information is determined as the weight to be judged.
[0028] The update process for the currently selected object is determined based on the weight to be judged.
[0029] Optionally, the information processing unit is further configured to:
[0030] Among the multiple recommendation information, determine the target information that still maintains a selection relationship with the currently selected target object;
[0031] The matching weight between the target information and the currently selected target object is determined as the candidate weight;
[0032] The weight to be judged and the candidate weights are compared to obtain the comparison result;
[0033] Based on the comparison results, an update process for the currently selected object is determined.
[0034] Optionally, the information processing unit is further configured to:
[0035] If the comparison result is that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, the currently selected target object is maintained as the current selected object, and the selection relationship between the target information corresponding to the candidate weight and the currently selected target object is cancelled;
[0036] If the comparison result shows that the weight to be judged is the smallest value between the weight to be judged and the candidate weight, then the currently selected target object is cancelled as the current selection object.
[0037] Optionally, the number of target information items that still maintain a selection relationship with the currently selected target object is multiple, and the number of candidate weights is the same as the number of target information items; the information processing unit is further configured to:
[0038] Among the multiple candidate weights, the candidate weight with the smallest value is determined;
[0039] The selection relationship between the target information corresponding to the candidate with the smallest value and the currently selected target object is cancelled.
[0040] Optionally, the information processing unit is further configured to:
[0041] Select and lock the currently selected target object;
[0042] The weight to be judged and the candidate weights are compared again to obtain a new comparison result;
[0043] If the new comparison result still indicates that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, the currently selected target object is maintained as the current selection object.
[0044] Optionally, after performing the step of canceling the selection relationship between the target information corresponding to the candidate weight and the currently selected target object, or after canceling the step of taking the currently selected target object as the current selection object, the recommendation information corresponding to the canceled selection relationship is placed in a preset recommendation information set; the information push unit is specifically used for:
[0045] Based on obtaining the matching object corresponding to each recommendation, the set of recommendation information is subjected to multiple iterations of object selection processing to obtain a new matching object corresponding to each recommendation.
[0046] The corresponding recommendation information is pushed to each of the new matching objects.
[0047] On the other hand, embodiments of this application also provide an electronic device, including:
[0048] At least one processor;
[0049] At least one memory for storing at least one program;
[0050] The aforementioned information push method is implemented when at least one of the programs is executed by at least one of the processors.
[0051] On the other hand, embodiments of this application also provide a computer-readable storage medium storing a processor-executable computer program, which, when executed by a processor, is used to implement the aforementioned information push method.
[0052] On the other hand, embodiments of this application also provide a computer program product, including a computer program or computer instructions, which are stored in a computer-readable storage medium. The processor of the electronic device reads the computer program or computer instructions from the computer-readable storage medium and executes the computer program or computer instructions, causing the electronic device to perform the aforementioned information push method.
[0053] In the technical solution provided in this application embodiment, multiple recommendation information items and multiple target objects that have matching relationships with each other are first obtained, wherein different matching relationships have different matching weights; then, multiple iterations of object selection processing based on matching weights are performed on the multiple recommendation information items, wherein, in each object selection process, for multiple recommendation information items, the one with the largest matching weight among the corresponding multiple target objects with matching relationships is selected as the current selection object; then, the selection object corresponding to each recommendation information item obtained from the last object selection process is determined as the matching object corresponding to each recommendation information item; since the target object with the largest matching weight is selected in parallel for multiple recommendation information items in each object selection process, the matching speed can be accelerated, thereby improving the efficiency of obtaining multiple recommendation information items and multiple target objects. The efficiency of the global matching optimal solution is improved. Furthermore, in the process of iterative object selection based on matching weights for multiple recommendations, the selected object obtained in each iteration is iterated over by the selected object obtained in the next iteration, and the matching weight corresponding to each selected object is the largest at the time. Therefore, the selected object corresponding to each recommendation obtained in the last iteration will be the globally optimal matching solution between multiple recommendations and multiple target objects. Thus, the selected object corresponding to each recommendation obtained in the last iteration can be determined as the matching object for each recommendation, allowing the corresponding recommendation to be pushed to each matching object, achieving optimal information push even when there is a matching weight between the recommendation and the user. Therefore, even when there is a matching weight between the recommendation and the user, the technical solution provided in this application can quickly obtain the globally optimal matching solution between the recommendation and the target object, thereby facilitating the provision of the most suitable recommendation information to the target object.
[0054] Other features and advantages of this application will be set forth in the following description and will be apparent in part from the description or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the description and the accompanying drawings. Attached Figure Description
[0055] The accompanying drawings are used to provide a further understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.
[0056] Figure 1 This is a schematic diagram of an implementation environment provided in an embodiment of this application;
[0057] Figure 2This is a schematic diagram of another implementation environment provided in the embodiments of this application;
[0058] Figure 3 This is a flowchart illustrating an information push method provided in an embodiment of this application;
[0059] Figure 4 This is a schematic diagram of an update process provided in an embodiment of this application;
[0060] Figure 5 This is a schematic diagram of a process for maintaining the currently selected object, provided in an embodiment of this application;
[0061] Figure 6 This is a flowchart illustrating an information push method provided in a specific example of an embodiment of this application.
[0062] Figure 7 The embodiments provided in this application are based on Figure 6 A flowchart of the information push method;
[0063] Figure 8 This is a detailed flowchart of an information push method provided in a specific example of an embodiment of this application;
[0064] Figure 9 This is a schematic diagram of the structure of an information push device provided in an embodiment of this application;
[0065] Figure 10 This is a schematic diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0066] The present application will be further described below with reference to the accompanying drawings and specific embodiments. The described embodiments should not be considered as limitations on the present application, and all other embodiments obtained by those skilled in the art without inventive effort are within the scope of protection of the present application.
[0067] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0068] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0069] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.
[0070] (1) A bipartite graph, also known as a bipartite graph, is a special model in graph theory. Let G = (V, E) be an undirected graph. If the vertex V can be partitioned into two disjoint subsets (A, B), and each edge (i, j) in the graph is associated with two vertices i and j that belong to these two different vertex sets (i in A, j in B), then the graph G is called a bipartite graph.
[0071] (2) Alternating path: A path that starts from an unmatched point and passes through unmatched edges, matched edges, unmatched edges, etc. in sequence.
[0072] (3) Augmenting path: Starting from an unmatched point, taking an alternating path, if it passes through another unmatched point (excluding the starting point), this alternating path is called an augmenting path.
[0073] In today's information age, information push has become an indispensable part of major platforms. Currently, a widely adopted strategy is to construct a bipartite graph model between the recommendation information to be pushed and the potential users who will receive it. In this model, the recommendation information is a node on one side, and the user is a node on the other side, with potential connections between them represented by edges. Based on this bipartite graph, the Hungarian algorithm is typically used to find the maximum matching. The Hungarian algorithm can effectively find the largest matching set in the bipartite graph, meaning that each recommendation information matches at most one user, and achieves as many matchings between recommendation information and users as possible. The Hungarian algorithm mainly obtains the maximum matching in the bipartite graph by constructing a Hungarian tree, which is generally constructed using Breadth-First Search (BFS). Specifically, starting from an unmatched node in the bipartite graph, BFS is run by taking alternating paths. By continuously finding augmenting paths and swapping the identities of matching and unmatched edges, the number of matching edges can be gradually increased, thus finding the maximum matching in the bipartite graph. In this way, as many users as possible can be matched for each recommendation information, which is beneficial for achieving accurate recommendation information push. While this method is efficient and practical, it relies on the assumption that there are no weight differences between the recommendation information and the user. When there are matching weights between the recommendation information and the user, obtaining a globally optimal matching solution (i.e., the matching result that maximizes the sum of the matching weights between the recommendation information and the user) becomes a pressing technical challenge.
[0074] To quickly obtain the globally optimal matching solution (i.e., the matching result with the maximum sum of matching weights between recommendation information and users) when there are matching weights between recommendation information and users, embodiments of this application provide an information push method, information push device, electronic device, computer-readable storage medium, and computer program product. First, multiple recommendation information items and multiple target objects with matching relationships are acquired, wherein different matching relationships have different matching weights. Then, multiple iterations of object selection processing based on matching weights are performed on the multiple recommendation information items. During each object selection process, for each recommendation information item, the target object with the highest matching weight is selected in parallel from the corresponding matching relationship target objects. Next, the selected object corresponding to each recommendation information item obtained from the last object selection process is determined as the matching object corresponding to each recommendation information item. Since each object selection process is performed in parallel... By selecting the target object with the highest matching weight from multiple recommendations, the matching speed can be accelerated, thereby improving the efficiency of obtaining the globally optimal matching solution between multiple recommendations and multiple target objects. Furthermore, in the process of iterative object selection based on matching weights for multiple recommendations, the selected object obtained in each iteration is iterated over by the selected object obtained in the next iteration, and the matching weight corresponding to each selected object is the largest at that time. Therefore, the selected object corresponding to each recommendation obtained in the last iteration will be the globally optimal matching solution between multiple recommendations and multiple target objects. Thus, the selected object corresponding to each recommendation obtained in the last iteration can be determined as the matching object for each recommendation, allowing the corresponding recommendation information to be pushed to each matching object, achieving optimal information push even when there is a matching weight between the recommendation information and the user. Therefore, even when there is a matching weight between the recommendation information and the user, the technical solution provided in this application can obtain the globally optimal matching solution between the recommendation information and the target object relatively quickly, thereby facilitating the provision of the most suitable recommendation information to the target object.
[0075] Figure 1 This is a schematic diagram of an implementation environment provided in an embodiment of this application. (Refer to...) Figure 1 The implementation environment includes multiple first user terminals 101 and a first server 102. Each first user terminal 101 is directly or indirectly connected to the first server 102 via wired or wireless communication. The first user terminals 101 and the first server 102 can be nodes in a blockchain, but this embodiment does not specifically limit this.
[0076] The first user terminal 101 may include, but is not limited to, smart devices such as smartphones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, and aircraft. Optionally, the first user terminal 101 may receive recommendation information pushed by the first server 102, which may include information such as products, articles, and videos, etc., without specific limitations here.
[0077] The first server 102 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
[0078] In one embodiment, the first server 102 can determine the matching relationships between the multiple target objects and the multiple recommendation information and the matching weights corresponding to these matching relationships based on the acquired multiple target objects and multiple recommendation information. Then, it performs multiple iterations of object selection processing based on the matching weights on the multiple recommendation information. In each object selection process, for multiple recommendation information, the one with the largest matching weight is selected as the current selection object in parallel among the multiple target objects with matching relationships. Then, the selection object corresponding to each recommendation information obtained from the last object selection process is determined as the matching object corresponding to each recommendation information, and the corresponding recommendation information is pushed to each matching object.
[0079] Reference Figure 1As shown, in one application scenario, the first server 102 is connected to the recommendation information database 103 and the target object database 104 respectively. The recommendation information database 103 pre-stores multiple recommendation information, and the target object database 104 pre-stores multiple target objects. The multiple target objects stored in the target object database 104 correspond one-to-one with multiple first user terminals 101. When planning to push corresponding recommendation information to multiple first user terminals 101, the first server 102 obtains multiple recommendation information from the recommendation information database 103 and multiple target objects from the target object database 104. At this time, the first server 102 can determine the matching relationship between the multiple recommendation information and the multiple target objects, as well as the matching weights corresponding to these matching relationships. Then, the first server 102 performs multiple iterative object selection processing based on matching weights on the multiple recommendation information. Each time the first server 102 performs object selection processing, for multiple recommendation information, it selects the one with the largest matching weight among the multiple target objects with corresponding matching relationships as the current selection object. After the last object selection processing is completed, the first server 102 determines the selection object corresponding to each recommendation information obtained from the last object selection processing as the matching object corresponding to each recommendation information. At this time, the first server 102 obtains the recommendation information corresponding to each first user terminal 101. Therefore, the first server 102 can push the corresponding recommendation information to each first user terminal 101 (i.e., each matching object).
[0080] Figure 2 This is a schematic diagram of another implementation environment provided in the embodiments of this application. (Refer to...) Figure 2 The implementation environment includes multiple second user terminals 201 and a second server 202. Each second user terminal 201 is directly or indirectly connected to the second server 202 via wired or wireless communication. The second user terminals 201 and the second server 202 can be nodes in a blockchain, but this embodiment does not specifically limit this.
[0081] The second user terminal 201 may include, but is not limited to, smart devices such as smartphones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, and aircraft. Optionally, the second user terminal 201 may receive recommendation information pushed by the second server 202, which may include information such as products, articles, and videos, without specific limitations here.
[0082] The second server 202 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN networks, and big data and artificial intelligence platforms.
[0083] In one embodiment, the second server 202 can determine the matching relationships between the multiple target objects and the multiple recommendation information and the matching weights corresponding to these matching relationships based on the acquired multiple target objects and multiple recommendation information. Then, the multiple recommendation information undergoes multiple iterations of object selection processing based on the matching weights. In each object selection process, for the multiple recommendation information, the one with the largest matching weight among the multiple target objects with matching relationships is selected as the current selection object in parallel. Then, the selection object corresponding to each recommendation information obtained from the last object selection process is determined as the matching object corresponding to each recommendation information, and the corresponding recommendation information is pushed to each matching object.
[0084] Reference Figure 2 As shown, in one application scenario, the second server 202 is connected to multiple second user terminals 201. When it is planned to push corresponding recommendation information to the multiple second user terminals 201, the second server 202 can collect relevant data information from the multiple second user terminals 201 and generate multiple recommendation information based on the collected data information. At the same time, the second server 202 treats the multiple second user terminals 201 as multiple target objects. At this time, the second server 202 can determine the matching relationship between the multiple recommendation information and the multiple target objects, as well as the matching weights corresponding to these matching relationships. Then, the second server 202 iterates through the multiple recommendation information multiple times based on the matching weights. In the selection process, each time the second server 202 performs object selection processing, for multiple recommendation information, it selects the one with the largest matching weight from the multiple target objects with corresponding matching relationships as the current selection object. After the last object selection processing is completed, the second server 202 determines the selection object corresponding to each recommendation information obtained from the last object selection processing as the matching object corresponding to each recommendation information. At this time, the second server 202 obtains the recommendation information corresponding to each second user terminal 201. Therefore, the second server 202 can push the corresponding recommendation information to each second user terminal 201 (i.e., each matching object).
[0085] It should be noted that in various specific embodiments of this application, when processing data related to the characteristics of the target object, such as attribute information or sets of attribute information, is required, the permission or consent of the target object will be obtained first. Furthermore, the collection, use, and processing of this data will comply with relevant laws, regulations, and standards. In addition, when embodiments of this application need to obtain attribute information of the target object, separate permission or consent from the target object will be obtained through pop-ups or redirection to a confirmation page. Only after obtaining the separate permission or consent of the target object will the necessary target object-related data for the normal operation of the embodiments of this application be obtained.
[0086] Figure 3 This is a flowchart illustrating an information push method provided in an embodiment of this application. This information push method can be executed by a server, a user terminal, or jointly by both. In this embodiment, the method is described using server execution as an example. (Refer to...) Figure 3 The information push method includes, but is not limited to, steps 310 to 340.
[0087] Step 310: Obtain multiple recommendation information and multiple target objects, wherein there are matching relationships between the multiple recommendation information and multiple target objects, and different matching relationships have different matching weights.
[0088] In this step, recommendation information refers to a set of data or information used to recommend information to users or the system. This can be content generated based on user interests or preferences. The target audience refers to the recipients of the recommendation information, i.e., the objects to which the recommendation information is directed. These can be the primary audience or potential users of the recommendation information. Each piece of recommendation information can have a matching relationship with one or more target audiences. This matching relationship indicates that the target audience is interested in the recommendation information. Different matching relationships have different degrees of matching, which can be represented using matching weights. The higher the matching weight, the higher the degree of matching. For example, in a scenario where the recommendation information is an advertisement for a pair of sneakers, and the target audience is a user A who frequently buys sneakers and a user B who dislikes sneakers, then the matching weight of the recommendation information with user A might be relatively high, while the matching weight with user B might be relatively low. In other words, the recommendation information has a higher degree of matching with user A.
[0089] In one embodiment, the matching weight of the matching relationship between the recommendation information and the target object can be determined based on the degree of matching between the recommendation information and the target object. For example, the degree of matching between the recommendation information and the target object can be quantified first, and then the specific value of the corresponding matching weight can be determined based on the numerical range in which the quantified matching degree falls. For example, if the quantified matching degree is in the numerical range of 80 to 90, then the specific value of the corresponding matching weight can be determined to be 85; or if the quantified matching degree is in the numerical range of 90 to 100, then the specific value of the corresponding matching weight can be determined to be 95.
[0090] In another embodiment, a pre-trained matching weight prediction model can be used to obtain the matching weights between recommendation information and target objects. By inputting the recommendation information and target objects into the pre-trained matching weight prediction model, the model can output the matching weights between the recommendation information and target objects. Specifically, when training the matching weight prediction model, matching weights between different recommendation information and different target objects can be manually set first. These manually set matching weights are then used as training labels, and the corresponding recommendation information and target objects are used as training samples to train the matching weight prediction model, enabling the trained model to predict the matching weights between recommendation information and target objects. It should be noted that the matching weight prediction model can be constructed from commonly used deep neural network models or convolutional neural network models, etc. The model structures and principles of commonly used deep neural network models or convolutional neural network models can be found in relevant descriptions in related technologies, and will not be elaborated here.
[0091] Step 320: Perform multiple iterations of object selection processing based on matching weights for multiple recommendation information. In each object selection process, for multiple recommendation information, the one with the largest matching weight is selected as the current selection object among the multiple target objects with matching relationships.
[0092] In this step, to find the optimal (highest matching weight) selection object for each recommendation, during the iterative object selection process based on matching weight for multiple recommendations, for each recommendation, the target object with the highest matching weight can be selected in parallel from among the multiple target objects with matching relationships. This ensures that in each iteration, the target object with the highest matching weight is selected as the current selection object. For example, assuming there is a recommendation about island tourism, when performing object selection based on matching weight, we can first identify multiple target objects that match this recommendation, then obtain the matching weights of these target objects with this recommendation, and finally select the target object with the highest matching weight as the current selection object for this recommendation.
[0093] In one embodiment, for each recommendation, after obtaining the matching weights of all target objects that have a matching relationship with it, all recommendation information can be processed in parallel, and the target object with the highest matching weight is selected for each recommendation. Since the target object with the highest matching weight can be selected for each recommendation in parallel, a large number of recommendation information and target objects can be processed in a short time, thereby ensuring the accuracy and timeliness of the recommendation results.
[0094] Step 330: Determine the selected object corresponding to each recommendation information obtained from the last object selection process as the matching object for each recommendation information.
[0095] In this step, during the iterative object selection process based on matching weights for multiple recommendations, the selected object obtained in each iteration is iterated over by the selected object obtained in the next iteration. Furthermore, the matching weight corresponding to each selected object is the largest at the time. Therefore, the selected object for each recommendation obtained in the last iteration will be the globally optimal matching solution between multiple recommendations and multiple target objects (i.e., the matching result with the largest sum of matching weights between multiple recommendations and multiple users). Thus, the selected object for each recommendation obtained in the last iteration can be determined as the matching object for each recommendation. This allows for the push of corresponding recommendations to each matching object, achieving optimal information push when there are matching weights between the recommendations and users.
[0096] It should be noted that each recommendation can have one or more matching objects; there is no limitation here.
[0097] Step 340: Push the corresponding recommendation information to each matched object.
[0098] In this step, the relevant recommendation information can be pushed to these matching objects through email, SMS, APP push or website notification. It should be noted that this application embodiment does not limit the push method, and the specific push method can be selected according to actual needs.
[0099] In one embodiment, each recommendation can have an object selection set, which consists of multiple target objects that have a matching relationship with the recommendation. That is, for each recommendation, one or more target objects that have a matching relationship with it can be added to the object selection set, and each target object in the object selection set has a matching weight with the recommendation. This allows the target object with the largest matching weight to be selected as the current selection object when performing multiple iterations of object selection processing based on matching weights on the recommendation.
[0100] In one embodiment, assuming an online content recommendation platform, the platform can generate corresponding recommendation information for each user (i.e., the target object) based on their browsing history and interests. For each recommendation information, an object selection set can be constructed, which can include multiple users who have a matching relationship with the recommendation information. For example, when the recommendation information is a newly released science fiction movie, including information such as the director and lead actors, its object selection set can include user A, who likes watching science fiction movies and reading science fiction novels; user B, who has a similar viewing history to user A and likes a certain director or lead actor; and user C, who has a strong interest in science fiction. Among them, user A, user B, and user C are all target objects that have a matching relationship with the recommendation information (the newly released science fiction movie).
[0101] In one embodiment, assuming an online shopping platform, the platform can generate corresponding recommendation information for each user (i.e., the target object) based on information such as their shopping history, browsing behavior, or interests. For each recommendation information, an object selection set can be constructed, which can include multiple users that have a matching relationship with the recommendation information. For example, when the recommendation information is a new hiking boot, its object selection set can include user D whose search history contains the keyword "hiking boot," user E who frequently participates in hiking and camping activities, and user F who frequently shares hiking tips and equipment recommendations. Among them, users D, E, and F are all target objects that have a matching relationship with the recommendation information (new hiking boot).
[0102] In one embodiment, during each object selection process, for multiple recommendations, the target object with the highest matching weight that has not been selected by the current recommendation can be selected in parallel from the corresponding object selection set. It is understood that during the iterative object selection process based on matching weight for multiple recommendations, for each recommendation, since it can have an object selection set including all target objects with matching relationships, each time object selection is performed on that recommendation, the target object with the highest matching weight can be selected from all target objects in the object selection set as the current selection object. In the next object selection process, since the previous selection object was the target object with the highest matching weight in the object selection set, the target object with the highest matching weight that has not been selected by the current recommendation (i.e., the target object with the second highest matching weight in the original object selection set) can be selected as the current selection object, thus obtaining the selection object corresponding to each recommendation.
[0103] In one embodiment, suppose that in an online shopping website, multiple recommendations include: Recommendation A: a newly released smartphone; Recommendation B: a high-end athletic shoe; Recommendation C: a popular science fiction novel. Multiple target users include: User 1: a tech enthusiast who frequently buys smartphones and electronic devices; User 2: a sports enthusiast who has purchased multiple athletic shoes and fitness equipment; User 3: a literature enthusiast, especially fond of science fiction and fantasy books; User 4: a broad consumer with an interest in various products. Based on the above information, the matching between the multiple recommendations and the multiple target users can include: ["Recommendation A", "User 1", 90]; ["Recommendation A", "User 4", 70]; ["Recommendation B", "User 2", 85]; ["Recommendation B", "User 4", 60]; ["Recommendation C", "User 3", 95]; ["Recommendation C", "User 4", 75]. It should be noted that the array ["Recommendation Information A", "User 1", 90] indicates that User 1 is a target object of Recommendation Information A, and the matching weight between Recommendation Information A and User 1 is 90. The explanation of other arrays can be found in the explanation of this array, and will not be repeated here. Therefore, the object selection set for Recommendation Information A includes User 1 (matching weight: 90) and User 4 (matching weight: 70); the object selection set for Recommendation Information B includes User 2 (matching weight: 85) and User 4 (matching weight: 60); and the object selection set for Recommendation Information C includes User 3 (matching weight: 95) and User 4 (matching weight: 75). When performing object selection based on matching weights on Recommendation Information A, Recommendation Information B, and Recommendation Information C in parallel, for Recommendation Information A, since User 1 has the highest matching weight in its object selection set and has not yet been selected by other recommendations, User 1 can be preferentially selected as the current selection object for Recommendation Information A. For recommendation information B, since user 2 has the highest matching weight in its target selection set and has not been selected by other recommendations, user 2 can be selected as the current target for recommendation information B. For recommendation information C, since user 3 has the highest matching weight in its target selection set and has not been selected by other recommendations, user 3 can be selected as the current target for recommendation information C.
[0104] In one embodiment, the allowed selection quantity of recommended information and the allowed selection quantity of target objects can be set. It is understood that the allowed selection quantity of recommended information refers to the maximum number of times recommended information can be selected during multiple iterations. The allowed selection quantity of target objects refers to the upper limit of the number of times a target object can be selected during multiple iterations. After setting the allowed selection quantities of recommended information and target objects, in each iteration, a portion of each recommended information is selected from multiple target objects for matching based on these quantities, until the set upper limit is reached. This approach ensures both selection accuracy and reasonable resource allocation, making the entire selection process more efficient. Furthermore, the allowed selection quantities of recommended information and target objects can be continuously adjusted and optimized to meet selection needs in different scenarios.
[0105] In one embodiment, for multiple recommendation information, in the process of selecting the target object with the largest matching weight that has not been selected by the current recommendation information as the current selection object in the corresponding object selection set in parallel, for multiple recommendation information whose selected number is less than the allowed selection number, the target object with the largest matching weight that has not been selected by the current recommendation information and whose selected number is not greater than the allowed selection number can be selected in parallel from the corresponding object selection set.
[0106] In one embodiment, when multiple recommendations are selected in parallel from their corresponding object selection sets, the target object with the highest matching weight that has not been selected by the current recommendation is chosen as the current selection object. Assume there is a set of recommendations and a set of target objects. The set of recommendations includes: Recommendation T1: XX Cultural Tour, including cities such as X1 and X2; Recommendation T2: XX Natural Scenery Tour, including attractions such as X3 and X4; Recommendation T3: XX Adventure Tour, including X5 and X6. The set of target objects includes: User 1: loves history and culture; User 2: enjoys natural scenery and outdoor adventure; User 3: interested in various travel activities; User 4: interested in travel destinations around the world. Simultaneously, the allowed selection limit for each recommendation is set to 2, meaning each recommendation allows the selection of 2 target objects; the allowed selection limit for each target object is also set to 2, meaning each target object can be selected 2 times. Based on the recommended information and the target objects, the object selection set for recommended information T1 includes: User 1 (matching weight: 90), User 3 (matching weight: 80), and User 4 (matching weight: 70); the object selection set for recommended information T2 includes: User 2 (matching weight: 95), User 3 (matching weight: 75), and User 4 (matching weight: 65); the object selection set for recommended information T3 includes: User 1 (matching weight: 85), User 3 (matching weight: 85), and User 4 (matching weight: 75). When performing parallel selection processing based on matching weights on recommendation information T1, T2, and T3, the initial selected count for each recommendation information is 0, and the selected count for each target object is also 0. In the first round of object selection processing, for recommendation information T1, since user 1 has the highest matching weight in its object selection set and has not been selected by other recommendation information, user 1 can be prioritized as the current selection object for recommendation information T1. For recommendation information T2, since user 2 has the highest matching weight in its object selection set and has not been selected by other recommendation information, user 2 can be prioritized as the current selection object for recommendation information T2. For recommendation information T3, since user 1 and user 3 have the same matching weight in its object selection set, both user 1 and user 3 can be the current selection object for recommendation information T3. However, since user 1 has already been selected by recommendation information T1, user 3 can be prioritized as the current selection object for recommendation information T3. After the first round of object selection, each of the recommended information T1, T2, and T3 has selected a target object. Since each of the recommended information T1, T2, and T3 still has a number of selections allowed, a second round of selection can be performed on them.In the second round of selection, for recommendation information T1, since user 3 has the highest matching weight among the remaining target objects in its selection set and has not been selected by recommendation information T1, even though user 3 has been selected once by recommendation information T3, user 3 can be selected twice. Therefore, in the second round of selection, user 3 can be selected as the current selection object for recommendation information T1. For recommendation information T2, since user 4 has the highest matching weight among the remaining target objects in its selection set and has not been selected by either recommendation information T1 or recommendation information T3, user 4 can be selected as the current selection object for recommendation information T2 in the second round of selection. For recommendation information T3, since user 1 has the highest matching weight among the remaining target objects in its selection set and has not been selected by recommendation information T3, even though user 1 has been selected once by recommendation information T1, user 1 can be selected twice. Therefore, in the second round of selection, user 1 can be selected as the current selection object for recommendation information T3. After two rounds of selection, the maximum number of choices allowed for recommendations T1, T2, and T3 has been reached, and the iteration ends. At this point, the selected objects for recommendation T1 include users 1 and 3, for recommendation T2 users 2 and 4, and for recommendation T3 users 3 and 1. It's important to note that during these two object selection processes, the target objects are selected independently. That is, a target object can be selected by multiple recommendations, as long as it doesn't exceed its allowed selection limit. Furthermore, multiple recommendations select target objects in parallel from their respective object selection sets until the allowed selection limit is reached.
[0107] In one embodiment, when performing object selection processing on the recommendation information, the number of currently selected recommendations and the number of currently selected target objects can be incremented by one, and then the currently selected target object can be deleted from the object selection set. By incrementing the relevant quantities after each selection operation, the selection status of recommendation information and the number of times target objects are selected can be accurately counted in real time, thereby enabling a more accurate assessment of the popularity of different recommendation information and the attractiveness of different target objects, improving the accuracy of recommendations. Furthermore, deleting the currently selected target object from the object selection set ensures that the same target object is not repeatedly selected in the same round of selection, avoiding unnecessary duplication of operations.
[0108] In one embodiment, when performing object selection processing on the recommended information, it is assumed that there is a set of recommended information and a set of target objects. The set of recommended information includes recommended information G1: a list of popular songs; and recommended information G2: a list of classical songs. The set of target objects includes: User 1: likes pop and rock music; User 2: prefers classical music; and User 3: likes various types of music but is not very interested in classical music. The allowed selection quantity for each recommended information is set to 1, meaning each recommended information allows the selection of 1 target object; the allowed selection quantity for each target object is also set to 1, meaning each target object can be selected 1 time. Based on this set of recommended information and the set of target objects, the object selection set for recommended information G1 includes: User 1 (matching weight: 80), User 3 (matching weight: 70); and the object selection set for recommended information G2 includes: User 2 (matching weight: 90). When performing parallel selection processing on recommendation information G1 and recommendation information G2 based on matching weights, the initial selected count for each recommendation information is 0, and the selected count for each target object is also 0. That is, in the initial state of object selection processing, all recommendation information and target objects are unselected. In the first round of object selection processing, for recommendation information G1, since user 1 has the highest matching weight in its object selection set, and user 1 has not yet been selected by other recommendation information, user 1 can be prioritized as the current selection object for recommendation information G1. Simultaneously, the selected count of recommendation information G1 is incremented by one (from 0 to 1), indicating that recommendation information G1 has selected a user, and the selected count of user 1 is also incremented by one (from 0 to 1), indicating that user 1 has been selected by a recommendation. Additionally, user 1 can be deleted from the object selection set of recommendation information G1. At this point, the remaining object selection set of recommendation information G1 includes user 3 (matching weight: 70). For recommendation information G2 (a list of classical songs), since the only target object in its object selection set is user 2, and user 2 has not been selected by other recommendations, user 2 can be selected as the current target object for recommendation information G2. Simultaneously, the selected count of recommendation information G2 is incremented (from 0 to 1), the selected count of user 2 is incremented (from 0 to 1), and user 2 is removed from the object selection set of recommendation information G2. At this point, the remaining object selection set of recommendation information G2 is empty. After two rounds of object selection processing, the allowed selection counts for recommendation information G1 and recommendation information G2 have reached their limits, and the iteration ends. At this point, the matching object for recommendation information G1 is user 1, and the matching object for recommendation information G2 is user 2.
[0109] In one embodiment, after each object selection process, a judgment can be made based on whether there is at least one recommended information whose selected number is less than the allowed selection number and the object selection set of the recommended information is not empty. If there is at least one recommended information whose selected number is less than the allowed selection number and the object selection set of the recommended information is not empty, then the next object selection process is performed; if the selected number of all recommended information is not less than the allowed selection number, or the object selection set of all recommended information is empty, then the next object selection process is not performed.
[0110] In one embodiment, when performing object selection processing on the recommended information, it is assumed that there is a set of recommended information and a set of target objects. The set of recommended information includes recommended information M1: destination is city J; recommended information M2: destination is city Q; recommended information M3: destination is city K. The set of target objects includes: User 1: loves the history and culture of city J; User 2: likes the natural scenery and outdoor adventures of city Q; User 3: is interested in various tourism projects in both cities J and Q; User 4: is interested in tourism destinations around the world. Based on the set of recommended information and the set of target objects, the object selection set of recommended information M1 includes: User 1 (matching weight: 90), User 3 (matching weight: 80), User 4 (matching weight: 70); the object selection set of recommended information M2 includes: User 2 (matching weight: 95), User 4 (matching weight: 65); the object selection set of recommended information M3 includes: User 3 (matching weight: 85), User 4 (matching weight: 75). Simultaneously, the allowed selection quantity for each recommended information is set to 2, and the allowed selection quantity for each target object is set to 2.When performing object selection processing on recommendation information M1, M2, and M3 in parallel, the initial selected count for each recommendation information is 0, and the selected count for each target object is also 0. In the first round of object selection processing, for recommendation information M1, since user 1 has the highest matching weight in its object selection set and has not been selected by other recommendation information, user 1 can be prioritized as the current selection object for recommendation information M1. At the same time, the selected count of recommendation information M1 is incremented (from 0 to 1), the selected count of user 1 is incremented (from 0 to 1), and user 1 is deleted from the object selection set of recommendation information M1. At this time, the remaining object selection set of recommendation information M1 includes user 3 (matching weight: 80) and user 4 (matching weight: 70). For recommendation information M2, since user 2 has the highest matching weight in its object selection set and has not been selected by other recommendation information, user 2 can be prioritized as the current selection object for recommendation information M1. Since the recommended information has already been selected, user 2 can be prioritized as the current selection target for recommended information M2. Simultaneously, the selected count of recommended information M2 is incremented (from 0 to 1), the selected count of user 2 is incremented (from 0 to 1), and user 2 is removed from the selection set of recommended information M2. At this point, the remaining selection set of recommended information M2 includes user 4 (matching weight: 65). For recommended information M3, since user 3 has the highest matching weight in its selection set and has not yet been selected by other recommended information, user 3 can be prioritized as the current selection target for recommended information M3. Simultaneously, the selected count of recommended information M3 is incremented (from 0 to 1), the selected count of user 3 is incremented (from 0 to 1), and user 3 is removed from the selection set of recommended information M3. At this point, the remaining selection set of recommended information M3 includes user 4 (matching weight: 75). After the first round of object selection processing, since the number of selected items for recommended information M1, M2, and M3 is less than the allowed number of selections, and the object selection sets for recommended information M1, M2, and M3 are not empty, the next round of object selection processing can be performed on recommended information M1, M2, and M3.In the second round of object selection, for recommendation information M1, since user 3 has the highest matching weight among the remaining target objects in its object selection set and has not been selected by recommendation information M1, although user 3 has been selected once by recommendation information M3, user 3 is allowed to be selected twice. Therefore, in the second round of selection, user 3 can be selected as the current selection object for recommendation information M1. At the same time, the number of selected items for recommendation information M1 is incremented by one (from 1 to 2), the number of selected items for user 3 is incremented by one (from 1 to 2), and user 3 is deleted from the object selection set of recommendation information M1. At this time, the remaining object selection set of recommendation information M3 includes user 4 (matching weight: 70), and the number of selected items for both recommendation information M1 and user 3 has reached the upper limit (not exceeding 2). For recommendation information T2, since only user 4 remains among the remaining target objects in its object selection set, and user 4 has not been selected by recommendation information M1 or recommendation information M3, user 4 can be selected as the current selection object for recommendation information T2 in the second round of selection. For recommendation M2, the current selection object is selected. Simultaneously, the number of selected objects in recommendation M2 is incremented (from 1 to 2), and the number of selected objects in user 4 is incremented (from 0 to 1). User 4 is then removed from the selection set of recommendation M2. At this point, the remaining selection set of recommendation M2 is empty, and the number of selected objects in recommendation M2 has reached its upper limit (not exceeding 2). For recommendation M3, since only user 4 remains among the remaining target objects in its selection set, even though user 4 has already been selected once by recommendation M2, since user 4 is allowed to be selected twice, user 4 can be selected as the current selection object for recommendation M3 in the second round of selection. Simultaneously, the number of selected objects in recommendation M3 is incremented (from 1 to 2), and the number of selected objects in user 4 is incremented (from 1 to 2). User 4 is then removed from the selection set of recommendation M2. At this point, the remaining selection set of recommendation M3 is empty, and the number of selected objects in both recommendation M3 and user 4 has reached its upper limit (not exceeding 2). Since the number of selected items for all recommended information is no less than the allowed number of selections after two rounds of selection, there is no need to perform another round of selection. At this point, we can see that the selected items for recommended information M1 include users 1 and 3, the selected items for recommended information M2 include users 2 and 4, and the selected items for recommended information M3 include users 3 and 4.
[0111] In one embodiment, for recommended information where the number of selected objects is less than the allowed number of selected objects, after selecting the target object with the largest matching weight that has not been selected by the current recommended information and whose number of selected objects is not greater than the allowed number of selected objects, if the number of selected objects of the currently selected target object is greater than the allowed number of selected objects, the matching weight between the currently selected target object and the current recommended information can be determined as the weight to be judged, and then the update processing of the currently selected object can be determined according to the weight to be judged.
[0112] In one embodiment, the process of determining the update process for the currently selected object based on the weight to be judged is as follows: Figure 4 As shown, the update process steps may include, but are not limited to, steps 410 to 440.
[0113] Step 410: Among multiple recommendations, identify the target information that still maintains a selection relationship with the currently selected target object.
[0114] In this step, after multiple iterations, the number of recommended information matching the currently selected target object may have reached the upper limit of the number of target objects that can be selected. Since the object selection process based on matching weights is iterated multiple times over multiple recommended information, the selected object obtained each time is iterated over by the selected object obtained in the next iteration, so that the matching weight corresponding to each selected object is the largest at the moment. That is to say, if the selected object of the previous iteration is iterated over by the selected object of the next iteration, the recommended information and the previously selected selected object (target object) will no longer maintain the selection relationship. Therefore, when determining the update processing of the current selected object based on the weight to be judged, we can first identify the recommended information that still maintains the selection relationship with the currently selected target object among the multiple recommended information, and use it as the target information for subsequent judgment of the matching weight between different target information and the target object.
[0115] Step 420: Determine the matching weight between the target information and the currently selected target object as the candidate weight.
[0116] Step 430: Compare the weight to be judged with the candidate weights to obtain the comparison results.
[0117] Step 440: Determine the update process for the currently selected object based on the comparison results.
[0118] In one embodiment, when determining the update process for the current selected object based on the comparison result, if the comparison result shows that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, the currently selected target object is maintained as the current selected object, and the selection relationship between the target information corresponding to the candidate weight and the currently selected target object is cancelled; if the comparison result shows that the weight to be judged is the smallest value between the weight to be judged and the candidate weight, the currently selected target object is cancelled as the current selected object.
[0119] In one embodiment, when performing object selection processing on the recommended information, assume there is a set of recommended information and a set of target objects. The recommended information includes recommended information P1: animated videos; recommended information P2: movies; and recommended information P3: documentaries. The target objects include: User 1: loves animation and movies; User 2: interested in various types of videos; and User 3: interested in movies and documentaries. Based on the recommended information and the target objects, the object selection set for recommended information P1 includes: User 1 (matching weight: 90), User 2 (matching weight: 80); the object selection set for recommended information P2 includes: User 1 (matching weight: 75), User 2 (matching weight: 85), and User 3 (matching weight: 70); and the object selection set for recommended information P3 includes: User 2 (matching weight: 90) and User 3 (matching weight: 95). Simultaneously, the allowed selection quantity for each recommended information is set to 2, and the allowed selection quantity for each target object is set to 1. When performing object selection processing on recommendation information P1, P2, and P3 in parallel, the initial selected count for each recommendation information is 0, and the selected count for each target object is also 0. In the first round of object selection processing, for recommendation information P1, since user 1 has the highest matching weight in its object selection set and has not been selected by other recommendation information, user 1 can be prioritized as the current selection object for recommendation information P1. Simultaneously, the selected count for recommendation information P1 is incremented (from 0 to 1), the selected count for user 1 is incremented (from 0 to 1), and user 1 is removed from the object selection set of recommendation information P1. At this point, the remaining object selection set for recommendation information P1 includes user 2 (matching weight: 80). For recommendation information P2, since user 2 has the highest matching weight in its object selection set and has not been selected by other recommendation information, therefore... User 2 is prioritized as the current selection target for recommendation information P2. Simultaneously, the selected count of recommendation information P2 is incremented (from 0 to 1), and the selected count of user 2 is also incremented (from 0 to 1). User 2 is then removed from the selection set of recommendation information P2. At this point, the remaining selection set of recommendation information P2 includes user 1 (matching weight: 75) and user 3 (matching weight: 70). For recommendation information P3, since user 3 has the highest matching weight in its selection set and has not been selected by other recommendations, user 3 can be prioritized as the current selection target for recommendation information P3. Simultaneously, the selected count of recommendation information P3 is incremented (from 0 to 1), and the selected count of user 3 is also incremented (from 0 to 1). User 3 is then removed from the selection set of recommendation information P3. At this point, the remaining selection set of recommendation information P3 includes user 2 (matching weight: 90).After the first round of object selection processing, since the number of selected items for recommended information P1, P2, and P3 is less than the allowed number of selections, and the object selection sets for recommended information P1, P2, and P3 are not empty, the next round of object selection processing can be performed on recommended information P1, P2, and P3. In the second round of object selection processing, for recommended information P1, the only remaining target object in its object selection set is user 2. Since user 2 has already been selected once by recommended information P2, and the allowed number of selections for user 2 is 1, the matching weight (80) between user 2 and recommended information P1 can be determined as the weight to be judged, and then this weight to be judged can be compared with the matching weight between user 2 and recommended information P2. Since the matching weight between user 2 and recommended information P2 is 85, which is greater than the matching weight between user 2 and recommended information P1, user 2 can be canceled as the selection object of recommended information P1, and the matching relationship between user 2 and recommended information P2 can be maintained. For recommendation information P2, its remaining selection set includes user 1 and user 3. Since the matching weight of user 1 is greater than that of user 3, user 1 can be selected as the current selection object of recommendation information P2. However, since user 1 has been selected once by recommendation information P1 and the number of times user 1 can be selected is 1, the matching weight (75) between user 1 and recommendation information P2 can be determined as the weight to be judged. Then, the weight to be judged is compared with the matching weight between user 1 and recommendation information P1. Since the matching weight between user 1 and recommendation information P2 is 75, which is less than the matching weight between user 1 and recommendation information P1, user 1 can be canceled as the selection object of recommendation information P2, and the matching relationship between user 1 and recommendation information P1 can be maintained. For recommendation information P3, its remaining selection set only includes user 2. Since user 2 has already been selected once by recommendation information P2, and the allowed selection count for user 2 is 1, the matching weight (90) between user 2 and recommendation information P3 can be determined as the weight to be judged. Then, this weight to be judged is compared with the matching weight between user 2 and recommendation information P2. Since the matching weight between user 2 and recommendation information P2 is 85, which is less than the matching weight between user 2 and recommendation information P3, user 2 can be maintained as the selection object of recommendation information P3, and the selection relationship between user 2 and recommendation information P2 can be cancelled. After two rounds of selection object processing, it can be seen that the selected objects of recommendation information P1 include user 1, the selected objects of recommendation information P2 are zero, and the selected objects of recommendation information P3 include user 3 and user 2.
[0120] In one embodiment, the number of target information pieces that still maintain a selection relationship with the currently selected target object can be multiple, and the number of candidate weights is the same as the number of target information pieces. That is, a target object can maintain a selection relationship with multiple target information pieces, and the number of these target information pieces corresponds to the number of candidate weights, ensuring that each target information piece has a corresponding candidate weight, so as to facilitate the subsequent comparison between the weight to be judged and the candidate weights.
[0121] In one embodiment, in the process of canceling the selection relationship between the target information corresponding to the candidate weight and the currently selected target object, the candidate weight with the smallest value can be determined first among multiple candidate weights, and then the selection relationship between the target information corresponding to the candidate weight with the smallest value and the currently selected target object can be canceled.
[0122] In one embodiment, when determining the update process for the currently selected object based on the comparison result, if the comparison result indicates that the weight to be judged is not the smallest value between the weight to be judged and the candidate weights, the currently selected target object can be maintained as the current selected object. The process of maintaining the currently selected target object as the current selected object is as follows: Figure 5 As shown, the process includes, but is not limited to, steps 510 to 530.
[0123] Step 510: Select and lock the currently selected target object.
[0124] In this step, since the target object with the highest matching weight is selected in parallel for multiple recommendations each time object selection is performed, when the number of times the currently selected target object has been selected is greater than the number allowed to be selected, the selection of the currently selected target object can be locked to prevent the currently selected target object from being matched by other recommendations. This allows the recommendation with the highest matching degree to be found more quickly, thereby improving the efficiency and accuracy of recommendations.
[0125] In one embodiment, after selecting and locking the currently selected target object, all recommendation information that maintains a matching relationship with the currently selected target object can be obtained. This recommendation information includes the current recommendation information and the recommendation information that still maintains a matching relationship with the target object.
[0126] Step 520: Compare the weight to be judged and the candidate weights again to obtain a new comparison result.
[0127] In one embodiment, after obtaining all the recommendation information that maintains a matching relationship with the currently selected target object, the matching weight between the currently selected target object and the current recommendation information can be determined as the weight to be judged, and the matching weight between the recommendation information that still maintains a selection relationship with the currently selected target object and the currently selected target object can be determined as the candidate weight. Then, the weight to be judged and the candidate weight are compared again to obtain a new comparison result.
[0128] Step 530: If the new comparison result is still that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, maintain the currently selected target object as the current selection object.
[0129] In one embodiment, if the new comparison result is still that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, the selection relationship between the target information corresponding to the candidate weight and the currently selected target object can be cancelled.
[0130] In one embodiment, when the comparison result shows that the weight to be judged is the smallest between the weight to be judged and the candidate weight, the currently selected target object can be cancelled as the current selection object.
[0131] In one embodiment, it is assumed that there is a set of recommendation information including: recommendation information N1, recommendation information N2 and recommendation information N3, and a set of target objects including: user 1, user 2 and user 3. The object selection set of recommendation information N1 includes: user 1 (matching weight: 90) and user 2 (matching weight: 80); the object selection set of recommendation information N2 includes: user 1 (matching weight: 75) and user 3 (matching weight: 70); the object selection set of recommendation information N3 includes: user 1 (matching weight: 80) and user 3 (matching weight: 60). The allowed selection quantity for each recommendation information is set to 2, and the allowed selection quantity for each target object is set to 2. When performing parallel selection processing on recommendation information N1, N2, and N3 based on matching weights, the initial selected count for each recommendation information and each target object is 0. In the first round of object selection, for recommendation information N1, since user 1 has the highest matching weight in its object selection set, user 1 can be prioritized as its current selection object, and the allowed selection count for user 1 is incremented by 1 (from 0 to 1). For recommendation information N2, since user 1 has the highest matching weight in its object selection set, user 2 can be prioritized as its current selection object. The system first determines the current selection target, and then increments the allowed selection count for User 1 by 1 (from 1 to 2). For recommendation information N3, since User 1 has the highest matching weight in its selection set, User 3 can be prioritized as its current selection target. However, since the allowed selection count for User 1 has already reached the upper limit, it is necessary to first determine the target information that still maintains a selection relationship with the currently selected target (User 1). The matching weight between the target information and the currently selected target is determined as the candidate weight. Then, the matching weight between User 1 and recommendation information N3 is compared with the candidate weight. Since the target information that still maintains a selection relationship with User 1 are recommendation information N1 and recommendation information N2, the candidate weight includes the matching weight between recommendation information N1 and User 1, as well as the matching weight between recommendation information N2 and User 1. Since the matching weight (80) between user 1 and recommendation information N3 is not the smallest among them, user 1 can be locked in the selection. The target information that still maintains the selection relationship with user 1 is obtained again, and the matching weight between the target information and user 1 is determined as the candidate weight. Then, the matching weight between user 1 and recommendation information N3 and the candidate weight are compared. After the comparison, since the matching weight (80) between user 1 and recommendation information N3 is still not the smallest among them, while the matching weight (75) between user 1 and recommendation information N2 is the smallest among them, user 1 can be maintained as the current selection object of recommendation information N3, and the selection relationship between recommendation information N2 and user 1 can be canceled.
[0132] In one embodiment, after performing the step of canceling the selection relationship between the target information corresponding to the candidate weight and the currently selected target object, or canceling the step of selecting the currently selected target object as the current selection object, the recommendation information corresponding to the canceled selection relationship can be placed into a preset recommendation information set. This facilitates subsequent iterative object selection processing based on matching weights on multiple recommendations in the recommendation information set. It should be noted that during the iterative object selection processing based on matching weights on multiple recommendations, the preset recommendation information set is initially empty. During the object selection process, the recommendation information corresponding to the canceled selection relationship can be placed into this empty set.
[0133] In one embodiment, it is understood that when the selection relationship between a target object and the recommendation information is canceled, the recommendation information can be placed back into a preset set of recommendation information. In subsequent iterations, the recommendation information can be reprocessed multiple times based on matching weights to select objects, thereby finding the target object with the highest matching degree with the recommendation information more accurately, thus improving the accuracy and quality of the recommendation.
[0134] In one embodiment, when pushing corresponding recommendation information to each matching object, based on obtaining the matching object corresponding to each recommendation information, the recommendation information set can be iterated multiple times to obtain new matching objects for each recommendation information, and then the corresponding recommendation information can be pushed to each new matching object. It should be noted that the process of iterating multiple times to select objects from the recommendation information set is similar to the previously described process of iterating multiple times to select objects based on matching weights from multiple recommendations. For details on the process of iterating multiple times to select objects from the recommendation information set, please refer to the previously described process of iterating multiple times to select objects based on matching weights from multiple recommendations; it will not be repeated here.
[0135] The following detailed explanation of the information push method provided in the embodiments of this application is illustrated with specific examples.
[0136] Reference Figure 6 As shown, Figure 6 This is a flowchart illustrating a specific example of an information push method. Figure 6In this scenario, we assume a set of recommendation information, K1, K2, and K3, and a set of target objects. The recommendation information includes user 1, user 2, user 3, and user 4. The selection set for user K1 includes user 1 (matching weight: 90), user 2 (matching weight: 80), and user 4 (matching weight: 75); the selection set for user K2 includes user 2 (matching weight: 85) and user 4 (matching weight: 78); and the selection set for user K3 includes user 2 (matching weight: 90) and user 3 (matching weight: 95). We also set the allowed selection count for each recommendation information to be 2, and the allowed selection count for each target object to be 1. When performing object selection processing on recommendation information K1, recommendation information K2, and recommendation information K3 in parallel, the initial selected count of each recommendation information is 0, and the selected count of each target object is also 0. In the first round of object selection processing, for recommendation information K1, since user 1 has the highest matching weight in its object selection set and user 1 has not been selected by other recommendation information, user 1 can be selected as the current selection object of recommendation information K1. At the same time, the selected count of recommendation information K1 is incremented by one (from 0 to 1), the selected count of user 1 is incremented by one (from 0 to 1), and user 1 is deleted from the object selection set of recommendation information K1. At this time, the remaining object selection set of recommendation information K1 includes user 2 (matching weight: 80) and user 4 (matching weight: 75). For recommendation information K2, since user 2 has the highest matching weight in its object selection set and has not been selected by other recommendations, user 2 can be prioritized as the current selection object for recommendation information K2. Simultaneously, the number of selected items in recommendation information K2 is incremented (from 0 to 1), the number of selected items for user 2 is incremented (from 0 to 1), and user 2 is removed from the object selection set of recommendation information K2. At this point, the remaining object selection set of recommendation information K2 includes user 4 (matching weight: 78). For recommendation information K3, since user 3 has the highest matching weight in its object selection set and has not been selected by other recommendations, user 3 can be prioritized as the current selection object for recommendation information K3. Simultaneously, the number of selected items in recommendation information K3 is incremented (from 0 to 1), the number of selected items for user 3 is incremented (from 0 to 1), and user 3 is removed from the object selection set of recommendation information K3. At this point, the remaining object selection set of recommendation information K3 includes user 2 (matching weight: 90). After the first round of object selection processing, since the number of selected items for recommended information K1, K2, and K3 is less than the allowed number of selections, and the object selection sets for recommended information K1, K2, and K3 are not empty, the next round of object selection processing can be performed on recommended information K1, K2, and K3.In the second round of object selection processing, for recommendation information K1, among the remaining target objects in its object selection set, although the matching weight of user 2 is greater than that of user 4, user 2 has already been selected once by recommendation information K2. Since the allowed selection quantity of user 2 is 1, that is, the allowed selection quantity of user 2 has reached the upper limit. Therefore, the matching weight (80) between user 2 and recommendation information K1 can be compared with the matching weight between user 2 and recommendation information K2. Then, based on the comparison result, it can be determined whether to update user 2. Since the matching weight between user 2 and recommendation information K2 is 85, which is greater than the matching weight between user 2 and recommendation information K1, user 2 can be canceled as the selection object of recommendation information K1, the matching relationship between user 2 and recommendation information K2 can be maintained, and recommendation information K1 can be re-placed into the preset recommendation information set. At the same time, user 2 is deleted from the object selection set of recommendation information K1. At this time, the object selection set of recommendation information K1 includes user 4 (matching weight: 75). For recommendation information K2, its remaining selection set only includes user 4. Since user 4 has not been selected by other recommendations, user 4 can be selected as the current selection object for recommendation information K2. Simultaneously, the selected count of recommendation information K2 is incremented (from 1 to 2), the selected count of user 4 is incremented (from 0 to 1), and user 4 is removed from the selection set of recommendation information K2. At this point, the remaining selection set of recommendation information K2 is empty. For recommendation information K3, its remaining selection set only includes user 2. However, since user 2 has already been selected once by recommendation information K2, and the allowed selection count for user 2 is 1, the matching weight between user 2 and recommendation information K3 can be compared with the matching weight between user 2 and recommendation information K2. Then, based on the comparison result, it can be determined whether to update user 2. Since the matching weight between user 2 and recommendation information K3 is 90, which is not the smallest among the matching weights between user 2 and recommendation information K2 and K3, user 2 can be locked to prevent recommendations from other threads from matching with it. Since comparing the matching weight between user 2 and recommendation information K3 again with the matching weight between user 2 and recommendation information K2 yields the same result as the first comparison, user 2 can be maintained as the selection object of recommendation information K3. The selection relationship between user 2 and recommendation information K2 can be canceled, and recommendation information K2 can be re-placed into the preset recommendation information set. At the same time, the number of selected items in recommendation information K3 is incremented by one (from 1 to 2), while the number of selected items for user 2 remains 1. User 2 is then removed from the object selection set of recommendation information K3, at which point the object selection set of recommendation information K3 is empty.After two rounds of object selection processing, the selected objects for recommendation information K1 include user 1, the selected objects for recommendation information K2 include user 4, and the selected objects for recommendation information K3 include users 2 and 3. Furthermore, the recommendation information set includes recommendation information K1 and recommendation information K2. The object selection set for recommendation information K1 includes user 4, and the object selection set for recommendation information K1 is empty. Since the object selection set for recommendation information K1 is not empty, in subsequent iterations, recommendation information K1 can undergo multiple iterations of object selection processing based on matching weights.
[0137] In one embodiment, when performing multiple iterations of object selection based on matching weights on recommendation information K1, the object selection set of recommendation information K1 only includes user 4. However, since user 4 has already been selected once by recommendation information K2, and the allowed selection count for user 4 is 1, the matching weight between user 4 and recommendation information K1 can be compared with the matching weight between user 4 and recommendation information K2. Then, based on the comparison result, it is determined whether to update user 4. Since the matching weight between user 4 and recommendation information K1 is 75, which is the smallest among the matching weights between user 2 and recommendation information K2, and between user 2 and recommendation information K3, user 4 can be removed from the selection set of recommendation information K1, while maintaining the selection relationship between user 4 and recommendation information K2. At the same time, user 4 is deleted from the object selection set of recommendation information K1. At this point, the object selection set of recommendation information K1 is empty, and the object selection process for recommendation information K1 ends.
[0138] according to Figure 6 The flow of the information push method shown can be obtained as follows: Figure 7 The diagram illustrates the steps of the information push method. Figure 7 As shown, the steps of this information push method may include, but are not limited to, steps 710 to 790.
[0139] Step 710: For recommendation information K1, recommendation information K2 and recommendation information K3, in parallel, select the target object that has not been selected by the current recommendation information and has the largest matching weight as the current selection object from the object selection set of each recommendation information.
[0140] Step 720: After each object selection process, increment the number of selected current recommended information and the number of selected current target objects by one, and determine whether there is at least one recommended information whose number of selected information is less than the allowed number of selections, and the object selection set of the recommended information is not empty.
[0141] Step 730: When there is at least one recommended piece of information whose selected number is less than the allowed number of selections, and the object selection set of the recommended piece of information is not empty, proceed to the next object selection process.
[0142] Step 740: If the number of times the currently selected target object has been selected is greater than the number of times it can be selected, determine the recommendation information that still maintains a selection relationship with the currently selected target object, compare the matching weight of these recommendation information with the target object with the matching weight between the currently selected target object and the current recommendation information, and obtain the comparison result.
[0143] Step 750: If the comparison result shows that the matching weight between the currently selected target object and the current recommendation information is not the smallest among all matching weights, then the currently selected target object is locked, and the matching weights between these recommendation information and the target object are compared again with the matching weights between the currently selected target object and the current recommendation information to obtain a new comparison result.
[0144] Step 760: If the new comparison result is still that the matching weight between the currently selected target object and the current recommendation information is not the smallest among all matching weights, then the currently selected target object is maintained as the current selection object, and the selection relationship between other recommendation information and the currently selected target object is cancelled, and the recommendation information corresponding to the cancelled selection relationship is placed into the preset recommendation information set.
[0145] Step 770: Determine the selected object corresponding to each recommendation information obtained from the last object selection process, determine the matching object corresponding to each recommendation information, and push the corresponding recommendation information to each matching object.
[0146] Step 780: Perform multiple iterations of object selection processing on the recommended information set to obtain a new matching object corresponding to each recommended information.
[0147] Step 790: Push the corresponding recommendation information to each new match.
[0148] Reference Figure 8 As shown, Figure 8 This is a detailed flowchart illustrating a specific example of an information push method. This method can be executed by the server, the user terminal, or both. In this specific example, we will illustrate the method by having it executed by the server. Figure 8 In this context, the information push method may include, but is not limited to, steps 810 to 810.
[0149] Step 801: Obtain multiple recommendation information and multiple target objects, wherein there are matching relationships between the multiple recommendation information and multiple target objects, and different matching relationships have different matching weights;
[0150] Step 802: For multiple recommendations whose selected number is less than the allowed selection number, in parallel, select the target object with the largest matching weight from the corresponding object selection set whose selected number is not greater than the allowed selection number, which has not been selected by the current recommendation information;
[0151] Step 803: Increment the number of currently selected recommended information and the number of currently selected target objects by one;
[0152] Step 804: After selecting the target object with the largest matching weight that has not been selected by the current recommendation information and whose number of selected objects is no greater than the number of objects allowed to be selected, if the number of selected objects of the current target object is greater than the number of objects allowed to be selected, the matching weight between the current target object and the current recommendation information is determined as the weight to be judged.
[0153] Step 805: Among multiple recommendations, identify the target information that still maintains a selection relationship with the currently selected target object;
[0154] Step 806: Determine the matching weight between the target information and the currently selected target object as the candidate weight;
[0155] Step 807: Compare the weight to be judged with the candidate weights to obtain the comparison results;
[0156] Step 808: When the comparison result shows that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, the currently selected target object is locked, and the weight to be judged and the candidate weight are compared again to obtain a new comparison result;
[0157] Step 809: If the new comparison result is still that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, maintain the currently selected target object as the current selection object, and cancel the selection between the target information corresponding to the candidate weight and the currently selected target object.
[0158] Step 810: Determine the selected object corresponding to each recommendation information obtained from the last object selection process as the matching object corresponding to each recommendation information;
[0159] Step 811: Place the recommended information corresponding to the cancelled selection relationship into the preset recommended information set;
[0160] Step 812: Based on obtaining the matching object corresponding to each recommendation, perform multiple iterations of object selection processing on the recommendation set to obtain a new matching object corresponding to each recommendation.
[0161] Step 813: Push the corresponding recommendation information to each new matching object.
[0162] In this embodiment, the information push method described in steps 801 to 813 first acquires multiple recommendation information items and multiple target objects that have matching relationships with each other, wherein different matching relationships have different matching weights. Then, multiple iterations of object selection processing based on matching weights are performed on the multiple recommendation information items. Each time object selection processing is performed, for each of the multiple recommendation information items, the one with the highest matching weight among the corresponding target objects with matching relationships is selected as the current selection object. Next, the selection object corresponding to each recommendation information item obtained from the last object selection processing is determined as the matching object corresponding to each recommendation information item. Since the target object with the highest matching weight is selected in parallel for multiple recommendation information items each time object selection processing is performed, the matching speed can be accelerated, thereby improving the acquisition of multiple recommendation information items and... The efficiency of the global optimal matching solution among multiple target objects is improved. Furthermore, during the iterative object selection process based on matching weights for multiple recommendation information, the selected object obtained in each iteration is iterated over by the selected object obtained in the next iteration, and the matching weight corresponding to each selected object is the largest at the time. Therefore, the selected object corresponding to each recommendation information obtained in the last iteration will be the globally optimal matching solution among multiple recommendation information and multiple target objects. Thus, the selected object corresponding to each recommendation information obtained in the last iteration can be determined as the matching object for each recommendation information, allowing the corresponding recommendation information to be pushed to each matching object, achieving optimal information push even when there is a matching weight between the recommendation information and the user. Therefore, even when there is a matching weight between the recommendation information and the user, the technical solution provided in this application can quickly obtain the globally optimal matching solution between the recommendation information and the target object, thereby facilitating the provision of the most suitable recommendation information to the target object.
[0163] The following examples illustrate the application scenarios of the embodiments of this application.
[0164] It should be noted that the information push method provided in this application embodiment can be applied to different application scenarios such as the execution of information push tasks for social media, the execution of information push tasks for e-commerce platforms, and the execution of information push tasks for news applications. The following description will take the execution scenarios of information push tasks for social media, information push tasks for e-commerce platforms, and information push tasks for news applications as examples.
[0165] Scene 1
[0166] The information push method provided in this application can be applied to information push tasks on social media platforms. For example, when multiple users interact using a social media platform installed on a user's terminal, the platform generates a large amount of user interaction data, such as user browsing, liking, commenting, and sharing. To achieve accurate information push, the social media platform can collect this user interaction data and generate multiple recommendations based on it. Then, it establishes a matching relationship between users and recommendations, assigning a matching weight to each relationship. Next, the platform performs multiple iterative object selection processes based on the matching weights. During each object selection process, for each recommendation, it selects the user with the highest matching weight from among the multiple users with matching relationships. After multiple iterations, the selected object from the last object selection process is determined as the matching object for each recommendation. Then, the corresponding recommendation is pushed to each matching object (user), achieving optimal information push with matching weights between the recommendation and the user. This allows users to receive more content that matches their interests, improving user experience. Furthermore, the advertising performance of the social media platform can be optimized, thereby increasing advertising conversion rates and return on investment.
[0167] Scene 2
[0168] The image processing method provided in this application can also be applied to information push tasks for e-commerce platforms. For example, an e-commerce platform can generate multiple recommendation messages based on collected information such as current inventory, sales data, and user reviews. These recommendations include product names, images, prices, and promotional activities. Simultaneously, all active users on the platform are identified as target objects. A matching relationship is then established between users and the recommendation messages, and a matching weight is assigned to each relationship. The platform then performs multiple iterative object selection processes based on these matching weights. During each object selection process, for each recommendation message, the user with the highest matching weight among the multiple users with matching relationships is selected as the current selection object. After multiple iterations, the selection object obtained from the last object selection process is determined as the matching object for each recommendation message. The corresponding recommendation message is then pushed to each matching object (user), achieving optimal information push with matching weights between the recommendation message and the user. This allows users to receive product recommendations that better match their shopping needs and interests, improving the shopping experience and satisfaction. Furthermore, the e-commerce platform can push product information more accurately, increasing user click-through rates and purchase conversion rates, and ultimately increasing sales.
[0169] Scene 3
[0170] The image processing method provided in this application can also be applied to the execution scenario of information push tasks for news applications. For example, a news application platform can generate multiple recommendation messages based on collected current news events and articles, and simultaneously obtain all users active on the news application platform as target objects. Then, it establishes matching relationships between users and recommendation messages, assigns a matching weight to each matching relationship, and then performs multiple iterative object selection processing based on matching weights on these recommendation messages. In each object selection process, for each recommendation message, the user with the highest matching weight among the multiple users with corresponding matching relationships is selected as the current selection object. After multiple iterations, the selection object obtained from the last object selection process is determined as the matching object corresponding to each recommendation message, and then the corresponding recommendation message is pushed to each matching object (user). This achieves optimal information push under the condition that there is a matching weight between the recommendation message and the user, enabling users to receive more news pushes that match their interests and improving the user experience.
[0171] It is understood that although the steps in the above flowcharts are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated in this embodiment, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the above flowcharts may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.
[0172] Reference Figure 9 This application also discloses an information push device 900, which can implement the information push method in the preceding embodiments. The information push device 900 includes:
[0173] The information acquisition unit 910 is used to acquire multiple recommendation information and multiple target objects, wherein there is a matching relationship between the multiple recommendation information and the multiple target objects, and different matching relationships have different matching weights;
[0174] The information processing unit 920 is used to perform multiple iterations of object selection processing based on matching weights on multiple recommendation information. In each object selection process, for multiple recommendation information, the one with the largest matching weight is selected as the current selection object in parallel among the multiple target objects with matching relationship.
[0175] The object determination unit 930 is used to determine the selected object corresponding to each piece of recommendation information obtained in the last object selection process as the matching object corresponding to each piece of recommendation information.
[0176] The information push unit 940 is used to push corresponding recommendation information to each matched object.
[0177] In one embodiment, the recommendation information has an object selection set, which consists of multiple target objects that have a matching relationship with the recommendation information. The information processing unit 920 is further configured to:
[0178] For multiple recommendations, in parallel, the target object that has not been selected by the current recommendation and has the highest matching weight is selected as the current selection object from the corresponding object selection set.
[0179] In one embodiment, the recommendation information has a number of allowed selections, the target object has a number of allowed selections, and the information processing unit 920 is further configured to:
[0180] For multiple recommendations whose selected number is less than the allowed selection number, in parallel, the target object with the largest matching weight that has not been selected by the current recommendation and whose selected number is no greater than the allowed selection number is selected from the corresponding object selection set is selected as the current selection object.
[0181] In one embodiment, the information processing unit 920 is further configured to:
[0182] Increment the number of currently selected recommendations and the number of currently selected target objects by one.
[0183] Remove the currently selected target object from the object selection set.
[0184] In one embodiment, the information push device 900 further includes an iterative judgment unit, which is used to:
[0185] Determine whether there exists at least one recommended item whose selected number is less than the allowed selection number, and whether the object selection set of the recommended item is not empty;
[0186] If at least one recommended item has fewer selected items than the allowed selection count, and the object selection set of the recommended items is not empty, proceed to the next object selection process.
[0187] If the number of selected items for all recommended items is not less than the allowed number of selections, or if the selection set for all recommended items is empty, no further selection will be performed.
[0188] In one embodiment, the information processing unit 920 is further configured to:
[0189] After selecting the target object with the largest matching weight that has not been selected by the current recommendation information and whose number of selected objects is no greater than the number of objects allowed to be selected, if the number of selected objects is greater than the number of objects allowed to be selected, the matching weight between the currently selected target object and the current recommendation information is determined as the weight to be judged.
[0190] The update process for the currently selected object is determined based on the weight to be judged.
[0191] In one embodiment, the information processing unit 920 is further configured to:
[0192] Among multiple recommendations, identify the target information that still maintains a selection relationship with the currently selected target object;
[0193] The matching weight between the target information and the currently selected target object is determined as the candidate weight;
[0194] The weight to be judged and the candidate weights are compared to obtain the comparison results;
[0195] The update process for the currently selected object is determined based on the comparison results.
[0196] In one embodiment, the information processing unit 920 is further configured to:
[0197] If the comparison result shows that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, the currently selected target object is maintained as the current selection object, and the selection relationship between the target information corresponding to the candidate weight and the currently selected target object is cancelled.
[0198] If the comparison result shows that the weight to be judged is the smallest between the weight to be judged and the candidate weight, then cancel the selection of the currently selected target object as the current selection object.
[0199] In one embodiment, the number of target information that still maintains a selection relationship with the currently selected target object is multiple, the number of candidate weights is the same as the number of target information, and the information processing unit 920 is further configured to:
[0200] Among multiple candidate weights, determine the candidate weight with the smallest value;
[0201] The selection relationship between the target information corresponding to the candidate with the smallest value and the currently selected target object is canceled.
[0202] In one embodiment, the information processing unit 920 is further configured to:
[0203] Select and lock the currently selected target object;
[0204] The weights to be judged and the candidate weights are compared again to obtain new comparison results;
[0205] If the new comparison result still shows that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, the currently selected target object will remain as the current selection object.
[0206] In one embodiment, after performing the step of canceling the selection relationship between the target information corresponding to the candidate weight and the currently selected target object, or canceling the step of taking the currently selected target object as the current selection object, the recommendation information corresponding to the canceled selection relationship is placed in a preset recommendation information set; the information push unit 940 is further configured to: based on obtaining the matching object corresponding to each recommendation information, perform multiple iterations of object selection processing on the recommendation information set to obtain a new matching object corresponding to each recommendation information; and push the corresponding recommendation information to each new matching object.
[0207] It should be noted that since the information push device 900 of this embodiment can implement the image processing method of the previous embodiment, the information push device 900 of this embodiment and the image processing method of the previous embodiment have the same technical principle and the same beneficial effect. In order to avoid repetition, it will not be described again here.
[0208] Reference Figure 10 This application also discloses an electronic device, the electronic device 1000 comprising:
[0209] At least one processor 1001;
[0210] At least one memory 1002 is used to store at least one program;
[0211] When at least one program is executed by at least one processor 1001, the available information push method as described above is implemented.
[0212] This application also discloses a computer-readable storage medium storing a processor-executable computer program, which, when executed by a processor, is used to implement the available information push method described above.
[0213] This application also discloses a computer program product, including a computer program or computer instructions, which are stored in a computer-readable storage medium. The processor of the electronic device reads the computer program or computer instructions from the computer-readable storage medium and executes the computer program or computer instructions, causing the electronic device to perform the available information push method as described above.
[0214] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatuses.
[0215] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0216] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, apparatuses, or units, and may be electrical, mechanical, or other forms.
[0217] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0218] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0219] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0220] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0221] The step numbers in the above method embodiments are set only for ease of explanation and do not impose any restrictions on the order of the steps. The execution order of each step in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.
Claims
1. An information push method, characterized in that, Includes the following steps: Multiple recommendation information items and multiple target objects are obtained, wherein there is a matching relationship between the multiple recommendation information items and the multiple target objects, and different matching relationships have different matching weights; The object selection process based on the matching weight is performed iteratively on multiple recommendations, wherein each time the object selection process is performed, for multiple recommendations, the one with the largest matching weight is selected as the current selection object among the multiple target objects with the matching relationship. The selected object corresponding to each piece of recommendation information obtained in the last object selection process is determined as the matching object corresponding to each piece of recommendation information. The corresponding recommendation information is pushed to each of the matched objects.
2. The method according to claim 1, characterized in that, The recommendation information has an object selection set, which consists of multiple target objects that have the matching relationship with the recommendation information; The object selection process includes: For multiple sets of recommendation information, in parallel, the target object that has not been selected by the current recommendation information and has the largest matching weight is selected as the current selection object from the corresponding object selection set.
3. The method according to claim 2, characterized in that, The recommendation information has a allowed number of selections, and the target object has a allowed number of selections. For multiple sets of recommendation information, in parallel, selecting the target object with the highest matching weight that has not been selected by the current recommendation information from the corresponding object selection set as the current selection object includes: For multiple recommended information items whose selected number is less than the allowed selection number, in parallel, in the corresponding object selection set, the target object with the largest matching weight that has not been selected by the current recommended information and whose selected number is not greater than the allowed selection number is selected as the current selection object.
4. The method according to claim 3, characterized in that, The object selection process also includes: The number of currently selected recommended information and the number of currently selected target objects are incremented by one. Delete the currently selected target object from the object selection set.
5. The method according to claim 3, characterized in that, After each object selection process, the method further includes: Determine whether there exists at least one instance where the number of selected items in the recommended information is less than the allowed number of selections, and whether the object selection set of the recommended information is not empty; If at least one of the recommended information has a selection count less than the allowed selection count, and the object selection set of the recommended information is not empty, proceed with the next object selection process. If the number of selected items for all the recommended items is not less than the allowed number of selections, or if the object selection set for all the recommended items is empty, no further object selection processing will be performed.
6. The method according to claim 3, characterized in that, The object selection process also includes: After selecting the target object whose number of selections is no greater than the allowed number of selections, which has not been selected by the current recommendation information, and which has the largest matching weight as the current selection object, if the number of selections of the currently selected target object is greater than the allowed number of selections, the matching weight between the currently selected target object and the current recommendation information is determined as the weight to be judged. The update process for the currently selected object is determined based on the weight to be judged.
7. The method according to claim 6, characterized in that, The step of determining the update process for the current selected object based on the weight to be judged includes: Among the multiple recommendation information, determine the target information that still maintains a selection relationship with the currently selected target object; The matching weight between the target information and the currently selected target object is determined as the candidate weight; The weight to be judged and the candidate weights are compared to obtain the comparison result; Based on the comparison results, an update process for the currently selected object is determined.
8. The method according to claim 7, characterized in that, The step of determining the update process for the current selected object based on the comparison result includes: If the comparison result is that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, the currently selected target object is maintained as the current selected object, and the selection relationship between the target information corresponding to the candidate weight and the currently selected target object is cancelled; If the comparison result shows that the weight to be judged is the smallest value between the weight to be judged and the candidate weight, then the currently selected target object is cancelled as the current selection object.
9. The method according to claim 8, characterized in that, The number of target information that still maintains a selection relationship with the currently selected target object is multiple, and the number of candidate weights is the same as the number of target information. Canceling the selection relationship between the target information corresponding to the candidate weight and the currently selected target object includes: Among the multiple candidate weights, the candidate weight with the smallest value is determined; The selection relationship between the target information corresponding to the candidate with the smallest value and the currently selected target object is cancelled.
10. The method according to claim 8, characterized in that, Maintaining the currently selected target object as the current selected object includes: Select and lock the currently selected target object; The weight to be judged and the candidate weights are compared again to obtain a new comparison result; If the new comparison result still indicates that the weight to be judged is not the smallest value between the weight to be judged and the candidate weight, the currently selected target object is maintained as the current selection object.
11. The method according to claim 8, characterized in that, After executing the step of canceling the selection relationship between the target information corresponding to the candidate weight and the currently selected target object, or the step of canceling the selection of the currently selected target object as the current selection object, the recommendation information corresponding to the canceled selection relationship is placed in a preset recommendation information set. The step of pushing the corresponding recommendation information to each of the matched objects includes: Based on obtaining the matching object corresponding to each recommendation, the set of recommendation information is subjected to multiple iterations of object selection processing to obtain a new matching object corresponding to each recommendation. The corresponding recommendation information is pushed to each of the new matching objects.
12. An information push device, characterized in that, include: An information acquisition unit is used to acquire multiple recommendation information and multiple target objects, wherein there is a matching relationship between the multiple recommendation information and the multiple target objects, and different matching relationships have different matching weights; An information processing unit is configured to perform multiple iterations of object selection processing based on the matching weight on multiple recommendation information, wherein each time the object selection processing is performed, for multiple recommendation information, the one with the largest matching weight is selected as the current selection object among the multiple target objects with the corresponding matching relationship in parallel; An object determination unit is used to determine the selected object corresponding to each piece of recommendation information obtained in the last object selection process as a matching object corresponding to each piece of recommendation information. An information push unit is used to push the corresponding recommendation information to each of the matched objects.
13. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; The information push method according to any one of claims 1 to 11 is implemented when at least one of the programs is executed by at least one of the processors.
14. A computer-readable storage medium, characterized in that, It stores a processor-executable computer program, which, when executed by the processor, is used to implement the information push method according to any one of claims 1 to 11.
15. A computer program product, comprising a computer program or computer instructions, characterized in that, The computer program or the computer instructions are stored in a computer-readable storage medium. The processor of the electronic device reads the computer program or the computer instructions from the computer-readable storage medium and executes the computer program or the computer instructions, causing the electronic device to perform the information push method according to any one of claims 1 to 11.