Service recommendation method and device, equipment, storage medium and program product
By predicting user historical data on the service device side of the smartphone, recommending services and time periods are determined, and reasoning analysis is performed on the terminal device side, the problem of inefficiency of users when looking for services between multiple applications is solved, and efficient and personalized service recommendations are achieved.
Patent Information
- Application Number
- CN202510053292.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-13
- Publication Date
- 2025-05-13
AI Technical Summary
On smartphones, users need to spend a lot of time switching between different applications to find the services they need, especially in complex scenarios and high visits, existing recommendations are difficult to provide low-cost and efficient solutions.
A service recommendation method is proposed, by receiving user history data of the terminal device on the service device side, performing prediction analysis, determining the recommended service and time period, and sending the results to the terminal device for inference analysis to determine the service recommendation result.
It realizes service recommendations for users according to time periods, reduces the frequency of model training and inference, saves costs, and provides more accurate and personalized service recommendation results through collaborative recommendations, improving efficiency and accuracy.
Smart Images

Figure CN119996495A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of intelligent recommendation technology, and in particular to a service recommendation method, device, equipment, storage medium and program product. Background Art
[0002] With the rapid development of Internet technology, terminal devices (such as smartphones) have become an indispensable tool in users' daily lives. Each user's smartphone is loaded with a large number of applications, which include a variety of rich services (such as entertainment, social networking, travel, etc.), and users frequently interact with these services every day.
[0003] However, faced with so many applications and services, users often need to spend a lot of time switching between different applications to find the services they need. Especially for complex scenarios with very high daily visits, how to provide users with a low-cost and efficient recommendation solution is an urgent problem to be solved. Summary of the invention
[0004] The present application proposes a service recommendation method, apparatus, device, storage medium and program product.
[0005] The technical solution of this application is implemented as follows:
[0006] In a first aspect, an embodiment of the present application provides a service recommendation method, which is applied to a terminal device, and the method includes:
[0007] Receiving a prediction result sent by a service device, wherein the prediction result is obtained by the service device based on the user's historical data, and the prediction result includes at least one set of recommendation parameters, each set of recommendation parameters includes a recommended service and a recommended time period;
[0008] Perform reasoning analysis on the prediction results to determine a service recommendation result for at least one time period.
[0009] In a second aspect, an embodiment of the present application provides a service recommendation method, which is applied to a service device, and the method includes:
[0010] Receive user historical data sent by terminal devices;
[0011] Performing prediction analysis based on user historical data to determine at least one set of recommendation parameters; wherein each set of recommendation parameters includes a recommended service and a recommended time period;
[0012] At least one set of recommendation parameters is sent to the terminal device, so that the terminal device determines a service recommendation result for at least one time period.
[0013] In a third aspect, an embodiment of the present application provides a terminal device, the terminal device comprising a receiving unit and an inference unit, wherein:
[0014] A receiving unit configured to receive a prediction result sent by a service device, wherein the prediction result is obtained by the service device based on user historical data, and the prediction result includes at least one set of recommendation parameters, each set of recommendation parameters includes a recommended service and a recommended time period;
[0015] The reasoning unit is configured to perform reasoning analysis on the prediction result to determine a service recommendation result for at least one time period.
[0016] In a fourth aspect, an embodiment of the present application provides a terminal device, which includes a memory and a processor, the memory storing a computer program executable on the processor, and the processor being used to implement the method described in the first aspect when executing the computer program.
[0017] In a fifth aspect, an embodiment of the present application provides a service device, the service device comprising a receiving unit, a prediction unit and a sending unit, wherein:
[0018] A receiving unit configured to receive user history data sent by a terminal device;
[0019] A prediction unit, configured to perform prediction analysis based on user historical data to determine at least one set of recommendation parameters; wherein each set of recommendation parameters includes a recommended service and a recommended time period;
[0020] The sending unit is configured to send at least one set of recommendation parameters to the terminal device, so that the terminal device determines the service recommendation result of at least one time period.
[0021] In a sixth aspect, an embodiment of the present application provides a service device, which includes a memory and a processor, the memory storing a computer program executable on the processor, and the processor being used to implement the method described in the second aspect when executing the computer program.
[0022] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in the first aspect, or implements the method as described in the second aspect.
[0023] In an eighth aspect, an embodiment of the present application provides a computer program product, including a computer program or instructions, which, when executed by a processor, implements the method described in the first aspect, or implements the method described in the second aspect.
[0024] The embodiments of the present application provide a service recommendation method, apparatus, device, storage medium and program product. On the service device side, user history data sent by the terminal device is received; prediction analysis is performed based on the user history data to determine at least one set of recommendation parameters; each set of recommendation parameters includes a recommended service and a recommended time period; and at least one set of recommendation parameters is sent to the terminal device. On the terminal device side, a prediction result sent by the service device is received, the prediction result includes at least one set of recommendation parameters; reasoning analysis is performed on the prediction result to determine a service recommendation result for at least one time period. In this way, with "recommended service + recommended time period" as the basic recommendation unit, the service device analyzes the user's historical data and can predict his or her behavior trend in the future; and sends at least one set of recommendation parameters to the terminal device for reasoning analysis, so as to obtain a service recommendation result for at least one time period; thereby not only being able to recommend services to users according to time periods, but also reducing the frequency of model training and reasoning, thereby achieving the purpose of cost saving; in addition, by deploying model training and model recommendation in the service device, the power consumption of the terminal device caused by model training and real-time reasoning can also be reduced; compared with the recommendation method based on artificial rules, this method is based on the collaborative recommendation of the service device and the terminal device, and can provide users with more accurate and personalized service recommendation results, thereby improving the efficiency and accuracy of service recommendations. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 A schematic diagram of service recommendation entrances on the mobile desktop;
[0026] Figure 2 A schematic diagram of an application scenario of a recommendation system provided in an embodiment of the present application;
[0027] Figure 3 A schematic diagram of the overall process of a recommendation system provided in an embodiment of the present application;
[0028] Figure 4 A flow chart of a service recommendation method provided in an embodiment of the present application Figure 1 ;
[0029] Figure 5 A flow chart of a service recommendation method provided in an embodiment of the present application Figure 2 ;
[0030] Figure 6 A flow chart of a service recommendation method provided in an embodiment of the present application Figure 3 ;
[0031] Figure 7 A flowchart of a model training method provided in an embodiment of the present application;
[0032] Figure 8A schematic diagram of the composition structure of a service recommendation model provided in an embodiment of the present application;
[0033] Fig. 9 A detailed flowchart of a service recommendation method provided in an embodiment of the present application;
[0034] Fig.10 A schematic diagram of the technical principle of a service recommendation method provided in an embodiment of the present application;
[0035] Fig.11 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application;
[0036] Fig.12 A schematic diagram of the composition structure of a service device provided in an embodiment of the present application;
[0037] Fig.13 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0038] In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present application.
[0039] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0040] It should also be noted that the terms "first\second\third" involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
[0041] It should also be noted that in the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it can be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict.
[0042] To facilitate understanding of the technical solutions of the embodiments of the present application, the relevant technologies of the embodiments of the present application are described below. The following related technologies can be arbitrarily combined with the technical solutions of the embodiments of the present application as optional solutions, and they all belong to the protection scope of the embodiments of the present application.
[0043] With the rapid development of Internet technology, terminal devices (such as smartphones) have become an indispensable tool in users' daily lives. Every user's smartphone is loaded with a large number of applications, which contain a variety of rich services (such as entertainment, social networking, travel, etc.), and users interact with these services frequently every day. However, faced with so many applications and services, users often feel confused and cumbersome when looking for specific functions or content.
[0044] As the main entrance for users to interact with devices, the layout and organization of applications on the mobile desktop directly affect the user experience. Although many applications provide search functions, in actual use, users often need to spend a lot of time switching between different applications to find the services they need. This not only reduces the user's operating efficiency, but also makes the user experience less smooth.
[0045] In today's rapidly changing Internet environment, recommendation technology has become an important means to improve user experience and is widely used in various online platforms. Many Internet companies are committed to providing personalized recommendation services to meet the diverse needs of users through real-time model access and update. However, the scenario described in the embodiment of the present application is significantly different from the traditional Internet recommendation scenario.
[0046] In the traditional Internet recommendation environment, there are many types of items, user interests change rapidly, and user feedback takes various forms, including likes, forwarding, collections, and recommending content to friends. This diversified feedback mechanism enables the recommendation system to adjust in real time to meet the immediate needs of users. However, the scenarios focused on in the embodiments of the present application are mainly concentrated on various entrances of smartphones, such as the small suggestions, fluid cloud, and negative one screen on the mobile phone desktop, which provide users with new ways to recommend services. Figure 1 As shown, here are the schematic locations of Fluid Cloud 101 and Xiaobu Suggestion 102 on the mobile phone desktop. Fluid Cloud 101 can present the application service status and content in the form of capsules or cards, so that important information can be obtained at any time; Xiaobu Suggestion 102 can provide users with personalized service reminders and shortcut functions by identifying the user's usage scenarios and learning the user's preferences. Among them, Xiaobu Suggestion 102 in the bold box is an important recommendation entry for service recommendation, which can provide users with a rich variety of card service recommendations, covering multiple categories such as news, applications, tools, etc., aiming to comprehensively improve the user experience.
[0047] Although some recommendation schemes already exist in the related art, the scenarios of the existing recommendation schemes are relatively simple. The scenario of the embodiment of the present application is the service recommendation of a mobile phone, which is relatively complex and needs to support multiple business directions (such as news, entertainment, transportation, smart assistants, etc.), and the daily visit volume is very high, so it is necessary to find a low-cost and efficient recommendation scheme to avoid the high cost and client power consumption problems caused by real-time access reasoning.
[0048] Based on this, the embodiments of the present application provide a service recommendation method, apparatus, device, storage medium and program product. On the service device side, user history data sent by the terminal device is received; prediction analysis is performed based on the user history data to determine at least one set of recommendation parameters, each set of recommendation parameters includes a recommended service and a recommended time period; and at least one set of recommendation parameters is sent to the terminal device. On the terminal device side, a prediction result sent by the service device is received, the prediction result includes at least one set of recommendation parameters; the prediction result is inferred and analyzed to determine a service recommendation result for at least one time period.
[0049] In this way, considering the cost factor and the fact that the user's interest in the desktop widget suggestions does not change much, as well as avoiding the high cost and client power consumption problems caused by real-time access reasoning, the embodiment of the present application can choose an offline recommendation solution. Among them, taking "recommended service + recommended time period" as the basic recommendation unit, the service device analyzes the user's historical data and can predict its behavior trend in the future; and sends at least one set of recommendation parameters obtained to the terminal device for reasoning analysis, and can obtain a service recommendation result for at least one time period; thereby, it can not only achieve service recommendations for users according to time periods, but also reduce the frequency of model training and reasoning, so as to achieve the purpose of cost saving; in addition, by deploying model training and model recommendation in the service device, it can also reduce the power consumption of the terminal device caused by model training and real-time reasoning; compared with the recommendation method based on artificial rules, the embodiment of the present application uses collaborative recommendation based on service devices and terminal devices, which can provide users with more accurate and personalized service recommendation results, thereby improving the efficiency and accuracy of service recommendations.
[0050] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0051] In one embodiment of the present application, Figure 2 A schematic diagram of an application scenario of a recommendation system provided in an embodiment of the present application. Figure 2 As shown, the recommendation system 200 may include a terminal device 110, a service device 120 and a communication network 130. The terminal device 110 establishes a connection with the service device 120 via the communication network 130, and information transmission is supported between the terminal device 110 and the service device 120.
[0052] In the embodiment of the present application, the communication network 130 may be a wide area network or a local area network, or a combination of the two. The service device 120 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, and functional modules such as big data and artificial intelligence platforms. The terminal device 110 may be any terminal device, such as a smart phone, a tablet computer, a laptop computer, a PDA, a personal digital assistant, a smart TV, a smart watch, a vehicle-mounted device, a wearable device, and other electronic devices with communication functions, but is not limited thereto.
[0053] In a possible implementation, the terminal device 110 may be referred to as a "client" and the service device 120 may be a cloud device, or simply referred to as a "cloud". The information recommendation scheme of the embodiment of the present application may be completed by the terminal device 110 and the service device 120. Among them, model training and model recommendation for predicting future intention tendencies are deployed in the service device 120, and the terminal device 110 is provided with an inference engine module for inferring and analyzing the prediction results issued by the service device 120 and presenting them to the user in the form of a card.
[0054] In the embodiment of the present application, the recommendation system 200 is widely used in many scenarios to recommend content that users may be interested in. For example, in product and service purchase scenarios, products or services that users may be interested in can be recommended to users; in information interaction scenarios, advertisements, audio, video, news and other content that users may be interested in can be recommended to users; even in marriage or dating scenarios, people that users may be interested in or may know can be recommended to users; and so on.
[0055] In some embodiments, Figure 3 The overall flow diagram of a recommendation system provided in the embodiment of the present application is as follows. Figure 3 As shown, the service device includes a cloud rule module 301 and a cloud recommendation module 302, and the terminal device includes an inference engine module 303. Here, the developer first writes preset rules and writes these preset rules into the cloud rule module 301. These preset rules may include rule logic that needs to be met, preconditions (such as whether an application (Application, App) needs to be installed, etc.), dynamic parameters, etc. Then, the cloud rule module 301 sends the rules to the inference engine module 303, so that multiple rule files are stored in the inference engine module 303. After obtaining the recommended parameters for predicting the future, the cloud recommendation module 302 encapsulates the recommended parameters and sends them to the inference engine module 303; finally, the inference engine module 303 loads the recommended parameters into the rule file and performs inference, and presents the obtained service recommendation results to the user in a preset form (such as a card).
[0056] That is to say, in the card display suggested by Xiaobu, its presentation logic is based on an intelligent reasoning engine module, which is deployed on the mobile phone and stores multiple rule files internally. These rule files are responsible for the card generation logic of different services. In addition, the cloud is configured with a variety of dynamic recommendation parameters to meet the personalized needs of users. After the cloud recommendation module sends these recommendation parameters, the reasoning engine module can perform intelligent reasoning according to the preset logic, and finally generate and display the corresponding service card. The following will take Xiaobu's suggested card service recommendation as an example to explain the technical solution in detail.
[0057] In the recommendation scenario suggested by Xiaobu, the number of card items is relatively limited, only a few hundred, and the user's interest changes are relatively slow. At the same time, the user's feedback mechanism is relatively simple, mainly manifested in clicking on the card. The scarcity of this feedback makes it difficult for the traditional Internet real-time recommendation model to play its due effect. Therefore, for this specific scenario, a new service recommendation scheme is proposed here. This scheme recommends to users according to time periods, and by pre-inferring the user's intentions in the future, these recommendation parameters are encapsulated and sent to the inference engine module of the terminal device, and finally the service card is presented to the user through the inference engine module. This can not only effectively reduce the cost of model training and data updating, but also improve the efficiency and accuracy of recommendations, especially for situations where users have low frequency of access to the terminal desktop and their interests do not change drastically.
[0058] In another embodiment of the present application, Figure 4 A flow chart of a service recommendation method provided in an embodiment of the present application Figure 1 .like Figure 4 As shown, the method may include:
[0059] S401: Receive a prediction result sent by a service device.
[0060] In an embodiment of the present application, the service recommendation method is applied to a terminal device. Since the application scenario of the service recommendation method is mainly for situations where interests such as news, entertainment, and social interaction do not change dramatically, it is not necessary to have high real-time performance at this time; and considering that model training and real-time recommendation will increase the power consumption of the terminal device, the terminal device no longer deploys modules such as model training and model recommendation for predicting future intention tendencies, and the terminal device can directly receive the prediction results sent by the service device. Among them, the prediction results here are obtained by the service device based on the user's historical data.
[0061] In some embodiments, the method may further include: acquiring user history data; and sending the user history data to a service device.
[0062] It should be noted that in an embodiment of the present application, the terminal device can obtain user history data used to characterize the user's past behavior, and send the user history data to the service device so that the service device can perform model training and make predictions based on the trained recommendation model, thereby obtaining the service cards that the user may click in the future and the corresponding time periods.
[0063] It should also be noted that in an embodiment of the present application, in order to reduce the frequency of model training and predictive reasoning, the service device may perform model training and predictive reasoning once based on a preset period, for example, once a week. Then the service device may send all the prediction results for a period of time in the future to the terminal device at a certain moment. Here, the prediction results may include at least one set of recommendation parameters, and each set of recommendation parameters includes a recommended service and a recommended time period. In other words, the embodiment of the present application uses "recommended services and recommended time periods" as the basic units of recommendation for service recommendation.
[0064] It should be noted that "at least one" here may refer to one or more (two or more than two). Exemplarily, at least one set of recommended parameters may refer to one set of recommended parameters, or two sets of recommended parameters, or may also refer to more sets (more than two sets) of recommended parameters.
[0065] S402: Perform reasoning analysis on the prediction results to determine a service recommendation result for at least one time period.
[0066] In an embodiment of the present application, after the terminal device receives the prediction result sent by the service device, the service recommendation result for at least one time period can be determined by reasoning and analyzing the prediction result, thereby enabling service recommendations to be made to users according to the time period.
[0067] It is understandable that the terminal device includes an inference engine module, and the inference analysis of the prediction result can be performed in the inference engine module. In some embodiments, the method may include: inputting the prediction result into the inference engine module of the terminal device; performing inference analysis on the prediction result through the inference engine module to determine the service recommendation result for at least one time period.
[0068] In the embodiment of the present application, the inference engine module stores multiple rule files, which are responsible for the card generation logic of different services. In some embodiments, the inference engine module performs inference analysis on the prediction results to determine the service recommendation results for at least one time period, which may include: unpacking the prediction results to obtain at least one set of recommendation parameters; performing preset rule processing on at least one set of recommendation parameters to generate a first candidate card set corresponding to at least one time period; and determining the service recommendation results for at least one time period based on the first candidate card set corresponding to at least one time period.
[0069] It should be noted that when the service device sends at least one set of recommended parameters to the terminal device, in consideration of information security and to avoid leaking user privacy, the service device may encapsulate the at least one set of recommended parameters and send the encapsulated prediction result to the terminal device. In this way, after receiving the prediction result, the inference engine module first needs to decapsulate the prediction result to obtain at least one set of recommended parameters.
[0070] It should also be noted that after obtaining at least one set of recommended parameters, this at least one set of recommended parameters can be processed according to preset rules. Specifically, this at least one set of recommended parameters can be input into a corresponding rule file, so that corresponding service cards can be generated to obtain a first candidate card set corresponding to at least one time period; wherein each time period corresponds to a first candidate card set, and the first candidate card set can include one or more service cards.
[0071] In one possible implementation, after obtaining the first candidate card set corresponding to at least one time period, taking the first candidate card set corresponding to the first time period as an example, the method may include: sorting one or more service cards in the first candidate card set to determine the card sorting result corresponding to the first time period; based on the card sorting result corresponding to the first time period, the service recommendation result for the first time period can be determined.
[0072] In the embodiment of the present application, the sorting strategy here can be based on priority, the number of times the service is used, the matching degree with the user, etc., and there is no limitation on this.
[0073] In the embodiment of the present application, the first time period may be any one of the at least one time period. In some embodiments, a preset number of service cards whose rankings meet the requirements in the card sorting results corresponding to the first time period may be determined as the service recommendation results for the corresponding time period.
[0074] In some embodiments, the first preset number of service cards in the card sorting result corresponding to the first time period may be selected to form the service recommendation result for the first time period. The preset number may be set or modified according to actual conditions, for example, the preset number may be set to 3, 5, 6, etc.
[0075] Exemplarily, assuming the preset number is 6, the service recommendation results for the first time period may include 6 service cards, in order of priority from high to low: service card A, service card B, service card C, service card D, service card E and service card F.
[0076] In another possible implementation, considering that the terminal device may have some service cards recommended by other sources, such as some service cards with relatively high real-time reasoning requirements, these service cards need to be comprehensively sorted when determining the final service recommendation result. In some embodiments, the method may also include: obtaining a second candidate card set corresponding to at least one time period.
[0077] In the embodiment of the present application, the second candidate card set corresponding to the at least one time period may be obtained by the terminal device based on other sources. Each time period may correspond to a second candidate card set, and the second candidate card set may also include one or more service cards.
[0078] Correspondingly, determining the service recommendation result of at least one time period based on the first candidate card set corresponding to at least one time period may include: sorting all service cards in the first candidate card set and the second candidate card set corresponding to any time period to obtain the card sorting result of any time period; based on the card sorting result of any time period, determining a preset number of service cards whose rankings meet the requirements in the card sorting result as the service recommendation result of any time period.
[0079] In an embodiment of the present application, all service cards in the first candidate card set and the second candidate card set corresponding to the same time period can be sorted to obtain the card sorting result of the time period. Exemplarily, still taking the first time period as an example, all service cards in the first candidate card set and the second candidate card set corresponding to the first time period are sorted to obtain the card sorting result of the first time period; according to the card sorting result of the first time period, a preset number of service cards whose rankings meet the requirements in the card sorting result are determined as the service recommendation result of the first time period. In this way, not only the first candidate card set predicted based on the user's historical data is considered, but also the second candidate card set from other sources is considered, so that the final service recommendation result is more in line with user needs and the accuracy of the recommendation is improved.
[0080] In the embodiment of the present application, the sorting strategy here can also be based on priority, the number of times the service is used, the matching degree with the user, etc., without any limitation on this.
[0081] In addition, in the embodiment of the present application, still taking the first time period as an example, in some embodiments, a preset number of service cards whose rankings meet the requirements in the card sorting results corresponding to the first time period may be determined as the service recommendation results for the corresponding time period. It should be noted that the card sorting results here are obtained based on the comprehensive sorting of the first candidate card set and the second candidate card set.
[0082] In this implementation, the first preset number of service cards in the card sorting result corresponding to the first time period may also be selected to form the service recommendation result for the first time period. The preset number may be set or modified according to actual conditions, for example, the preset number may be set to 3, 5, 6, etc.
[0083] Exemplarily, assuming the preset number is 6, the service recommendation results for the first time period may include 6 service cards, in order of priority from high to low: service card A, service card B, service card C, service card D, service card E and service card F.
[0084] In some embodiments, still taking the first time period as an example, the method may further include: adjusting the card sorting results corresponding to the first time period based on the diverse needs of the user. In this way, the service recommendation results determined for the first time period according to the re-sorted card sorting results are more accurate and more in line with the needs of the user; and the service recommendation is made more intelligent and personalized, which can achieve a positive interaction between the user and the service.
[0085] It is also understandable that after obtaining the service recommendation result for at least one time period, the service recommendation result is cached in the inference engine module. Figure 5 After step S402, the method may further include:
[0086] S501, in response to a user's access request to a target page, push service recommendation results for the current period to the target page for display.
[0087] In an embodiment of the present application, the target page may refer to a page where a preset component (such as a service recommendation portal such as Fluid Cloud or Xiaobu Suggestion) is located, or may refer to a page preset in a client application for content recommendation. When a user enters the target page through interactive operations such as clicking or sliding, an access request to the target page is triggered, thereby triggering the terminal device to present the service recommendation results of the current time period on the target page, thereby avoiding excessive interference to the user caused by the presentation of the service recommendation results. Here, the current time period may refer to the time period at the current moment when the access request is triggered.
[0088] Exemplarily, the target page may be the first page where Xiaobu's suggestion is located. When the user slides to the page, an access request to the first page is triggered, thereby triggering the terminal device to present the service recommendation results for the current period on the first page. Alternatively, the target page may also be the homepage of the client application. Accordingly, when the user starts the client application (i.e., opens the homepage of the client application), an access request to the homepage of the client application is triggered, thereby triggering the terminal device to present the service recommendation results for the current period on the first page.
[0089] It should be noted that in this embodiment of the present application, assuming that the number of service cards that can be presented in the target page at a time is three, then after triggering the access request to the target page, the three service cards with the highest priority in the service recommendation results of the current time period can be presented in the target page.
[0090] In some embodiments, the method may further include: in response to a user's request to update the target page, updating the service recommendation results displayed in the target page during the current period.
[0091] It should also be noted that in an embodiment of the present application, if the three service cards displayed in the target page have been viewed or the user is not very interested in them, the user can also click the "Refresh" button to trigger an update request for the target page. At this time, the service recommendation results displayed in the target page for the current period can be updated.
[0092] Exemplarily, assuming that the service recommendation results for the current time period include 9 service cards, the three service cards with the highest priority in the service recommendation results are first presented on the target page; if the user clicks the "Refresh" button, it triggers a request to update the target page, which can also trigger the terminal device to present the three service cards with the second highest priority in the service recommendation results for the current time period on the target page; if the user clicks the "Refresh" button again, it triggers a request to update the target page again, and at this time the terminal device can also be triggered to present the last three service cards in the service recommendation results for the current time period on the target page. There is no limitation here.
[0093] In some embodiments, assuming that the terminal device further includes a timer, the method may further include: based on the timer of the terminal device, when the time duration of the timer reaches the first time period, pushing the service recommendation result of the first time period to the target page for display.
[0094] That is to say, in the embodiment of the present application, when the user visits the target page, if the timer reaches the first time period, the service recommendation results of the first time period can also be pushed to the target page for display. For example, assuming that the service recommendation result of one of the time periods is "social platform A + 12 hours", that is, the intention to order food may be generated on social platform A at 12 noon. Then when the timer is represented as 12 noon, the service recommendation results (such as the service card corresponding to social platform A) can be presented in the target page to facilitate users to order food at noon.
[0095] The embodiment of the present application provides a service recommendation method, which is applied to a terminal device. Receive a prediction result sent by a service device, the prediction result includes at least one set of recommendation parameters; perform reasoning analysis on the prediction result to determine a service recommendation result for at least one time period. In this way, with "recommended service + recommended time period" as the basic recommendation unit, the service device sends the obtained at least one set of recommendation parameters to the terminal device for reasoning analysis, and can obtain a service recommendation result for at least one time period; thereby, not only can service recommendations be made to users according to time periods, but also because model training and model recommendation are deployed in the service device, the power consumption of the terminal device caused by model training and real-time reasoning can be reduced; compared with the recommendation method based on artificial rules, this method is based on the collaborative recommendation of the service device and the terminal device, and can provide users with more accurate and personalized service recommendation results, thereby improving the efficiency and accuracy of service recommendations.
[0096] In another embodiment of the present application, Figure 6 A flow chart of a service recommendation method provided in an embodiment of the present application Figure 3 .like Figure 6 As shown, the method may include:
[0097] S601, receiving user history data sent by a terminal device.
[0098] In the embodiment of the present application, the service recommendation method is applied to the service device (or "cloud device"). Since the application scenario of the service recommendation method is mainly for news, entertainment, social interaction and other situations where interest changes are not drastic, it is not necessary to have high real-time performance at this time, and in order to reduce the power consumption of the terminal device, the model training and the model recommendation for predicting future intention tendencies are deployed on the service device. Among them, the user history data used here are all sent by the terminal device.
[0099] S602, performing prediction analysis based on user historical data to determine at least one set of recommendation parameters; wherein each set of recommendation parameters includes a recommended service and a recommended time period.
[0100] In an embodiment of the present application, the service device can identify the user's potential needs by analyzing the user's behavior over a period of time, that is, performing an in-depth analysis of the received user historical data, thereby predicting the service cards and time periods that the user may click in the future.
[0101] It is understandable that in the embodiment of the present application, a service recommendation model can be predetermined, and the service recommendation model mainly uses past data to predict future user behavior. Here, the service recommendation model adopts a recommendation algorithm, and is obtained by model training based on a training sample set in user historical data.
[0102] In some embodiments, for model training, see Figure 7 , the method may include:
[0103] S701, obtaining a training sample set from user historical data; wherein the training sample set includes at least one positive sample and at least one negative sample.
[0104] S702, extract features from the training sample set and construct a feature library; wherein the feature library includes multiple sample features, and the sample features include at least one of user portraits, object portraits, and scene features.
[0105] S703: Input multiple sample features in the feature library into a preset model for model training.
[0106] S704: When the model training meets the preset convergence condition, the trained preset model is determined as the service recommendation model.
[0107] In the embodiment of the present application, a training sample of T (T>0) days can be constructed based on the user's historical data, for example, the sample features of TN (N>0) to T-1 are used to correspond to the label of T days, so as to ensure that the model can capture the dynamic changes of user behavior. The training sample can be a positive sample or a negative sample.
[0108] In some embodiments, positive samples may include samples clicked by users; negative samples may include randomly sampled samples and difficult negative samples; wherein, difficult negative samples include at least one of the following: samples whose matching degree meets preset conditions, samples whose exposure times are greater than a first threshold and whose click times are less than a second threshold.
[0109] In an embodiment of the present application, in order to enhance the model's attention to details, samples with moderate matching degrees can be selected as difficult negative samples. For example, by adding rooms in the same city and "rejected by the host" as negative samples, the learning difficulty is increased. When the business logic is not obvious, you can rely on the previous version of the recall model to select "not so similar" samples as difficult negative samples. For example, materials with recall positions between 101 and 500 are used as negative samples. In an embodiment of the present application, combined with the actual situation of card recommendation, cards randomly sampled from a batch are used as simple negative samples. At the same time, cards that have been exposed many times but are rarely clicked or not clicked by users are used as difficult negative samples.
[0110] In this way, by classifying difficult negative samples as negative samples, the model can be forced to distinguish between these samples and improve its discrimination ability. It should be noted that difficult negative samples are a supplement to simple negative samples, not a replacement. The improved negative sample sampling strategy can improve the personalized recommendation ability of the recommendation system and the learning ability of the model by introducing difficult negative samples.
[0111] It should also be noted that in the embodiments of the present application, a feature library can be constructed according to business needs. Here, the feature library can be obtained based on feature extraction of a training sample set. Feature engineering can be an important technology in the field of machine learning and data mining, involving a series of processing and conversion of raw data in order to extract the most useful features for model training and prediction, such as user portraits, object portraits, and scene features.
[0112] For user portraits, user portraits can include static portraits and dynamic portraits. Among them, static portraits mainly refer to the basic attribute characteristics of users, and the update frequency is monthly. Exemplarily, the content includes but is not limited to: user ID, model, gender, age, education level, occupation type, income level, consumption level, whether a college student, mobile phone brand, etc. In addition, a feature library can be established based on the user's click exposure, and the content includes but is not limited to: the cumulative number of clicks, exposure times, number of days from the last click, number of exposures within hours, number of clicks and exposure duration of a certain card by the user. The number of exposures, clicks and exposure duration of general cards by the user. The above-mentioned feature library is a dynamic feature library, and the update frequency is daily. Among them, the cumulative clicks and distance from the last click features can well distinguish the newness and oldness of users. In this way, by analyzing these user portrait features, users' preferences and behavior patterns can be more comprehensively understood.
[0113] For item portraits, since the number of items in this technical solution is relatively small, the following item features are basically updated on a daily basis. The feature content includes but is not limited to: card ID, recent exposure times, exposure duration, mean and variance of click times, card classification and score, etc.
[0114] In the embodiment of the present application, the item may refer to a card, but this is not limited to any particular card. In this way, the construction of the item portrait can evaluate the popularity of the card and the user's acceptance, so that cards with good performance are preferentially displayed during recommendation.
[0115] For scene features, scene features are mainly the contextual environment when users interact with cards. They are used to construct training labels and distinguish the activity levels of users in different time periods. The feature content includes but is not limited to: card exposure time, whether it is a weekend, whether it is a holiday, etc.
[0116] It is also understandable that in the embodiment of the present application, there are active users and inactive users in each scenario, and their performance is inconsistent. Therefore, when training the model, users can be divided into active users and inactive users based on whether they have clicked on the recommended card within a month.
[0117] Accordingly, in some embodiments, inputting a plurality of sample features in the feature library into a preset model for model training may include: determining a first group of sample features corresponding to active users and a second group of sample features corresponding to inactive users based on the plurality of sample features in the feature library; wherein the first group of sample features includes at least one first sample feature, and the second group of sample features includes at least one second sample feature;
[0118] Performing model training on a first sub-model in a preset model according to the first set of sample features, and performing model training on a second sub-model in the preset model according to the second set of sample features;
[0119] When the model training meets the preset convergence condition, the trained first sub-model can be determined as the first sub-model in the service recommendation model, and the trained second sub-model can be determined as the second sub-model in the service recommendation model.
[0120] In an embodiment of the present application, the model training satisfies a preset convergence condition, which may include: the number of model training times satisfies a preset number of times, or the loss function of the model after training reaches a preset loss value, etc.
[0121] It should also be noted that in the embodiment of the present application, for active users, there is relatively rich behavioral data, so the first sub-model can include 3 modules: multi-way recall, fine sorting and re-sorting modules; for inactive users, the second sub-module can include 2 modules: cold start recall and re-sorting modules. Among them, active users and inactive users share the re-sorting module. This hierarchical recommendation strategy can effectively improve the recommendation effect of different user groups. Figure 8 As shown, the composition structure of the service recommendation model 80 is schematically provided here. The processing process of the relevant links in the model is described in detail below.
[0122] (1) Multi-channel recall module:
[0123] Since the purpose of the recommendation system is to predict the cards and time periods that may be clicked in the future, all cards and time periods must be inferred (to obtain the top-ranked cards and time periods), which is equivalent to doing a Cartesian product of the user and all cards and time periods. If an end-to-end algorithm is used, the training data constructed will be very large and resource-intensive. Therefore, a multi-way recall is designed to relieve the pressure. In the recall stage, the algorithm model is relatively simple, and the item features and user features are independent and do not need to be mixed. The amount of data is not as large as the end-to-end algorithm. Multi-way recall can include the following methods:
[0124] a. Recall based on the user's active time period when using the application: Most of the recommended cards are bound to the application, such as social platform B. It can be inferred that the user is more active in the time period, so that the next time the card related to the content of social platform B is pushed to the user in advance.
[0125] b. Recall based on historical data: Obtain the cards and time periods that users have clicked more frequently in the past to improve the relevance of recommendations.
[0126] c. Use item collaborative filtering (ItemCF) for recall: Currently, the number of card items is relatively small compared to the number of users. It is easier to only maintain the similarity matrix of items, so itemCF is used.
[0127] d. Dual-tower model recall: This is the main force of recall. The design of the item tower and the user tower are both relatively simple neural networks with several layers. It should be noted here that the model should be exposed to the real environment as much as possible. In addition to the samples that users click and expose, the samples that other users do not click and expose should also be included in the model training. Therefore, the main focus is on sample processing.
[0128] In the recommendation system, the sample sampling method has an important impact on the effectiveness of the model. The recommendation method of the related art uses click samples as positive samples and random samples as negative samples. However, this recommendation method may cause the model to rely too much on a few popular materials and lose the ability to make personalized recommendations. This technical solution analyzes the shortcomings of the existing negative sample sampling strategy and proposes an improvement plan. Among them, positive samples usually come from users' click behaviors, while negative samples are obtained through random sampling. However, the probability of random sampling is not clearly set in the related art, which can easily lead to the model being biased towards a few popular materials. In the recommendation system, the 80 / 20 rule phenomenon is prevalent, that is, a few popular materials occupy most of the exposure and clicks. Therefore, it is necessary to downsample the popular materials to reduce their impact on the positive sample set. When certain materials are used as negative samples, they should be appropriately oversampled to balance the sample distribution and ensure the chance of unpopular materials appearing.
[0129] In order to enhance the model's attention to details, it is necessary to select samples with moderate matching as difficult negative samples. By adding rooms in the same city and "rejected by the host" as negative samples, the learning difficulty is increased. When the business logic is not obvious, you can rely on the previous version of the recall model to select "not so similar" samples as difficult negative samples. For example, materials with recall positions between 101 and 500 can be used as negative samples.
[0130] In this technical solution, combined with the actual situation of card recommendation, randomly sampled cards in the batch are used as simple negative samples. At the same time, cards that are exposed many times but rarely clicked or not clicked by users are used as difficult negative samples. By classifying difficult negative samples as negative samples, the model can be forced to draw a clear line with these samples and improve its discrimination ability. It should be emphasized that difficult negative samples can be a supplement to simple negative samples, not a replacement. The improved negative sample sampling strategy improves the personalized recommendation ability of the recommendation system and the learning ability of the model by introducing difficult negative samples.
[0131] (2) Fine sorting module:
[0132] Here, we use the click-through rate (CTR) ranking method and use the area under the curve (AUC) as the offline measurement indicator. This step is based on multi-channel recall to improve the accuracy of prediction. The click-through rate refers to the number of card clicks / card exposure times.
[0133] In this phase, the model only uses the user click exposure data as model training data. Due to the small amount of data, feature cross modules and more network layers can be added to the model in this step, so as to increase the correlation between features and increase the complexity of Moxido reasoning, making the recommendation results more accurate.
[0134] For inactive users, there are the following types of inactive users: new device users, users who have not clicked for a long time, etc. Since we don’t know the preferences of this group of users, we adopt a variety of strategies to test the users in the early stage, so as to quickly pass the exploration period. In the cold start stage, the main exploration strategies include the following:
[0135] a. Global popular recommendations: Ensure that inactive users can access the most popular content at the moment:
[0136] ① The 8 with the highest CTR in the past period of time (the dimension is card plus time period);
[0137] ② The 8 with the most clicks in the past period of time (the dimension is card plus time period);
[0138] ③ Click the time period with the highest CTR in the past period (for example, in hours), and then obtain the card with the highest CTR in this period and send it out.
[0139] b. Upper Confidence Bound (UCB) recommendation: Combine the feedback from active users with random elements to explore new recommendation possibilities.
[0140] c. Use the algorithm model of active users for prediction: The main approach is to ignore user ID features and make inferences based on other auxiliary information.
[0141] d. Build a decision tree based on user portraits (such as basic user information), cluster user features, and obtain the top 10 cards most favored by this type of user to ensure personalized and accurate recommendations.
[0142] (3) Rearrangement module:
[0143] In the re-ranking stage (mainly considering: diversity and popularity), the Maximum Marginal Relevance (MMR) re-ranking algorithm and human strategies can be added to ensure the diversity of recommended items.
[0144] When implementing the MMR algorithm, the embedding of items comes from the algorithm model of active users, from which the embedding vector of items is extracted to evaluate the similarity of items. Here, embedding refers to mapping category features such as user IDs into multi-dimensional vector representations, and their similarity can be measured by distance in vector space.
[0145] In this way, after controlling the diversity of items through MMR, a manual strategy will be set here to ensure the overall rationality of the card output through manual filtering results. For example, the specific strategy may include:
[0146] Eliminate users who do not meet the card issuance conditions: Some terminal devices do not meet the card issuance conditions for certain specific cards. For example, the card of social platform C requires users to install the corresponding application of social platform C.
[0147] Limit the types of cards that appear in a certain hour: On the mobile desktop, Xiaobu recommends fewer slots. If many cards are pushed at the same time, some cards will not get the opportunity to be exposed due to competition.
[0148] Limit the number of time slots for the same card: Avoid user fatigue.
[0149] Limit the frequency of advertising cards: avoid them appearing in a certain period of time to improve user experience.
[0150] It can also be understood that in the embodiments of the present application, after obtaining a pre-built service recommendation model through model training, prediction can be performed based on the service recommendation model. In some embodiments, the user history data also includes data to be predicted. Accordingly, performing prediction analysis based on the user history data to determine at least one set of recommendation parameters may include: extracting features from the data to be predicted to determine prediction features; inputting the prediction features into the service recommendation model to obtain at least one set of recommendation parameters.
[0151] In the embodiment of the present application, the service recommendation model is obtained by the service device performing model training based on a training sample set in the user's historical data. The specific model training process can be found in the aforementioned content.
[0152] In some embodiments, inputting the predicted features into a service recommendation model to obtain at least one set of recommendation parameters may include: determining a user type based on the predicted features;
[0153] When the user type is an active user, the prediction features are multi-channel recalled and sorted by the first sub-model in the service recommendation model to determine at least one set of recommendation parameters; or,
[0154] When the user type is an inactive user, a second sub-model in the service recommendation model is used to perform cold start recall and sorting processing on the prediction features to determine at least one set of recommendation parameters.
[0155] In the embodiment of the present application, the user types here may include active users or inactive users. Among them, cold start recall refers to the process of using specific strategies and methods to enable new items to quickly gain exposure and recommendation opportunities when they are just released. Here, cold start recall mainly solves the problem of how new items can quickly gain exposure. In the recommendation system, it is difficult for new items to obtain recommendation opportunities through traditional recommendation algorithms due to the lack of historical interaction data. Therefore, cold start recall technology is particularly important.
[0156] In the embodiment of the present application, the prediction features may include at least one of user portraits, item portraits and scene features. Among them, the service recommendation model adopts a recommendation algorithm to recommend related services that may be of interest to users by analyzing the user's long-term historical behavior, content of interest and other characteristics.
[0157] In addition, in the embodiment of the present application, active users refer to users who frequently use or access a product or service in a specific time period, and have relatively rich behavioral data. At this time, three links can be included: recall, fine sorting, and re-sorting; and inactive users refer to users who rarely or almost never use a product or service in a specific time period. The hobbies of this group of users are unknown. At this time, the two links of cold start recall and re-sorting can be adopted. Among them, active users and inactive users share the re-sorting link. This hierarchical recommendation strategy can effectively improve the recommendation effect of different user groups.
[0158] In some embodiments, the method may further include: determining a recommendation strategy for the user based on the predicted features; and obtaining at least one set of recommendation parameters through a service recommendation model based on the recommendation strategy.
[0159] In the embodiments of the present application, the recommendation strategies may include fixed time period recommendation strategies, differentiated recommendation strategies for weekdays and weekends and holidays, and daily dynamic change recommendation strategies, etc., which are not specifically limited here.
[0160] Exemplarily, for a fixed time period recommendation strategy: the same cards always appear in a specific time period on multiple dates. This approach is suitable for scenarios where user habits are stable and needs are consistent. For differentiated recommendation strategies for weekdays, weekends and holidays: considering the differences in user interests between weekdays and non-working days, the recommended content for weekends and holidays is different from that for weekdays. This flexibility can better adapt to the user's pace of life. For daily dynamic change recommendation strategies: for each user, the daily cards and recommended time periods may be different. This method can respond to users' changing needs in a timely manner, thereby improving the accuracy of recommendations. Through these time-sensitive recommendation strategies, we can more effectively meet users' immediate needs and significantly improve click-through rates and user satisfaction. This technical form of design not only enhances the intelligence level of the recommendation system, but also provides users with a more personalized service experience.
[0161] In this way, by recommending services to users based on the service recommendation model, at least one set of recommendation parameters can be obtained, wherein each set of recommendation parameters can include a recommended service and a corresponding recommended time period.
[0162] S603: Send at least one set of recommendation parameters to the terminal device, so that the terminal device determines a service recommendation result for at least one time period.
[0163] In an embodiment of the present application, after obtaining at least one set of recommended parameters, the at least one set of recommended parameters may be sent to the terminal device. However, in consideration of information security and to avoid leaking user privacy, the service device may encapsulate the at least one set of recommended parameters. In some embodiments, sending the at least one set of recommended parameters to the terminal device may include: encapsulating the at least one set of recommended parameters to generate a prediction result to be sent; and sending the prediction result to the terminal device.
[0164] In the embodiment of the present application, the service device side can encapsulate at least one set of recommended parameters through a preset protocol. Correspondingly, the terminal device side also needs to decapsulate through a corresponding protocol.
[0165] That is to say, in the embodiment of the present application, after the model training platform on the service device side completes the reasoning of all users, the time period in which the user may issue a card in the future will be encapsulated through a preset protocol. At a unified time, all the encapsulated prediction results are pushed to the reasoning engine module of the terminal device. So that on the terminal device side, different card parameters will be loaded into different rule files of the reasoning engine module. When the user triggers an access request to the location of the Xiaobu suggestion component, the reasoning engine module can perform reasoning to present the relevant card recommendation content to the user.
[0166] The embodiment of the present application provides a service recommendation method, which is applied to a service device. Receive user history data sent by a terminal device; perform predictive analysis based on the user history data to determine at least one set of recommendation parameters; send at least one set of recommendation parameters to the terminal device so that the terminal device determines the service recommendation result of at least one time period. In this way, based on the offline recommendation scheme of user history data, with "recommended service + recommended time period" as the basic recommendation unit, the service device analyzes the user history data, can predict its behavior trend in the future, and sends the obtained at least one set of recommendation parameters to the terminal device for further reasoning and analysis, which not only improves the accuracy of the recommendation, but also greatly reduces the frequency of model training and reasoning, and only needs to perform model training and reasoning on all user history data once every period of time (for example, every week), thereby effectively reducing the cost burden of the algorithm model; compared with the recommendation method based on artificial rules, this method is based on the collaborative recommendation of the service device and the terminal device, which can provide users with more accurate and personalized service recommendation results, thereby improving the efficiency and effect of service recommendation.
[0167] In another embodiment of the present application, based on the aforementioned service recommendation method, Fig. 9 A detailed flow chart of a service recommendation method provided in an embodiment of the present application. Fig. 9 As shown, the detailed process includes:
[0168] S901, the terminal device sends the user's historical data to the service device.
[0169] S902, the service device performs prediction analysis based on the user's historical data to determine at least one set of recommendation parameters; wherein each set of recommendation parameters includes a recommended service and a recommended time period.
[0170] S903: The service device encapsulates at least one set of recommended parameters and generates a prediction result to be sent.
[0171] S904, the service device sends the prediction result to the terminal device.
[0172] S905: The terminal device performs reasoning analysis on the prediction result to determine a service recommendation result for at least one time period.
[0173] S906, the terminal device responds to the user's page access request to the preset component target page by pushing the service recommendation result of the current time period to the preset component target page for display.
[0174] It should be noted that in the embodiment of the present application, taking into account the cost factor and the fact that the user's interest in the desktop widget suggestions does not change much, as well as avoiding the high cost and client power consumption problems caused by real-time access reasoning, a low-cost and efficient offline recommendation solution is provided here. The core of this technical solution is to use user historical data for analysis, predict the user's interests in the future in advance, and centrally send the prediction results at a time point, thereby reducing the model training consumption and the client's access power consumption.
[0175] It should also be noted that in the embodiments of the present application, through in-depth analysis of user historical data, the service recommendation model can identify the user's potential needs and actively recommend relevant services at the appropriate time. This service recommendation method not only improves the accuracy of the recommendation, but also improves the user experience, making the service recommendation more intelligent and personalized. In addition, this technical solution also takes into account the diverse needs of users, and strives to provide the most suitable services in different usage scenarios, thereby achieving a benign interaction between users and services.
[0176] In one possible implementation, taking the terminal device as a mobile phone and the service device as the cloud as an example, this technical solution relies on an offline data warehouse, and by establishing a long-term user feature library, offline prediction of the content of subsequent days. Specifically, by analyzing the user's click behavior on various cards in the past, it is possible to predict the cards and time periods that the user may click in the next few days. After the model training converges, the service recommendation model can send the prediction results to the inference engine module of the user's mobile phone at one time. When the user accesses the relevant interface (such as the interface where Xiaobu's suggestions are located), the inference engine module can display the relevant recommended content in the form of cards. This can not only effectively reduce the pressure of real-time computing, but also improve the user experience.
[0177] In the embodiment of the present application, the parameter content sent to the mobile phone inference engine module includes the potential clicked cards and their recommended time periods. Among them, the card and time (preliminarily set to hours) can be used as the basic unit of recommendation. For example, if it is predicted that a user may have the intention to order food at 12 o'clock tomorrow, a set of recommendation parameters is: "social platform A + 12 hours".
[0178] In some embodiments, the time period recommendation forms here mainly include the following three types:
[0179] (1) Fixed time period recommendation: The same cards always appear in a specific time period on multiple dates. This method is suitable for scenarios where user habits are stable and needs are consistent.
[0180] (2) Differentiated recommendations for weekdays, weekends and holidays: Considering the differences in users’ interests on weekdays and non-weekdays, the recommended content on weekends and holidays is different from that on weekdays. This flexibility can better adapt to the user’s pace of life.
[0181] (3) Daily dynamic recommendation: For each user, the cards and recommendation time periods may be different every day. This method can respond to the changing needs of users in a timely manner, thereby improving the accuracy of recommendations. Through these time-sensitive recommendation strategies, we can more effectively meet the immediate needs of users and significantly improve click-through rate and user satisfaction. This technical form of design not only enhances the intelligence level of the recommendation system, but also provides users with a more personalized service experience.
[0182] In a possible implementation, the process for different recommendation forms is described as follows:
[0183] Step 1: Define the recommendation strategy.
[0184] In the embodiment of the present application, the recommendation strategy here may include:
[0185] (1) Fixed time period recommendation strategy. For example, it can be described as the same card always appears in a specific time period on multiple dates. It is suitable for scenarios where user habits are stable and needs are consistent.
[0186] (2) Differentiated recommendation strategies for weekdays and weekends and holidays. For example, the recommended content for weekdays and weekends / holidays can be different, which can adapt to the user's life rhythm.
[0187] (3) Daily dynamic change recommendation strategy. For example, it can be described as a daily card and recommendation period may be different, which can respond to the changing needs of users in a timely manner.
[0188] Step 2: Aggregate recommendation strategies based on user type.
[0189] In the embodiment of the present application, this step may include:
[0190] If the user has stable user habits, you can add a fixed time period recommendation strategy for the user;
[0191] If the user works on weekdays and takes a break on weekends and holidays, you can add differentiated recommendation strategies for the user on weekdays and weekends and holidays;
[0192] Otherwise, you can add a daily dynamically changing recommendation strategy for users.
[0193] Step 3: Evaluate user satisfaction.
[0194] In the embodiment of the present application, after determining the recommendation strategy, for each recommendation strategy, the following operations may be performed: executing the recommendation strategy (strategy, user); calculating the click rate; and calculating the user satisfaction.
[0195] Step 4: Main execution flow.
[0196] In the embodiment of the present application, this step is to execute the main algorithm, which may mainly include: determining the current user, then obtaining the recommendation strategy corresponding to the current user, and evaluating the user satisfaction (recommendation strategy, user). In this way, suitable recommendation strategies can be provided for different users.
[0197] It is understandable that in the embodiment of the present application, in order to reduce the amount of training data, multiple responses of users to the same card within a certain hour can be combined into one record during the model training stage, thereby reducing the cost of the algorithm model. This data processing method not only optimizes the use of computing resources, but also improves the efficiency of model training.
[0198] For example, Fig.10 A technical principle diagram of a service recommendation method provided in an embodiment of the present application. Fig.10 As shown, the entire service recommendation plan mainly includes:
[0199] (1) Data upload: upload user historical data to the discrete data warehouse (abbreviated as "discrete data warehouse").
[0200] (2) Data extraction: extract features from uploaded user historical data to obtain corresponding feature engineering, such as user images, object portraits, and scene features.
[0201] (3) Model training and construction to obtain a trained service recommendation model 80.
[0202] (4) Model prediction and reasoning: After training, the service recommendation module 80 can obtain at least one set of recommendation parameters, each set of recommendation parameters including a recommended service and a recommended time period.
[0203] (5) Sending future prediction results, encapsulating at least one set of recommended parameters through a data push module, and sending them to the user's mobile phone at a unified time.
[0204] In the embodiment of the present application, for feature engineering, a feature library can be constructed according to business needs. Since the recommendation algorithm of the present technical solution is intended to predict the future, when constructing the training data for T days, the features from TN (N>0) to T-1 are used to correspond to the labels of T days. This process ensures that the model can capture the dynamic changes of user behavior.
[0205] The feature library of the embodiment of the present application may include: user portraits, object portraits and scene features. For the relevant description of each type of feature, please refer to the above content and will not be described in detail here.
[0206] In the embodiment of the present application, for the recommendation algorithm used in the service recommendation model, generally speaking, there are active users and inactive users in each scenario, and their performance is inconsistent. Therefore, when training the model, users are divided into two types of users: active users and inactive users, based on whether they have clicked on the recommendation card within a month.
[0207] For active users, there is relatively rich behavioral data, so there are three links: recall, fine ranking and re-ranking; for inactive users, the cold start recall and re-ranking are adopted. Among them, active users and inactive users share the re-ranking link. This hierarchical recommendation strategy can effectively improve the recommendation effect of different user groups.
[0208] A. Algorithm for active users:
[0209] (1)Multi-channel recall:
[0210] Since the purpose of the recommendation system is to predict the cards and time periods that may be clicked in the future, all cards and time periods must be inferred (to obtain the top-ranked cards and time periods), which is equivalent to doing a Cartesian product of the user and all cards and time periods. If an end-to-end algorithm is used, the training data constructed will be very large and resource-intensive. Therefore, a multi-way recall is designed to relieve the pressure. In the recall stage, the algorithm model is relatively simple, the item features and user features are independent, and do not need to be mixed, and the amount of data is not as large as the end-to-end algorithm. For example, multi-way recall includes the following methods:
[0211] Recall based on the user's active time period when using the app: Most of the recommended cards are bound to the app, such as social platform B. You can infer the time period when the user is more active, so that the next time you push cards related to the content of social platform B to the user in advance.
[0212] Recall based on historical data: Get the cards and time periods that users clicked more frequently in the past to improve the relevance of recommendations.
[0213] Item Collaborative Filtering (ItemCF) is used for recall: Currently, the number of card items is relatively small compared to the number of users, and it is easier to only maintain the similarity matrix of the items, so itemCF is used.
[0214] Dual-tower model recall: This is the main force of recall. The design of the item tower and the user tower are both relatively simple neural networks with several layers. It should be noted here that the model should see the real environment as much as possible. In addition to the samples that users click and expose, the samples that other users do not expose and click should also be included in the model training. Therefore, the main focus is on sample processing.
[0215] In the recommendation system, the sample sampling method has an important impact on the effectiveness of the model. The traditional solution uses click samples as positive samples and random samples as negative samples. However, this solution may cause the model to rely too much on a few popular items and lose the ability to make personalized recommendations. This technical solution analyzes the shortcomings of the existing negative sample sampling strategy and proposes an improvement plan. Among them, positive samples usually come from users' click behaviors, while negative samples are obtained through random sampling. However, the probability of random sampling is not clearly set in the traditional solution, which easily causes the model to be biased towards a few popular items.
[0216] In the recommendation system, the 80 / 20 rule is common, that is, a few popular items occupy most of the exposure and clicks. Therefore, it is necessary to downsample the popular items to reduce their impact on the positive sample set. When popular items are used as negative samples, they should be oversampled appropriately to balance the sample distribution and ensure the appearance of unpopular items.
[0217] In order to enhance the model's attention to details, it is necessary to select samples with moderate matching as difficult negative samples. By adding rooms in the same city and "rejected by the host" as negative samples, the learning difficulty is increased. When the business logic is not obvious, you can rely on the previous version of the recall model to select "not so similar" samples as difficult negative samples. For example, materials with recall positions between 101 and 500 are used as negative samples.
[0218] In this technical solution, combined with the actual situation of card recommendation, randomly sampled cards in the batch are used as simple negative samples. At the same time, cards that are exposed many times but rarely clicked or not clicked by users are used as difficult negative samples. In this way, by classifying difficult negative samples as negative samples, the model can be forced to draw a clear line with these samples and improve its discrimination ability. It should be emphasized that difficult negative samples are a supplement to simple negative samples, not a replacement. The improved negative sample sampling strategy improves the personalized recommendation ability of the recommendation system and the learning ability of the model by introducing difficult negative samples.
[0219] (2) Refined arrangement:
[0220] Here, the CTR (click rate) fine ranking method is adopted, and AUC is used as the offline measurement indicator. This step is based on multi-way recall to improve the accuracy of prediction.
[0221] In this stage, the model only uses the user click exposure data as the model training data. Due to the small amount of data, feature cross modules and more network layers are added to the model in this step.
[0222] B. Algorithm for inactive users:
[0223] Inactive users here can include the following: new device users, users who have not clicked for a long time, etc. Since we don't know the preferences of this group of users, we adopted a variety of strategies to cold start the users in the early stage, so as to quickly pass the exploration period.
[0224] For example, the main exploration strategies include the following:
[0225] Global popular recommendations: ensure that inactive users can access the most popular content: the 8 with the highest CTR in the past period of time (the dimension is card plus time period); the 8 with the most clicks in the past period of time (the dimension is card plus time period); the hour with the highest CTR in the past period of time, and then obtain the card with the highest CTR within the hour.
[0226] UCB solution recommendation: Combine active user feedback with random elements to explore new recommendation possibilities.
[0227] Use the algorithm model of active users for prediction: The main approach is to ignore user ID features and make inferences based on other auxiliary information.
[0228] A decision tree is built based on basic user information. After clustering user features, the top 10 cards most favored by this type of user are obtained to ensure personalized and accurate recommendations.
[0229] (3) Rearrangement algorithm:
[0230] In the re-ranking stage, the MMR re-ranking algorithm and human strategies can be added to ensure the diversity of recommended items.
[0231] When implementing the MMR algorithm, the item embedding comes from the algorithm model part of the active user, from which the item embedding vector is extracted to evaluate the similarity of users.
[0232] After controlling the diversity of items through MMR, a manual strategy will be set in the last step to ensure the overall rationality of the card output. For example, the specific manual strategy may include:
[0233] Remove users who do not meet the card issuance conditions: Some user devices do not meet the card issuance conditions for certain specific cards. For example, the card of social platform C requires users to install the corresponding application of social platform C.
[0234] Limit the types of cards that appear in a certain hour: On the mobile desktop, Xiaobu recommends fewer slots. If many cards are pushed at the same time, some cards will not get the opportunity to be exposed due to competition.
[0235] Limit the number of time slots for the same card: Avoid user fatigue.
[0236] Limit the frequency of advertising cards: avoid them appearing in a certain period of time to improve user experience.
[0237] In the embodiment of the present application, for the data push module, after the cloud training platform completes the reasoning of all users, a protocol can be used to encapsulate the time period in which the user may issue a card in the future. At a unified time, all the prediction results are pushed to the reasoning engine module on the mobile phone side.
[0238] Different card parameters will be loaded into different rule files of the inference engine module. When a user triggers an access request to the location of the Xiaobu suggestion component, the inference engine module can perform inference and present relevant card recommendation content to the user.
[0239] It can be understood that in the embodiments of the present application, the device type can be expanded: here, mobile phones are mainly used as typical scenarios for example, but it can be expanded to more terminal device types, such as tablets, PCs, etc.
[0240] It can be understood that in the embodiments of the present application, the algorithm can be expanded: the recommendation algorithm here can be implemented more complex, or in the future a large model of active users and inactive users can be used for unified recommendation.
[0241] It can be understood that in the embodiments of the present application, the scenario is expandable: the recommendation system here can support a very rich intelligent recommendation of card services in the future.
[0242] It can be understood that in the embodiments of the present application, the features can be expanded: in addition to the user and item features listed above, features such as the user's social relationships and the impact of real-time hot spots can also be added later.
[0243] It can be understood that in the embodiment of the present application, the time period can be expanded: here, recommendations can be made at the hourly level, but more refined recommendations at the minute level can also be implemented.
[0244] It can be understood that in the embodiments of the present application, the platform is extensible: the Android platform is mainly used as an example here, but it can also be extended to other platforms, such as Windows, Linux, iOS, Web, etc.
[0245] That is to say, the embodiment of the present application provides a mobile phone service intelligent recommendation scheme. The specific implementation of the above embodiment is elaborated in detail through the above embodiment. It can be seen that the technical scheme can realize personalized recommendation of mobile phone desktop service cards according to the multi-dimensional characteristics and historical performance of users; and it can also support complex multi-card recommendation scenarios; and according to the card plus time period as the basic recommendation unit, by uniformly predicting the service cards for a period of time in the future, a mobile phone service recommendation system scheme is realized. In this way, in the mobile phone desktop card recommendation scenario, the traditional Internet real-time recommendation scheme faces the challenge of high model training and reasoning costs. This not only increases the power consumption burden of the terminal device, but also may not be suitable for the specific scenario of the embodiment of the present application, and at the same time leads to relatively strict card issuance conditions (in order to ensure a high click-through rate), thereby limiting the distribution of cards. In addition, the recommendation scheme based on artificial rule definition often cannot achieve truly personalized recommendations for thousands of people, and it is difficult to meet the diverse needs of users. To solve these problems, the embodiment of the present application adopts an offline recommendation scheme based on user historical data. The scheme takes cards and time periods as basic push units, and predicts future behavior trends by deeply analyzing the user's behavior performance over a long period of time. This method not only significantly improves the accuracy of recommendations, but also greatly reduces the frequency of model training and reasoning. Model training and reasoning only need to be performed once a week for all users, thereby effectively reducing the cost burden of the algorithm model. In addition, this technical solution makes full use of the multi-dimensional characteristics of users and their long-term historical performance as input data. Compared with the traditional recommendation method based on artificial rules, this method can achieve a more accurate and personalized recommendation experience, which not only improves user satisfaction, but also enhances the efficiency and effectiveness of the overall recommendation system. Through the recommendation mechanism of the embodiment of the present application, users can be provided with recommended content that better suits their needs, which is conducive to promoting the continued growth of the business.
[0246] In yet another embodiment of the present application, based on the same inventive concept as the above-mentioned embodiment, Fig.11 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application. Fig.11 As shown, the terminal device 110 may include a receiving unit 1101 and an inference unit 1102, wherein:
[0247] The receiving unit 1101 is configured to receive a prediction result sent by a service device, wherein the prediction result is obtained by the service device based on the user's historical data, and the prediction result includes at least one set of recommendation parameters, each set of recommendation parameters includes a recommended service and a recommended time period;
[0248] The reasoning unit 1102 is configured to perform reasoning analysis on the prediction result to determine a service recommendation result for at least one time period.
[0249] In some embodiments, see Fig.11 The terminal device 110 may further include a presentation unit 1103, which is configured to, after determining the service recommendation results for at least one time period, push the service recommendation results for the current time period to the target page for display in response to a user's access request to the target page.
[0250] In some embodiments, the presentation unit 1103 is further configured to update the service recommendation results displayed in the target page in the current period in response to a user's request to update the target page.
[0251] In some embodiments, the reasoning unit 1102 is further configured to input the prediction result into the reasoning engine module of the terminal device; and perform reasoning analysis on the prediction result through the reasoning engine module to determine the service recommendation result for at least one time period.
[0252] In some embodiments, the reasoning unit 1102 is further configured to unpack the prediction results to obtain at least one set of recommendation parameters; process the at least one set of recommendation parameters according to preset rules to generate a first candidate card set corresponding to at least one time period; and determine the service recommendation results for at least one time period based on the first candidate card set corresponding to at least one time period.
[0253] In some embodiments, the inference unit 1102 is further configured to obtain a second candidate card set corresponding to at least one time period; sort all service cards in the first candidate card set and the second candidate card set corresponding to any time period to obtain the card sorting result of any time period; and based on the card sorting result of any time period, determine a preset number of service cards in the card sorting result whose rankings meet the requirements as the service recommendation results of any time period.
[0254] In some embodiments, see Fig.11 The terminal device 110 may further include a sending unit 1104 configured to obtain user history data; and send the user history data to the service device.
[0255] Those skilled in the art should understand that the relevant description of the terminal device 110 in the embodiment of the present application can be understood by referring to the relevant description of the service recommendation method in the aforementioned embodiment.
[0256] Based on the same inventive concept as the above embodiments, Fig.12 A schematic diagram of the composition structure of a service device provided in an embodiment of the present application. Fig.12 As shown, the service device 120 may include a receiving unit 1201, a prediction unit 1202 and a sending unit 1203, wherein:
[0257] The receiving unit 1201 is configured to receive user history data sent by a terminal device;
[0258] The prediction unit 1202 is configured to perform prediction analysis based on the user's historical data to determine at least one set of recommendation parameters; wherein each set of recommendation parameters includes a recommended service and a recommended time period;
[0259] The sending unit 1203 is configured to send at least one set of recommendation parameters to the terminal device, so that the terminal device determines the service recommendation result of at least one time period.
[0260] In some embodiments, the sending unit 1203 is further configured to encapsulate at least one set of recommended parameters to generate a prediction result to be sent; and send the prediction result to the terminal device.
[0261] In some embodiments, the user historical data includes data to be predicted; the prediction unit 1202 is further configured to extract features from the data to be predicted and determine prediction features; and input the prediction features into a service recommendation model to obtain at least one set of recommendation parameters; wherein the service recommendation model is obtained by the service device performing model training based on a training sample set in the user historical data.
[0262] In some embodiments, the prediction unit 1202 is further configured to determine the user type based on the predicted features; and when the user type is an active user, perform multi-way recall and sorting processing on the predicted features through the first sub-model in the service recommendation model to determine at least one set of recommendation parameters; or, when the user type is an inactive user, perform cold start recall and sorting processing on the predicted features through the second sub-model in the service recommendation model to determine at least one set of recommendation parameters.
[0263] In some embodiments, see Fig.12 The service device 120 may also include a training unit 1204, configured to obtain a training sample set from user historical data; wherein the training sample set includes at least one positive sample and at least one negative sample; perform feature extraction on the training sample set to construct a feature library; wherein the feature library includes multiple sample features, and the sample features include at least one category of user portraits, object portraits, and scene features; input the multiple sample features in the feature library into a preset model for model training; and when the model training meets the preset convergence condition, determine the trained preset model as the service recommendation model.
[0264] In some embodiments, positive samples include samples clicked by users; negative samples include randomly sampled samples and difficult negative samples; wherein, difficult negative samples include at least one of the following: samples whose matching degree meets preset conditions, samples whose exposure times are greater than a first threshold and whose click times are less than a second threshold.
[0265] Those skilled in the art should understand that the relevant description of the service device 120 in the embodiment of the present application can be understood by referring to the relevant description of the service recommendation method in the aforementioned embodiment.
[0266] In the embodiments of the present application, a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc. It may also be a module or a non-modular one. Moreover, the components in the present embodiment may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.
[0267] In yet another embodiment of the present application, Fig.13 The following is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Fig.13 As shown, the electronic device 140 may include a communication interface 1401, a memory 1402, and a processor 1403; each component is coupled together via a bus system 1404. It is understood that the bus system 1404 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 1404 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Fig.13 Various buses are labeled as bus system 1404. Among them, the communication interface 1401 is used for receiving and sending signals in the process of sending and receiving information between other external devices;
[0268] A memory 1402, used for storing a computer program that can be run on the processor 1403;
[0269] The processor 1403 is configured to execute the service recommendation method described in any one of the aforementioned embodiments when running a computer program.
[0270] It is understood that the memory 1402 of the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus random access memory (DRRAM). The memory 1402 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0271] The processor 1403 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 1403. The above-mentioned processor 1403 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor are combined and executed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1402, and the processor 1403 reads the information in the memory 1402 and completes the steps of the above method in combination with its hardware.
[0272] It can also be understood that the embodiments described herein can be implemented with hardware, software, firmware, middleware, microcode or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present application or a combination thereof. For software implementation, the technology described herein can be implemented by a module (such as a process, function, etc.) that performs the functions described herein. The software code can be stored in a memory and executed by a processor. The memory can be implemented in a processor or outside a processor.
[0273] In a possible implementation, when the electronic device 140 is a terminal device in the aforementioned embodiments, the processor 1403 is configured to execute the service recommendation method in any one of the aforementioned embodiments implemented by the terminal device when running the computer program.
[0274] In some embodiments, the processor 1403 is configured to execute, when running a computer program: receiving a prediction result sent by a service device, wherein the prediction result is obtained by the service device based on user historical data, and the prediction result includes at least one set of recommendation parameters, each set of recommendation parameters includes a recommended service and a recommended time period; performing inference analysis on the prediction result to determine a service recommendation result for at least one time period.
[0275] In another possible implementation, when the electronic device 140 is a service device in the aforementioned embodiments, the processor 1403 is configured to execute any one of the service recommendation methods in the aforementioned embodiments implemented by the service device when running the computer program.
[0276] In some embodiments, the processor 1403 is configured to execute the following when running a computer program: receiving user history data sent by a terminal device; performing predictive analysis based on the user history data to determine at least one set of recommendation parameters; wherein each set of recommendation parameters includes a recommended service and a recommended time period; and sending at least one set of recommendation parameters to the terminal device so that the terminal device determines a service recommendation result for at least one time period.
[0277] In yet another embodiment of the present application, the embodiment of the present application provides a computer-readable storage medium for storing a computer program.
[0278] In some embodiments, the computer-readable storage medium can be applied to the electronic device in the embodiments of the present application, and when the computer program is executed by the terminal device, it implements the corresponding processes implemented by the terminal device in the various methods of the embodiments of the present application, or when the computer program is executed by the service device, it implements the corresponding processes implemented by the service device in the various methods of the embodiments of the present application. For the sake of brevity, it will not be described in detail here.
[0279] An embodiment of the present application also provides a computer program product, including computer program instructions.
[0280] In some embodiments, the computer program product can be applied to the electronic device in the embodiments of the present application, and the computer program instructions enable the terminal device to execute the corresponding processes implemented by the terminal device in the various methods of the embodiments of the present application, or the computer program instructions enable the service device to execute the corresponding processes implemented by the service device in the various methods of the embodiments of the present application. For the sake of brevity, they will not be described in detail here.
[0281] The embodiment of the present application also provides a computer program.
[0282] In some embodiments, the computer program can be applied to the electronic devices in the embodiments of the present application. When the computer program is running on the electronic device, the terminal device executes the corresponding processes implemented by the terminal device in the various methods in the embodiments of the present application, or the service device executes the corresponding processes implemented by the service device in the various methods in the embodiments of the present application. For the sake of brevity, it will not be described in detail here.
[0283] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0284] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0285] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0286] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0287] It should be noted that each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (RandomAccess Memory, RAM), disk or optical disk and other media that can store program code.
[0288] It should also be noted that in this application, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.
[0289] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0290] The methods disclosed in several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0291] The features disclosed in several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0292] The features disclosed in several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0293] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A service recommendation method, characterized in that: Applied to a terminal device, the method comprises: Receiving a prediction result sent by a service device, wherein the prediction result is obtained by the service device based on user historical data, and the prediction result includes at least one set of recommendation parameters, each set of recommendation parameters includes a recommended service and a recommended time period; The prediction result is subjected to inference analysis to determine a service recommendation result for at least one time period.
2. The method according to claim 1, characterized in that After determining the service recommendation result for at least one time period, the method further includes: In response to the user's access request to the target page, the service recommendation results for the current period are pushed to the target page for display.
3. The method according to claim 2, characterized in that The method further comprises: In response to a user's request to update the target page, the service recommendation results displayed in the target page during the current period are updated.
4. The method according to claim 1, characterized in that: The performing reasoning analysis on the prediction result to determine a service recommendation result for at least one time period includes: Inputting the prediction result into the inference engine module of the terminal device; The prediction result is analyzed by the inference engine module to determine the service recommendation result for at least one time period.
5. The method according to claim 4, characterized in that The performing reasoning analysis on the prediction result by the reasoning engine module to determine the service recommendation result for the at least one time period includes: Decapsulating the prediction result to obtain at least one set of recommended parameters; Processing the at least one set of recommendation parameters according to preset rules to generate a first candidate card set corresponding to at least one time period; A service recommendation result for the at least one time period is determined according to the first candidate card set corresponding to the at least one time period.
6. The method according to claim 5, characterized in that The method further comprises: Obtaining a second candidate card set corresponding to the at least one time period; The determining, according to the first candidate card set corresponding to the at least one time period, a service recommendation result for the at least one time period includes: Sort all service cards in the first candidate card set and the second candidate card set corresponding to any time period to obtain a card sorting result for the any time period; According to the card sorting result of the arbitrary time period, a preset number of service cards whose rankings meet the requirements in the card sorting result are determined as the service recommendation results of the arbitrary time period.
7. The method according to any one of claims 1 to 6, characterized in that The method further comprises: Get user historical data; The user history data is sent to the service device.
8. A service recommendation method, characterized in that: Applied to a service device, the method comprises: Receive user historical data sent by terminal devices; Performing predictive analysis based on the user historical data to determine at least one set of recommendation parameters; wherein each set of recommendation parameters includes a recommended service and a recommended time period; The at least one set of recommendation parameters is sent to the terminal device, so that the terminal device determines a service recommendation result for at least one time period.
9. The method according to claim 8, characterized in that The sending the at least one set of recommended parameters to the terminal device includes: Encapsulating the at least one set of recommended parameters to generate a prediction result to be sent; The prediction result is sent to the terminal device.
10. The method according to claim 8, characterized in that The user historical data includes data to be predicted; the predictive analysis is performed based on the user historical data to determine at least one set of recommendation parameters, including: Extracting features from the data to be predicted to determine prediction features; The prediction feature is input into a service recommendation model to obtain the at least one set of recommendation parameters; wherein the service recommendation model is obtained by the service device performing model training based on a training sample set in the user history data.
11. The method according to claim 10, characterized in that The step of inputting the prediction feature into the service recommendation model to obtain the at least one set of recommendation parameters includes: determining a user type based on the predicted features; When the user type is an active user, the prediction features are subjected to multi-way recall and sorting processing by the first sub-model in the service recommendation model to determine the at least one set of recommendation parameters; or, When the user type is an inactive user, the prediction features are cold-started, recalled and sorted by a second sub-model in the service recommendation model to determine the at least one set of recommendation parameters.
12. The method according to claim 10, characterized in that The method further comprises: Acquire a training sample set from the user historical data; wherein the training sample set includes at least one positive sample and at least one negative sample; Extracting features from the training sample set to construct a feature library; wherein the feature library includes a plurality of sample features, and the sample features include at least one of user portraits, object portraits, and scene features; Inputting multiple sample features in the feature library into a preset model for model training; When the model training meets a preset convergence condition, the trained preset model is determined as the service recommendation model.
13. The method according to claim 12, characterized in that The positive samples include samples clicked by users; the negative samples include randomly sampled samples and difficult negative samples; The difficult negative samples include at least one of the following: samples whose matching degree meets a preset condition, and samples whose exposure times are greater than a first threshold and whose click times are less than a second threshold.
14. A terminal device, characterized in that: The terminal device comprises a receiving unit and an inference unit, wherein: The receiving unit is configured to receive a prediction result sent by a service device, wherein the prediction result is obtained by the service device based on user historical data, and the prediction result includes at least one set of recommendation parameters, each set of recommendation parameters includes a recommended service and a recommended time period; The reasoning unit is configured to perform reasoning analysis on the prediction result to determine a service recommendation result for at least one time period.
15. A terminal device, characterized in that: The terminal device comprises a memory and a processor, the memory stores a computer program executable on the processor, and the processor is configured to implement the method according to any one of claims 1 to 7 when executing the computer program.
16. A service device, characterized in that: The service device comprises a receiving unit, a prediction unit and a sending unit, wherein: The receiving unit is configured to receive user history data sent by a terminal device; The prediction unit is configured to perform prediction analysis based on the user history data to determine at least one set of recommendation parameters; wherein each set of recommendation parameters includes a recommended service and a recommended time period; The sending unit is configured to send the at least one set of recommendation parameters to the terminal device, so that the terminal device determines a service recommendation result for at least one time period.
17. A service device, characterized in that: The service device comprises a memory and a processor, wherein the memory stores a computer program executable on the processor, and the processor is configured to implement the method according to any one of claims 8 to 13 when executing the computer program.
18. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 13 is implemented.
19. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the method according to any one of claims 1 to 13 is implemented.