Application control method and related device
By using different application lists to check and kill background applications at different times, the problem of short battery life of electronic devices is solved, and power consumption optimization and user experience improvement are achieved.
Patent Information
- Application Number
- CN202311865075.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-29
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2043-12-29
AI Technical Summary
The battery life of electronic devices is short, which is mainly due to the inaccurate detection and killing of applications running in the background, resulting in excessive power consumption.
The application list corresponding to different moments is used for detection and killing. The probability of use of applications in the application list is greater than the preset threshold. Through the multiple recall model combined with linear regression and normalization model, the applications that users may use are predicted and checked and killed.
It increases the probability of applications that users cannot use are being detected and killed, reduces the power consumption of electronic devices, and improves the user experience.
Smart Images

Figure CN120276808A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of terminals, and in particular, to an application control method and related device. Background Art
[0002] In some implementations, a user can start multiple applications on an electronic device. One of the started multiple applications can run in the foreground, and the remaining applications among the started multiple applications can run in the background. To save power consumption, the electronic device can kill some of the applications running in the background. The killed applications will terminate, and the applications not killed will continue to run.
[0003] However, there is a problem of short battery life of the electronic device in the above implementation. Summary of the Invention
[0004] Embodiments of this application provide an application control method and related device, which are applied to the technical field of terminals. In response to a recommendation operation, the electronic device uses the application list corresponding to the time of the recommendation operation to kill the applications running in the background. Among them, the number of applications in the application lists corresponding to different times is different, and the usage probabilities of the applications in the application list are all greater than a preset probability. In this way, the probability of killing applications that the user will not use can be increased, and thus the power consumption of the electronic device can be reduced. In addition, since the usage probabilities of the applications in the application list used for killing background applications are all greater than a preset threshold, when using the application list to kill the applications running in the background, the probability of killing applications that the user will use can be reduced, and thus the user experience can be improved.
[0005] In a first aspect, an embodiment of this application proposes an application control method, and the method includes:
[0006] At a first time, use a first application list to kill the applications running in the background. The first application list includes m1 applications and information for identifying the usage probability of each of the m1 applications, and the usage probability of each of the m1 applications is greater than a preset threshold. At a second time, use a second application list to kill the applications running in the background. The second application list includes m2 applications and information for identifying the usage probability of each of the m2 applications, and the usage probability of each of the m2 applications is greater than a preset threshold. m1 is different from m2. The second time is later than the first time.
[0007] In this way, it is possible to obtain application lists corresponding to different times, and the number of applications in the application lists corresponding to different times is different. The applications running in the background are killed using the corresponding application lists at different times, which can not only increase the probability that applications not used by the user are killed, thereby reducing the power consumption of the electronic device, but also the usage probabilities of the applications in the application list for killing are all greater than a preset threshold, indicating that the applications in the application list are applications that the user is likely to use. Using the application list to kill the applications running in the background can also reduce the probability that applications used by the user are killed, improving the user experience.
[0008] In a possible implementation, the first time belongs to the s-th time period of the t-th day. The first application list is obtained in the following manner: The first model is used to obtain multiple applications and the first target weights of each application among the multiple applications in the s-th time period of the t-th day. The first target weight is related to the first usage probability, and the first usage probability represents the application usage probability in the s-th time period of the t-th day. The first target weights of each application among the multiple applications are input into the second model, and the second model outputs the first application list. Among them, the first model is used to output the first target weights of each application among the multiple applications corresponding to the first time when the application usage data in the s-th time period in the L days before the t-th day and the application usage data of using the application R times before the first time are input. The application usage data includes the start time when the application runs in the foreground and the application identifier.
[0009] Among them, the first model can be a multi-channel recall model. In this way, the first model can learn the habits of the user's long-term, recent, and real-time use of applications (APPs), and can also achieve multi-channel recall fusion using the recall rate of each channel. The first model takes into account the user's long-term, recent, and real-time application usage habits. Considering the long-term, recent, and real-time data, accurate target weights can thus be obtained. The second model can obtain the usage probability of the application based on the target weight of the application output by the first model, and then can obtain an accurate first application list including usage probabilities greater than the preset threshold. When the electronic device uses the first application list to kill background applications, it can increase the probability that applications not used by the user are killed, thereby reducing the power consumption of the electronic device, and can also reduce the probability that applications used by the user are killed.
[0010] In a possible implementation, the first target weight is linearly related to the first usage probability. The second model includes a linear regression model and a normalization model. Input the first target weights of each application among multiple applications into the second model, and the second model outputs a first application list, including: input the first target weights of each application among multiple applications into the linear regression model to obtain the first conditional probability of each application among multiple applications. The first conditional probability represents the unnormalized usage probability. Input the first conditional probabilities of each application among multiple applications into the normalization model to obtain the first usage probability of each application among multiple applications. Select applications with a first usage probability greater than a preset threshold from multiple applications to obtain the first application list.
[0011] In this way, the target weight of an application is linearly related to the usage probability of the application. By using the linear regression model and the normalization model to process the first target weight of the application, an accurate first application list containing applications with a first usage probability greater than the preset threshold can be obtained.
[0012] In a possible implementation, inputting the first target weights of each application among multiple applications into the linear regression model to obtain the first conditional probability of each application among multiple applications includes: using the least squares method to calculate the first target weights of each application among multiple applications to obtain the first conditional probability of each application among multiple applications.
[0013] In this way, since the target weight of an application is linearly related to the usage probability of the application, using the least squares method to calculate the first target weights of each application among multiple applications can obtain the accurate first conditional probability of each application among multiple applications, thereby improving the accuracy of the first application list.
[0014] In a possible implementation, inputting the first conditional probabilities of each application among multiple applications into the normalization model to obtain the first usage probability of each application among multiple applications includes: using the normalization exponential function softmax to calculate the first conditional probabilities of each application among multiple applications to obtain the first usage probability of each application among multiple applications.
[0015] In this way, it is convenient to implement selecting applications with a first usage probability greater than the preset threshold from multiple applications to form the first application list.
[0016] In a possible implementation, the first moment is the j-th time point on the t-th day, and the first usage probability g(Y i,tj ) satisfies the following formula:
[0017]
[0018] where Y i,tjis the first conditional probability obtained based on the first target weight of the i-th application corresponding to the j-th time point on the t-th day, where e is the natural constant.
[0019] In this way, it is convenient to select, using a preset threshold, applications with a first usage probability greater than the preset threshold from multiple applications to form a first application list.
[0020] In a possible implementation manner, the first moment is the j-th time point on the t-th day, and the first conditional probability Y i,tj satisfies the following formula:
[0021] Y i,tj = bZ i,tj + a
[0022] where Z i,tj is the first target weight of the i-th application corresponding to the j-th time point on the t-th day, a is the weight coefficient of the linear regression model, and b is the weight coefficient of the linear regression model.
[0023] In this way, based on the first target weights of each application, the accurate first conditional probabilities of each application can be obtained, and thus the accuracy of the first application list can be improved.
[0024] In a possible implementation manner, the weight coefficients of the linear regression model are obtained by training the linear regression model using first training data. Among them, the first training data is related to the target weights of each application at each time point among multiple time points of each application on the q-th day and the application usage data on the q-th day. The target weights of each application at each time point among multiple time points of each application on the q-th day are output by the first model when the application usage data of M1 days is input into the first model. The q-th day is after M1 days, and the P applications belong to the applications corresponding to the application usage data of M1 days.
[0025] The target weights of each application at each time point among multiple time points of each application on the q-th day belong to predicted data, and the application usage data on the q-th day belongs to actual data. Using the first training data related to the predicted data and the actual data to train the linear regression model, in this way, the linear regression model can obtain an accurate linear relationship between the target weights of the applications output by the multi-channel recall model and the usage probabilities of the applications. Furthermore, based on this linear regression model, the accurate usage probabilities corresponding to the target weights of the applications can be obtained.
[0026] In a possible implementation, the method for obtaining the first training data includes: sorting the target weights of the target application among P applications in the order of the magnitude of the target weights to obtain a target weight sequence of the target application. The target application is any one of the P applications. Divide the target weight sequence of the target application into N segments on average to obtain N sets of target weight sets of the target application. The number of target weights in each of the N sets of target weight sets is the same. Calculate the average value of the target weights in each of the N sets of target weight sets of the target application. And based on the application usage data on the q-th day, the time points corresponding to the target weights in the N sets of target weight sets of the target application, and the identifier of the target application, obtain the conditional probability of each of the N sets of target weight sets of the target application. The conditional probability of each of the N sets of target weight sets of the target application represents the actual usage probability of the target application in the case of grouping. Training the linear regression model with the first training data includes: training the linear regression model with the N average target weights corresponding to each of the P applications and the N conditional probabilities corresponding to each of the P applications.
[0027] In this way, by using the method of constructing sample points after grouping to obtain the first training data, the amount of data covered by the first training data can be larger, and the prediction accuracy and robustness of the linear regression model trained with the first training data can be improved.
[0028] In a possible implementation, the conditional probability of the target group in the N sets of target weight sets of the target application is the ratio of the number of target weights with accurate prediction in the target group to the total number of target weights in the target group. The target weight with accurate prediction is the target weight corresponding to the time point and application identifier in the application usage data on the q-th day. The target group is any one of the N sets of target weight sets of the target application.
[0029] In this way, in the case of training the linear regression model with the first training data, the linear regression model can obtain an accurate linear relationship between the target weight of the application output by the multi-way recall model and the usage probability of the application.
[0030] In a possible implementation, the weight coefficient of the linear regression model satisfies the following formula:
[0031]
[0032] where x k is the k-th average target weight in the training data of the linear regression model, is the average value of the average target weights in the training data of the linear regression model, y k is the k-th conditional probability in the training data of the linear regression model, is the average value of the conditional probabilities in the training data of the linear regression model, xk The corresponding group is the same as y k The corresponding group is the same as x k The corresponding application is the same as y k The corresponding application is the same, and n = P × N.
[0033] In this way, when training the linear regression model with the first training data, the linear regression model can obtain an accurate linear relationship between the target weights of the applications output by the multi-channel recall model and the usage probabilities of the applications.
[0034] In a possible implementation, the prediction accuracy of the linear regression model is greater than the accuracy threshold. Among them, the prediction accuracy of the linear regression model is calculated based on the predicted usage probabilities of each application at the target time point on the (q + 1)-th day among the K applications obtained by using the first model and the linear regression model, and the actual usage probabilities of each application among the K applications within the preset time period including the target time point on the (q + 1)-th day. The predicted usage probability of each application at the target time point on the (q + 1)-th day is obtained by inputting the application usage data for M1 days and the application usage data for the q-th day into the first model, and then inputting the result output by the first model into the linear regression model.
[0035] In this way, the prediction accuracy of the linear regression model being greater than the accuracy threshold can indicate that the trained linear regression model meets the requirements. By using the linear regression model that meets the requirements to process the target weights of the applications, accurate conditional probabilities of the applications can be obtained, and then an accurate application list can be obtained.
[0036] In a possible implementation, the prediction accuracy of the linear regression model is the ratio of the sum of the predicted usage probabilities of P applications among the K applications at the target time point on the (q + 1)-th day to the sum of the actual usage probabilities of P applications among the K applications within the preset time period including the target time point on the (q + 1)-th day.
[0037] In this way, based on the prediction accuracy of the linear regression model, it can be verified whether the trained linear regression model meets the requirements. For example, if it is determined that the prediction accuracy of the linear regression model is greater than the accuracy threshold, it means that the trained linear regression model meets the requirements. If it is determined that the prediction accuracy of the linear regression model is less than or equal to the accuracy threshold, it means that the trained linear regression model does not meet the requirements. The training data of the linear regression model can be updated, and the linear regression model can be trained using the updated training data of the linear regression model until the prediction accuracy of the linear regression model is greater than the accuracy threshold.
[0038] In a possible implementation, the first model is a multi-channel recall model. The multi-channel recall model includes a first-channel recall, a second-channel recall, and a third-channel recall. The first-channel recall includes the Classification and Regression Tree (CART) algorithm. The second-channel recall includes the most recent popular recall algorithm. The third-channel recall includes the time decay algorithm.
[0039] In this way, the multi-channel recall model takes into account the user's long-term usage habits, recent usage habits, and real-time usage habits of the application, so that an accurate target weight can be obtained through the multi-channel recall model.
[0040] In a possible implementation, the recall rate of each channel in the three-channel recall of the multi-channel recall model is updated daily, and the recall rate of each channel is related to the first target weight.
[0041] In this way, the accuracy of the target weight output by the multi-channel recall model can be further improved, and the application list obtained (such as the first application list or the second application list) can be more in line with the actual application usage situation of the user.
[0042] In a second aspect, an application control device is provided in an embodiment of the present application. The application control device can be an electronic device, or a chip or a chip system inside the electronic device. The application control device can include a display unit and a processing unit. When the application control device is an electronic device, the processing unit can be a processor. The application control device can further include a storage unit, and the storage unit can be a memory. The storage unit is used to store instructions, and the processing unit executes the instructions stored in the storage unit to enable the electronic device to implement an application control method described in the first aspect or any possible implementation manner of the first aspect. When the application control device is a chip or a chip system inside the electronic device, the processing unit can be a processor. The processing unit executes the instructions stored in the storage unit to enable the electronic device to implement an application control method described in the first aspect or any possible implementation manner of the first aspect. The storage unit can be a storage unit inside the chip (for example, registers, caches, etc.), or a storage unit outside the chip located in the electronic device (for example, read-only memory, random access memory, etc.).
[0043] In a third aspect, an electronic device is provided in an embodiment of the present application, including a processor and a memory. The memory is used to store code instructions, and the processor is used to run the code instructions to execute the method described in the first aspect or any possible implementation manner of the first aspect.
[0044] Fourthly, an embodiment of the present application provides a computer-readable storage medium storing a computer program or instructions. When the computer program or instructions are run on a computer, the computer is caused to execute the method described in the first aspect or any one of the possible implementations of the first aspect.
[0045] Fifthly, an embodiment of the present application provides a computer program product including a computer program. When the computer program is run on a computer, the computer is caused to execute the method described in the first aspect or any one of the possible implementations of the first aspect.
[0046] Sixthly, the present application provides a chip or a chip system. The chip or the chip system includes at least one processor and a communication interface. The communication interface and the at least one processor are interconnected by a line. The at least one processor is configured to run a computer program or instructions to execute the method described in the first aspect or any one of the possible implementations of the first aspect. Among them, the communication interface in the chip may be an input / output interface, a pin, a circuit, etc.
[0047] In a possible implementation, the chip or the chip system described above in the present application further includes at least one memory storing instructions. The memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (such as a read-only memory, a random access memory, etc.).
[0048] It should be understood that the second to sixth aspects of the present application correspond to the technical solutions of the first aspect of the present application. The beneficial effects obtained by each aspect and the corresponding feasible implementation manners are similar and will not be elaborated herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 is a schematic diagram of a scenario provided by an embodiment of the present application;
[0050] Figure 2 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application;
[0051] Figure 3 is a schematic diagram of the software architecture of an electronic device provided by an embodiment of the present application;
[0052] Figure 4 is a schematic diagram of the flow of an application control method provided by an embodiment of the present application;
[0053] Figure 5 is a schematic diagram of the architecture of a multi-channel recall model provided by an embodiment of the present application;
[0054] Figure 6 is a schematic diagram of a multi-channel recall fusion sorting of a multi-channel recall model provided by an embodiment of the present application;
[0055] Figure 7 This is a schematic diagram for training the linear regression model provided by the embodiments of the present application. Detailed implementation manners
[0056] To facilitate a clear description of the technical solutions of the embodiments of the present application, the following briefly introduces some terms and technologies involved in the embodiments of the present application:
[0057] 1. Conditional probability
[0058] Conditional probability can be understood as the probability of event A occurring under the condition that event B occurs. Event A is different from event B.
[0059] 2. Decision tree algorithm
[0060] The decision tree algorithm is widely used in models for classification and regression tasks. It is a tree structure that describes the classification of instances. It is a typical classification method. First, the data is processed, and an induction algorithm is used to generate readable rules and decision trees. Then, the decision tree is used to analyze new data. Essentially, the decision tree is a process of classifying data through a series of rules.
[0061] Common decision tree algorithms may include the classification and regression tree (CART) algorithm, and may also include the ID3 decision tree or the C4.5 algorithm. Among them, the CART algorithm supports binary classification problems. The calculation results of the CART algorithm are all probability values. In the case of classification, the Gini index minimization criterion is often adopted.
[0062] 3. Other terms
[0063] In the embodiments of the present application, terms such as "first" and "second" are used to distinguish identical or similar items with basically the same functions and effects. For example, the first chip and the second chip are only used to distinguish different chips, and do not limit their order. Those skilled in the art can understand that terms such as "first" and "second" do not limit the quantity and execution order, and "first" and "second" do not necessarily mean different.
[0064] It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Exactly, using words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.
[0065] In the embodiments of the present application, "at least one" means one or more, and "a plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects before and after. "At least one (item)" or its similar expression refers to any combination of these items, including any combination of single item (item) or plural items (items). For example, at least one (item) of a, b, or c can represent: a, b, c, a - b, a - c, b - c, or a - b - c, where a, b, and c can be single or multiple.
[0066] When multiple applications on an electronic device are opened, one of the opened multiple applications can run in the foreground, and the remaining applications among the opened multiple applications can run in the background.
[0067] For ease of understanding, in combination with Figure 1 A scenario where one application runs in the foreground and the remaining applications among the multiple applications run in the background will be described. Figure 1 FIG. shows a schematic diagram of a scenario provided by an embodiment of the present application.
[0068] Taking the file management application, SMS application, video application, WeChat application, Douyin application, map application, and Taobao application on an electronic device being opened, with the file management application running in the foreground and the SMS application, video application, WeChat application, Douyin application, map application, and Taobao application running in the background as an example, when the file management application runs in the foreground, the electronic device can display Figure 1 the interface of the file management application shown in a of Figure 1 As shown in the interface of a in
[0069] When the electronic device displays Figure 1 the interface shown in a of Figure 1 the user can perform a click operation on the function control 102. In response to the user's operation of clicking the function control 102, the electronic device can display the recent task interface 103 shown in b of Figure 1 The recent task interface 103 shown in b of Figure 1In the case of the interface shown in b, the user can perform a left - swipe or right - swipe operation on the display screen. In this way, the preview interfaces of other applications running in the background can be displayed on the recent tasks interface 103.
[0070] When the electronic device displays Figure 1 the interface shown in b, the user can perform a click operation on the blank area, and the electronic device can display Figure 1 the interface of the desktop application shown in c. As Figure 1 shown in c of, the interface includes the icons 104 of the recommended applications.
[0071] When the electronic device displays Figure 1 the interface shown in c, the user can perform a recommendation operation. The recommendation operation is, for example, a click operation on the icon 104. In response to the recommendation operation, the electronic device can obtain a set of applications that the user may use during the time period to which the recommendation operation moment belongs.
[0072] In some implementations, in response to the recommendation operation, the electronic device uses a prediction model to obtain a predicted application list corresponding to the recommendation operation moment. The predicted application list corresponding to the recommendation operation moment can represent a list of applications that the user may use during the time period to which the recommendation operation moment belongs. The electronic device uses the predicted application list to kill multiple applications running in the background.
[0073] Among them, the number of applications in the predicted application list is a preset fixed value. The prediction model is used to sort the applications used by the user before the recommendation operation moment in the order of predicted weight size, and then intercept a part of the applications according to the preset fixed value to obtain the predicted application list. Among them, the order of the predicted weight size is related to the order of the application usage probabilities. The preset fixed value is the maximum value of the application usage quantity in each time period of a day.
[0074] Therefore, the number of applications in the predicted application lists corresponding to different moments obtained by the prediction model is the same. The applications in the predicted application lists corresponding to different moments can be as shown in Table 1.
[0075] Table 1 Applications in the predicted application lists corresponding to different time periods
[0076]
[0077] It should be understood that the moments shown in Table 1 can belong to the same day. The moments shown in Table 1 can also belong to different days.
[0078] Table 1 shows the applications and the number of applications in the predicted application list corresponding to the first moment, the second moment, the third moment, and the fourth moment respectively. As shown in Table 1, the electronic device can use a prediction model to obtain the predicted application list corresponding to different moments, and the number of applications in the predicted application list corresponding to different moments is the same.
[0079] When the electronic device uses the predicted application list for killing processes, the number of applications running in the background after killing at different moments can be the same. However, the number of applications used by the user in different time periods may be different. If the predicted application list is used to kill the applications running in the background, it will cause the applications that the user will not use not to be killed, resulting in a relatively high power consumption of the electronic device and a relatively short battery life of the electronic device.
[0080] In view of this, an embodiment of the present application provides an application control method. In response to a recommendation operation, the electronic device uses the application list corresponding to the moment of the recommendation operation to kill the applications running in the background. Among them, the number of applications in the application list corresponding to different moments is different, and the usage probability of the applications in the application list is greater than a preset probability. In this way, the probability that the applications that the user will not use are killed can be increased, and thus the power consumption of the electronic device can be reduced. In addition, since the usage probability of the applications in the application list used for killing the background applications is greater than a preset threshold, when the application list is used to kill the applications running in the background, the probability that the applications that the user will use are killed can be reduced, and thus the user experience can be improved.
[0081] The electronic devices in the embodiments of this application may include handheld devices, vehicle-mounted devices, etc. with application recommendation functions. For example, some electronic devices are: mobile phones, tablet computers, handheld computers, laptop computers, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grid, wireless terminals in transportation safety, wireless terminals in smart city, wireless terminals in smart home, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication functions, computing devices or other processing devices connected to a wireless modem, vehicle-mounted devices, wearable devices, terminal devices in a 5G network, or terminal devices in a future evolved public land mobile network (PLMN), etc. The embodiments of this application do not limit this.
[0082] By way of example and not limitation, in the embodiments of this application, the electronic device may also be a wearable device. A wearable device, also known as a wearable intelligent device, is a general term for devices developed by applying wearable technology to the intelligent design of daily wear, such as glasses, gloves, watches, clothing, and shoes. A wearable device is a portable device that is either directly worn on the body or integrated into the user's clothes or accessories. A wearable device is not just a hardware device, but also realizes powerful functions through software support, data interaction, and cloud interaction. Broadly speaking, wearable intelligent devices include those with complete functions and large sizes that can achieve complete or partial functions without relying on a smartphone, such as smart watches or smart glasses, etc., and those that only focus on a certain type of application function and need to cooperate with other devices such as smartphones, such as various smart bracelets and smart jewelry for physical sign monitoring.
[0083] In addition, in the embodiments of the present application, the electronic device may also be a terminal device in an Internet of Things (IoT) system. The IoT is an important part of the future development of information technology. Its main technical feature is to connect objects to the network through communication technology, so as to realize an intelligent network of human-machine interconnection and thing-thing interconnection.
[0084] The electronic device in the embodiments of the present application may also be referred to as: terminal device, user equipment (UE), mobile station (MS), mobile terminal (MT), access terminal, user unit, user station, mobile station, mobile platform, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device, etc.
[0085] In the embodiments of the present application, the electronic device or each network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and a memory (also referred to as main memory). The operating system can be any one or more computer operating systems that implement service processing through processes. For example, Linux operating system, Unix operating system, Android operating system, iOS operating system, or Windows operating system, etc. The application layer includes applications such as a browser, an address book, a word processing software, and an instant messaging software.
[0086] Figure 2 The structural schematic diagram of the electronic device provided by the embodiments of the present application is shown.
[0087] As Figure 2As shown in the figure, the electronic device 200 may include a processor 210, an external memory interface 220, an internal memory 221, a universal serial bus (USB) interface 230, a charging management module 240, a power management module 241, a battery 242, an antenna 1, an antenna 2, a mobile communication module 250, a wireless communication module 260, an audio module 270, a speaker 270A, a receiver 270B, a microphone 270C, a headphone jack 270D, a sensor module 280, a button 290, a motor 291, an indicator 292, a camera 293, a display screen 294, and a subscriber identification module (SIM) card interface 295, etc. The sensor module 280 may include a pressure sensor 280A, a gyroscope sensor 280B, a barometric pressure sensor 280C, a magnetic sensor 280D, an acceleration sensor 280E, a distance sensor 280F, a proximity light sensor 280G, a fingerprint sensor 280H, a temperature sensor 280J, a touch sensor 280K, an ambient light sensor 280L, a bone conduction sensor 280M, etc.
[0088] It can be understood that the structure illustrated in the embodiments of the present invention does not constitute a specific limitation on the electronic device 200. In other embodiments of the present application, the electronic device 200 may include more or fewer components than those shown in the figure, or combine certain components, or split certain components, or have different component arrangements. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0089] Exemplarily, at a first time point, the processor 210 of the electronic device receives a first recommended operation through the sensor module 280. In response to the first recommended operation, the processor 210 may obtain a first application list corresponding to the first time point, and use the first application list to kill the applications running in the background. Among them, the first application list includes m1 applications and information for identifying the usage probability of each application among the m1 applications, and the usage probability of each application among the m1 applications is greater than a preset threshold.
[0090] The usage probability of each application among the m1 applications in the first application list is greater than the preset threshold, which may indicate that the m1 applications in the first application list are applications that the user will use within the time period to which the first time point belongs.
[0091] In this way, the probability of killing applications that the user will not use can be increased, thereby reducing the power consumption of the electronic device and reducing the probability of killing applications that the user will use.
[0092] At a second time point, the processor 210 of the electronic device receives a second recommended operation through the sensor module 280. In response to the second recommended operation, the processor 210 may obtain a second application list corresponding to the second time point, and use the second application list to kill the applications running in the background. The second application list includes m2 applications and information for identifying the usage probability of each application in the m2 applications, and the usage probability of each application in the m2 applications is greater than a preset threshold; m1 is different from m2; the second time point may be later than the first time point. The specific implementation principle for the processor 210 to obtain the second application list may refer to the specific implementation principle for the processor 210 to obtain the first application list. The technical effect of the processor 210 using the second application list to kill the applications running in the background is similar to the technical effect of the processor 210 using the first application list to kill the applications running in the background, and will not be elaborated here.
[0093] As shown in the first application list and the second application list, the number of applications in the application lists corresponding to different time points or different moments is different, and the usage probability of the applications in the application lists is greater than a preset threshold. When the electronic device uses the application lists corresponding to different moments to kill the applications running in the background at different moments, the probability that applications not used by the user are killed can be increased to reduce the power consumption of the electronic device, and the probability that applications used by the user are killed can also be reduced.
[0094] The software system of the electronic device 200 may adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservices architecture, or a cloud architecture. In the embodiments of the present invention, the Android system with a layered architecture is taken as an example to exemplarily illustrate the software structure of the electronic device 100.
[0095] Figure 3 The schematic diagram of the software architecture of the electronic device provided by the embodiments of the present application is shown.
[0096] The layered architecture divides the software into several layers, and each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom, namely the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0097] The application layer may include a series of application packages.
[0098] Such as Figure 3As shown, the application package may include applications such as desktop management, perception, recommendation, camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc. (which may also be referred to as apps). Among them, the recommendation app can be used for app recommendation. In some implementations, the recommendation app is called the app recommendation app, and the app recommendation app is simply referred to as app recommendation.
[0099] The application framework layer provides application programming interfaces (APIs) and programming frameworks for the applications in the application layer. The application framework layer includes some predefined functions.
[0100] As Figure 3 shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, a location manager (Location Based Services, LBS), etc.
[0101] The location manager can be used to obtain the current location of the electronic device. For example, obtain the current global positioning system (GPS) data, (wireless fidelity, Wi-Fi) positioning data, and cell base station positioning data.
[0102] Android Runtime includes core libraries and a virtual machine. Android runtime is responsible for the scheduling and management of the Android system.
[0103] The core libraries contain two parts: one part is the functional functions that need to be called by the Java language, and the other part is the core libraries of Android. The application layer and the application framework layer run in the virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.
[0104] The system libraries may include multiple functional modules. For example: surface manager, Media Libraries, 3D graphics processing libraries (such as: OpenGL ES), 2D graphics engines (such as: SGL), etc.
[0105] The kernel layer is the layer between the hardware and the software. The kernel layer at least includes a display driver, a camera driver, an audio driver, and a sensor driver.
[0106] Exemplarily, when the user clicks on an application, the desktop management application can send an application click event to the perception application. Based on the application click event, the perception application can collect the current time and the application corresponding to the application click event, and generate application usage data.
[0107] Among them, the application usage data may include the start time when the application runs in the foreground and the application identifier. The application identifier may include the application name. The start time when the application runs in the foreground may be the time when the user clicks on the application to start the application, or the time when the user clicks on the application to convert the application from running in the background to running in the foreground. The application usage data may include the application usage quantity. The application usage quantity may be the same as the quantity at the start time point when the application runs in the foreground. For example, if there are 5 start time points when the application runs in the foreground in the application usage data for the Xth time period, then the application usage quantity for the Xth time period is 5.
[0108] At the first time point, the user can perform a first recommendation operation. The first recommendation operation is, for example, the operation of the user clicking on a recommended application. The desktop management application can send an application click event to the recommended application. The application click event includes a timestamp indicating the first time point. The recommended application can identify that the first time point belongs to the sth time period of the tth day. The recommended application can obtain the application usage data corresponding to the sth time period from the perception application. The recommended application can transmit the application usage data corresponding to the sth time period to the application framework layer.
[0109] The application framework layer can input the application usage data transmitted by the recommended application into the first model. The first model can output multiple applications for the sth time period of the tth day and the first target weights of each application in the multiple applications. The application framework layer can input the first target weights of each application in the multiple applications into the second model. The second model outputs a first application list. Among them, the first target weight is related to the first usage probability. The first usage probability represents the application usage probability in the sth time period of the tth day.
[0110] The application framework layer can transmit the first application list to the recommended application. The recommended application can transmit the first application list to the killing module for killing applications running in the background. The killing module can use the first application list to kill the applications running in the background. Among them, the killing module may be located in the application layer or in the application framework layer. The killing module is not shown in Figure 3 shown.
[0111] At a second time point, the user can perform a second recommendation operation. The second recommendation operation is, for example, the user clicks on a recommended application. The second time point can be later than the first time point. The second time point can also be earlier than the first time point. In response to the second recommendation operation, the recommended application can obtain a second application list transmitted by the application framework layer. The recommended application can transmit the second application list to the anti-virus module. The anti-virus module can use the second application list to kill the applications running in the background.
[0112] Among them, the specific implementation principle for the recommended application to obtain the second application list is similar to the specific implementation principle for the recommended application to obtain the first application list, and will not be elaborated here.
[0113] As shown in the first application list and the second application list, the number of applications in the application lists corresponding to different time points or different moments is different, and the usage probabilities of the applications in the application lists are all greater than a preset threshold. In the case where the electronic device uses the application lists corresponding to different moments to kill the applications running in the background at different moments, the probability of killing the applications that the user will not use can be increased to reduce the power consumption of the electronic device, and the occurrence probability of killing the applications that the user will use can also be reduced.
[0114] Figure 4 The figure shows a schematic flowchart of an application control method provided by an embodiment of the present application.
[0115] As Figure 4 shown, the method includes:
[0116] S401. The electronic device obtains the training set model features corresponding to the prediction period.
[0117] Exemplarily, taking the s-th time period of the t-th day as the prediction period as an example. The electronic device can receive a first recommendation operation. In the case of receiving the first recommendation operation, the electronic device can identify that the first recommendation operation moment belongs to the s-th time period of the t-th day and obtain the first data corresponding to the s-th time period of the t-th day. Since the feature type in the first data is the same as the training set model feature type, the first data can also be referred to as the training set model features corresponding to the s-th time period of the t-th day. It can be understood that the first data can also be understood as the training set model features corresponding to the first recommendation operation moment.
[0118] Exemplarily, the first data can include first long-term data, first recent data, and first real-time data.
[0119] Among them, the first long-term data includes the application usage data in the s-th time period in the L days before the t-th day. L can be 90, or other values such as 60 or 30.
[0120] The first recent data includes the application usage data in the s-th time period within U days before the t-th day. L > U. U can be 3, or other values such as 5, 7, 10, or 15.
[0121] The first real-time data includes the application usage data of the application being used R times before the first recommended operation moment. R can be 5, or other values such as 7, 10, or 12. The R times of using the application can be understood as having R start time points when the application runs in the foreground, or can be understood as the sum of the number of operations to start the application and the number of operations to switch the application from running in the background to running in the foreground being R.
[0122] Taking the first recommended operation moment as 10:10 on December 14, L as 90, U as 3, and R as 5 as an example. The s-th time period of the t-th day can be 10:00 - 10:30 on December 14. The first data can be as shown in Table 2.
[0123] Table 2 Schematic of the first data
[0124]
[0125] As shown in Table 2, the first long-term data can include the application usage data in the s-th time period of each day within 90 days before the t-th day. The first recent data can include the application usage data in the s-th time period of each day within 3 days before the t-th day. The first real-time data can include the application usage data of the application being used 5 times before the first recommended operation moment (such as 10:10 on December 14) of the t-th day. The format of the application usage data can refer to the format of the application usage data of the application being used 5 times before the first recommended operation moment of the t-th day shown in Table 2. Among them, "12.13 24:00, Application A" indicates that the application with the name Application A has a start time in the foreground at 24:00 on December 13.
[0126] It can be understood that the (t - 1)-th day represents the day before the t-th day and adjacent to the t-th day. The (t - 2)-th day represents the day before the (t - 1)-th day and adjacent to the (t - 1)-th day. The (t - 3)-th day represents the day before the (t - 2)-th day and adjacent to the (t - 2)-th day. The (t - 4)-th day represents the day before the (t - 3)-th day and adjacent to the (t - 3)-th day. The (t - 5)-th day represents the day before the (t - 4)-th day and adjacent to the (t - 4)-th day. The (t - 88)-th day represents the day before the (t - 87)-th day and adjacent to the (t - 87)-th day. The (t - 89)-th day represents the day before the (t - 88)-th day and adjacent to the (t - 88)-th day. The (t - 90)-th day represents the day before the (t - 89)-th day and adjacent to the (t - 89)-th day.
[0127] Optionally, still taking the example that the first recommended operation moment belongs to the s-th time period of the t-th day. If the t-th day is a working day, the first long-term data may include the application usage data of the s-th time period of working days in the L days before the t-th day. The first recent data may include the application usage data of the s-th time period of working days in the U days before the t-th day. The first real-time data may include the application usage data of the application used R times before the first recommended operation moment of the t-th day. Among them, the times of using the application R times before the first recommended operation moment of the t-th day all belong to the time of working days.
[0128] Optionally, still taking the example that the first recommended operation moment belongs to the t-th day and the first time period belongs to the s-th time period of the t-th day. If the t-th day is a holiday, the first long-term data may include the application usage data of the s-th time period of holidays in the L days before the t-th day. The first recent data may include the application usage data of the s-th time period of holidays in the U days before the t-th day. The first real-time data may include the application usage data of the application used R times before the first recommended operation moment of the t-th day. Among them, the times of using the application R times before the first recommended operation moment of the t-th day all belong to the time of holidays.
[0129] S402. The electronic device uses the first model for prediction and inference to obtain multiple applications in the prediction time period and the target weights of each application among the multiple applications.
[0130] Exemplarily, in the case of obtaining the training set model features corresponding to the prediction time period, the electronic device may input the training set model features corresponding to the prediction time period into the first model, and the first model may output multiple applications in the prediction time period and the target weights of each application among the multiple applications. The target weight of an application is related to the usage probability of the application. In this way, the usage probability of the application can be obtained based on the target weight of the application.
[0131] Exemplarily, in the case of obtaining the first data, the electronic device may input the first data into the first model, and the first model may output multiple applications corresponding to the s-th time period of the t-th day and the first target weights of each application among the multiple applications. It can be understood that the multiple applications corresponding to the s-th time period of the t-th day and the first target weights of each application among the multiple applications may also be referred to as the multiple applications corresponding to the first recommended operation moment and the first target weights of each application among the multiple applications.
[0132] Exemplarily, the first model can be a multi-channel recall model. The multi-channel recall model can include a recall layer and a ranking layer. Among them, the recall layer can include the first-channel recall, the second-channel recall, and the third-channel recall. The algorithm adopted by the first-channel recall is the Classification and Regression Tree (CART) algorithm. The algorithm adopted by the second-channel recall is the recent popular recall algorithm. The algorithm adopted by the third-channel recall is the time decay algorithm. The recall layer is used to quickly screen a set of candidates (or features) in the tens of millions to obtain a set of features in the thousands or even hundreds. The ranking layer is used to uniformly score and rank the results of multi-channel recalls in the recall layer, and select the optimal several (TopK). The unified scoring of the results of multi-channel recalls in the ranking layer for the recall layer can also be referred to as multi-channel recall fusion. Figure 5 shows the architecture diagram of the multi-channel recall model, Figure 6 shows the schematic diagram of the ranking layer for multi-channel recall fusion and ranking of the results of multi-channel recalls in the recall layer. For ease of understanding, Figure 5 and Figure 6 will be described later.
[0133] The electronic device can input the first long-term data into the Classification and Regression Tree (CART) of the multi-channel recall model to obtain the first probability value of each application in the first long-term data. Based on the first probability value of each application and the first-channel recall rate, the electronic device can calculate the first weight of each application.
[0134] Among them, the first-channel recall rate represents the proportion of the first-channel recall in the ranking of all recall channels. The first weight of an application can be obtained by multiplying the first probability value of the application by the first-channel recall rate. For example, the first weight of application A can be obtained by multiplying the first probability value of application A by the first-channel recall rate.
[0135] The electronic device can input the first recent data into the recent popular recall algorithm to obtain the second probability value of each application in the first recent data. Based on the second probability value of each application and the second-channel recall rate, the electronic device can calculate the second weight of each application. Exemplarily, the recent popular recall algorithm can determine the proportion of the usage times of each application in the first recent data to the sum of the usage times of applications in the first recent data as the first probability of each application. For example, the usage times of applications in the first recent data are 60 times. Among them, the memo is used 12 times, the video is used 6 times, the email is used 6 times, the settings are used 5 times, the weather is used 3 times, and the clock is used 3 times. It can be determined that the second probability value of the memo is 0.2, the second probability value of the video is 0.1, the second probability value of the email is 0.1, the second probability value of the settings is 0.083, the second probability value of the weather is 0.05, and the second probability value of the clock is 0.05.
[0136] Among them, the recall rate of the second path represents the proportion of the second path recall in all path rankings. The second weight applied can be obtained by multiplying the second probability value applied by the recall rate of the second path. For example, the second weight of Application A can be obtained by multiplying the second probability value of Application A by the recall rate of the second path.
[0137] The electronic device can input the first real-time data into the time decay algorithm to obtain the third probability values of each application in the first real-time data. Based on the third probability values of each application and the recall rate of the third path, the electronic device can calculate the third weight of each application.
[0138] Among them, the third probability value of the f-th application in the first real-time data satisfies the formula: δ(T) f is the decay value of the f-th application with a time interval of T f . T f is the time difference between the moment when the f-th application starts running in the foreground and the moment of the first recommendation operation. ε0 is the initial decay value. θ is the exponential decay constant. l is the translation amount to the left, allowing the value to decay not starting from ε0 but continuing from any position. ε0, θ, and l can all be values obtained by the electronic device through prior training. The recall rate of the third path represents the proportion of the third path recall in all path rankings. The third weight applied can be obtained by multiplying the third probability value applied by the recall rate of the third path. For example, the third weight of Application A can be obtained by multiplying the third probability value of Application A by the recall rate of the third path.
[0139] When obtaining the first weight of each application, the second weight of each application, and the third weight of each application output by the recall layer, based on the first weight of each application, the second weight of each application, and the third weight of each application, the electronic device can obtain the first target weight of each application. Exemplarily, the first target weight of an application is the sum of the first weight of the application, the second weight of the application, and the third weight of the application. For example, the first target weight of Application A is the sum of the first weight of Application A, the second weight of Application A, and the third weight of Application A.
[0140] Exemplarily, the recall rate of the first path, the recall rate of the second path, and the recall rate of the third path can all be preset.
[0141] Optionally, the recall rate of the first path, the recall rate of the second path, and the recall rate of the third path can also be dynamically calculated using the recall rate of each path.
[0142] Exemplarily, the recall rate of the first path, the recall rate of the second path, and the recall rate of the third path can also be obtained by the electronic device training the multi-path recall model using the second training data updated daily. The second training data can include the application usage data of the L days before the date to which the training time of the multi-path recall model belongs.
[0143] Among them, the sum of the recall rates of the first path, the second path, and the third path can be greater than 1, or less than or equal to 1.
[0144] It can be understood that the target weights of each application corresponding to the s-th time period on the t-th day can also be referred to as the first target weights of each application.
[0145] Exemplarily, multiple applications in the prediction period and the target weights of each application among the multiple applications can be represented in the following exemplary format: {'com.aaaa.m': 3.847, 'com.bbbb.we': 3.543, 'com.hihonor.elink': 1.685, 'com.hihonor.systemmanager': 1.06, 'com.dddd.searchbox': 0.564}.
[0146] Among them, 'com.aaaa.m': 3.847 can indicate that the target weight of the application with the application identifier com.aaaa.m is 3.847.
[0147] 'com.bbbb.we': 3.543 can indicate that the target weight of the application with the application identifier com.bbbb.we is 3.543.
[0148] 'com.hihonor.elink': 1.685 can indicate that the target weight of the application with the application identifier com.hihonor.elink is 1.685.
[0149] 'com.hihonor.systemmanager': 1.06 can indicate that the target weight of the application with the application identifier com.hihonor.systemmanager is 1.06.
[0150] 'com.dddd.searchbox': 0.564 can indicate that the target weight of the application with the application identifier com.dddd.searchbox is 0.564.
[0151] The multi-path recall model shown above uses three-way recall to separately learn the habits of users' long-term, recent, and real-time use of applications (APPs), and also uses the recall rate of each path to achieve multi-path recall fusion. In this way, the multi-path recall model of the embodiments of the present application comprehensively considers the habits of users' long-term use of applications, recent use of applications, and real-time use of applications. Considering the long-term, recent, and real-time data, accurate target weights can be obtained.
[0152] Since the degree of association between the target weights of each application in the multiple applications in the predicted period obtained by the multi-channel recall model and the usage probability of each application within the predicted period is unknown. That is, the specific value of the target weight of an application cannot be used to represent the specific value of the usage probability of the application. The usage probability of an application within the predicted period can be understood as the probability that the application is used within the predicted period. In the embodiments of the present application, the usage probability can also be referred to as the application usage probability.
[0153] If, based on the target weights of each application in the multiple applications in the predicted period, the usage probability of each application in the multiple applications in the predicted period is obtained, and then an application list is formed by using the applications with higher usage probabilities to perform background application killing, the probability of killing applications that the user will not use within the predicted period can be increased, the power consumption of the electronic device can be reduced, and the probability of killing applications that the user will use can also be reduced, improving the user experience.
[0154] Therefore, in the case of obtaining the target weights of each application in the multiple applications in the predicted period by using the multi-channel recall model, the electronic device can execute S403 to obtain the usage probability of each application in the multiple applications in the predicted period.
[0155] In addition, since the sum of the first-channel recall rate, the second-channel recall rate, and the third-channel recall rate may be greater than 1, in order to improve the prediction accuracy of the multi-channel recall model, the recall rates of each channel of the multi-channel recall model are updated daily. In the case where the sum of the first-channel recall rate, the second-channel recall rate, and the third-channel recall rate is greater than 1, the value range of the target weights of each application output by the multi-channel recall model on different dates may be different, and the value range of the target weights of each application may change daily. In the case where the value range of the target weights of each application may change daily, it is impossible to select applications with higher user usage probabilities from the multiple applications output by the multi-channel recall model using a preset threshold. Therefore, it is necessary to process the target weights (such as in step S403) in the case of obtaining the target weights of each application in the multiple applications in the predicted period by using the multi-channel recall model to obtain the usage probability of each application in the multiple applications in the predicted period.
[0156] S403. The electronic device uses a second model to process the multiple applications in the predicted period and the target weights of each application in the multiple applications output by the first model, and obtains the usage probability of the multiple applications in the predicted period and the target weights of each application in the multiple applications.
[0157] Exemplarily, the second model may include a linear regression model and a normalization model. The electronic device inputs the multiple applications in the predicted period and the target weights of each application in the multiple applications output by the first model into the linear regression model, and the linear regression model outputs the conditional probabilities of the multiple applications in the predicted period and the target weights of each application in the multiple applications.
[0158] Since the conditional probability can represent the unnormalized usage probability. To facilitate the selection of applications with usage probabilities greater than a preset threshold from multiple applications based on the usage probabilities of each application and the preset threshold, an application list is formed. When the conditional probabilities of each application among multiple applications are obtained, the electronic device can input the first conditional probability of each application among the multiple applications output by the linear regression model into the normalization model to obtain the usage probability of each application among the multiple applications output by the normalization model. It can be understood that the usage probability output by the normalization model is the usage probability after normalization processing. The usage probability after normalization processing can be a value between 0 and 1. The usage probability after normalization processing can be equal to 0 or 1.
[0159] Exemplarily, when the multiple applications output by the first model and the first target weight of each application among the multiple applications are obtained, the electronic device can calculate the first target weight of each application among the multiple applications using the least squares algorithm of the linear regression model to obtain the first conditional probability of each application among the multiple applications.
[0160] When the first conditional probability of each application among the multiple applications is obtained, the electronic device calculates the first conditional probability of each application among the multiple applications using the normalization exponential function (softmax) of the normalization model to obtain the first usage probability of each application among the multiple applications, so as to facilitate the electronic device to subsequently select applications with the first usage probability greater than the preset threshold from the multiple applications to form a first application list.
[0161] Exemplarily, take the j-th time point on the t-th day of the first recommended operation moment as an example.
[0162] The first conditional probability Y i,tj Satisfies the following formula (1):
[0163] Y i,tj = bZ i,tj + a (1)
[0164] Where Z i,tj Is the first target weight of the i-th application corresponding to the j-th time point on the t-th day, a is the weight coefficient of the linear regression model, and b is the weight coefficient of the linear regression model. Z i,tj Can also be understood as the first target weight of the i-th application in the s-th time period on the t-th day.
[0165] The first usage probability g(Y i,tj ) Satisfies the following formula (2):
[0166]
[0167] Where Y i,tjis the first conditional probability obtained based on the first target weight of the i-th application corresponding to the j-th time point on the t-th day, where e is the natural constant.
[0168] It can be understood that the multiple applications corresponding to the s-th time period on the t-th day and the first usage probability of each application among the multiple applications can also be referred to as the multiple applications corresponding to the first recommended operation moment and the first usage probability of each application among the multiple applications. The first application list corresponding to the s-th time period on the t-th day can also be referred to as the first application list corresponding to the first recommended operation moment.
[0169] The weight coefficient of the linear regression model can be obtained by the electronic device training the linear regression model with the first training data. The description of the electronic device training the linear regression model with the first training data is detailed in the subsequent Figure 7 description of the embodiments shown. For ease of understanding, Figure 7 the embodiments shown are described subsequently.
[0170] Exemplarily, the multiple applications in the prediction period and the usage probability of each application among the multiple applications can be represented in the following exemplary format: {'com.aaaa.m': 0.98, 'com.bbbb.we': 0.97, 'com.hihonor.elink': 0.734, 'com.hihonor.systemmanager': 0.547, 'com.dddd.searchbox': 0.385}.
[0171] Among them, 'com.aaaa.m': 0.98 can represent that the usage probability of the application with the application identifier com.aaaa.m is 0.98.
[0172] 'com.bbbb.we': 0.97 can represent that the usage probability of the application with the application identifier com.bbbb.we is 0.97.
[0173] 'com.hihonor.elink': 0.734 can represent that the usage probability of the application with the application identifier com.hihonor.elink is 0.734.
[0174] 'com.hihonor.systemmanager': 0.547 can represent that the usage probability of the application with the application identifier com.hihonor.systemmanager is 0.547.
[0175] 'com.dddd.searchbox': 0.385 can represent that the usage probability of the application with the application identifier com.dddd.searchbox is 0.385.
[0176] S404. The electronic device selects applications with a usage probability greater than a preset threshold from the multiple applications corresponding to the prediction period, and obtains an application list corresponding to the prediction period.
[0177] Exemplarily, when the electronic device obtains multiple applications and the first usage probability of each application among the multiple applications, the electronic device can select applications with a first usage probability greater than the preset threshold from the multiple applications, and can sort the selected applications in descending order of the first usage probability to obtain a first application list.
[0178] Exemplarily, when the electronic device obtains multiple applications and the first usage probability of each application among the multiple applications, the electronic device can determine whether the first usage probability of the applications among the multiple applications is greater than the preset threshold.
[0179] If the first usage probability of the application is greater than the preset threshold, the application is retained.
[0180] If the first usage probability of the application is less than or equal to the preset threshold, the application is not retained or the application is cleared.
[0181] After the electronic device finishes determining whether the first usage probability of the applications among the multiple applications is greater than the preset threshold, the electronic device can sort the applications with a first usage probability greater than the preset threshold in descending order of the first usage probability to obtain a first application list.
[0182] Optionally, when the electronic device obtains multiple applications and the first usage probability of each application among the multiple applications, the electronic device can sort the multiple applications in descending order of the first usage probability to obtain a first sorted list. The electronic device can clear the applications with a first usage probability less than or equal to the preset threshold in the first sorted list to obtain a first application list.
[0183] Exemplarily, when obtaining the first sorted list, the electronic device can determine whether the first usage probability of the applications in the first sorted list is greater than the preset threshold.
[0184] If the first usage probability of the application is greater than the preset threshold, the application is retained.
[0185] If the first usage probability of the application is less than or equal to the preset threshold, the application is not retained or the application is removed from the first sorted list.
[0186] In this way, the electronic device can obtain a first application list.
[0187] Exemplarily, the preset threshold can be any one of 0.6, 0.8, or 0.9. The preset threshold can also be other values.
[0188] The usage probabilities of the applications in the first application list obtained in this step are all greater than a preset threshold, which can indicate that the applications in the first application list are applications that the user is likely to use during the s-th time period of the t-th day. When using the first application list to kill the applications running in the background, it is possible to increase the probability of killing the applications that the user will not use during the s-th time period of the t-th day, reduce the power consumption of the electronic device, and also reduce the occurrence probability of killing the applications that the user will use during the s-th time period of the t-th day.
[0189] S405. The electronic device uses the application list corresponding to the predicted time period to kill the applications running in the background.
[0190] Exemplarily, in the case of obtaining the first application list, the electronic device can use the first application list to kill the applications running in the background to reduce the power consumption of the electronic device.
[0191] In the application control method provided by the embodiments of the present application, when receiving the first recommendation operation, the electronic device can obtain the first data corresponding to the s-th time period of the t-th day to which the first recommendation operation time belongs, input the first data into the multi-channel recall model, and obtain multiple applications corresponding to the s-th time period of the t-th day and the first target weights of each application among the multiple applications. The linear regression model of the electronic device can process the first target weights of each application among the multiple applications corresponding to the s-th time period of the t-th day to obtain the first conditional probabilities of each application among the multiple applications corresponding to the s-th time period of the t-th day. The normalization model of the electronic device can perform normalization processing on the first conditional probabilities of each application among the multiple applications corresponding to the s-th time period of the t-th day to obtain the first usage probabilities of each application among the multiple applications corresponding to the s-th time period of the t-th day. The electronic device can select the applications with the first usage probability greater than the preset threshold from the multiple applications corresponding to the s-th time period of the t-th day output by the normalization model to obtain the first application list. The electronic device can use the first application list to kill the applications running in the background. The first usage probabilities of the applications in the first application list are greater than the preset threshold, which can indicate that the applications in the first application list are applications that the user is likely to use. In this way, it is possible to increase the probability of killing the applications that the user will not use, reduce the power consumption of the electronic device, and also reduce the occurrence probability of killing the applications that the user will use.
[0192] Figure 5 Shows the schematic architecture diagram of the multi-channel recall model provided by the embodiments of the present application.
[0193] Such as Figure 5As shown in the figure, the multi-channel recall model includes a recall layer and a ranking layer. The recall layer may include a first-channel recall using the Classification and Regression Tree (CART) algorithm, a second-channel recall using the most popular recent recall algorithm, and a third-channel recall using the time decay algorithm. The first-channel recall may be referred to as the CART decision tree recall. The second-channel recall may be referred to as the most popular recent recall. The third-channel recall may be referred to as the most recently used recall.
[0194] In a possible implementation, the electronic device may be in the cold start phase or in the normal processing phase.
[0195] Exemplarily, still taking the first recommended operation moment belonging to the s-th time period of the t-th day as an example, if the sum β of the application usage quantities in the first time period in the L days before the t-th day satisfies 201 ≤ β ≤ 800, it indicates that the electronic device is in the cold start phase. Exemplarily, the number of days from the date when the user first uses the electronic device to the t-th day is less than or equal to U, which can also indicate that the electronic device is in the cold start phase.
[0196] If the sum β of the application usage quantities in the first time period in the L days before the t-th day satisfies 800 < β, it indicates that the electronic device is in the cold start phase. Exemplarily, the number of days from the date when the user first uses the electronic device to the t-th day is greater than U, which can also indicate that the electronic device is in the normal phase.
[0197] Optionally, the way for the electronic device in the normal phase to obtain multiple applications in the prediction period and the target weights of each application among the multiple applications may be different from the way for the electronic device in the cold start phase to obtain multiple applications in the prediction period and the target weights of each application among the multiple applications.
[0198] Exemplarily, still taking the first recommended operation moment belonging to the s-th time period of the t-th day as an example.
[0199] For the scenario where the electronic device is in the normal phase, when the electronic device receives the first recommended operation, as Figure 4 shown in S402 in the embodiment, the electronic device may use the three-channel recalls in the multi-channel recall model to process the first long-term data, the first recent data, and the first real-time data, and perform multi-channel recall fusion on the results of the three-channel recalls to obtain multiple applications corresponding to the s-th time period of the t-th day and the first target weights of each application among the multiple applications.
[0200] Exemplarily, the first data obtained by the electronic device may include a data set representing first long-term data, a data set representing first recent data, and a data set representing first real-time data. When the electronic device obtains the first data, if the electronic device identifies that the date corresponding to the first long-term data in the first data is different from the date corresponding to the first recent data, or the number of dates corresponding to the first long-term data is more than the number of dates corresponding to the first recent data, it may indicate that the electronic device is in the normal stage. The electronic device may mark the data set representing the first long-term data with a first identifier, mark the data set representing the first recent data with a second identifier, and mark the data set representing the first real-time data with a third identifier. When the electronic device inputs the first data into a preset model, the first recall path may process the data set with the first identifier, the second recall path may process the data set with the second identifier, and the third recall path may process the data set with the third identifier. In this way, the electronic device may obtain the first weight, the second weight, and the third weight of each application output by the recall layer.
[0201] For the scenario where the electronic device is in the cold start stage, when the electronic device receives the first recommendation operation, since the number of days from the first time the user uses the electronic device to the t-th day is less than or equal to U. When the electronic device obtains the first data, if the electronic device identifies that the date corresponding to the first long-term data in the first data is the same as the date corresponding to the first recent data, or the number of dates corresponding to the first long-term data in the first data is the same as the number of dates corresponding to the first recent data, it may indicate that the electronic device is in the cold start stage, and it may also indicate that the first long-term data and the first recent data in the first data are the same. The electronic device may clear the data set representing the first long-term data, mark the data set representing the first recent data with a second identifier, and mark the data set representing the first real-time data with a third identifier.
[0202] When the electronic device inputs the first data into a preset model, the second recall path may process the data set with the second identifier to obtain the second weight of each application corresponding to the first recent data. The third recall path may process the data set with the third identifier to obtain the third weight of each application corresponding to the first real-time data.
[0203] The sorting layer in the multi-path recall model adds the second weight and the third weight of the application to obtain the first target weight of the application.
[0204] Among them, for the specific implementation principle of the second weight of the application, reference can be made to Figure 4 the specific implementation principle of the second weight of the application in S402 in Figure 4The specific implementation principle of the third weight applied in S402 will not be elaborated here.
[0205] Since the first-stage recall has requirements for the data volume of the data to be processed, if the data volume of the data processed by the first-stage recall is less than or equal to the data volume of the data processed by the second-stage recall, it may lead to poor accuracy of the processing results obtained by the first-stage recall. The data volume of the first long-term data in the cold start stage of the electronic device is the same as the data volume of the first recent data, and the data volume of the first long-term data does not meet the data volume requirements of the first-stage recall for the data to be processed. Therefore, in the scenario where the electronic device is in the cold start stage, clearing the first long-term data and having the multi-stage recall model process the first recent data and the first real-time data to obtain the first target weights of each application can reduce the impact of the low-accuracy processing results obtained by the first-stage recall on the accuracy of the first target weights of each application, and thus accurate first target weights of each application can be obtained.
[0206] Optionally, when the electronic device obtains multiple applications in the prediction period and the target weights of each application in the multiple applications through the first model, the electronic device can sort the multiple applications in the order of the target weights by the sorting layer in the first model, and input the sorted multiple applications and the target weights of each application in the multiple applications into the second model for processing.
[0207] Figure 6 Shows a multi-stage recall fusion sorting schematic diagram of the multi-stage recall model provided by an embodiment of the present application.
[0208] As Figure 6 shown, taking the applications corresponding to the first data including WeChat application, online meeting application, and Zhihu application, and the first-stage recall rate of the multi-stage recall model being 0.5, the second-stage recall rate being 0.3, and the third-stage recall rate being 0.2 as an example.
[0209] When the electronic device obtains the first data, the electronic device can input the first data into the multi-stage recall model. The CART decision tree recall processes the first long-term data in the first data, and the CART decision tree recall obtains: the first probability value of the WeChat application is 0.2, the first probability value of the online meeting application is 0.3, and the first probability value of the Zhihu application is 0.1. The recent popular recall processes the first recent data in the first data, and the recent popular recall obtains: the first probability value of the WeChat application is 0.5, the first probability value of the online meeting application is 0.2, and the first probability value of the Zhihu application is 0.3. The recent use recall processes the first real-time data in the first data, and the recent use recall obtains: the first probability value of the WeChat application is 0.1, the first probability value of the online meeting application is 0.6, and the first probability value of the Zhihu application is 0.1.
[0210] When the recall layer obtains the first probability values of each application in the WeChat application, online meeting application, and Zhihu application recalled in three ways, the recall layer can transmit the first probability values of each application to the sorting layer. Based on the first probability values of each application, the recall rate of the first path, the recall rate of the second path, and the recall rate of the third path, the sorting layer obtains: the first target weight of the WeChat application is 0.27, the first target weight of the online meeting application is 0.33, and the first target weight of the Zhihu application is 0.16.
[0211] As Figure 6 shown, the first target weight of the WeChat application, 0.27 = 0.2×0.5 + 0.5×0.3 + 0.1×0.2, represents the first probability value of the WeChat application obtained by CART decision tree recall × the recall rate of the first path + the first probability value of the WeChat application obtained by recent popular recall × the recall rate of the second path + the first probability value of the WeChat application obtained by recent usage recall × the recall rate of the third path.
[0212] In some implementations of the present application, when the sorting layer obtains multiple applications and the first target weight of each application among the multiple applications, the sorting layer can sort the multiple applications in the order of the magnitude of the first target weight, and input the sorted multiple applications and the first target weight of each application among the multiple applications into the second model for processing. For example, when the sorting layer obtains the first target weight of the WeChat application as 0.27, the first target weight of the online meeting application as 0.33, and the first target weight of the Zhihu application as 0.16, the sorting layer can sort the multiple applications in the order of the magnitude of the first target weight, obtain the first target weight of each application among the multiple applications, and also obtain the sorted multiple applications: online meeting application > WeChat > Zhihu.
[0213] Figure 7 shows a training schematic diagram of the linear regression model provided by an embodiment of the present application.
[0214] As Figure 7 shown, the training process of the linear regression model may include:
[0215] S701. The electronic device can obtain training set features.
[0216] Exemplarily, the training set features may include application usage data for M1 days. The electronic device can obtain the application usage data for M1 days from the application usage data recorded by the electronic device for multiple days. Among them, M1 and L may be the same or different. Exemplarily, M1 ≤ L. For example, M1 may be 30.
[0217] S702. The electronic device can input the training set features into the multi-way recall model.
[0218] Exemplarily, the electronic device inputs the application usage data of M1 days into the multi-channel recall model, and controls the multi-channel recall model to output multiple applications corresponding to each time point among multiple time points of the q-th day and the target weights of each application among the multiple applications. Wherein, the q-th day is after M1 days.
[0219] For example, taking the q-th day as December 12th and M1 equal to 30 as an example, the training set features include the application usage data of 30 days before December 12th.
[0220] S703. The electronic device can obtain multiple applications corresponding to each time point among the multiple time points output by the multi-channel recall model and the target weights of each application among the multiple applications.
[0221] Exemplarily, taking the multiple time points of the q-th day as 100 time points of the q-th day as an example.
[0222] In the case where the electronic device inputs the application usage data of 30 days before December 12th into the multi-channel recall model, and controls the multi-channel recall model to output multiple applications corresponding to each time point among 100 time points of the q-th day and the target weights of each application among the multiple applications, the electronic device can obtain the multiple applications corresponding to each time point among 100 time points of the q-th day output by the multi-channel recall model and the target weights of each application among the multiple applications. The target weights of each application among the multiple applications corresponding to each time point among 100 time points of the q-th day are shown in Table 3.
[0223] Table 3 The target weights Zij of each application among the multiple applications corresponding to each time point among 100 time points of the q-th day.
[0224] Time point 1 Time point 2 Time point 3 … Time point 100 Application 1 <![CDATA[Z 11 > <![CDATA[Z 12 > <![CDATA[Z 13 > … <![CDATA[Z 1100 > Application 2 <![CDATA[Z 21 > <![CDATA[Z 22 > <![CDATA[Z 23 > … <![CDATA[Z 2100 > Application 3 <![CDATA[Z 31 > <![CDATA[Z 32 > <![CDATA[Z 33 > … <![CDATA[Z 3100 > Application 4 <![CDATA[Z 41 > <![CDATA[Z 42 > <![CDATA[Z 43 > … <![CDATA[Z 4100 > Application 5 <![CDATA[Z 51 > <![CDATA[Z 52 > <![CDATA[Z 53 > … <![CDATA[Z 5100 > Application 6 <![CDATA[Z 61 > <![CDATA[Z 62 > <![CDATA[Z 63 > … <![CDATA[Z 6100 > Application 7 <![CDATA[Z 71 > <![CDATA[Z 72 > <![CDATA[Z 73 > … <![CDATA[Z 7100 <!-- 20 -->]]> Application 8 <![CDATA[Z 81 > <![CDATA[Z 82 > <![CDATA[Z 83 > … <![CDATA[Z 8100 > Application 9 <![CDATA[Z 91 > <![CDATA[Z 92 > <![CDATA[Z 93 > … <![CDATA[Z 9100 > Application 10 <![CDATA[Z 101 > <![CDATA[Z 102 > <![CDATA[Z 103 > … <![CDATA[Z 10100 > Application 11 <![CDATA[Z 111 > <![CDATA[Z 112 > <![CDATA[Z 113 > … <![CDATA[Z 11100 > … … … … … … Application v <![CDATA[Z v1 > <![CDATA[Z v2 > <![CDATA[Z v3 > … <![CDATA[Z v100 >
[0225] Wherein, i is the serial number of the application. j is the serial number of the time point. For example, Z 12 is the target weight of application 1 corresponding to time point 2. Z 12 can represent that the serial number of the corresponding application is 1 and the serial number of the corresponding time point is 2.
[0226] S704. The electronic device constructs sample points to obtain the training data of the linear regression model.
[0227] Exemplarily, the electronic device can select the target weights of P applications from Table 1. The electronic device can also select the application usage data of 100 time points of the q-th day from the recorded application usage data. The 100 time points of the q-th day are the same as the 100 time points shown in Table 3.
[0228] The electronic device constructs sample points using the target weights of P applications and the application usage data of 100 time points of the q-th day to obtain the first training data.
[0229] Taking P = 10 as an example, the target weights of P applications are, for example, the target weights of 10 applications shown in Table 4. The application usage data at 100 time points on the q-th day is, for example, shown in Table 5.
[0230] Table 4 Target weights Zij of P applications.
[0231] Time point 1 Time point 2 Time point 3 … Time point 100 Application 1 <![CDATA[Z 11 > <![CDATA[Z 12 > <![CDATA[Z 13 > … <![CDATA[Z 1100 > Application 2 <![CDATA[Z 21 > <![CDATA[Z 22 > <![CDATA[Z 23 > … <![CDATA[Z 2100 > Application 3 <![CDATA[Z 31 > <![CDATA[Z 32 > <![CDATA[Z 33 > … <![CDATA[Z 3100 > Application 4 <![CDATA[Z 41 > <![CDATA[Z 42 > <![CDATA[Z 43 > … <![CDATA[Z 4100 > Application 5 <![CDATA[Z 51 > <![CDATA[Z 52 > <![CDATA[Z 53 > … <![CDATA[Z 5100 > Application 6 <![CDATA[Z 61 > <![CDATA[Z 62 > <![CDATA[Z 63 > … <![CDATA[Z 6100 > Application 7 <![CDATA[Z 71 > <![CDATA[Z 72 > <![CDATA[Z 73 > … <![CDATA[Z 7100 > Application 8 <![CDATA[Z 81 > <![CDATA[Z 82 > <![CDATA[Z 83 > … <![CDATA[Z 8100 > Application 9 <![CDATA[Z 91 > <![CDATA[Z 92 > <![CDATA[Z 93 > … <![CDATA[Z 9100 > Application 10 <![CDATA[Z 101 > <![CDATA[Z 102 > <![CDATA[Z 103 > … <![CDATA[Z 10100 >
[0232] Table 5 Application usage data at 100 time points on the q-th day.
[0233]
[0234] The electronic device can sort the target weights of the target applications in Table 4 in the order of the magnitudes of the target weights to obtain a target weight sequence of the target applications. The target application is any application in Table 4. In this way, the electronic device can obtain the target weight sequences of the respective applications in Table 4.
[0235] The electronic device evenly divides the target weight sequence of the target application into N segments to obtain N sets of target weight collections of the target application. Among them, the number of target weights in each of the N sets of target weight collections of the target application is the same. For example, taking N = 10, the target application being Application 1 and the target weight sequence of Application 1 being [Z 11 , Z 13 , Z 120 , Z 115 , Z 131 , Z 132 , Z 133 , Z 134 , Z 135 , Z 136 , Z 137 , Z 138 , Z 139 , Z 140 , Z 141 , Z 160 , Z 161 , Z 162 , Z 12 , Z 13 , …, Z 150 as an example, the electronic device can evenly divide the target weight sequence of Application 1 into 10 segments to obtain 10 sets of target weight collections of Application 1. The 10 sets of target weight collections of Application 1 include: the first set of Application 1, the second set of Application 1, the third set of Application 1, …, the tenth set of Application 1. Among them, the first set of Application 1 includes the first - tenth target weights in the target weight sequence of Application 1. For example, the first set of Application 1 includes: Z 11 , Z 13 , Z 120 , Z 115 , Z as an example, the electronic device can evenly divide the target weight sequence of Application 1 into 10 segments to obtain 10 sets of target weight collections of Application 1. The 10 sets of target weight collections of Application 1 include: the first set of Application 1, the second set of Application 1, the third set of Application 1, …, the tenth set of Application 1. Among them, the first set of Application 1 includes the first - tenth target weights in the target weight sequence of Application 1. For example, the first set of Application 1 includes: Z131 , Z 132 , Z 133 , Z 134 , Z 135 and Z 136 . The second group of Application 1 includes the 11th - 20th target weights in the target weight sequence of Application 1. For example, the second group of Application 1 includes: Z 137 , Z 138 , Z 139 , Z 140 , Z 141 , Z 160 , Z 161 , Z 162 , Z 12 and Z 13 . The third group of Application 1 includes the 21st - 30th target weights in the target weight sequence of Application 1. The fourth group of Application 1 includes the 31st - 40th target weights in the target weight sequence of Application 1. The fifth group of Application 1 includes the 41st - 50th target weights in the target weight sequence of Application 1. The sixth group of Application 1 includes the 51st - 60th target weights in the target weight sequence of Application 1. The seventh group of Application 1 includes the 61st - 70th target weights in the target weight sequence of Application 1. The eighth group of Application 1 includes the 71st - 80th target weights in the target weight sequence of Application 1. The ninth group of Application 1 includes the 81st - 90th target weights in the target weight sequence of Application 1. The tenth group of Application 1 includes the 91st - 100th target weights in the target weight sequence of Application 1. The number of target weights in each group of the 10 groups of target weight sets of the target application is 10. In this way, the electronic device can obtain P×N groups (such as 100 groups) of target weight sets.
[0236] The electronic device calculates the average value X of the target weights in the target group iw . Where i is the serial number of the application, and w is the category serial number of the target group. For example, w = 1, 2, 3, ……, N. The average value X of the target weights iw is shown in Table 6 below. The target group is any one of the P×N groups of target weight sets. In this way, the electronic device can obtain P×N average values of the target weights.
[0237] The electronic device obtains the conditional probabilities of each group in the N groups of target weight sets of the target application based on the application usage data on the qth day shown in Table 5, the time points corresponding to the target weights in each group of the N groups of target weight sets of the target application, and the identifier of the target application. The conditional probabilities of each group in the N groups of target weight sets of the target application represent the actual usage probabilities of the target application under the grouping conditions shown in the above N groups of target weight sets of the target application.
[0238] For example, based on Table 5 and the set of target weights of P×N groups (such as 100 groups), the electronic device determines the conditional probability of the target group. In this way, the electronic device can obtain P×N conditional probabilities.
[0239] Among them, the conditional probability of the target group is the ratio of the number of target weights with accurate predictions in the target group to the total number of target weights in the target group. The target weight with an accurate prediction is the target weight corresponding to the time point and application identifier in the application usage data on the q-th day. The application identifier can also include the serial number of the application. Exemplarily, taking the target group containing target weight Z 11 and target weight Z 13 as an example, for the target weight Z 11 the corresponding time point 1 and application 1 correspond to identifier 1 in Table 5, indicating that the user used application 1 at time point 1 on the q-th day, and the target weight Z 11 is a target weight with an accurate prediction. For the target weight Z 13 the corresponding time point 3 and application 1 correspond to identifier 0 in Table 5, indicating that the user did not use application 1 at time point 3 on the q-th day, and the target weight Z 13 is not a target weight with an accurate prediction.
[0240] It can be understood that still taking the target weight Z 11 and target weight Z 13 as an example, in Table 5, time point 1 and application 1 corresponding to identifier 1 can also indicate that the target weight corresponding to time point 1 and application 1 is a target weight with an accurate prediction. In Table 5, time point 3 and application 1 corresponding to identifier 0 indicates that the target weight corresponding to time point 3 and application 1 is not a target weight with an accurate prediction.
[0241] For example, if the number of target weights with accurate predictions in the target group is 2 and the total number of target weights in the target group is 10, then the conditional probability of the target group is 0.2.
[0242] Still taking P×N = 10×10 = 100 as an example, the electronic device can obtain 100 target weight averages and 100 conditional probabilities as shown in Table 6. The target weight average of the target group and the conditional probability of the target group form a sample point, and the electronic device can obtain 100 sample points, and these 100 sample points constitute the first training data.
[0243] Table 6 Schematic of the target weight average X iw and conditional probability Y iw in the first training data
[0244] Group 1 Group 2 Group 3 … Group 10 Application 1 <![CDATA[X 11 , Y 11 > <![CDATA[X 12 , Y 12 > <![CDATA[X 13 , Y 13 > … <![CDATA[X 110 , Y 110 > Application 2 <![CDATA[X 21 , Y 21 > <![CDATA[X 22 ,Y 22 > <![CDATA[X 23 , Y 23 > … <![CDATA[X 210 , Y 210 > Application 3 <![CDATA[X 31 , Y 31 > <![CDATA[X 32 , Y 32 > <![CDATA[X 33 , Y 33 > … <![CDATA[X 310 , Y 310 > Application 4 <![CDATA[X 41 ,Y 41 > <![CDATA[X 42 , Y 42 > <![CDATA[X 43 ,Y 43 > … <![CDATA[X 410 , Y 410 > Application 5 <![CDATA[X 51 ,Y 51 > <![CDATA[X 52 , Y 52 > <![CDATA[X 53 , Y 53 > … <![CDATA[X 510 , Y 510 > Application 6 <![CDATA[X 61 , Y 61 > <![CDATA[X 62 , Y 62 > <![CDATA[X 63 ,Y 63 > … <![CDATA[X 610 ,Y 610 > Application 7 <![CDATA[X 71 , Y 71 > <![CDATA[X 72 , Y 72 > <![CDATA[X 73 , Y 73 > … <![CDATA[X 710 , Y 710 > Application 8 <![CDATA[X 81 ,Y 81 > <![CDATA[X 82 , Y 82 > <![CDATA[X 83 , Y 83 > … <![CDATA[X 810 , Y 810 > Application 9 <![CDATA[X 91 ,Y 91 > <![CDATA[X 92 , Y 92 > <![CDATA[X 93 ,Y 93 > … <![CDATA[X 910 , Y 910 > Application 10 <![CDATA[X 101 , Y 101 > <![CDATA[X 102 , Y 102 > <![CDATA[X 103 , Y 103 > … <![CDATA[X 1010 , Y 1010 >
[0245] Exemplarily, X 12 can represent the target weight average of the second group of target weight sets of application 1. Y12 It can represent the conditional probability of the second set of target weights of Application 1. The conditional probability of the second set of target weights of Application 1 can also be referred to as the conditional probability of the second set of Application 1.
[0246] S705. The electronic device uses the training data of the linear regression model to train the linear regression model and obtains the weight coefficients of the linear regression model.
[0247] Among them, the weight coefficients of the linear regression model satisfy the following formula (3):
[0248]
[0249] Among them, x k is the k-th target weight average value in the training data of the linear regression model, is the average value of the target weight average values in the training data of the linear regression model, y k is the k-th conditional probability in the training data of the linear regression model, is the average value of the conditional probabilities in the training data of the linear regression model, x k The corresponding group is the same as the group corresponding to y k The corresponding application is the same as the application corresponding to y k The corresponding application is the same as the application corresponding to y k n = P × N.
[0250] Exemplarily, in the case of obtaining the first training data as shown in Table 6, the electronic device uses the first training data to train the linear regression model and obtains the weight coefficients a and b of the linear regression model. Among them, can be the average value of X iw in Table 6. can be the average value of Y iw in Table 6.
[0251] It can be understood that the data shown in Table 4 are predicted data, and the data shown in Table 5 are the application usage data of the user's actual use of the application. Based on the predicted data and the actual use data, a training sample of the linear regression model is constructed, and the linear regression model is trained using the training sample of the linear regression model. In this way, the linear regression model can obtain an accurate linear relationship between the target weight of the application output by the multi-channel recall model and the usage probability of the application. Furthermore, based on this linear regression model, an accurate usage probability corresponding to the target weight of the application can be obtained.
[0252] S706. The electronic device can also obtain the verification set features.
[0253] Exemplarily, the validation set features may include the application usage data of the q-th day. In the case where the electronic device has trained a linear regression model using the first training data, the electronic device may obtain the application usage data of the q-th day from the application usage data of multiple days recorded by the electronic device.
[0254] S707. The electronic device may input the training set features and the validation set features into the multi-channel recall model.
[0255] Exemplarily, the electronic device inputs the application usage data of the M1-th day and the application usage data of the q-th day into the multi-channel recall model, and controls the multi-channel recall model to output multiple applications corresponding to the target time point of the (q + 1)-th day and the target weights of each application among the multiple applications.
[0256] S708. The electronic device may obtain multiple applications corresponding to the target time point of the (q + 1)-th day and the target weights of each application among the multiple applications output by the multi-channel recall model.
[0257] The electronic device inputs multiple applications corresponding to the target time point of the (q + 1)-th day and the target weights of each application among the multiple applications into the linear regression model trained in S705, and obtains the conditional probabilities of multiple applications corresponding to the target time point of the (q + 1)-th day and each application among the multiple applications.
[0258] S709. The electronic device uses the normalization exponential function of the normalization model to perform normalization processing on the conditional probabilities of multiple applications corresponding to the target time point of the (q + 1)-th day and each application among the multiple applications, and obtains the usage probabilities of multiple applications corresponding to the target time point of the (q + 1)-th day and each application among the multiple applications.
[0259] Further, taking the multiple applications corresponding to the target time point of the (q + 1)-th day output by the multi-channel recall model as K applications as an example. In the case of obtaining K applications corresponding to the target time point of the (q + 1)-th day output by the normalization model and the usage probabilities of each application among the K applications, the electronic device may obtain the application usage data of the (q + 1)-th day from the application usage data of multiple days recorded.
[0260] The electronic device may obtain the actual usage probabilities of each application among the K applications within a preset time period including the target time point of the (q + 1)-th day based on the application usage data of the (q + 1)-th day. The duration of the preset time period may be the same as or different from the duration of the s-th time period. For example, the duration of the preset time period is less than the duration of the s-th time period.
[0261] Based on the K applications corresponding to the target time point of the (q + 1)-th day output by the normalization model and the usage probabilities of each application among the K applications, and the actual usage probabilities of each application among the K applications within a preset time period including the target time point of the (q + 1)-th day, the electronic device may obtain the prediction accuracy of the linear regression model.
[0262] Among them, the prediction accuracy rate of the linear regression model is the ratio of the sum of the usage probabilities of each of the P applications among the K applications corresponding to the target time point on the (q + 1)-th day of the output of the normalization model to the sum of the actual usage probabilities of each of the P applications among the K applications within a preset time period including the target time point on the (q + 1)-th day.
[0263] The electronic device determines whether the prediction accuracy rate of the linear regression model is greater than the accuracy rate threshold.
[0264] If so, it indicates that the linear regression model trained in S705 meets the requirements.
[0265] If not, it indicates that the linear regression model trained in S705 does not meet the requirements. The electronic device can update the training data of the linear regression model and use the updated training data of the linear regression model to train the linear regression model until the prediction accuracy rate of the linear regression model is greater than the accuracy rate threshold.
[0266] It can be understood that, in the training and verification process of the linear regression model as shown in Figure 7 , the application usage data for M1 days used for training the linear regression model belongs to the training set, the application usage data for the q-th day used for training and verifying the linear regression model belongs to the verification set, and the application usage data for the (q + 1)-th day used for verifying the linear regression model belongs to the test set. In some embodiments of the present application, the data volume of the training set for training the linear regression model: the data volume of the verification set for training and verifying the linear regression model: the data volume of the test set for verifying the linear regression model = 8:1:1.
[0267] The embodiments of the present application further provide an application control method, and the method may include:
[0268] At a first moment, kill the applications running in the background by using a first application list. The first application list includes m1 applications and information for identifying the usage probabilities of each of the m1 applications, and the usage probabilities of each of the m1 applications are all greater than a preset threshold.
[0269] At a second moment, kill the applications running in the background by using a second application list. The second application list includes m2 applications and information for identifying the usage probabilities of each of the m2 applications, and the usage probabilities of each of the m2 applications are all greater than a preset threshold. m1 is different from m2.
[0270] Exemplarily, the first moment may be the moment when the electronic device obtains the first application list, and the second moment may be the moment when the electronic device obtains the second application list. It can be understood that when the first recommendation operation moment is the same as the moment when the electronic device obtains the first application list, the first moment may be the first recommendation operation moment, or the first moment may be the first time point. The first recommendation operation moment is the same as the moment when the electronic device obtains the first application list. For example: the first recommendation operation moment is 10:10 on December 14th, and the moment when the electronic device obtains the first application list is also 10:10 on December 14th. When the second recommendation operation moment is the same as the moment when the electronic device obtains the second application list, the second moment may be the second recommendation operation moment, or the second moment may be the second time point. The time period to which the first moment belongs and the time period to which the second moment belongs may be the same or different. The duration of the time period to which the first moment belongs is the same as the duration of the time period to which the second moment belongs, and both are equal to the duration of the s-th time period.
[0271] The information for identifying the usage probabilities of the applications in the m1 applications included in the first application list may be the usage probabilities of the applications output by the second model in the first application list. The information for identifying the usage probabilities of the applications in the m2 applications included in the second application list may be the usage probabilities of the applications output by the second model in the second application list.
[0272] In the embodiments of the present application, the specific implementation principle for the electronic device to obtain the second application list is similar to the specific implementation principle for the electronic device to obtain the first application list. For the specific implementation principle for the electronic device to obtain the first application list, reference may be made to Figure 4 the specific implementation principle for the electronic device to obtain the first application list in the embodiments, which will not be elaborated here.
[0273] Exemplarily, the date to which the first moment belongs and the date to which the second moment belongs may be the same. The date to which the first moment belongs and the date to which the second moment belongs may also be different. The date to which the first moment belongs and the date to which the second moment belongs being the same can be understood as: the first moment and the second moment may belong to the same day.
[0274] Exemplarily, as shown in Table 7, by using the application control method provided in the embodiments of the present application, application lists for killing background applications corresponding to different moments can be obtained.
[0275] Table 7 Applications in the application list corresponding to different moments
[0276]
[0277] It should be understood that the times shown in Table 7 may be times belonging to the same day. The times shown in Table 7 may also belong to times of different days.
[0278] As shown in Table 7, the application control method provided by the embodiments of the present application can obtain the application lists corresponding to different moments, and the number of applications in the application lists corresponding to different moments is different. The applications running in the background are killed using the corresponding application lists at different moments, which can not only increase the probability of killing the applications that the user will not use, thereby reducing the power consumption of the electronic device, but also the usage probabilities of the applications in the application lists used for killing are all greater than a preset threshold, indicating that the applications in the application list are applications that the user is likely to use. Killing the applications running in the background using the application list can also reduce the occurrence probability of killing the applications that the user will use, improving the user experience.
[0279] Optionally, the first moment belongs to the s-th time period of the t-th day. The first application list is obtained through the following method:
[0280] Use the first model to obtain multiple applications in the s-th time period of the t-th day and the first target weight of each application among the multiple applications. The first target weight is related to the first usage probability, and the first usage probability represents the application usage probability in the s-th time period of the t-th day.
[0281] Input the first target weight of each application among the multiple applications into the second model, and the second model outputs the first application list.
[0282] Among them, the first model is used to output the first target weight of each application among the multiple applications corresponding to the first moment when the application usage data in the s-th time period in the L days before the t-th day and the application usage data of the application used R times before the first moment are input. The application usage data includes the start time when the application runs in the foreground and the application identifier.
[0283] Exemplarily, the first model can be a multi-channel recall model. For the specific implementation principle of the electronic device using the first model to obtain multiple applications and the first target weight of each application among the multiple applications, reference can be made to Figure 4 the specific implementation principles of S401 - S402 in the embodiment. For the specific implementation principle of the electronic device inputting the first target weight of each application among the multiple applications into the second model and the second model outputting the first application list, reference can be made to the specific implementation principles of S403 - S404 in the 4th embodiment, which will not be elaborated here.
[0284] In this way, the first model can learn the long-term, recent, and real-time habits of users using applications (APPs), and can also adopt the recall rate for each path to achieve the fusion of multiple-path recalls. The first model takes into account the long-term, recent, and real-time habits of users using applications. Considering the long-term, recent, and real-time data, accurate target weights can thus be obtained. The second model can obtain the usage probability of an application based on the target weight of the application output by the first model, and then can obtain an accurate first application list that includes usage probabilities greater than a preset threshold. When the electronic device uses the first application list to kill background applications, the probability of killing applications that users will not use can be increased, thereby reducing the power consumption of the electronic device and also reducing the occurrence probability of killing applications that users will use.
[0285] Optionally, the first target weight is linearly related to the first usage probability. The second model includes a linear regression model and a normalization model.
[0286] Inputting the first target weights of each application among multiple applications into the second model, and the second model outputs the first application list, including:
[0287] Inputting the first target weights of each application among multiple applications into the linear regression model to obtain the first conditional probability of each application among multiple applications. The first conditional probability represents the unnormalized usage probability.
[0288] Inputting the first conditional probabilities of each application among multiple applications into the normalization model to obtain the first usage probability of each application among multiple applications.
[0289] Selecting applications with a first usage probability greater than a preset threshold from multiple applications to obtain the first application list.
[0290] In this way, the target weight of an application is linearly related to the usage probability of the application. By using the linear regression model and the normalization model to process the first target weight of the application, an accurate first application list that includes a first usage probability greater than a preset threshold can be obtained.
[0291] Optionally, inputting the first target weights of each application among multiple applications into the linear regression model to obtain the first conditional probability of each application among multiple applications, including:
[0292] Calculating the first target weights of each application among multiple applications using the least squares method to obtain the first conditional probability of each application among multiple applications.
[0293] In this way, since the target weight of an application is linearly related to the usage probability of the application, calculating the first target weights of each application among multiple applications using the least squares method can obtain accurate first conditional probabilities of each application among multiple applications, and thus can improve the accuracy of the first application list.
[0294] Optionally, input the first conditional probability of each application among multiple applications into a normalization model to obtain the first usage probability of each application among multiple applications, including:
[0295] Use the normalization exponential function softmax to calculate the first conditional probability of each application among multiple applications to obtain the first usage probability of each application among multiple applications.
[0296] In this way, it is convenient to select applications with a first usage probability greater than a preset threshold from multiple applications by using the preset threshold to form a first application list.
[0297] Optionally, the first moment is the jth time point on the tth day, and the first usage probability g(Y i,tj ) satisfies formula (2).
[0298] In this way, it is convenient to select applications with a first usage probability greater than a preset threshold from multiple applications by using the preset threshold to form a first application list.
[0299] Optionally, the first moment is the jth time point on the tth day, and the first conditional probability Y i,tj satisfies the following formula (1).
[0300] In this way, accurate first conditional probabilities of each application can be obtained based on the first target weights of each application, and thus the accuracy of the first application list can be improved.
[0301] Optionally, the weight coefficients of the linear regression model are obtained by training the linear regression model with first training data.
[0302] Among them, the first training data is related to the target weights of each time point among multiple time points of each application among P applications on the qth day and the application usage data on the qth day. The target weights of each time point among multiple time points of each application among P applications on the qth day are output by the first model when inputting the application usage data of M1 days. The qth day is after M1 days, and P applications belong to the applications corresponding to the application usage data of M1 days.
[0303] Exemplarily, the target weights of each time point among multiple time points of each application among P applications on the qth day are, for example: Figure 7 The target weights of each application among P applications corresponding to each time point among multiple time points on the qth day output by the multi-channel recall model in the embodiment.
[0304] The target weights of each application among the P applications at each time point on the q-th day belong to the predicted data, and the application usage data on the q-th day belongs to the actually occurred data. The linear regression model is trained using the first training data related to the predicted data and the actually occurred data. In this way, the linear regression model can obtain an accurate linear relationship between the target weights of the applications output by the multi-channel recall model and the usage probabilities of the applications. Furthermore, based on this linear regression model, the accurate usage probability corresponding to the target weight of the application can be obtained.
[0305] Optionally, the obtaining method of the first training data includes:
[0306] Sort the target weights of the target application among the P applications in the order of the size of the target weights to obtain the target weight sequence of the target application. The target application is any one of the P applications.
[0307] Evenly divide the target weight sequence of the target application into N segments to obtain N groups of target weight sets of the target application. The number of target weights in each of the N groups of target weight sets is the same.
[0308] Calculate the average value of the target weights in each of the N groups of target weight sets of the target application. And based on the application usage data on the q-th day, the time points corresponding to the target weights in the N groups of target weight sets of the target application, and the identifier of the target application, obtain the conditional probabilities of each of the N groups of target weight sets of the target application. The conditional probabilities of each of the N groups of target weight sets of the target application represent the actual usage probabilities of the target application in the grouped situation.
[0309] Training the linear regression model using the first training data includes:
[0310] Train the linear regression model using the N average target weights corresponding to each application among the P applications and the N conditional probabilities corresponding to each application among the P applications.
[0311] In this way, by obtaining the first training data in the way of constructing sample points after grouping, the data volume covered by the first training data can be larger, improving the prediction accuracy and robustness of the linear regression model trained using the first training data.
[0312] Optionally, the conditional probability of the target group in the N groups of target weight sets of the target application is the ratio of the number of target weights with accurate predictions in the target group to the total number of target weights in the target group. The target weights with accurate predictions are the target weights corresponding to the time points and application identifiers in the application usage data on the q-th day. The target group is any one of the N groups of target weight sets of the target application.
[0313] In this way, in the case of training a linear regression model with the first training data, the linear regression model can obtain an accurate linear relationship between the target weight of the application output by the multi-channel recall model and the usage probability of the application.
[0314] Optionally, the weight coefficient a of the linear regression model and the weight coefficient b of the linear regression model satisfy formula (3).
[0315] In this way, in the case of training a linear regression model with the first training data, the linear regression model can obtain an accurate linear relationship between the target weight of the application output by the multi-channel recall model and the usage probability of the application.
[0316] Optionally, the prediction accuracy rate of the linear regression model is greater than the accuracy rate threshold.
[0317] Among them, the prediction accuracy rate of the linear regression model is calculated based on the predicted usage probabilities of each application at the target time point on the (q + 1)-th day among the K applications obtained by using the first model and the linear regression model, and the actual usage probabilities of each application among the K applications within a preset time period including the target time point on the (q + 1)-th day. The predicted usage probability of each application at the target time point on the (q + 1)-th day among the K applications is obtained by inputting the application usage data for M1 days and the application usage data for the q-th day into the first model, and inputting the result output by the first model into the linear regression model.
[0318] In this way, the prediction accuracy rate of the linear regression model being greater than the accuracy rate threshold can indicate that the trained linear regression model meets the requirements. By processing the target weight of the application using the linear regression model that meets the requirements, the accurate conditional probability of the application can be obtained, and then an accurate application list can be obtained.
[0319] Optionally, the prediction accuracy rate of the linear regression model is the ratio of the sum of the predicted usage probabilities of P applications among the K applications at the target time point on the (q + 1)-th day to the sum of the actual usage probabilities of P applications among the K applications within a preset time period including the target time point on the (q + 1)-th day.
[0320] In this way, based on the prediction accuracy rate of the linear regression model, it can be verified whether the trained linear regression model meets the requirements. For example, if it is determined that the prediction accuracy rate of the linear regression model is greater than the accuracy rate threshold, it indicates that the trained linear regression model meets the requirements. If it is determined that the prediction accuracy rate of the linear regression model is less than or equal to the accuracy rate threshold, it indicates that the trained linear regression model does not meet the requirements. The training data of the linear regression model can be updated, and the linear regression model can be trained using the updated training data of the linear regression model until the prediction accuracy rate of the linear regression model is greater than the accuracy rate threshold.
[0321] Optionally, the first model is a multi-channel recall model, which includes the first-channel recall, the second-channel recall, and the third-channel recall. The first-channel recall includes the Classification and Regression Tree (CART) algorithm, the second-channel recall includes the recent popular recall algorithm, and the third-channel recall includes the time decay algorithm.
[0322] In this way, the multi-channel recall model takes into account the user's long-term usage habits, recent usage habits, and real-time usage habits of the application, so that an accurate target weight can be obtained through the multi-channel recall model.
[0323] Optionally, the recall rate of each channel in the three-channel recall of the multi-channel recall model is updated daily, and the recall rate of each channel is related to the first target weight.
[0324] In this way, the accuracy of the target weight output by the multi-channel recall model can be further improved, and the subsequent obtained application list (such as the first application list or the second application list) can be more in line with the actual application usage situation of the user.
[0325] It should be noted that the module names involved in the embodiments of the present application can all be defined as other names, as long as the functions of each module can be realized, and no specific restrictions are imposed on the module names.
[0326] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the embodiments of the present application are all information and data authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of relevant countries and regions, and corresponding operation entrances are provided for the user to choose to authorize or refuse.
[0327] The application control method of the embodiments of the present application has been described above. Next, the device for executing the above method provided by the embodiments of the present application will be described. Those skilled in the art can understand that the method and the device can be combined and referenced with each other, and the relevant device provided by the embodiments of the present application can execute the steps in the above application control method.
[0328] The application control method provided by the embodiments of the present application can be applied to an electronic device with communication functions. The electronic device includes a terminal device, and the specific device form of the terminal device can refer to the above relevant description and will not be elaborated here.
[0329] The embodiments of the present application provide an electronic device, which includes: a processor and a memory; the memory stores computer execution instructions; the processor executes the computer execution instructions stored in the memory, so that the electronic device executes the above method.
[0330] An embodiment of the present application provides a chip. The chip includes a processor, and the processor is used to call a computer program in a memory to execute the technical solutions in the above embodiments. Its implementation principle and technical effects are similar to those of the above related embodiments, and will not be elaborated here.
[0331] An embodiment of the present application provides a chip system. The chip system may include at least one processor and a communication interface. The communication interface and the at least one processor are interconnected by a line, and the at least one processor is used to run a computer program or instruction to execute the above method.
[0332] An embodiment of the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the above method is implemented. The methods described in the above embodiments can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. If implemented in software, the functions can be stored as one or more instructions or codes on a computer-readable medium or transmitted on a computer-readable medium. The computer-readable medium may include a computer storage medium and a communication medium, and may also include any medium that can transmit a computer program from one place to another. The storage medium may be any target medium accessible by a computer.
[0333] In a possible implementation, the computer-readable medium may include RAM, ROM, a compact disc read-only memory (CD-ROM), or other optical disc memories, magnetic disk memories, or other magnetic storage devices, or any other medium targeted at carrying or storing the required program code in the form of instructions or data structures and accessible by a computer. Moreover, any connection is properly referred to as a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of the medium. As used herein, disk and disc include optical disc, laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc, where disks typically reproduce data magnetically, while discs reproduce data optically using a laser. The above combinations should also be included within the scope of the computer-readable medium.
[0334] An embodiment of the present application provides a computer program product. The computer program product includes a computer program, and when the computer program is run, it causes a computer to execute the above method.
[0335] Embodiments of the present application are described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, and the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processing unit of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable devices to generate a machine, so that the instructions executed by the processing unit of the computer or other programmable data processing devices generate means for implementing the functions specified in one process Figure 1 one process or multiple processes and / or blocks Figure 1 or means for implementing the functions specified in multiple blocks.
[0336] The above specific embodiments have further elaborated on the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above is only the specific embodiment of the present invention and is not used to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made on the basis of the technical solution of the present invention shall be included in the protection scope of the present invention.
Claims
1. An application control method, characterized in that Including: At a first moment, killing applications running in the background using a first application list; the first application list includes m1 applications and information for identifying the usage probability of each application in the m1 applications, and the usage probability of each application in the m1 applications is greater than a preset threshold; At a second moment, killing applications running in the background using a second application list; the second application list includes m2 applications and information for identifying the usage probability of each application in the m2 applications, and the usage probability of each application in the m2 applications is greater than the preset threshold; m1 is different from m2; the second moment is later than the first moment.
2. The method according to claim 1, characterized in that, The first moment belongs to the s-th time period of the t-th day; the first application list is obtained through the following method: Using a first model to obtain multiple applications in the s-th time period of the t-th day and the first target weight of each application in the multiple applications, the first target weight is related to a first usage probability, and the first usage probability represents the application usage probability in the s-th time period of the t-th day; Inputting the first target weight of each application in the multiple applications into a second model, and the second model outputs the first application list; Wherein, the first model is used to output the first target weight of each application in the multiple applications corresponding to the first moment when inputting the application usage data in the s-th time period in the L days before the t-th day and the application usage data of using the application R times before the first moment; The application usage data includes the start time when the application runs in the foreground and the application identifier.
3. The method according to claim 2, wherein The first target weight is linearly related to the first usage probability; the second model includes a linear regression model and a normalization model; The step of inputting the first target weight of each application in the multiple applications into the second model, and the second model outputs the first application list, includes: Inputting the first target weight of each application in the multiple applications into the linear regression model to obtain the first conditional probability of each application in the multiple applications; the first conditional probability represents the unnormalized usage probability; Inputting the first conditional probability of each application in the multiple applications into the normalization model to obtain the first usage probability of each application in the multiple applications; Selecting applications with a first usage probability greater than the preset threshold from the multiple applications to obtain the first application list.
4. The method according to claim 3, wherein The step of inputting the first target weight of each application in the multiple applications into the linear regression model to obtain the first conditional probability of each application in the multiple applications, includes: Calculating the first target weight of each application in the multiple applications using the least squares method to obtain the first conditional probability of each application in the multiple applications.
5. The method according to claim 4, characterized in that, The step of inputting the first conditional probability of each application in the multiple applications into the normalization model to obtain the first usage probability of each application in the multiple applications, includes: Calculating the first conditional probability of each application in the multiple applications using the softmax function of the normalization exponential function to obtain the first usage probability of each application in the multiple applications.
6. The method according to claim 5, wherein The first moment is the j-th time point on the t-th day, and the first usage probability g(Y i,tj ) satisfies the following formula: where Y i,tj is the first conditional probability obtained based on the first target weight of the i-th application corresponding to the j-th time point on the t-th day, and e is the natural constant.
7. The method according to any one of claims 4-6, characterized in that, The first moment is the j-th time point of the t-th day, and the first conditional probability Y i,tj satisfies the following formula: Y i,tj = bZ i,tj + a Among them, Z i,tj is the first target weight of the i-th application corresponding to the j-th time point on the t-th day, a is the weight coefficient of the linear regression model, and b is the weight coefficient of the linear regression model.
8. The method according to claim 7, wherein The weight coefficients of the linear regression model are obtained by training the linear regression model with the first training data; wherein, the first training data is related to the target weights at each time point among multiple time points of each application in the P applications on the q-th day and the application usage data on the q-th day; the target weights at each time point among multiple time points of each application in the P applications on the q-th day are output by the first model when the application usage data of M1 days is input into the first model; the q-th day is after the M1 days, and the P applications belong to the applications corresponding to the application usage data of the M1 days.
9. The method according to claim 8, wherein The obtaining method of the first training data includes: Sorting the target weights of the target application among the P applications according to the magnitude order of the target weights to obtain the target weight sequence of the target application; the target application is any one of the P applications; Dividing the target weight sequence of the target application into N segments on average to obtain N groups of target weight sets of the target application, and the number of target weights in each group of the N groups of target weight sets is the same; Calculating the average value of the target weights in each group of the N groups of target weight sets of the target application; and based on the application usage data on the q-th day, the time points corresponding to the target weights in each group of the N groups of target weight sets of the target application, and the identifier of the target application, obtaining the conditional probability of each group of the N groups of target weight sets of the target application; the conditional probability of each group of the N groups of target weight sets of the target application represents the actual usage probability of the target application in the case of grouping. The training of the linear regression model with the first training data includes: Training the linear regression model with the N average values of the target weights corresponding to each application among the P applications and the N conditional probabilities corresponding to each application among the P applications.
10. The method according to claim 9, characterized in that, The conditional probability of the target group in the N groups of target weight sets of the target application is the ratio of the number of target weights with accurate prediction in the target group to the total number of target weights in the target group; the target weights with accurate prediction are the target weights corresponding to the time point and the application identifier in the application usage data on the q-th day; the target group is any one of the N groups of target weight sets of the target application.
11. The method according to claim 9 or 10, characterized in that, The weight coefficients of the linear regression model satisfy the following formula: where x k is the average value of the k-th target weight in the training data of the linear regression model, is the average value of the target weight averages in the training data of the linear regression model, y k is the k-th conditional probability in the training data of the linear regression model, is the average value of the conditional probabilities in the training data of the linear regression model, the x k corresponding group is the same as the group corresponding to the y k corresponding application is the same as the application corresponding to the y k corresponding application is the same as the application corresponding to the y k n = P × N.
12. The method according to any one of claims 8-11, characterized in that, The prediction accuracy rate of the linear regression model is greater than the accuracy rate threshold; wherein, the prediction accuracy rate of the linear regression model is calculated based on the predicted usage probability of each application among the K applications at the target time point on the (q + 1)-th day obtained by using the first model and the linear regression model, and the actual usage probability of each application among the K applications within a preset time period including the target time point on the (q + 1)-th day; the predicted usage probability of each application among the K applications at the target time point on the (q + 1)-th day is obtained by inputting the application usage data of the M1 days and the application usage data on the q-th day into the first model, and inputting the result output by the first model into the linear regression model.
13. The method according to claim 12, wherein The prediction accuracy rate of the linear regression model is the ratio of the sum of the prediction usage probabilities of P applications among the K applications at the target time point on the (q + 1)-th day to the sum of the actual usage probabilities of P applications among the K applications within a preset time period including the target time point on the (q + 1)-th day.
14. The method according to any one of claims 2 - 13, characterized in that, The first model is a multi-way recall model. The multi-way recall model includes a first-way recall, a second-way recall, and a third-way recall. The first-way recall includes a Classification And Regression Tree (CART) algorithm. The second-way recall includes a most-popular-recently recall algorithm. The third-way recall includes a time decay algorithm.
15. The method according to claim 14, wherein The recall rate of each way in the three-way recall of the multi-way recall model is updated daily, and the recall rate of each way is related to the first target weight.
16. An electronic device, characterized in that, Comprising: a processor and a memory; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, so that the electronic device executes the method according to any one of claims 1-15.
17. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, the method according to any one of claims 1-15 is implemented.
18. A chip system, characterized in that, Comprising at least one processor and a communication interface. The communication interface and the at least one processor are interconnected by a line. The at least one processor is configured to run a computer program or instructions to execute the method according to any one of claims 1-15.
19. A computer program product, characterized in that, Comprising a computer program, when the computer program is run, the computer is caused to execute the method according to any one of claims 1-15.
Citation Information
Patent Citations
Application program processing method and deice, storage medium and electronic equipment
CN107943583A
Background application program management method and terminal
CN110569119A
Background application cleaning method and device and computer readable storage medium
CN110825458A
Application cleaning method and apparatus, storage medium and electronic device
WO2020206690A1