Multi-object recommendation method and device, computer equipment and storage medium
By obtaining the manipulated objects in the historical time period for object prediction and sequence expansion, and combining the manipulated objects and predicted objects for combination recommendation, the problem of homogeneity of multi-object recommendations in the existing technology is solved, and the flexibility of recommendation is improved and Diversity improves user experience.
Patent Information
- Application Number
- CN202310769806.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-27
- Publication Date
- 2024-12-27
AI Technical Summary
In the multi-object recommendation, the prior art relies on historical operation behavior characteristics, resulting in too homogeneous recommendation results, reducing the flexibility of recommendations.
By obtaining the manipulated objects in the historical time period, making object predictions, expanding the predicted object sequence, combining manipulated objects and predicted objects for combination recommendations, avoiding single feature dependence and increasing the diversity of recommendations.
It improves the flexibility and diversity of multi-object recommendations, can more accurately meet users' diverse needs and improve user experience.
Smart Images

Figure CN119202366A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to information processing technology, and in particular to a method, apparatus, computer device and storage medium for multi-object recommendation. Background Art
[0002] With the rapid development of computing technology and Internet technology, people are increasingly inclined to obtain network information through the Internet. In order to better serve and attract users, many Internet platforms often provide users with accurate recommendations of relevant objects. Therefore, how to recommend objects to users has become an important means to improve users' browsing experience on Internet platforms.
[0003] At present, accurate recommendations of related objects are usually provided to users by obtaining historical operation data. In the scenario of recommending multiple objects to users, the historical operation behavior characteristics of users on each object are extracted. These historical operation behavior characteristics are the basis for recommending multiple objects of interest to users. However, the prediction of multiple objects through historical operation behavior is usually based on object type or the same object characteristics, so the multiple objects obtained are relatively homogeneous, which reduces the flexibility of multi-object recommendation. Therefore, how to improve the flexibility of multi-object recommendation is an urgent problem to be solved. Summary of the invention
[0004] Based on this, it is necessary to provide a method, apparatus, computer device and storage medium for multi-object recommendation that can improve the flexibility of multi-object recommendation in response to the above technical problems.
[0005] In a first aspect, the present application provides a method for recommending multiple objects. The method comprises:
[0006] Get the operated objects that were triggered to execute operations within the historical time period;
[0007] Perform object prediction based on the operated object to obtain a predicted object;
[0008] Taking the predicted object as the starting point of the object sequence, the object sequence is expanded based on the operated object and the predicted object to obtain the predicted object sequence; the newly added predicted object in the predicted object sequence is predicted based on the operated object and the existing predicted objects in the predicted object sequence;
[0009] The prediction objects in the same prediction object sequence are combined and recommended.
[0010] In a second aspect, the present application also provides a multi-object recommendation device. The device comprises:
[0011] An object acquisition module is used to acquire the operated objects that were triggered to perform operations within a historical time period;
[0012] An object prediction module, used to perform object prediction based on the operated object to obtain a predicted object;
[0013] The object sequence expansion module is used to take the predicted object as the starting point of the object sequence, expand the object sequence based on the operated object and the predicted object, and obtain the predicted object sequence; the newly added predicted object on the predicted object sequence is predicted based on the operated object and the existing predicted objects in the predicted object sequence;
[0014] The object recommendation module is used to combine and recommend various prediction objects in the same prediction object sequence.
[0015] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor, the memory stores a computer program, and the processor implements the following steps when executing the computer program:
[0016] Get the operated objects that were triggered to execute operations within the historical time period;
[0017] Perform object prediction based on the operated object to obtain a predicted object;
[0018] Taking the predicted object as the starting point of the object sequence, the object sequence is expanded based on the operated object and the predicted object to obtain the predicted object sequence; the newly added predicted object in the predicted object sequence is predicted based on the operated object and the existing predicted objects in the predicted object sequence;
[0019] The prediction objects in the same prediction object sequence are combined and recommended.
[0020] In a fourth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0021] Get the operated objects that were triggered to execute operations within the historical time period;
[0022] Perform object prediction based on the operated object to obtain a predicted object;
[0023] Taking the predicted object as the starting point of the object sequence, the object sequence is expanded based on the operated object and the predicted object to obtain the predicted object sequence; the newly added predicted object in the predicted object sequence is predicted based on the operated object and the existing predicted objects in the predicted object sequence;
[0024] The prediction objects in the same prediction object sequence are combined and recommended.
[0025] In a fifth aspect, the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0026] Get the operated objects that were triggered to execute operations within the historical time period;
[0027] Perform object prediction based on the operated object to obtain a predicted object;
[0028] Taking the predicted object as the starting point of the object sequence, the object sequence is expanded based on the operated object and the predicted object to obtain the predicted object sequence; the newly added predicted object in the predicted object sequence is predicted based on the operated object and the existing predicted objects in the predicted object sequence;
[0029] The prediction objects in the same prediction object sequence are combined and recommended.
[0030] The above-mentioned method, device, computer equipment, storage medium and computer program product for multi-object recommendation first obtain the operated objects that are triggered to perform operations within the historical time period, then perform object prediction based on the operated objects to obtain the predicted objects, and then use the predicted objects as the starting point of the object sequence, expand the object sequence based on the operated objects and the predicted objects to obtain the predicted object sequence; the newly added predicted objects on the predicted object sequence are predicted based on the operated objects and the existing predicted objects in the predicted object sequence, and finally the predicted objects in the same predicted object sequence are combined and recommended. Through the above-mentioned multi-object recommendation method, object prediction is performed on the operated objects within the historical time period to obtain the predicted objects, and then the obtained predicted objects and the operated objects within the historical time period are considered, and the object sequence is expanded again to obtain the predicted object sequence including multiple predicted objects, so that in the process of combining and recommending multiple objects, not only the historical operated objects are considered, but also the historical operated objects and the newly added predicted objects obtained by prediction can be considered for further object expansion to avoid homogeneity in recommending multiple objects, thereby improving the flexibility of multi-object recommendation. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 A schematic diagram of performing multi-object recommendation through Top-k in one embodiment;
[0032] Figure 2 An application environment diagram of a method for recommending multiple objects in one embodiment;
[0033] Figure 3 A schematic diagram of performing multi-object recommendation in a commodity recommendation scenario in one embodiment;
[0034] Figure 4A schematic diagram of a flow chart of a method for multi-object recommendation in one embodiment;
[0035] Figure 5 A schematic diagram of a process of expanding an object sequence to obtain a predicted object sequence in one embodiment;
[0036] Figure 6 A schematic diagram of a process for predicting an object sequence in one embodiment;
[0037] Figure 7 A schematic diagram of a process for predicting an object sequence in another embodiment;
[0038] Figure 8 A schematic diagram of a process for performing combination recommendation in one embodiment;
[0039] Fig. 9 A schematic diagram of a process of performing object prediction based on an operated object to obtain a predicted object in one embodiment;
[0040] Fig.10 A schematic diagram of a process for extracting object features in one embodiment;
[0041] Fig.11 A schematic diagram of a process for constructing an object set feature in one embodiment;
[0042] Fig.12 A schematic diagram of a process for extracting object features corresponding to each operated object in one embodiment;
[0043] Fig.13 A schematic diagram of a process for extracting object sorting features corresponding to each operated object in one embodiment;
[0044] Fig.14 It is a schematic diagram of a flow chart of extracting object features corresponding to each operated object in another embodiment;
[0045] Fig.15 A schematic diagram of a flow chart of a method for acquiring an object prediction model in an embodiment;
[0046] Fig.16 is a schematic diagram of a process of obtaining a first prediction object sample in an embodiment;
[0047] Fig.17 A schematic diagram of a process for obtaining a sample sequence of a prediction object in one embodiment;
[0048] Fig.18 is a flowchart of a method for acquiring an object prediction model in another embodiment;
[0049] Fig.19 A schematic diagram of performing random mask processing in one embodiment;
[0050] Fig. 20 A complete flowchart of a method for recommending multiple objects in one embodiment;
[0051] Fig.21 is a structural block diagram of a multi-object recommendation device in one embodiment;
[0052] Fig. 22 It is a structural block diagram of a multi-object recommendation device in another embodiment;
[0053] Fig.23 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0054] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0055] With the rapid development of computing technology and Internet technology, people are increasingly inclined to obtain network information through the Internet. In order to better serve and attract users, many Internet platforms often provide users with accurate recommendations of related objects. Therefore, how to recommend objects to users has become an important means to improve the user experience of browsing Internet platforms. At present, it is usually through obtaining historical operation data to provide users with accurate recommendations of related objects. In the scenario of recommending multiple objects to users, it is also through extracting the historical operation behavior features of users for each object. These historical operation behavior features are the basis for recommending multiple objects of interest to users. For example, first learn the feature representation of the user's historical operation behavior, and then predict the Top-k objects through feature identification, so as to recommend the Top-k objects, such as Figure 1 As shown, currently, the feature representation of the user's historical operation behavior is usually learned, and then multiple objects of the same type are output. For example, if the object type is determined to be sports shoes, the multiple predicted objects output may be sports shoes 101, sports shoes 102, and sports shoes 103. It can be seen that by predicting multiple objects through historical operation behaviors, the obtained Top-k objects usually have similar object types or similar object features, so the obtained multiple objects are relatively homogeneous, thereby reducing the flexibility of multi-object recommendation.
[0056] Therefore, the embodiment of the present application provides a method for recommending multiple objects that can improve the flexibility of multiple object recommendations. The method for recommending multiple objects provided by the embodiment of the present application can be applied to Figure 2In the application environment shown, the terminal 202 communicates with the server 204 through a network. The data storage system can store data that the server 204 needs to process. The data storage system can be integrated on the server 204, or placed on the cloud or other servers.
[0057] Specifically, taking the application to server 204 as an example, server 204 obtains the operated objects that are triggered to perform operations within the historical time period, and then performs object prediction based on the operated objects to obtain the predicted objects, and uses the predicted objects as the starting point of the object sequence, and expands the object sequence based on the operated objects and the predicted objects to obtain the predicted object sequence. Finally, server 204 can send each predicted object in the same predicted object sequence to terminal 202 through the communication connection with terminal 202, so that terminal 202 can combine and recommend each predicted object in the same predicted object sequence. Figure 3 As shown in FIG. 1 , after the server predicts sports shoes 301 through the operated object, it can predict sports jacket 302 through sports shoes 301 and the operated object, and further predict sports drink 303 through sports shoes 301, sports jacket 302 and the operated object, so that the sports shoes 301, sports jacket 302 and sports drink 303 obtained are in the same prediction object sequence. Figure 3 In the process of combined recommendation of multiple objects shown, not only the historical operated objects are considered, but also the historical operated objects and the predicted newly added predicted objects are considered for further object expansion to avoid the homogenization of recommendations for multiple objects, thereby improving the flexibility of multi-object recommendation.
[0058] Among them, the terminal 202 can be, but is not limited to, various desktop computers, laptops, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart car-mounted devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The server 204 can be implemented with an independent server or a server cluster composed of multiple servers. And the method for multi-object recommendation provided in the application embodiment can be applied to various scenarios, including but not limited to cloud technology, and artificial intelligence.
[0059] Furthermore, since the method for multi-object recommendation provided in the embodiment of the present application also involves artificial intelligence (AI) technology, the AI technology will be briefly described below: AI is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that the machines have the functions of perception, reasoning and decision-making.
[0060] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0061] Machine Learning (ML) is a multi-disciplinary subject that involves probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory and other disciplines. It specializes in studying how computers simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications are spread across all areas of artificial intelligence. Machine learning and deep learning usually include artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and self-learning.
[0062] Further, taking the specific application to machine learning as an example, if the first object sample sequence that is triggered to perform an operation and the second object sample sequence that is triggered to perform an operation after the first object sample sequence are determined as training samples of the initial object prediction model to be trained, then the initial object prediction model is used to perform object prediction and object sequence expansion to learn how to perform object prediction through the operated object samples and how to perform object sequence expansion through the operated object samples and the predicted object samples, thereby obtaining the object prediction model obtained by machine learning. Thus, in the scenario of multi-object recommendation, the object prediction model is used to perform object prediction based on the operated object to obtain the predicted object, and the object prediction model is used to take the predicted object as the starting point of the object sequence, and the object sequence is expanded based on the operated object and the predicted object to obtain the predicted object sequence, so that the predicted objects belonging to the same predicted object sequence can be combined and recommended. And in actual applications, the scenarios for multi-object recommendation may include but are not limited to: product recommendation, text recommendation, video recommendation, audio recommendation, virtual data recommendation, etc., which are not specifically limited here.
[0063] The solution provided in the embodiment of the present application involves artificial neural network technology of artificial intelligence, and is specifically described by the following embodiments: In one embodiment, Figure 4 As shown, a method for multi-object recommendation is provided, which is applied to Figure 2 The method is described by taking the server 204 in the example as an example. It is understandable that the method can also be applied to the terminal 202, and can also be applied to a system including the terminal 202 and the server 204, and is implemented through the interaction between the terminal 202 and the server 204. In this embodiment, the method includes the following steps:
[0064] Step 402: Obtain the operated objects that are triggered to perform operations within the historical time period.
[0065] Among them, the operated object can be one or more, and the operated object can be a commodity, text, audio and video, and virtual data, etc. It can be seen that the operated object has a corresponding relationship with the operation type of the execution operation, and the operation type of the execution operation is determined based on the application requirements. For example: in the case of application to commodity recommendation scenario, the triggered execution operation can be commodity settlement, and the operated object can be a commodity that has been settled. Or, in the case of application to text recommendation scenario, the triggered execution operation can be text reading, etc., and the operated object can be a text that has been read. Alternatively, in the case of application to audio and video recommendation scenario, the triggered execution operation can be audio and video playback, etc., and the operated object can be audio and video that has been played. Therefore, the specific operated objects and the triggered specific execution operations are not limited in this embodiment.
[0066] Specifically, in the scenario of recommending multiple objects to the target user, the server can obtain the operated objects that were triggered to perform operations by the target user in the historical time period. Based on this, the server can obtain the operated objects that were triggered to perform operations by the target user in the historical time period through a communication connection with the terminal used by the target user. Alternatively, after each user triggers the execution of operations on each object in the historical time period, the operated objects of each user can be transmitted to the server in real time, and the server stores the operated objects of each user in the data storage system. Therefore, when it is necessary to recommend multiple objects to the target user, the operated objects for the target user are determined from the operated objects of each user stored in the data storage system to complete the acquisition of the operated objects that were triggered to perform operations by the target user in the historical time period.
[0067] Furthermore, since the number of operated objects can be one or more, when there are multiple operated objects, the multiple operated objects can also belong to different operated object sets, that is, multiple execution operations are triggered in the historical time period, and each execution operation is triggered with a corresponding operated object set, and each operated object set includes at least one operated object. For example, the target user specifically performs an execution operation on the operated object A1, the operated object A2, and the operated object A3, and the target user then performs an execution operation on the operated object A4 and the operated object A5, then it can be determined that the operated object A1, the operated object A2, and the operated object A3 belong to the same operated object set, and the operated object A4 and the operated object A5 belong to the same operated object set.
[0068] For ease of understanding, taking the application in the product recommendation scenario as an example, the operated object is the settled product, and the product settlement can be the settlement of one or more products. Then the settled products in the same product settlement belong to the same settled shopping order, and the aforementioned settled shopping order is the operated object set. It can be seen that multiple product settlements can obtain the corresponding settled shopping orders.
[0069] It is understandable that the execution operation described in this embodiment is used to characterize an operation of obtaining an execution result, and the execution operation can specifically be an instantaneous execution operation of obtaining the execution result, such as an operation of settling a commodity. Alternatively, the execution operation can also be multiple continuous operations performed within an execution time interval, such as an operation of playing multiple audio and video files, or an operation of reading multiple text files, etc. The execution operation is not specifically limited here.
[0070] Step 404: perform object prediction based on the operated object to obtain a predicted object.
[0071] The predicted object is an object obtained by predicting an operated object that is triggered to perform an operation within a historical time period. The predicted object may be single or multiple. Specifically, the server performs object prediction based on the operated object to obtain the predicted object. For example, the server performs object prediction based on the operated object to determine the predicted object type, thereby selecting at least one predicted object belonging to the predicted object type.
[0072] Based on this, the server can first obtain multiple candidate objects under the predicted object type, and count the number of times each candidate object is triggered to perform an operation, thereby selecting the candidate object with the most number of times the operation is triggered to perform as the predicted object. For example, there are operated objects A1, A2, and A3, and the operated objects A1 and A2 are both sports shoes, and the operated object A3 is a sports top. If the predicted object type determined by the object prediction based on the operated objects A1 to A3 is the sports shoe type, then the number of times each of the multiple candidate sports shoes under the sports shoe type is triggered to perform an operation can be counted, such as the number of times the candidate sports shoe B1 corresponds to is 10, the number of times the candidate sports shoe B2 corresponds to is 25, the number of times the candidate sports shoe B3 corresponds to is 20, the number of times the candidate sports shoe B4 corresponds to is 15, and the number of times the candidate sports shoe B5 corresponds to is 5, at this time, the candidate sports shoe B2 corresponding to the maximum number of times 25 can be selected as the predicted object.
[0073] Alternatively, the server sorts the candidate objects based on the number of times they are triggered to perform the operation, thereby selecting multiple candidate objects with a large number of times they are triggered to perform the operation as the prediction objects. Based on the above example again, by sorting the number of times the above candidate sports shoes correspond to each other, we can get: candidate sports shoes B2, candidate sports shoes B3, candidate sports shoes B4, candidate sports shoes B1 and candidate sports shoes B5. If three specific prediction objects are needed, candidate sports shoes B2, candidate sports shoes B3 and candidate sports shoes B4 can be determined as prediction objects. It can be understood that the above example is only used to understand this solution. The specific prediction object needs to be determined based on the application scenario and the actual prediction results, and the specific number of prediction objects also needs to be determined based on the specific application requirements. No specific limitation is made at this time.
[0074] Step 406, taking the predicted object as the starting point of the object sequence, expanding the object sequence based on the operated object and the predicted object, and obtaining a predicted object sequence; the newly added predicted object in the predicted object sequence is predicted based on the operated object and the existing predicted objects in the predicted object sequence.
[0075] Among them, the prediction object sequence can be single or multiple, and the prediction object sequence includes multiple prediction objects. Based on this, the starting point of the prediction object sequence is the prediction object obtained in the above steps, and the newly added prediction object on the prediction object sequence is predicted based on the operated object and the existing prediction objects in the prediction object sequence. Secondly, the length of the obtained prediction object sequence is the number of prediction objects in the prediction object sequence, and the length of the prediction object sequence is pre-set. For example, if the length of the prediction object sequence is 3, then the number of prediction objects in the obtained prediction object sequence is 3. If the length of the prediction object sequence is 5, then the number of prediction objects in the obtained prediction object sequence is 5. The specific length of the prediction object sequence needs to be flexibly determined based on actual conditions.
[0076] Specifically, the server uses the predicted object as the starting point of the object sequence, and expands the object sequence based on the operated object and the predicted object to obtain the predicted object sequence. It can be seen from the above embodiments that the predicted object as the starting point of the object sequence can be single or multiple. First, the specific method of expanding the object sequence when the predicted object as the starting point of the object sequence is single is introduced:
[0077] The server first performs object prediction again based on the operated object and the predicted object as the starting point of the object sequence, thereby obtaining a newly added prediction object. At this time, the predicted object as the starting point of the object sequence and the newly added prediction object are both determined as existing prediction objects in the prediction object sequence. Based on actual application needs, prediction can be further performed again based on the operated object and the existing prediction objects in the prediction object sequence to obtain a newly added prediction object, and the newly added prediction object is added to the existing prediction objects in the prediction object sequence, and the cycle is repeated until the actual application needs are met.
[0078] It is understandable that the newly added prediction object may be single or multiple. When the newly added prediction objects are all single, the existing prediction objects in the prediction object sequence are added in sequence based on the above method, and the prediction object sequence finally obtained is single. When the newly added prediction objects are multiple, each newly added prediction object will be added to the existing prediction objects in the prediction object sequence, so the prediction object sequence finally obtained is multiple.
[0079] Furthermore, in the case where there are multiple prediction objects as the starting point of the object sequence, it is necessary to perform object prediction again on the server based on the operated object and each prediction object, thereby obtaining a newly added prediction object in the prediction object sequence with each prediction object as the starting point of the object sequence, and then determine each prediction object and the newly added prediction object as an existing prediction object in the prediction object sequence with the prediction object as the starting point of the object sequence, and perform cyclic prediction based on actual application needs until the actual application needs are met. The specific method is similar to that of the aforementioned embodiment and will not be repeated here.
[0080] Step 408: Combining and recommending the prediction objects in the same prediction object sequence.
[0081] Specifically, the server recommends the prediction objects in the same prediction object sequence in combination. As can be seen from the above embodiments, since the prediction object sequence can be single or multiple, when the prediction object sequence is single, the prediction objects in the prediction object sequence are recommended in combination. Figure 5 The prediction object sequence G1 specifically includes the prediction object C1, the prediction object D1 and the prediction object F1, that is, the server can make a combined recommendation of the prediction object C1, the prediction object D1 and the prediction object F1 in the prediction object sequence G1.
[0082] Secondly, when there are multiple prediction object sequences, the server needs to select the recommended target prediction object sequence from the multiple prediction object sequences, and then combine and recommend the prediction objects in the target prediction object sequence. Figure 6 , since the prediction object sequence G1 specifically includes prediction object C1, prediction object D1 and prediction object F1, the prediction object sequence G2 specifically includes prediction object C1, prediction object D1 and prediction object F2, the prediction object sequence G3 specifically includes prediction object C1, prediction object D2 and prediction object F3, and the prediction object sequence G4 specifically includes prediction object C1, prediction object D2 and prediction object F4, if the prediction object sequence G2 is selected as the target prediction object sequence, the server will make a combined recommendation for the prediction object C1, prediction object D1 and prediction object F2 in the target prediction object sequence (i.e., the prediction object sequence G2).
[0083] It is understandable that, in actual applications, the method of combining and recommending each predicted object may be: displaying each predicted object simultaneously on the terminal display interface, or displaying each predicted object in sequence according to a preset display rule on the terminal display interface, or pushing each predicted object in sequence according to a preset push rule, etc. This embodiment does not specifically limit the method of combining and recommending. All examples in this embodiment are only used to understand this solution, but should not be understood as specific limitations of this solution.
[0084] In the above-mentioned method for multi-object recommendation, object prediction is performed through the operated objects in the historical time period to obtain the predicted objects, and then the obtained predicted objects and the operated objects in the historical time period are considered, and the object sequence is expanded again to obtain a predicted object sequence including multiple predicted objects, so that in the process of combined recommendation of multiple objects, not only the historical operated objects are considered, but also the historical operated objects and the predicted newly added predicted objects can be considered for further object expansion, so as to avoid the homogeneity of recommendation of multiple objects, thereby improving the flexibility of multi-object recommendation.
[0085] The following is a detailed description of how to perform object sequence expansion to obtain a specific implementation of a predicted object sequence: In one embodiment, Figure 5 As shown, the predicted object is used as the starting point of the object sequence, and the object sequence is expanded based on the operated object and the predicted object to obtain the predicted object sequence, including:
[0086] Step 502: taking the predicted object as an existing predicted object in the predicted object sequence to obtain the starting point of the predicted object sequence.
[0087] Specifically, the server uses the predicted object as the existing predicted object in the prediction object sequence to obtain the starting point of the prediction object sequence. That is, the server uses the predicted object obtained only through the operated object in the previous steps as the existing predicted object in the prediction object sequence, and uses the predicted object obtained only through the operated object as the starting point of the prediction object sequence.
[0088] Furthermore, as can be known from the above embodiments, the prediction object can be single or multiple. In the case of a single prediction object, the prediction object is directly used as the starting point of a prediction object sequence, while in the case of multiple prediction objects, it is necessary to use each of the multiple prediction objects as the starting point of the corresponding prediction object sequence. For example, in the case of a single prediction object, if the prediction object C1 is obtained through the operated object, then the prediction object C1 can be used as the starting point of the prediction object sequence D1, and the prediction object C1 can be used as the existing prediction object in the prediction object sequence D1. Secondly, in the case of multiple prediction objects, if the prediction object C1 and the prediction object C2 are obtained through the operated object, then the prediction object C1 can be used as the starting point of the corresponding prediction object sequence D1, and the prediction object C1 can be used as the existing prediction object in the prediction object sequence D1. Similarly, it can be known that the prediction object C2 can also be used as the starting point of the corresponding prediction object sequence D2, and the prediction object C2 can be used as the existing prediction object in the prediction object sequence D2.
[0089] Step 504: perform object prediction based on the operated object and the existing prediction objects in the prediction object sequence to obtain a newly added prediction object in the prediction object sequence.
[0090] The newly added prediction object may be single or multiple. Specifically, the server performs object prediction again based on the operated object and the existing prediction objects in the prediction object sequence to obtain the newly added prediction object in the prediction object sequence. It is understandable that the method for determining the newly added prediction object is similar to the method for determining the aforementioned prediction object, which will not be repeated here.
[0091] To facilitate understanding, further introduction is given again based on the above example. When the prediction object is single, if the prediction object C1 is used as the starting point of the prediction object sequence D1, and the prediction object C1 is used as the existing prediction object in the prediction object sequence D1, then the existing prediction objects in the prediction object sequence D1 include the prediction object C1. Therefore, object prediction is performed based on the operated object and the existing prediction objects in the prediction object sequence, that is, object prediction is performed based on the operated object and the prediction object C1, thereby obtaining a newly added prediction object in the prediction object sequence D1.
[0092] Alternatively, in the case of multiple prediction objects, if prediction object C1 is used as the starting point of the corresponding prediction object sequence D1, and prediction object C1 is used as the existing prediction object in the prediction object sequence D1. If prediction object C2 is used as the starting point of the corresponding prediction object sequence D2, and prediction object C2 is used as the existing prediction object in the prediction object sequence D2. Then the server will perform object prediction based on the operated object and the existing prediction object in the prediction object sequence D1 (i.e., prediction object C1), thereby obtaining the newly added prediction object in the prediction object sequence D1, and perform object prediction based on the operated object and the existing prediction object in the prediction object sequence D2 (i.e., prediction object C2), thereby obtaining the newly added prediction object in the prediction object sequence D2.
[0093] Step 506: Add the newly added prediction object in the prediction object sequence to the prediction object sequence to expand the object sequence.
[0094] Specifically, the server adds the newly added prediction object in the prediction object sequence to the prediction object sequence to expand the object sequence. That is, the server adds the newly added prediction object in the prediction object sequence to the prediction object sequence, so that the existing prediction objects in the prediction object sequence include the prediction object and the newly added prediction object.
[0095] To facilitate understanding, further introduction is given again based on the above example. When the prediction object is single, if object prediction is performed based on the operated object and the prediction object C1, the newly added prediction object in the prediction object sequence D1 is the prediction object E1. At this time, the prediction object E1 can be added to the prediction object sequence D1. At this time, the existing prediction objects in the prediction object sequence D1 include: prediction object C1 and prediction object E1.
[0096] Secondly, in the case of multiple prediction objects, object prediction is performed based on the operated object and the existing prediction object in the prediction object sequence D1 (i.e., prediction object C1), and the newly added prediction object in the prediction object sequence D1 is prediction object E1. As described in the above example, prediction object E1 is added to the prediction object sequence D1. At this time, the existing prediction objects in the prediction object sequence D1 include: prediction object C1 and prediction object E1. Similarly, if object prediction is performed based on the operated object and the existing prediction object in the prediction object sequence D2 (i.e., prediction object C2), the newly added prediction object in the prediction object sequence D2 is prediction object E2. At this time, prediction object E2 can be added to the prediction object sequence D2. At this time, the existing prediction objects in the prediction object sequence D2 include: prediction object C2 and prediction object E2.
[0097] Step 508, returning to the step of performing object prediction based on the operated object and the existing prediction objects in the prediction object sequence to obtain a newly added prediction object in the prediction object sequence, until the number of object predictions reaches a number threshold.
[0098] Among them, the number threshold is consistent with the total number of predicted objects in the predicted object sequence finally obtained, that is, the server will record the number of times the predicted object step is performed every time it completes an object prediction, and the number threshold is consistent with the length set for the predicted object sequence. For example, if the length of the predicted object sequence is 3, that is, the number threshold is 3, then 3 object predictions are completed, and the total number of predicted objects in the predicted object sequence obtained at this time is 3. Or, if the length of the predicted object sequence is 3, that is, the number threshold is 5, then 5 object predictions are completed, and the total number of predicted objects in the predicted object sequence obtained at this time is 5. It can be understood that in actual applications, the number threshold can also be 2, 4, 6 or other positive integers greater than 1, and the number threshold needs to be flexibly determined based on actual conditions, so the foregoing examples should not be understood as specific limitations on the present application.
[0099] Specifically, the server will return to the step 504 of performing object prediction based on the operated object and the existing prediction objects in the prediction object sequence to obtain the step of newly added prediction objects in the prediction object sequence, and will again perform the operation of adding the newly added prediction objects in the prediction object sequence to the prediction object sequence to extend the object sequence until the number of object predictions reaches the number threshold. That is, after determining that the number of object predictions reaches the number threshold, the server will add the newly added prediction objects obtained when the number threshold is reached to the prediction object sequence, and will use the newly added prediction objects obtained when the number threshold is reached as the end point of the prediction object sequence, and finally obtain the prediction object sequence.
[0100] To facilitate understanding of the complete process of obtaining a prediction object sequence in this embodiment, the following describes examples of obtaining a prediction object sequence when the prediction object is single and the newly added prediction objects are all single, and when the prediction object is single and the newly added prediction objects are multiple:
[0101] First, we introduce the case where the prediction object is single, and the newly added prediction objects are all single, and the number threshold is 3. Figure 6 As shown, if there are operated objects A1, A2 and A3, and object prediction is performed through the operated objects A1, A2 and A3, the predicted object C1 is obtained, and at this time, one object prediction is completed. The server uses the predicted object C1 as the starting point of the predicted object sequence D1, and then performs object prediction through the operated objects A1, A2, A3 and the predicted object C1 to obtain the predicted object E1, and adds the predicted object E1 to the predicted object sequence D1, and at this time, two object predictions are completed. Object prediction is performed again through the operated objects A1, A2, A3, predicted object C1 and predicted object E1 to obtain the predicted object F1, and at this time, three object predictions are completed, that is, the number of object predictions reaches the number threshold. Therefore, the server can add the predicted object F1 obtained last time to the predicted object sequence D1, and the predicted object F1 obtained last time is used as the predicted object sequence D1, thereby stopping the object sequence expansion and obtaining the final predicted object sequence D1. The prediction object sequence obtained at this time is single, and the prediction object sequence D1 specifically includes the prediction object C1, the prediction object E1 and the prediction object F1.
[0102] Next, we introduce the case where the prediction object is single, but there are multiple newly added prediction objects, and the number threshold is 3. Figure 7As shown, if there are operated objects A1, A2 and A3, and object prediction is performed through the operated objects A1, A2 and A3, the predicted object C1 is obtained, and at this time, one object prediction is completed. The server uses the predicted object C1 as the starting point of the predicted object sequence D1, and then performs object prediction through the operated objects A1, A2, A3 and the predicted object C1 to obtain the predicted objects E1 and the predicted object E2, and at this time, two object predictions are completed. The server will add the predicted object E1 to the predicted object sequence D1 to expand the predicted object sequence D1 to the predicted object sequence D11. At this time, the predicted objects in the predicted object sequence D11 include: predicted object C1 and predicted object E1. Similarly, the server will also add the predicted object E2 to the predicted object sequence D1 to expand the predicted object sequence D1 to the predicted object sequence D12. At this time, the predicted objects in the predicted object sequence D12 include: predicted object C1 and predicted object E2.
[0103] Based on this, the server again performs object prediction through the operated object A1, the operated object A2, the operated object A3, the predicted object C1 and the predicted object E1 to obtain the predicted object F1 and the predicted object F2. At this time, the server also performs object prediction through the operated object A1, the operated object A2, the operated object A3, the predicted object C1 and the predicted object E2 to obtain the predicted object F3 and the predicted object F4. At this time, three object predictions are completed, that is, the number of object predictions reaches the threshold.
[0104] Therefore, the server can add the predicted object F1 obtained last time to the predicted object sequence D11 to expand the predicted object sequence D11 into the predicted object sequence D111, and the obtained predicted object sequence D111 specifically includes: predicted object C1, predicted object E1, and predicted object F1. Similarly, the server adds the predicted object F2 obtained last time to the predicted object sequence D11 to expand the predicted object sequence D11 into the predicted object sequence D112, and the obtained predicted object sequence D112 specifically includes: predicted object C1, predicted object E1, and predicted object F2.
[0105] And, the server adds the predicted object F3 obtained last time to the predicted object sequence D12 to expand the predicted object sequence D12 into the predicted object sequence D121, and the obtained predicted object sequence D121 specifically includes: predicted object C1, predicted object E2 and predicted object F3. Similarly, it can be known that the server adds the predicted object F4 obtained last time to the predicted object sequence D12 to expand the predicted object sequence D12 into the predicted object sequence D122, and the obtained predicted object sequence D122 specifically includes: predicted object C1, predicted object E2 and predicted object F4. It should be understood that the examples in this embodiment are used to understand this solution, but should not be understood as specific limitations on this solution.
[0106] In this embodiment, the object sequence is expanded by performing multiple object predictions in a loop and adding the newly predicted objects in the predicted object sequence to the predicted object sequence. This ensures that the object sequence expansion is based on the existing predicted objects in the sequence, ensures that the object predictions and sequence expansions between sequences do not affect each other, and further ensures the reliability of the sequence expansion, so as to improve the reliability of the obtained predicted object sequence. Combination recommendations based on predicted object sequences with higher reliability can also improve the reliability of multi-object recommendations.
[0107] In one embodiment, Figure 8 As shown, the number of prediction target sequences is multiple.
[0108] It can be known from the above embodiments that the prediction object sequence can be single or multiple. Therefore, when there are multiple prediction object sequences, it is necessary to select multiple prediction object sequences to perform combined recommendation of prediction objects in a single prediction object sequence.
[0109] Based on this, the prediction objects in the same prediction object sequence are combined and recommended, including:
[0110] Step 802: for each prediction object sequence, determine the operated historical data of each prediction object in the prediction object sequence.
[0111] The operated historical data may be data of different historical data description dimensions, such as the number of times the predicted object was triggered to perform an operation in a historical time period, the frequency of the predicted object being triggered to perform an operation in a historical time period, or the number of times the predicted object was continuously triggered to perform an operation in a historical time period. The operated historical data may be at least one of the aforementioned data, or a combination of multiple data of the aforementioned data, which is not specifically limited here.
[0112] Specifically, the server determines the operated historical data of each predicted object in the predicted object sequence for each predicted object sequence. That is, the server can count the number of times each predicted object in each predicted object sequence is triggered to perform operations within the historical time period based on the historical data. Or, the server can also calculate the frequency of the predicted object in each predicted object sequence being triggered to perform operations within the historical time period based on the historical data. Or, the server can also count the number of times the predicted object is continuously triggered to perform operations within the historical time period. The specific dimension of historical data used to construct the operated historical data needs to be determined based on actual application requirements and is not limited here.
[0113] Step 804: Determine the evaluation score of each prediction object sequence through the operated historical data of each prediction object.
[0114] The evaluation score is used to characterize the probability of the predicted object in each predicted object sequence being triggered to perform an operation. Specifically, the evaluation score of each predicted object sequence is calculated through the historical data of the operations of each predicted object in each predicted object sequence.
[0115] For example, if the historical data of the operation is: the number of times the predicted object is triggered to perform an operation in the historical time period, if the predicted object sequence D1 includes the predicted object C1 and the predicted object E1, and the predicted object sequence D2 includes the predicted object C2 and the predicted object E2. The number of times the predicted object C1 is triggered to perform an operation in the historical time period is 10, the number of times the predicted object E1 is triggered to perform an operation in the historical time period is 8, the number of times the predicted object C2 is triggered to perform an operation in the historical time period is 20, and the number of times the predicted object E2 is triggered to perform an operation in the historical time period is 12. Based on this, the evaluation score of the predicted object sequence D1 can be calculated to be 36% And the evaluation score of the predicted object sequence D2 can be calculated to be 72%
[0116] It is understandable that in actual applications, object weights may be calculated for different prediction objects, and data dimension weights may be calculated for different historical data dimensions. Therefore, the above examples should not be understood as specific limitations on this solution.
[0117] Step 806: determine a target prediction object sequence from each prediction object sequence based on each evaluation score.
[0118] The evaluation score of the target prediction object sequence is the highest among the evaluation scores corresponding to the respective prediction object sequences. Specifically, the target prediction object sequence is determined from the respective prediction object sequences based on the evaluation scores, that is, the server determines the highest evaluation score from the respective evaluation scores of the prediction object sequences, and determines the prediction object sequence corresponding to the highest evaluation score as the target prediction object sequence.
[0119] For example, as can be seen from the above example, the evaluation score of the prediction object sequence D1 is 36%, and the evaluation score of the prediction object sequence D2 is 72%, so it can be determined that 72% is the highest evaluation score, and the prediction object sequence D2 can be determined as the target prediction object sequence.
[0120] Step 808: Combining and recommending the prediction objects in the target prediction object sequence.
[0121] Specifically, the server recommends each predicted object in the target predicted object sequence in combination. For example, as can be seen from the above example, if the predicted object sequence D2 is determined as the target predicted object sequence, and the predicted object sequence D2 includes the predicted object C2 and the predicted object E2, the server specifically recommends the predicted object C2 and the predicted object E2 in combination. The manner of performing the combined recommendation is similar to that described in the above embodiment and will not be repeated here. It should be understood that the examples in this embodiment are used to understand this solution, but should not be understood as a specific limitation of this solution.
[0122] In this embodiment, the historical operation data of all prediction objects in each prediction object sequence are used to calculate the evaluation scores of each prediction object sequence, so as to determine the probability of multiple prediction object sequences being operated, thereby selecting the prediction object sequence with a larger probability as the target prediction object sequence for combined recommendation, so as to ensure that the recommended prediction objects meet the user's preferences as much as possible, so as to be triggered to perform operations, thereby improving the practicality of multi-object recommendation.
[0123] In one embodiment, Fig. 9 As shown, object prediction is performed based on the operated object to obtain the predicted object, including:
[0124] Step 902: extracting object features corresponding to each operated object.
[0125] Among them, the object characteristics at least include: object attribute characteristics of the operated object, and object sorting characteristics. And in practical applications, it can be seen from the above embodiments that multiple operated objects can also belong to different operated object sets, that is, multiple execution operations are triggered in the historical time period, and each time the execution operation is triggered, there is a corresponding operated object set. Therefore, the object characteristics can also include the object set sorting characteristics of the operated object set to which the operated object belongs.
[0126] Specifically, the server extracts the object features corresponding to each operated object. Based on this, the server specifically extracts the object features corresponding to each operated object through the object prediction model, and specifically extracts the object features corresponding to each operated object through the object embedding layer (Item Embedding) in the object prediction model.
[0127] For ease of understanding, Fig.10 As shown, if there are operated objects 1001, 1002, 1003, 1004 and 1005, operated objects 1001 to 1005 are used as inputs of the object embedding layer 1006, and the object embedding layer 1006 obtains feature representations of each operated object, so as to output object features h1 corresponding to the operated object 1001, h2 corresponding to the operated object 1002, h3 corresponding to the operated object 1003, h4 corresponding to the operated object 1004, and h5 corresponding to the operated object 1005 through the object embedding layer 1006.
[0128] Step 904: determine the operated object set to which each operated object belongs.
[0129] Specifically, it can be seen from the above embodiments that multiple operated objects can also belong to different operated object sets, that is, multiple execution operations are triggered in the historical time period, and each execution operation is triggered with a corresponding operated object set, and each operated object set includes at least one operated object. It can be seen that each operated object when the execution operation is triggered belongs to the operated object set corresponding to the triggered execution operation, based on which the server can determine the operated object set to which each operated object belongs.
[0130] For example, if the target user performs an execution operation on the operated object A1, the operated object A2 and the operated object A3 together, and the target user then performs an execution operation on the operated object A4 and the operated object A5 together, then it can be determined that the operated object A1, the operated object A2 and the operated object A3 belong to the operated object set H1, and the operated object A4 and the operated object A5 belong to the operated object set H2.
[0131] Step 906: constructing the object set features of each operated object set based on the object features of each operated object belonging to the same operated object set.
[0132] Specifically, the object features of each operated object in the same operated object set are processed to construct the object set features of each operated object set, that is, the object set features specifically include the object features of each operated object belonging to the operated object set.
[0133] For ease of understanding, Fig.11 As shown, there are operated objects 1101, 1102, 1103, 1104, and 1105, and the operated objects 1101, 1102, and 1103 belong to the operated object set 1106, while the operated objects 1104 and 1105 belong to the operated object set 1107. Fig.10 Similar to the figure, the operated objects 1101 to the operated objects 1105 are used as the input of the object embedding layer 1108, and the object embedding layer 1108 outputs the object feature h1 corresponding to the operated object 1101, the object feature h2 corresponding to the operated object 1102, the object feature h3 corresponding to the operated object 1103, the object feature h4 corresponding to the operated object 1104, and the object feature h5 corresponding to the operated object 1105.
[0134] Based on this, the server constructs the object set feature B1 of the operated object set 1106 based on the object feature h1 corresponding to the operated object 1101, the object feature h2 corresponding to the operated object 1102, and the object feature h3 corresponding to the operated object 1103, which belong to the operated object set 1106. Similarly, based on the object feature h4 corresponding to the operated object 1104, which belong to the operated object set 1107, and the object feature h5 corresponding to the operated object 1105, the object set feature B2 of the operated object set 1107 is constructed.
[0135] Based on this, the following describes in detail how to construct object set features based on the object features of each operated object:
[0136] In one embodiment, the server may perform feature aggregation processing on the object features of each operated object belonging to the same operated object set to construct the object set features of each operated object set. For ease of understanding, further introduction is given based on the above example. If the operated objects A1, A2 and A3 belong to the operated object set H1, and the operated objects A4 and A5 belong to the operated object set H2, the operated object A1 corresponds to the object feature h1, the operated object A2 corresponds to the object feature h2, the operated object A3 corresponds to the object feature h3, the operated object A4 corresponds to the object feature h4, and the operated object A5 corresponds to the object feature h5.
[0137] Therefore, for the operated object set H1, the server can perform feature aggregation processing based on object feature h1, object feature h2 and object feature h3, and construct object set feature B1 of the operated object set H1 through object feature h1, object feature h2 and object feature h3 after feature aggregation processing. Similarly, for the operated object set H2, the server can perform feature aggregation processing based on object feature h4 and object feature h5, and construct object set feature B2 of the operated object set H2 through object feature h4 and object feature h5 after feature aggregation processing. It can be understood that, in this embodiment, the object features at least include object attribute features, object sorting features and object set sorting features. Therefore, the feature aggregation processing performed in this embodiment is specifically performed on the object attribute features in the object features.
[0138] Optionally, the server may also perform pooling processing on the object features of each operated object belonging to the same operated object set to construct the object set features of each operated object set. The aforementioned pooling processing may be a maximum pooling processing (Max Pooling) or an average pooling processing (Average Pooling). As can be seen from the above introduction, in this embodiment, the object features at least include object attribute features, object sorting features, and object set sorting features. Then the pooling processing is specifically performed on the object attribute features in the object features. The specific example is performed as shown in formula (1):
[0139]
[0140] Among them, B T The object set feature used to characterize the operated object set T, v i The object feature h corresponding to the operated object i belonging to the operated object set T is used to characterize i The object attribute characteristics in , and so on, Used to represent the operated object i+x belonging to the operated object set T t Corresponding object features The object attribute features in pooling() are used to represent the maximum pooling process or the average pooling process.
[0141] For ease of understanding, further introduction is given based on the above examples, and taking the pooling process as the maximum pooling process as an example, for the operated object set H1, the server can perform the maximum pooling process on the object feature h1, the object feature h2, and the object feature h3, and construct the object set feature B1 of the operated object set H1 through the object feature h1, the object feature h2, and the object feature h3 after the maximum pooling process. Similarly, for the operated object set H2, the server can perform the maximum pooling process on the object feature h4 and the object feature h5, and construct the object set feature B2 of the operated object set H2 through the object feature h4 and the object feature h5 after the maximum pooling process. The average pooling process is similar and will not be given as an example here.
[0142] Step 908: perform object prediction based on the features of each object and the features of each object set to obtain a predicted object.
[0143] Specifically, the server predicts objects based on the features of each object and the features of each object set to obtain a predicted object. That is, the server encodes the features of each object through the object-level encoder in the object prediction model, and encodes the features of each object set through the object-level encoder, thereby learning the user preferences at the object granularity and the object set granularity through the object-level encoder and the object-sequence-level encoder respectively. The encoded object features and the encoded object set features are then used as inputs to the autoregressive intention decoder in the object prediction model to output the predicted object through the autoregressive intention decoder.
[0144] It is understandable that, in the process of object prediction by the server based on the operated objects and the existing predicted objects in the predicted object sequence, it is also carried out in a similar manner as described above. That is, the server extracts the object features corresponding to each operated object, and the predicted object features corresponding to each of the existing predicted objects in the predicted object sequence. Then, the server determines the operated object set to which each operated object belongs, and constructs the object set features of each operated object set based on the object features of each operated object belonging to the same operated object set, and constructs the object sequence features corresponding to the predicted object sequence based on the predicted object features corresponding to each of the existing predicted objects in the predicted object sequence, and finally performs object prediction based on each object feature, each predicted object feature, each object set feature, and each object sequence feature to obtain a new predicted object. The aforementioned predicted object feature is similar to the object feature, and the object sequence feature is similar to the object set feature, so the specific acquisition and construction methods are also similar to the aforementioned embodiments, and will not be repeated here.
[0145] It can be understood that all the examples in this embodiment are only used to understand this solution, but should not be understood as specific limitations of this embodiment.
[0146] In this embodiment, by extracting object features and constructing object set features, it is possible to predict user preferences from two evaluation dimensions, namely object granularity and object set granularity, during the object prediction process, thereby improving the accuracy of the predicted objects and further improving the accuracy of multi-object recommendations.
[0147] The following describes how to extract object attribute features and object sorting features from object features: In one embodiment, Fig.12 As shown, the object features corresponding to each operated object are extracted, including:
[0148] Step 1202: extracting object attribute features corresponding to each operated object.
[0149] Among them, the object attribute feature is used to characterize the object attribute of the operated object. Specifically, the server extracts the object attribute features corresponding to each operated object. It can be seen from the above embodiment that the server can extract the object features corresponding to each operated object through the object embedding layer. Therefore, in the process of extracting the object attribute features, the product embedding layer needs to first learn a product embedding matrix M I ∈R |I|×D , where I in the aforementioned product embedding matrix is used to represent the set of all objects, and D is used to represent the number of dimensions of the embedding operation. Therefore, for any operated object, the server can obtain the product embedding matrix M I ∈R |I|×D Extract the object attribute features corresponding to the operated object.
[0150] Step 1204 , extracting object ranking features corresponding to each operated object, wherein the object ranking features are used to represent: ranking information of the operated object in the operated object sequence, wherein the operated object sequence includes the operated objects that are triggered to perform operations within a historical time period.
[0151] The object sorting feature is used to characterize: sorting information of the operated objects in the operated object sequence, and the operated object sequence includes the operated objects that were triggered to perform operations in the historical time period. For example, the operated objects that were triggered to perform operations in the historical time period specifically include: operated object A1, operated object A2, operated object A3, operated object A4, and operated object A5, then the operated object sequence includes the aforementioned operated objects A1 to A5. Based on this, the object sorting feature of the operated object A1 is used to characterize: the sorting information of the operated object A1 in the operated object sequence is 1. Similarly, the object sorting feature of the operated object A2 is used to characterize: the sorting information of the operated object A2 in the operated object sequence is 2. The object sorting feature of the operated object A3 is used to characterize: the sorting information of the operated object A3 in the operated object sequence is 3. The object sorting feature of the operated object A4 is used to characterize: the sorting information of the operated object A4 in the operated object sequence is 4. The object sorting feature of the operated object A5 is used to characterize: the sorting information of the operated object A5 in the operated object sequence is 5.
[0152] Specifically, the server first constructs an operated object sequence through the operated objects that are triggered to perform operations within the historical time period, and then determines the sorting information of the operated objects in the operated object sequence, and thereby extracts the object sorting features corresponding to each operated object. It can be seen that the object features obtained in this embodiment include at least object attribute features and object sorting features. It should be understood that the examples in this embodiment are all used to understand this solution, but should not be understood as specific limitations of this solution.
[0153] In this embodiment, by extracting the object attribute features and object sorting features of the operated objects, it is ensured that the object features include information describing the essential attributes of the object and the sorting information of the object in the entire object sequence, thereby improving the information integrity of the object features, thereby improving the reliability and accuracy of subsequent object prediction based on the object features, and further improving the reliability of multi-object recommendations.
[0154] In one embodiment, Fig.13 As shown, the object sorting features corresponding to each operated object are extracted, including:
[0155] Step 1302 : sorting the operated objects based on the number of times each operated object is triggered to perform an operation within a historical time period, so as to obtain sorted operated objects.
[0156] Among them, the number of times each operated object is triggered to perform an operation within the historical time period is obtained by counting the historical operation data. For example, the operated objects triggered to perform an operation within the historical time period specifically include: operated object A1, operated object A2, operated object A3, operated object A4, and operated object A5, and the number of times the operated object A1 is triggered to perform an operation is 5, the number of times the operated object A2 is triggered to perform an operation is 2, the number of times the operated object A3 is triggered to perform an operation is 8, the number of times the operated object A4 is triggered to perform an operation is 15, and the number of times the operated object A5 is triggered to perform an operation is 1.
[0157] Specifically, the server sorts each operated object based on the number of times each operated object is triggered to perform an operation within a historical time period to obtain the sorted operated objects. That is, the server specifically sorts each operated object from large to small according to the numerical value of the number of times to obtain the sorted operated objects from large to small. For ease of understanding, the number of times as in the above example is further introduced, and the operated objects sorted from large to small based on the above example are specifically: operated object A4, operated object A3, operated object A1, operated object A2, and operated object A5.
[0158] Step 1304 , extracting object sorting features corresponding to each sorted operated object, wherein the object sorting features are used to characterize: sorting information of the sorted operated objects in the sorted operated object sequence, wherein the sorted operated object sequence is constructed based on each sorted operated object.
[0159] Among them, since the sorted operated objects have been sorted according to the number of times they have been triggered to execute operations within the historical time period, the object sorting features obtained at this time are used to characterize: the sorting information of the sorted operated objects in the sorted operated object sequence, and the sorted operated object sequence is constructed based on the sorted operated objects.
[0160] For example, the operated objects after being sorted from large to small based on the above example are specifically: operated object A4, operated object A3, operated object A1, operated object A2, and operated object A5. Based on this, the object sorting feature of the operated object A1 is used to represent: the sorting information of the operated object A1 in the sorted operated object sequence is 3. Similarly, the object sorting feature of the operated object A2 is used to represent: the sorting information of the operated object A2 in the sorted operated object sequence is 4. The object sorting feature of the operated object A3 is used to represent: the sorting information of the operated object A3 in the sorted operated object sequence is 2. The object sorting feature of the operated object A4 is used to represent: the sorting information of the operated object A4 in the sorted operated object sequence is 1. The object sorting feature of the operated object A5 is used to represent: the sorting information of the operated object A5 in the sorted operated object sequence is 5.
[0161] Specifically, after the server obtains the sorted operated objects, it constructs a sorted operated object sequence based on the sorted operated objects, and then determines the sorting information of the sorted operated objects in the sorted operated object sequence, and thereby extracts the object sorting features corresponding to each operated object.
[0162] Secondly, as can be seen from the above-mentioned embodiment, if there is an operated object set to which each of the operated objects belongs, then the server sorts the operated objects included in the same operated object set based on the number of times each of the operated objects is triggered to perform operations in the historical time period, so as to obtain each operated object set after the objects are sorted. For example, the operated objects that are triggered to perform operations in the historical time period specifically include: operated object A1, operated object A2, operated object A3, operated object A4, and operated object A5, and as exemplified in the above-mentioned embodiment, operated object A1, operated object A2, and operated object A3 belong to operated object set H1, while operated object A4 and operated object A5 belong to operated object set H2. Then the server will sort the operated objects A1, operated object A2, and operated object A3 in the same operated object set H1, and sort the operated objects A4 and operated object A5 in the same operated object set H2.
[0163] As in the above example, if the number of times the operated object A1 is triggered to perform an operation is 5, the number of times the operated object A2 is triggered to perform an operation is 2, the number of times the operated object A3 is triggered to perform an operation is 8, the number of times the operated object A4 is triggered to perform an operation is 15, and the number of times the operated object A5 is triggered to perform an operation is 1. Then for the operated object set H1, the operated object set H1 obtained by sorting the objects from large to small is specifically: operated object A3, operated object A1, and operated object A2. Similarly, for the operated object set H2, the operated object set H2 obtained by sorting the objects from large to small is specifically: operated object A4 and operated object A5.
[0164] Therefore, what the server extracts are the object sorting features corresponding to each operated object in each operated object set after the objects are sorted. At this time, the object sorting features are used to characterize: the sorting information of the sorted operated objects in the sorted operated object sequence. At this time, the sorted operated object sequence is constructed based on each operated object set after the objects are sorted. For example, based on the above, we can get: the operated object set H1 after the objects are sorted and the operated object set H2 after the objects are sorted. Then the sorting method between the operated objects is specifically: operated object A3, operated object A1, operated object A2, operated object A4 and operated object A5. Therefore, the object sorting feature of the operated object A1 is used to characterize that the sorting information of the operated object A1 in the sorted operated object sequence is 2. Similarly, the object sorting feature of the operated object A2 is used to characterize that the sorting information of the operated object A2 in the sorted operated object sequence is 3. The object sorting feature of the operated object A3 is used to characterize that the sorting information of the operated object A3 in the sorted operated object sequence is 1. The object sorting feature of the operated object A4 is used to characterize that the sorting information of the operated object A4 in the sorted operated object sequence is 4. The object sorting feature of the operated object A5 is used to characterize that the sorting information of the operated object A5 in the sorted operated object sequence is 5.
[0165] It can be understood that the examples in this embodiment are used to understand the present solution, but should not be understood as specific limitations of the present solution.
[0166] In this embodiment, the number of times the operation is triggered to be executed within the historical time period is taken into consideration, and the sorting method of each operated object is adjusted, so that the object sorting feature can take into account the historical data of each operated object within the historical time period, and the number of times the operation is triggered to be executed can reflect the number of times the operated object is selected, which essentially enables the object sorting feature to more accurately characterize the frequency of selection of the operated object within the historical time period, thereby providing more reliable and comprehensive information for object prediction based on object features, thereby improving the reliability and accuracy of object prediction, and then improving the reliability of multi-object recommendation.
[0167] The following describes how to extract the object set ranking feature from the object feature: In one embodiment, Fig.14 As shown, each operated object belonging to the same operated object set is triggered by the same execution operation.
[0168] Specifically, as can be seen from the above-mentioned embodiments, in the case where there are multiple operated objects, the multiple operated objects may also belong to different operated object sets, that is, multiple execution operations are triggered in the historical time period, and each execution operation is triggered with a corresponding operated object set, and each operated object set includes at least one operated object. For example, the target user specifically performs an execution operation on the operated object A1, the operated object A2, and the operated object A3 together, and the target user then performs an execution operation on the operated object A4 and the operated object A5 together, then it can be determined that the operated object A1, the operated object A2, and the operated object A3 belong to the same operated object set, and the operated object A4 and the operated object A5 belong to the same operated object set.
[0169] Furthermore, the execution operation described in this embodiment is used to represent an operation of obtaining an execution result, and the execution operation can specifically be an instantaneous execution operation of obtaining the execution result, such as an operation of settling a commodity. Alternatively, the execution operation can also be multiple continuous operations performed within an execution time interval, such as an operation of playing multiple audio and video files, or an operation of reading multiple text files, etc. The execution operation is not specifically limited here.
[0170] Based on this, the object features corresponding to each operated object are extracted, which also includes:
[0171] Step 1402 , sorting each operated object set based on the triggering time when each operated object set is triggered to perform an operation, and constructing an operated object set sequence.
[0172] Among them, the trigger time is used to describe the moment when the operation is triggered to be performed on the set of operated objects. Through the above introduction, the execution operation is used to characterize the operation of obtaining an execution result. The execution operation can be specifically the instant execution of the execution result. Then the trigger time is the moment corresponding to the instant of obtaining the execution result, such as: the operation of settling goods, then the trigger time is the settlement time for settling multiple goods. Secondly, the execution operation can also be multiple consecutive operations performed within the execution time interval, then the trigger time is the first operation moment of the multiple consecutive operations, such as the operation of playing multiple audio and video. At this time, the trigger time is the moment of the first playback of multiple audio and video playback.
[0173] Specifically, after obtaining multiple operated objects, the server needs to first determine the operated object set to which each operated object belongs, then count the triggering time of each operated object set being triggered to perform the operation, and then sort the operated object sets in order from the earliest to the latest based on the triggering time to construct an operated object set sequence. For example, there are an operated object set H1 and an operated object set H2, and the triggering time of the operated object set H1 is 12:00 on the day of X-year-Y-month-Z, and the triggering time of the operated object set H2 is 13:00 on the day of X-year-Y-month-Z, so the operated object set H1 and the operated object set H2 are sorted in order, and the obtained operated object set sequence is the operated object set H1 and the operated object set H2.
[0174] Step 1404 , extracting object set ranking features corresponding to each operated object set, where the object set ranking features are used to represent: ranking information of the operated object set in the operated object set sequence.
[0175] Among them, the object set ranking feature is used to characterize: the ranking information of the operated object set in the operated object set sequence. Therefore, the obtained object feature also includes the object set ranking feature, that is, for each operated object, the object feature of the operated object also includes the object set ranking feature corresponding to the operated object set to which the operated object belongs. For ease of understanding, the specific formula is as follows:
[0176] h i = i +h i + j ; (2)
[0177] Among them, h i It is used to characterize the object features corresponding to the operated object i, v i It is used to characterize the object attribute characteristics corresponding to the operated object i, h i It is used to characterize the object sorting feature corresponding to the operated object i, p jIt is used to characterize the object set sorting feature corresponding to the operated object set j to which the operated object i belongs.
[0178] Specifically, the server constructs a sequence of operated object sets in the manner described in the above embodiment, and then determines the sorting information of each operated object set in the sequence of operated object sets, and thereby extracts the object sorting features corresponding to each operated object.
[0179] Based on the above examples, it can be known that the obtained sequence of operated object sets is the operated object set H1 and the operated object set H2. Based on this, the object set sorting feature of the operated object set H1 is used to characterize that the sorting information of the operated object set H1 in the sequence of operated object sets is 1. Similarly, it can be known that the object set sorting feature of the operated object set H2 is used to characterize that the sorting information of the operated object set H2 in the sequence of operated object sets is 2. Then the object set sorting features of the operated objects A1, A2, and A3 belonging to the operated object set H1 are all used to characterize that the sorting information of the operated object set H1 in the sequence of operated object sets is 1. And the object set sorting features of the operated objects A4 and A5 belonging to the operated object set H2 are all used to characterize that the sorting information of the operated object set H2 in the sequence of operated object sets is 2.
[0180] It can be understood that the examples in this embodiment are used to understand the present solution, but should not be understood as specific limitations of the present solution.
[0181] In this embodiment, the sequence of operated object sets is constructed by the trigger time when each operated object set is triggered to perform an operation. Therefore, the sequence of operated object sets can be obtained from the operation time dimension, and the object set sorting features are then extracted, so that the object set sorting features can more accurately characterize the triggering timing of each operated object set, and provide relevant information of the object set dimension for the object features, thereby improving the reliability of subsequent object predictions and further improving the reliability of multi-object recommendations.
[0182] In one embodiment, Fig.15 As shown, the process of object prediction and object sequence expansion is implemented based on the object prediction model.
[0183] Specifically, the object prediction and object sequence expansion processes described in the aforementioned embodiments are implemented based on an object prediction model, wherein, in the object prediction process, it is specifically necessary to extract the object features corresponding to each operated object through the object embedding layer in the object prediction model, and then encode each object feature through the object level encoder in the object prediction model, and encode each object set feature through the object sequence level encoder, so that the encoded object features and the encoded object set features can be used as inputs to the autoregressive intent decoder in the object prediction model to output the predicted object through the autoregressive intent decoder. Secondly, since the object sequence expansion is an iterative cycle of the object prediction process based on the obtained predicted object, it is similar to the aforementioned process and will not be repeated here.
[0184] Based on this, the following will introduce in detail how to obtain the object prediction model. The method for obtaining the object prediction model includes:
[0185] Step 1502, determine a first object sample sequence that is triggered to perform an operation, and a second object sample sequence that is triggered to perform an operation after the first object sample sequence, the first object sample sequence includes a first operated object sample, and the second object sample sequence includes a second operated object sample and a third operated object sample.
[0186] Among them, the first object sample sequence includes the first operated object sample, and the first operated object sample can be a single operated object sample, or a plurality of operated object samples, and the first object sample sequence can also be composed of a plurality of object sample subsequences. The second object sample sequence includes the second operated object sample and the third operated object sample. The first operated object sample to the third operated object sample are similar to the operated objects introduced in the aforementioned embodiment, and are not repeated here. Secondly, the triggering time of the first object sample sequence is earlier than the triggering time of the second object sample sequence. For example, the triggering time of the first object sample sequence is 14:01 on the day of the month of the year X, then the triggering time of the second object sample sequence can be 14:01 on the day of the month of the year X, 15:00 on the day of the month of the year X, etc., which is later than 14:00 on the day of the month of the year X.
[0187] Specifically, the server obtains multiple operated object samples, and constructs different object sample sequences based on the operated object samples triggered by the same execution operation, and considers the trigger time corresponding to each execution operation to determine the first object sample sequence and the second object sample sequence with a trigger timing. The way in which the server obtains multiple operated object samples is similar to the way in which multiple operated objects are obtained as described in the above embodiment, and will not be repeated here.
[0188] For example, there is a first object sample sequence I1 and a second object sample sequence I2, and the first object sample sequence I1 includes an operated object sample J1 and an operated object sample J2, and the second object sample sequence I2 includes an operated object sample J3 and an operated object sample J4, and it can be determined that the operated object sample J1 and the operated object sample J2 are the first operated object samples, and the operated object sample J3 is the second operated object sample, and the operated object sample J4 is the third operated object sample. It can be understood that in actual applications, since the target user can perform operations for triggering multiple times, the first object sample sequence can also be composed of multiple object sample subsequences, such as the first object sample sequence is specifically composed of object sample subsequence 1, object sample subsequence 2, and object sample subsequence 3, at which time the trigger timings of object sample subsequence 1, object sample subsequence 2, and object sample subsequence 3 are all earlier than the second object sample sequence.
[0189] Step 1504: perform object prediction based on the first operated object sample using the initial object prediction model to obtain a first predicted object sample.
[0190] Specifically, the server performs object prediction based on the first operated object sample through the initial object prediction model to obtain the first predicted object sample. That is, the server extracts the object sample features of the first operated object sample through the object embedding layer in the initial object prediction model. The object sample features are similar to the object features introduced in the aforementioned embodiment, that is, the object sample features include: object sample attribute features of the first operated object sample, object sample sorting features of the first operated object sample, and object sample sequence sorting features of the first operated object sample.
[0191] Among them, the object sample attribute feature is similar to the object attribute feature in the aforementioned embodiment. Secondly, the object sample sorting feature is used to characterize: the sorting information of the first operated object sample in the operated object sample sequence, and the operated object sample sequence is constructed by the first object sample sequence and the second object sample sequence. Similarly, the object sample sequence sorting feature is similar to the aforementioned object set sorting feature, and the object sample sequence sorting feature is used to characterize: the sorting information of the first object sample sequence to which the first operated object sample belongs in multiple object sample sequences.
[0192] Based on this, the server constructs the object sample sequence features of the first object sample sequence based on the object sample features of the first operated object sample. If there are other operated object samples in the first object sample sequence, the object sample sequence features of the first object sample sequence are constructed specifically through the object sample features of each operated object sample included in the first object sample sequence. The object sample sequence features of the first object sample sequence are constructed specifically as follows: feature aggregation processing or pooling processing is performed on the object sample features of the operated object samples belonging to the same object sample sequence. The specific implementation method is similar to the aforementioned embodiment and will not be repeated here.
[0193] After obtaining the object sample features of the first operated object sample and the object sample sequence features of the first object sample sequence in the aforementioned manner, the server then encodes the object sample features of the first operated object sample through the object level encoder in the object prediction model, and encodes the object sample sequence features of the first object sample sequence through the object sequence level encoder, so that the encoded object sample features and the encoded object sample sequence features can be used as inputs of the autoregressive intent decoder in the object prediction model to output the first predicted object sample through the autoregressive intent decoder.
[0194] Based on this, the object-level encoder in this embodiment specifically adopts the Transformer model architecture. The object-level encoder is specifically divided into a self-attention mechanism layer, a feedforward network layer, a residual connection and a normalization layer, and there is a sub-layer operation in the normalization layer. The sub-layer operation can be a multi-head attention layer or a feedforward network layer, which is not limited here. It can be understood that the object sequence level encoder is similar to the object level encoder and also adopts the Transformer model architecture. It’s just that the input of the object level encoder is the object sample feature, while the input of the object sequence level encoder is the object sample sequence feature. Secondly, in this embodiment, the autoregressive intent decoder includes three layers: a masked multi-head attention layer, a crossed multi-head attention layer, and a feedforward network layer, and the autoregressive decoder respectively calculates the attention mechanism function with the two sequences, and then the results are added as the representation of the object at the current position of the autoregressive decoder.
[0195] Secondly, the first object sample sequence may also be composed of multiple object sample subsequences, and the triggering time of the object sample subsequences is earlier than that of the second object sample sequence. Based on this, the server may perform the aforementioned similar steps on each object sample subsequence to perform object prediction based on the operated object sample samples in each object sample subsequence to obtain the first predicted object sample. To facilitate understanding of the aforementioned process, as shown in FIG. Fig.16As shown, the first object sample sequence is composed of an object sample subsequence 1601 and an object sample subsequence 1602, and the object sample subsequence 1601 includes operated object sample sample 1603, operated object sample sample 1604, and operated object sample sample 1605, and the object sample subsequence 1602 includes operated object sample sample 1606 and operated object sample sample 1607.
[0196] Based on this, the operated object samples 1603 to 1607 are used as inputs of the object embedding layer 1608, and the object embedding layer 1608 outputs the object sample feature h1 corresponding to the operated object sample 1601, the object sample feature h2 corresponding to the operated object sample 1602, the object sample feature h3 corresponding to the operated object sample 1603, the object sample feature h4 corresponding to the operated object sample 1604, and the object sample feature h5 corresponding to the operated object sample 1605. Then, the server constructs the object sample sequence feature B1 of the object sample subsequence 1601 based on the object sample feature h1 corresponding to the operated object sample 1603, the object sample feature h2 corresponding to the operated object sample 1604, and the object sample feature h3 corresponding to the operated object sample 1605, which belong to the object sample subsequence 1601. Similarly, based on the object sample feature h4 corresponding to the operated object sample 1606 belonging to the object sample subsequence 1602 and the object sample feature h5 corresponding to the operated object sample 1607 , the object sample sequence feature B2 of the object sample subsequence 1602 is constructed.
[0197] Therefore, the server uses the object sample feature h1, object sample feature h2, object sample feature h3, object sample feature h4 and object sample feature h5 as inputs to the object level encoder 1609, and the object level encoder 1609 outputs the encoded object sample features h1 to h5. Similarly, the server uses the object sample sequence feature B1 and the object sample sequence feature B2 as inputs to the object sequence level encoder 1610, and the object sequence level encoder 1610 outputs the encoded object sample sequence feature B1 and the object sample sequence feature B2. Therefore, the server uses the outputs of the object level encoder 1609 and the object sequence level encoder 1610 as inputs to the autoregressive intent decoder 1611, thereby outputting the first predicted object sample 1612 through the autoregressive intent decoder 1611.
[0198] Step 1506: Taking the first predicted object sample as the starting point of the object sample sequence, the object sequence is extended based on the first operated object sample and the first predicted object sample by using the initial object prediction model to obtain a predicted object sample sequence including the second predicted object sample.
[0199] Wherein, the prediction object sample sequence includes multiple prediction object samples, and the length of the prediction object sample sequence is pre-set, based on which, the prediction object sample sequence includes at least the first prediction object sample and the second prediction object sample, and when the length of the prediction object sample sequence is set to be greater than 2, the object sequence will be extended until the set length is reached in the prediction object sample sequence. For example, if it is set to 3, the server will extend the object sequence until there are 3 prediction object samples in the prediction object sample sequence. Or, if it is set to 5, the server will extend the object sequence until there are 5 prediction object samples in the prediction object sample sequence.
[0200] Specifically, the server uses the first predicted object sample as the starting point of the object sample sequence, and performs object sequence expansion based on the first operated object sample and the first predicted object sample through the initial object prediction model to obtain a predicted object sample sequence including the second predicted object sample. It can be understood that the manner of performing object sequence expansion is similar to the aforementioned embodiment and will not be described in detail here.
[0201] For ease of understanding, the length of the prediction object sample sequence is set to 3 as an example. Since the number threshold is consistent with the length set for the prediction object sequence, Fig.17 As shown, firstly, an object prediction is performed once through the first object sample sequence 1702 including the first operated object sample 1701, so as to obtain the first predicted object sample 1704 in the predicted object sample sequence 1703, and then a second object prediction is performed based on the first object sample sequence 1702 and the obtained first predicted object sample 1704, so as to obtain the second predicted object sample 1705 in the predicted object sample sequence 1703. Similarly, a third object prediction is performed based on the first object sample sequence 1702, the obtained first predicted object sample 1704, and the obtained second predicted object sample 1705, so as to obtain another predicted object sample 1706. At this time, the threshold of the number of object predictions is reached, so the object prediction is stopped, and the obtained predicted object sample sequence 1703 is input, and the predicted object sample sequence 1703 specifically includes: the first predicted object sample 1704, the second predicted object sample 1705, and the predicted object sample 1706.
[0202] Step 1508: Adjust the model parameters of the initial object prediction model through the second object sample sequence and the predicted object sample sequence to obtain the object prediction model.
[0203] Specifically, the server adjusts the model parameters of the initial object prediction model through the second object sample sequence and the predicted object sample sequence to obtain the object prediction model. The server specifically calculates the sequence loss value between the second object sample sequence and the predicted object sample sequence, and adjusts the model parameters of the initial object prediction model through the sequence loss value to obtain the object prediction model. The loss value is used to characterize the degree of difference between the two objects, so the sequence loss value is used to characterize the degree of difference between the second object sample sequence and the predicted object sample sequence.
[0204] Furthermore, the server specifically constructs an input sample sequence through the first object sample sequence and the second object sample sequence, and constructs a predicted sample sequence based on the first object sample sequence and the predicted object sample sequence, and specifically calculates a sequence loss value between the input sample sequence and the predicted sample sequence, and then adjusts the model parameters of the initial object prediction model through the sequence loss value to obtain the object prediction model. At this time, the sequence loss value is used to characterize the degree of difference between the input sample sequence and the predicted sample sequence.
[0205] For ease of understanding, further introduction is given based on the above example. If there is a first object sample sequence I1 and a second object sample sequence I2, and the first object sample sequence I1 includes an operated object sample J1 and an operated object sample J2, the second object sample sequence I2 includes an operated object sample J3 and an operated object sample J4, and the length of the predicted object sample sequence is set to 3, if an object prediction is performed based on the first object sample sequence I1 to obtain a predicted object sample K1, and then a second object prediction is performed based on the first object sample sequence I1 and the predicted object sample K1 to obtain a predicted object sample K2, and then a third object prediction is performed based on the first object sample sequence I1, the predicted object sample K1 and the predicted object sample K2 to obtain a predicted object sample K3, then the predicted object sample sequence L1 can be obtained, including: predicted object sample K1, predicted object sample K2 and predicted object sample K3.
[0206] Based on this, the server can directly calculate the sequence loss value between the second object sample sequence I2 and the predicted object sample sequence L1. At this time, the sequence loss value is used to characterize the differences between the operated object sample J3 and the operated object sample J4 and the predicted object sample K1, the predicted object sample K2 and the predicted object sample K3.
[0207] Alternatively, the server may also construct an input sample sequence M1 through the first object sample sequence I1 and the first object sample sequence I2, that is, the input sample sequence M1 includes: operated object sample J1, operated object sample J2, operated object sample J3, and operated object sample J4. Then, the predicted sample sequence N1 is constructed through the first object sample sequence I1 and the predicted object sample sequence L1, that is, the predicted sample sequence N1 includes: operated object sample J1, operated object sample J2, predicted object sample K1, predicted object sample K2, and predicted object sample K3. At this time, the sequence loss value between the input sample sequence M1 and the predicted sample sequence N1 is calculated. At this time, the sequence loss value is used to characterize the difference between: the operated object sample J1, the operated object sample J2, the operated object sample J3, and the operated object sample J4 and the operated object sample J1, the operated object sample J2, the predicted object sample K1, the predicted object sample K2, and the predicted object sample K3.
[0208] It can be understood that the examples in this embodiment are used to understand the present solution, but should not be understood as specific limitations of the present solution.
[0209] In this embodiment, user preferences at the object granularity and the object sequence granularity are learned respectively, and then the objects in the latter object sequence are predicted one by one. Then, the model parameters are adjusted by evaluating the difference between the object sample and the predicted object sample to ensure that the obtained object prediction model can accurately learn the relevant information between objects, within the object sequence, and between object sequences, thereby ensuring the reliability and accuracy of the object prediction and object sequence expansion process in practical applications, and then improving the reliability and accuracy of multi-object recommendation.
[0210] In one embodiment, Fig.18 As shown, adjusting the model parameters of the initial object prediction model through the second object sample sequence and the predicted object sample sequence to obtain the object prediction model includes:
[0211] Step 1802, using the initial object prediction model, randomly mask the object sample features corresponding to each of the operated object samples to obtain the object sample features after random mask processing, and determine the operated object samples corresponding to the masked object sample features.
[0212] Specifically, the server uses the initial object prediction model to perform random masking on the object sample features corresponding to each operated object sample to obtain the object sample features after random masking, and determines the operated object samples corresponding to the masked object sample features. That is, during the prediction process, the server uses the initial object prediction model to mask the input object sample features to improve the ability of the object prediction model to extract object sample feature information, and needs to determine the operated object samples corresponding to the masked object sample features. It is understandable that one or more object sample features can be masked, and the operated object samples corresponding to the masked object sample features belong to the first object sample sequence.
[0213] For example, if object sample feature h1 corresponding to operated object sample A1, object sample feature h2 corresponding to operated object sample A2, object sample feature h3 corresponding to operated object sample A3, object sample feature h4 of operated object sample A4, and object sample feature h5 of operated object sample A5 are extracted. If object sample feature h2 is randomly selected for masking, the object sample features after random masking are: object sample feature h1, [mask], object sample feature h3, object sample feature h4, object sample feature h5, and the operated object sample corresponding to the masked object sample feature h2 is the operated object sample A2.
[0214] Step 1804 , performing masked object prediction based on the object sample features after random mask processing to obtain predicted masked object samples.
[0215] Specifically, the server processes the features of the object samples after random masking based on a similar method as described above, that is, based on the features of the object samples after random masking, the initial object prediction model performs object prediction and can also obtain a first predicted object sample, and then based on the first predicted object sample and the features of the object samples after random masking, the initial object prediction model performs object sequence expansion to obtain a predicted object sample sequence. At the same time, during the object prediction and object sequence expansion process, the server will also perform masked object prediction through the initial object prediction model to obtain predicted masked object samples, that is, predict the masked operated object samples to learn how to restore the object samples through the object samples within the sequence and the object samples between sequences.
[0216] The above-mentioned predicted mask object sample is specifically determined by the predicted probability, and the predicted probability is used to characterize: the probability that the operated object sample corresponding to the masked object sample feature belongs to each object in the object set, and the above-mentioned object set includes: objects with the same object type as the operated object sample. Based on this, the server selects the object with the largest probability from the probability that the operated object sample corresponding to the masked object sample feature belongs to each object in the object set as the predicted mask object sample. For example, the object set includes object O1, object O2, object O3, object O4 and object O5, and the predicted probability specifically includes: the probability of belonging to object O1 is 10%, the probability of belonging to object O2 is 20%, the probability of belonging to object O3 is 80%, the probability of belonging to object O4 is 20%, and the probability of belonging to object O5 is 15%. At this time, it can be determined that the probability of belonging to object O3 is 80%, and the probability value is the largest. At this time, object O3 can be used as the predicted mask object sample.
[0217] For example, the above prediction probability is calculated as shown in formula (3):
[0218]
[0219] in, Used to represent: the probability that the operated object sample corresponding to the masked object sample feature belongs to each object in the object set, B T The object sample sequence features used to characterize the object sample sequence T, It is used to represent the embedding representation corresponding to each object in the object set, W is used to represent the learnable mapping matrix parameters, and b1 and b2 are both bias terms.
[0220] Step 1806, adjusting the model parameters of the initial object prediction model through the second object sample sequence and the predicted object sample sequence, and the predicted mask object sample and the operated object sample corresponding to the masked object sample features, to obtain the object prediction model.
[0221] Specifically, after the masking operation is performed, that is, the server masks the operated objects in the first object sample sequence, it is necessary to calculate the loss value through the input sample sequence and the predicted sample sequence. Therefore, the server adjusts the model parameters of the initial object prediction model through the second object sample sequence and the predicted object sample sequence, and the predicted masked object sample and the operated object sample corresponding to the masked object sample feature to obtain the object prediction model. Specifically, the input sample sequence is constructed through the first object sample sequence and the second object sample sequence, and the predicted sample sequence is constructed based on the first object sample sequence and the predicted object sample sequence, and the sequence sequence loss value between the input sample sequence and the predicted sample sequence is calculated, and then the model parameters of the initial object prediction model are adjusted through the sequence loss value to obtain the object prediction model.
[0222] For ease of understanding, if there is a first object sample sequence I1 and a second object sample sequence I2, and the first object sample sequence I1 includes an operated object sample J1 and an operated object sample J2, the second object sample sequence I2 includes an operated object sample J3 and an operated object sample J4, and the length of the predicted object sample sequence is set to 3. First, from the object sample features corresponding to the operated object sample J1 and the operated object sample J2, one object sample feature is randomly selected for masking. If the object sample feature corresponding to the operated object sample J1 is selected, then it can be determined that the operated object sample corresponding to the masked object sample feature is the operated object sample J1.
[0223] Then, the server predicts the masked object by using the object sample features after random masking to obtain the predicted masked object sample P1. Based on the object sample features after masking by the server, similar object prediction and object sequence expansion are performed to obtain the predicted object sample sequence L1, and the predicted object sample sequence L1 includes: predicted object sample K1, predicted object sample K2 and predicted object sample K3.
[0224] Based on this, the server can also construct an input sample sequence M1 through the first object sample sequence I1 and the first object sample sequence I2, that is, the input sample sequence M1 includes: operated object sample J1, operated object sample J2, operated object sample J3 and operated object sample J4. Then, the predicted sample sequence N1 is constructed through the predicted mask object sample P1, the unmasked operated object sample in the first object sample sequence I1, and the predicted object sample sequence L1, that is, the predicted sample sequence N1 includes: predicted mask object sample P1, operated object sample J2, predicted object sample K1, predicted object sample K2 and predicted object sample K3. At this time, the sequence loss value between the input sample sequence M1 and the predicted sample sequence N1 is calculated. At this time, the sequence loss value is used to characterize the difference between: the operated object sample J1, the operated object sample J2, the operated object sample J3 and the operated object sample J4, and the predicted mask object sample P1, the operated object sample J2, the predicted object sample K1, the predicted object sample K2 and the predicted object sample K3.
[0225] Based on this, the server specifically constructs the input sample sequence and the predicted sample sequence based on the aforementioned similar method, and then determines the object samples that are consistent between the input sample sequence and the predicted sample sequence, and then calculates the sequence loss value through the consistent object samples between the input sample sequence and the predicted sample sequence, the predicted object sample sequence, and the masked object sample features. For example, the method for calculating the sequence loss value based on the aforementioned method is as shown in formula (4):
[0226]
[0227] Among them, L is used to represent the sequence loss value, Used to characterize the sample features of the masked object, It is used to characterize the object samples that are consistent between the input sample sequence and the predicted sample sequence. Used to characterize the sample sequence of the predicted object.
[0228] It can be understood that the examples in this embodiment are used to understand the present solution, but should not be understood as specific limitations of the present solution.
[0229] In this embodiment, during the process of object prediction and object sequence expansion, masked object prediction is performed through the initial object prediction model to obtain predicted masked object samples, that is, predicted masked operated object samples, so as to learn how to restore object samples through object samples within the sequence and object samples between sequences, and further improve the information learning and extraction capabilities of the obtained object prediction model, thereby ensuring the reliability of the object prediction model, so as to ensure the reliability and accuracy of the process of object prediction and object sequence expansion in practical applications, and thus improve the reliability and accuracy of multi-object recommendation.
[0230] The following describes in detail how to perform random mask processing: In one embodiment, Fig.19 As shown, through the initial object prediction model, the object sample features corresponding to each of the operated object samples are randomly masked to obtain the object sample features after random masking, including:
[0231] Step 1902: extract sample features of each object through the initial object prediction model.
[0232] Specifically, the server extracts sample features of each object through an initial object prediction model in a similar manner to that described in the foregoing embodiment, which will not be described in detail here.
[0233] Step 1904: Randomly select sample features of each object to determine sample features of the object to be masked.
[0234] Specifically, the server randomly selects each extracted object sample feature to determine the object sample feature to be masked. For example, the object sample feature h1 corresponding to the operated object sample A1, the object sample feature h2 corresponding to the operated object sample A2, the object sample feature h3 corresponding to the operated object sample A3, the object sample feature h4 of the operated object sample A4, and the object sample feature h5 of the operated object sample A5 are extracted. If the object sample feature h2 is randomly selected for masking, the object sample feature to be masked is the object sample feature h2.
[0235] Step 1906, masking is performed on the object attribute sample features in the to-be-masked object sample features to obtain the object sample features after random masking.
[0236] Specifically, it can be seen from the aforementioned embodiments that the object sample features include object sample attribute features, object sample sorting features, and object sample sequence sorting features. Therefore, in the process of masking, the server only masks the object attribute sample features in the masked object sample features, but does not mask the object sample sorting features and the object sample sequence sorting features in the object sample features, thereby obtaining the object sample features after random masking. It can be seen that the object sample features after random masking include object sample sorting features, object sample sequence sorting features, and masked object sample attribute features.
[0237] For example, the object sample feature h2 is randomly selected for masking, that is, the object sample feature to be masked is the object sample feature h2, and the object sample feature h2 specifically includes: the object sample attribute feature v2, the object sample sorting feature h2, and the object sample sequence sorting feature p jThen the object sample feature h2 after random mask processing includes: [mask], object sample sorting feature h2, and object sample sequence sorting feature p j It can be understood that the examples in this embodiment are used to understand the present solution, but should not be understood as specific limitations of the present solution.
[0238] In this embodiment, by masking the object attribute sample features in the masked object sample features separately, it can be ensured that the sorting information between object samples and the sorting information between object sample sequences can be taken into account in the learning process, thereby ensuring the reliability of information extraction, and then ensuring the reliability of the trained object prediction model, further improving the reliability of multi-object recommendation.
[0239] Based on the detailed description of the above embodiments, the complete process of the method for recommending multiple objects in the embodiments of the present application will be described below. In one embodiment, Fig. 20 As shown, a method for multi-object recommendation is provided, which is applied to Figure 2 The method is described by taking the server 204 in the example as an example. It is understandable that the method can also be applied to the terminal 202, and can also be applied to a system including the terminal 202 and the server 204, and is implemented through the interaction between the terminal 202 and the server 204. In this embodiment, the method includes the following steps:
[0240] Step 2001, obtaining the operated objects that are triggered to perform operations within a historical time period.
[0241] The operated object may be one or more, and the operated object may be a commodity, text, audio and video, virtual data, etc. It can be seen that the operated object has a corresponding relationship with the operation type of the executed operation, and the operation type of the executed operation is determined based on the application requirements.
[0242] Specifically, in the scenario of recommending multiple objects to the target user, the server can obtain the operated objects that were triggered to perform operations by the target user in the historical time period. Based on this, the server can obtain the operated objects that were triggered to perform operations by the target user in the historical time period through a communication connection with the terminal used by the target user. Alternatively, after each user triggers the execution of operations on each object in the historical time period, the operated objects of each user can be transmitted to the server in real time, and the server stores the operated objects of each user in the data storage system. Therefore, when it is necessary to recommend multiple objects to the target user, the operated objects for the target user are determined from the operated objects of each user stored in the data storage system to complete the acquisition of the operated objects that were triggered to perform operations by the target user in the historical time period.
[0243] Step 2002: determine the operated object set to which each operated object belongs.
[0244] Specifically, since multiple operated objects can also belong to different operated object sets, that is, multiple execution operations are triggered within the historical time period, each time the execution operation is triggered, there is a corresponding operated object set, and each operated object set includes at least one operated object. It can be seen that the operated object each time the execution operation is triggered belongs to the operated object set corresponding to the triggered execution operation. Based on this, the server can determine the operated object set to which each operated object belongs.
[0245] Step 2003: extracting object attribute features corresponding to each operated object.
[0246] Among them, the object attribute feature is used to characterize the object attribute of the operated object. Specifically, the server extracts the object attribute features corresponding to each operated object. It can be seen from the above embodiment that the server can extract the object features corresponding to each operated object through the object embedding layer. Therefore, in the process of extracting the object attribute features, the product embedding layer needs to first learn a product embedding matrix M I ∈R |I|×D , where I in the aforementioned product embedding matrix is used to represent the set of all objects, and D is used to represent the number of dimensions of the embedding operation. Therefore, for any operated object, the server can obtain the product embedding matrix M I ∈R |I|×D Extract the object attribute features corresponding to the operated object.
[0247] Step 2004: sort the operated objects based on the number of times each operated object is triggered to perform an operation within a historical time period, so as to obtain sorted operated objects.
[0248] The number of times each operated object is triggered to perform an operation in a historical time period is obtained by counting historical operation data. Specifically, the server sorts each operated object based on the number of times each operated object is triggered to perform an operation in a historical time period to obtain sorted operated objects. That is, the server sorts each operated object from large to small according to the numerical value of the number of times to obtain sorted operated objects from large to small.
[0249] Step 2005: extracting the object sorting features corresponding to each sorted operated object.
[0250] Among them, since the sorted operated objects have been sorted according to the number of times they have been triggered to execute operations within the historical time period, the object sorting features obtained at this time are used to characterize: the sorting information of the sorted operated objects in the sorted operated object sequence, and the sorted operated object sequence is constructed based on the sorted operated objects.
[0251] Specifically, after the server obtains the sorted operated objects, it constructs a sorted operated object sequence based on the sorted operated objects, and then determines the sorting information of the sorted operated objects in the sorted operated object sequence, and thereby extracts the object sorting features corresponding to each operated object.
[0252] Secondly, as can be seen from the above-mentioned embodiment, if there is an operated object set to which each operated object belongs, then the server sorts the operated objects included in the same operated object set based on the number of times each operated object is triggered to perform an operation in a historical time period, so as to obtain each operated object set after the object sorting. Therefore, what the server extracts are the object sorting features corresponding to each operated object in each operated object set after the object sorting. At this time, the object sorting features are used to characterize: the sorting information of the sorted operated objects in the sorted operated object sequence. At this time, the sorted operated object sequence is constructed based on each operated object set after the object sorting.
[0253] Step 2006: sort the operated object sets based on the triggering time when each operated object set is triggered to perform the operation, and construct an operated object set sequence.
[0254] Among them, the trigger time is used to describe the moment when the operation is triggered to be performed on the set of operated objects. Through the above introduction, the execution operation is used to characterize the operation of obtaining an execution result. The execution operation can be specifically the instant execution of the execution result. Then the trigger time is the moment corresponding to the instant of obtaining the execution result, such as: the operation of settling goods, then the trigger time is the settlement time for settling multiple goods. Secondly, the execution operation can also be multiple consecutive operations performed within the execution time interval, then the trigger time is the first operation moment of the multiple consecutive operations, such as the operation of playing multiple audio and video. At this time, the trigger time is the moment of the first playback of multiple audio and video playback.
[0255] Specifically, after obtaining multiple operated objects, the server needs to first determine the operated object set to which each operated object belongs, then count the trigger time when each operated object set is triggered to perform the operation, and then sort the operated object sets in order from the earliest to the latest based on the trigger time to construct an operated object set sequence.
[0256] Step 2007: extracting the object set sorting features corresponding to each operated object set.
[0257] The object set sorting feature is used to characterize: the sorting information of the operated object set in the operated object set sequence. Specifically, the server constructs the operated object set sequence in the manner described in the above embodiment, and then determines the sorting information of each operated object set in the operated object set sequence, and thereby extracts the object sorting features corresponding to each operated object.
[0258] Based on this, the obtained object features specifically include: object attribute features, object sorting features, and object set sorting features.
[0259] Step 2008: constructing object set features of each operated object set based on the object features of each operated object belonging to the same operated object set.
[0260] Specifically, the object features of each operated object in the same operated object set are processed to construct the object set features of each operated object set, that is, the object set features specifically include the object features of each operated object belonging to the operated object set.
[0261] In one embodiment, the server may perform feature aggregation processing on the object features of each operated object belonging to the same operated object set to construct the object set features of each operated object set. And the feature aggregation processing in this embodiment is specifically performed on the object attribute features in the object features.
[0262] Optionally, the server may also perform pooling processing on the object features of each operated object belonging to the same operated object set to construct the object set features of each operated object set. The aforementioned pooling processing may be a maximum pooling processing (Max Pooling) or an average pooling processing (Average Pooling). As can be seen from the aforementioned introduction, in this embodiment, the object features at least include object attribute features, object sorting features, and object set sorting features, so the pooling processing is specifically performed on the object attribute features in the object features.
[0263] Step 2009: perform object prediction based on the features of each object and the features of each object set to obtain a predicted object.
[0264] Specifically, the server performs object prediction based on the features of each object and the features of each object set to obtain a predicted object. That is, the server encodes the features of each object through the object level encoder in the object prediction model, and encodes the features of each object set through the object sequence level encoder, thereby learning the user preferences at the object granularity and the object set granularity through the object level encoder and the object sequence level encoder respectively, and then uses the encoded object features and the encoded object set features as the input of the autoregressive intent decoder in the object prediction model to output the predicted object through the autoregressive intent decoder.
[0265] Step 2010: taking the prediction object as an existing prediction object in the prediction object sequence to obtain the starting point of the prediction object sequence.
[0266] Specifically, the server uses the predicted object as the existing predicted object in the prediction object sequence to obtain the starting point of the prediction object sequence. That is, the server uses the predicted object obtained only through the operated object in the previous steps as the existing predicted object in the prediction object sequence, and uses the predicted object obtained only through the operated object as the starting point of the prediction object sequence.
[0267] Step 2011: perform object prediction based on the operated object and the existing prediction objects in the prediction object sequence to obtain a newly added prediction object in the prediction object sequence.
[0268] The newly added prediction object may be single or multiple. Specifically, the server performs object prediction again based on the operated object and the existing prediction objects in the prediction object sequence to obtain the newly added prediction object in the prediction object sequence. It is understandable that the method for determining the newly added prediction object is similar to the method for determining the aforementioned prediction object, which will not be repeated here.
[0269] Step 2012: Add the newly added prediction object in the prediction object sequence to the prediction object sequence to expand the object sequence.
[0270] Specifically, the server adds the newly added prediction object in the prediction object sequence to the prediction object sequence to expand the object sequence. That is, the server adds the newly added prediction object in the prediction object sequence to the prediction object sequence, so that the existing prediction objects in the prediction object sequence include the prediction object and the newly added prediction object.
[0271] Step 2013, returning to the step of performing object prediction based on the operated object and the existing prediction objects in the prediction object sequence to obtain a new prediction object in the prediction object sequence, until the number of object predictions reaches a number threshold.
[0272] Among them, the number threshold is consistent with the total number of predicted objects in the final predicted object sequence, that is, the server will record the number of predicted object steps before completing each object prediction, and the number threshold is consistent with the length set for the predicted object sequence.
[0273] Specifically, the server will return to the step of performing object prediction based on the operated object and the existing predicted objects in the predicted object sequence to obtain the newly added predicted object in the predicted object sequence, and will again perform the operation of adding the newly added predicted object in the predicted object sequence to the predicted object sequence to expand the object sequence until the number of object predictions reaches the number threshold. That is, after the server determines that the number of object predictions reaches the number threshold, it will add the newly added predicted object obtained when the number threshold is reached to the predicted object sequence, and use the newly added predicted object obtained when the number threshold is reached as the end point of the predicted object sequence, and finally obtain the predicted object sequence.
[0274] It can be understood that the process of object prediction and object sequence expansion is implemented based on the object prediction model, and the method of obtaining the object prediction model has been introduced in detail in the above embodiments and will not be repeated here.
[0275] Step 2014: for each prediction object sequence, determine the operated historical data of each prediction object in the prediction object sequence.
[0276] The operated historical data may be data of different historical data description dimensions, such as the number of times the predicted object was triggered to perform an operation in a historical time period, the frequency of the predicted object being triggered to perform an operation in a historical time period, or the number of times the predicted object was continuously triggered to perform an operation in a historical time period. The operated historical data may be at least one of the aforementioned data, or a combination of multiple data of the aforementioned data, which is not specifically limited here.
[0277] Specifically, the server determines the operated historical data of each predicted object in the predicted object sequence for each predicted object sequence. That is, the server can count the number of times each predicted object in each predicted object sequence is triggered to perform operations within the historical time period based on the historical data. Or, the server can also calculate the frequency of the predicted object in each predicted object sequence being triggered to perform operations within the historical time period based on the historical data. Or, the server can also count the number of times the predicted object is continuously triggered to perform operations within the historical time period. The specific dimension of historical data used to construct the operated historical data needs to be determined based on actual application requirements and is not limited here.
[0278] Step 2015: Determine the evaluation score of each prediction object sequence through the operated historical data of each prediction object.
[0279] The evaluation score is used to characterize the probability of the predicted object in each predicted object sequence being triggered to perform an operation. Specifically, the evaluation score of each predicted object sequence is calculated through the historical data of the operations of each predicted object in each predicted object sequence.
[0280] Step 2016: determine a target prediction object sequence from each prediction object sequence based on each evaluation score, and combine and recommend each prediction object in the target prediction object sequence.
[0281] The evaluation score of the target prediction object sequence is the highest among the evaluation scores corresponding to the respective prediction object sequences. Specifically, the target prediction object sequence is determined from the respective prediction object sequences based on the evaluation scores, that is, the server determines the highest evaluation score from the respective evaluation scores of the prediction object sequences, and determines the prediction object sequence corresponding to the highest evaluation score as the target prediction object sequence.
[0282] It should be understood that the specific implementations of steps 2001 to 2016 are similar to those of the aforementioned embodiments and will not be described in detail here.
[0283] It should be understood that, although the steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0284] Based on the same inventive concept, the embodiment of the present application also provides a multi-object recommendation device for implementing the multi-object recommendation method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations of one or more multi-object recommendation device embodiments provided below can refer to the limitations of the multi-object recommendation method above, and will not be repeated here.
[0285] In one embodiment, Fig.21 As shown, a multi-object recommendation device is provided, including: an object acquisition module 2102, an object prediction module 2104, an object sequence expansion module 2106 and an object recommendation module 2108, wherein:
[0286] The object acquisition module 2102 is used to acquire the operated objects that are triggered to perform operations within the historical time period;
[0287] An object prediction module 2104 is used to perform object prediction based on the operated object to obtain a predicted object;
[0288] The object sequence expansion module 2106 is used to use the predicted object as the starting point of the object sequence, expand the object sequence based on the operated object and the predicted object, and obtain the predicted object sequence; the newly added predicted object in the predicted object sequence is predicted based on the operated object and the existing predicted objects in the predicted object sequence;
[0289] The object recommendation module 2108 is used to combine and recommend the prediction objects in the same prediction object sequence.
[0290] In one embodiment, the object sequence expansion module 2106 is specifically used to use the predicted object as an existing predicted object in the predicted object sequence to obtain the starting point of the predicted object sequence; perform object prediction based on the operated object and the existing predicted objects in the predicted object sequence to obtain a newly added predicted object in the predicted object sequence; add the newly added predicted object in the predicted object sequence to the predicted object sequence to expand the object sequence; return to the step of performing object prediction based on the operated object and the existing predicted objects in the predicted object sequence to obtain a newly added predicted object in the predicted object sequence, until the number of object predictions reaches a threshold number.
[0291] In one embodiment, the number of prediction object sequences is multiple;
[0292] The object recommendation module 2108 is specifically used to determine the operated historical data of each prediction object in the prediction object sequence for each prediction object sequence; determine the evaluation score of each prediction object sequence through the operated historical data of each prediction object; determine the target prediction object sequence from each prediction object sequence based on each evaluation score; and combine and recommend each prediction object in the target prediction object sequence.
[0293] In one embodiment, the object prediction module 2104 is specifically used to extract the object features corresponding to each operated object; determine the operated object set to which each operated object belongs; based on the object features of each operated object belonging to the same operated object set, construct the object set features of each operated object set; perform object prediction based on the features of each object and the features of each object set to obtain a predicted object.
[0294] In one embodiment, the object prediction module 2104 is specifically used to extract object attribute features corresponding to each operated object; extract object sorting features corresponding to each operated object, the object sorting features are used to characterize: sorting information of the operated object in the operated object sequence, the operated object sequence includes the operated objects that are triggered to perform operations within a historical time period; wherein the object features include at least object attribute features and object sorting features.
[0295] In one embodiment, the object prediction module 2104 is specifically used to sort each operated object based on the number of times each operated object is triggered to perform an operation within a historical time period to obtain the sorted operated objects; extract the object sorting features corresponding to each sorted operated object, the object sorting features are used to characterize: the sorting information of the sorted operated objects in the sorted operated object sequence, and the sorted operated object sequence is constructed based on each sorted operated object.
[0296] In one embodiment, each operated object in the same operated object set is triggered by the same execution operation;
[0297] The object prediction module 2104 is specifically used to sort each operated object set based on the trigger time when each operated object set is triggered to perform an operation, and construct an operated object set sequence; extract the object set sorting features corresponding to each operated object set, and the object set sorting features are used to characterize: the sorting information of the operated object set in the operated object set sequence; wherein the object features also include the object set sorting features.
[0298] In one embodiment, the object prediction module 2104 is specifically configured to perform feature aggregation processing on the object features of each operated object belonging to the same operated object set, so as to construct the object set features of each operated object set.
[0299] In one embodiment, the object prediction module 2104 is specifically used to perform pooling processing on the object features of each operated object belonging to the same operated object set to construct the object set features of each operated object set, and the pooling processing is maximum pooling processing or average pooling processing.
[0300] In one embodiment, the process of object prediction and object sequence expansion is implemented based on an object prediction model;
[0301] like Fig. 22 As shown, the multi-object recommendation device further includes a model acquisition module 2202;
[0302] The model acquisition module 2202 is used to determine a first object sample sequence that is triggered to perform an operation, and a second object sample sequence that is triggered to perform an operation after the first object sample sequence, wherein the first object sample sequence includes a first operated object sample, and the second object sample sequence includes a second operated object sample and a third operated object sample; perform object prediction based on the first operated object sample through an initial object prediction model to obtain a first predicted object sample; use the first predicted object sample as the starting point of the object sample sequence, and perform object sequence expansion based on the first operated object sample and the first predicted object sample through the initial object prediction model to obtain a predicted object sample sequence including the second predicted object sample; and adjust the model parameters of the initial object prediction model through the second object sample sequence and the predicted object sample sequence to obtain an object prediction model.
[0303] In one embodiment, the model acquisition module 2202 is specifically used to perform random masking processing on the object sample features corresponding to each operated object sample through the initial object prediction model to obtain the object sample features after the random masking processing, and determine the operated object samples corresponding to the masked object sample features; perform masked object prediction based on the object sample features after the random masking processing to obtain predicted masked object samples; adjust the model parameters of the initial object prediction model through the second object sample sequence and the predicted object sample sequence, and the predicted masked object samples and the operated object samples corresponding to the masked object sample features to obtain the object prediction model.
[0304] In one embodiment, the model acquisition module 2202 is specifically used to extract sample features of each object through an initial object prediction model; randomly select sample features of each object to determine sample features of the object to be masked; and mask the object attribute sample features in the sample features of the object to be masked to obtain sample features of the object after random masking.
[0305] Each module in the above-mentioned multi-object recommendation device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each module.
[0306] In one embodiment, a computer device is provided. The computer device may be a server or a terminal. In this embodiment, the computer device is described as a server as an example. The internal structure diagram thereof may be as follows: Fig.23As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data related to the embodiment of the present application, such as operated objects and object prediction models. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for recommending multiple objects is implemented.
[0307] Those skilled in the art will understand that Fig.23 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0308] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.
[0309] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0310] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0311] It should be noted that the object information (including but not limited to object device information, object personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the object or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0312] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0313] The technical feature information of the above embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical feature information in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical feature information, they should be considered to be within the scope of this specification.
[0314] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A method for recommending multiple objects, characterized in that: include: Get the operated objects that were triggered to execute operations within the historical time period; Performing object prediction based on the operated object to obtain a predicted object; Taking the predicted object as the starting point of the object sequence, the object sequence is expanded based on the operated object and the predicted object to obtain a predicted object sequence; the newly added predicted object in the predicted object sequence is predicted based on the operated object and the existing predicted objects in the predicted object sequence; The prediction objects in the same prediction object sequence are combined and recommended.
2. The method according to claim 1, characterized in that Taking the predicted object as the starting point of the object sequence, and expanding the object sequence based on the operated object and the predicted object to obtain the predicted object sequence, including: Taking the predicted object as an existing predicted object in a predicted object sequence, and obtaining a starting point of the predicted object sequence; Performing object prediction based on the operated object and existing prediction objects in the prediction object sequence to obtain a newly added prediction object in the prediction object sequence; Adding the newly added prediction object in the prediction object sequence to the prediction object sequence to expand the object sequence; Return to the step of performing object prediction based on the operated object and the existing prediction objects in the prediction object sequence to obtain a newly added prediction object in the prediction object sequence, until the number of object predictions reaches a number threshold.
3. The method according to claim 1, characterized in that: The number of the prediction object sequences is multiple; The combining and recommending the prediction objects in the same prediction object sequence includes: For each of the prediction object sequences, determining the operated historical data of each of the prediction objects in the prediction object sequence; Determining the evaluation score of each of the prediction object sequences according to the operated historical data of each of the prediction objects; Determining a target prediction object sequence from each of the prediction object sequences based on each evaluation score; The prediction objects in the target prediction object sequence are combined and recommended.
4. The method according to claim 1, characterized in that The performing object prediction based on the operated object to obtain a predicted object includes: Extracting object features corresponding to each of the operated objects; Determine the operated object set to which each of the operated objects belongs; Based on the object features of each of the operated objects belonging to the same operated object set, constructing an object set feature of each of the operated object sets; An object prediction is performed based on each of the object features and each of the object set features to obtain a predicted object.
5. The method according to claim 4, characterized in that The extracting the object features corresponding to each of the operated objects includes: Extracting object attribute features corresponding to each of the operated objects; Extracting object ranking features corresponding to each operated object, wherein the object ranking features are used to characterize: ranking information of the operated object in an operated object sequence, wherein the operated object sequence includes the operated objects that are triggered to perform operations within the historical time period; The object characteristics at least include the object attribute characteristics and the object sorting characteristics.
6. The method according to claim 5, characterized in that The extracting the object sorting features corresponding to each operated object includes: Sorting the operated objects based on the number of times each of the operated objects is triggered to perform an operation within the historical time period to obtain sorted operated objects; Extract object sorting features corresponding to each of the sorted operated objects, wherein the object sorting features are used to characterize: sorting information of the sorted operated objects in a sorted operated object sequence, wherein the sorted operated object sequence is constructed based on each of the sorted operated objects.
7. The method according to claim 5, characterized in that The operated objects belonging to the same operated object set are triggered by the same execution operation; The extracting of object features corresponding to each of the operated objects also includes: sorting the operated object sets based on the triggering time at which the operated object sets are triggered to perform operations, and constructing an operated object set sequence; Extracting object set sorting features corresponding to each of the operated object sets, wherein the object set sorting features are used to characterize: sorting information of the operated object set in the sequence of the operated object sets; Wherein, the object features also include the object set sorting features.
8. The method according to claim 4, characterized in that The constructing the object set features of each of the operated object sets based on the object features of each of the operated objects belonging to the same operated object set includes: Performing feature aggregation processing on the object features of each of the operated objects belonging to the same operated object set to construct an object set feature of each of the operated object sets; or, Pooling processing is performed on the object features of each of the operated objects belonging to the same operated object set to construct object set features of each of the operated object sets, and the pooling processing is maximum pooling processing or average pooling processing.
9. The method according to claim 1, characterized in that: The object prediction and the object sequence expansion process are implemented based on the object prediction model; The method for obtaining the object prediction model comprises: Determine a first object sample sequence that is triggered to perform an operation, and a second object sample sequence that is triggered to perform an operation after the first object sample sequence, wherein the first object sample sequence includes a first operated object sample, and the second object sample sequence includes a second operated object sample and a third operated object sample; Performing object prediction based on the first operated object sample using an initial object prediction model to obtain a first predicted object sample; Taking the first predicted object sample as the starting point of the object sample sequence, and performing object sequence expansion based on the first operated object sample and the first predicted object sample by the initial object prediction model to obtain a predicted object sample sequence including a second predicted object sample; The model parameters of the initial object prediction model are adjusted through the second object sample sequence and the predicted object sample sequence to obtain the object prediction model.
10. The method according to claim 9, characterized in that The step of adjusting the model parameters of the initial object prediction model to obtain the object prediction model by using the second object sample sequence and the predicted object sample sequence includes: By using the initial object prediction model, performing random masking processing on the object sample features corresponding to each of the operated object samples to obtain the object sample features after random masking processing, and determining the operated object samples corresponding to the masked object sample features; Predicting a masked object based on the features of the object sample after the random masking process to obtain a predicted masked object sample; The object prediction model is obtained by adjusting the model parameters of the initial object prediction model through the second object sample sequence and the predicted object sample sequence, and the predicted mask object sample and the operated object sample corresponding to the masked object sample features.
11. The method according to claim 10, characterized in that The step of performing random masking on the object sample features corresponding to each of the operated object samples through the initial object prediction model to obtain the object sample features after random masking includes: Extracting sample features of each object through the initial object prediction model; Randomly selecting sample features of each object to determine sample features of the object to be masked; Masking is performed on the object attribute sample features in the to-be-masked object sample features to obtain the object sample features after random masking.
12. A multi-object recommendation device, characterized in that: The device comprises: An object acquisition module is used to acquire the operated objects that were triggered to perform operations within a historical time period; An object prediction module, used to perform object prediction based on the operated object to obtain a predicted object; An object sequence expansion module is used to take the predicted object as the starting point of the object sequence, expand the object sequence based on the operated object and the predicted object, and obtain a predicted object sequence; the newly added predicted object on the predicted object sequence is predicted based on the operated object and the existing predicted objects in the predicted object sequence; The object recommendation module is used to combine and recommend the prediction objects in the same prediction object sequence.
13. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 11 are implemented.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.
15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.
