Application processing method, related device and medium program
By introducing a linkage mechanism of application recommendation, keep-alive and preloading in electronic devices, the problem of users frequently searching for application icons in multiple application environments is solved, and the user experience is improved.
Patent Information
- Application Number
- CN202410035715.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-09
- Publication Date
- 2025-07-18
AI Technical Summary
The problem of poor operation experience caused by users frequently searching for target application icons in electronic devices, especially when there are many applications.
A linkage mechanism between application recommendation, application keep-alive and application preloading is introduced. The recommendation list is obtained through the application recommendation strategy, and applications running in the background are added to the temporary keep-alive list. Applications that are not preloaded in memory.
It improves the efficiency of users finding target applications, improves the consistent experience of application recommendations, keep-alives and preloads, and reduces the number of times users frequently search for application icons.
Smart Images

Figure CN120335938A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of terminals, and specifically to an application processing method, related devices, and media programs. Background Art
[0002] Currently, electronic devices such as smart phones and tablet computers are widely used. When users use application programs (application programs can be abbreviated as applications or APPs) installed in these electronic devices, they often need to find the target application icon on the interface with a large number of application icons by frequently flipping pages or other methods, and start or enter the target application by clicking the target application icon. When the number of applications installed on the electronic device is relatively large, the user may perform multiple operations on the interface during the process of searching for the target application icon, which may lead to a deterioration of the user experience. Summary of the Invention
[0003] Embodiments of this application provide an application processing method, related electronic devices, chip systems, computer-readable storage media, and related program products, etc.
[0004] In a first aspect, an embodiment of this application provides an application processing method, which can be applied to an electronic device. The method may include: obtaining an application recommendation list based on an application recommendation strategy; displaying the application recommendation list in the application recommendation area of the interface; when a first application in the application recommendation list is in the background running state and the first application is not in the temporary keep-alive list, adding the first application to the temporary keep-alive list. Among them, when the first application is in the background running state, a process of the first application exists in the memory. When a process of a second application in the application recommendation list does not exist in the memory, preloading processing is performed on the second application to create a process of the second application in the memory.
[0005] In some possible implementation manners, the process identifier of the process corresponding to the application that has performed preloading processing may be recorded in the system log (such as the log with the keyword preloadDisplay, etc.). The process identifier of the process corresponding to the application in the temporary keep-alive list may also be recorded in the system log.
[0006] It can be seen that in the above example solution, not only an application recommendation mechanism is introduced, but also a linkage mechanism among application recommendation, application keep-alive, and application preloading is introduced. Specifically, an application recommendation list is displayed in the application recommendation area of the interface. When the first application in the application recommendation list is in the background running state and the first application is not in the temporary keep-alive list, the first application is added to the temporary keep-alive list; when the process of the second application in the application recommendation list does not exist in the memory, preloading processing is performed on the second application to create the process of the second application in the memory. Practice has found that based on the organic linkage mechanism among application recommendation, application keep-alive, and application preloading, when an application is added to the application recommendation list based on the application recommendation strategy, then in the same time period, it will not be removed from the application keep-alive list or the application preloading list either. It can be seen that the above solution is not only beneficial to solving the problem that the user experience deteriorates due to the need to frequently operate the interface to find the target application, but also beneficial to improving the user's consistent experience of application recommendation, application keep-alive, and application preloading.
[0007] In some possible implementation manners, when a first memory cleaning instruction is received (the first memory cleaning instruction may come from a memory cleaning tool, etc.), the first application is deleted from the temporary keep-alive list, but the process of the first application is retained in the memory. Or when a second memory cleaning instruction is received (the second memory cleaning instruction may come from a memory cleaning tool, etc.), the first application is deleted from the temporary keep-alive list, and the process of the first application is released in the memory.
[0008] It can be seen that a true killing and false killing mechanism for processes in the memory is given in the above example manner, which is beneficial to meeting the user requirements in different scenarios.
[0009] In some possible implementation manners, the method further includes: starting timing after the preloading processing of the second application is completed; if the operation of the user starting the second application is not detected when the timing reaches a preset keep-alive duration, the process of the second application is released in the memory.
[0010] In some possible implementation manners, obtaining an application recommendation list based on an application recommendation strategy includes: obtaining the number of applications, where the number of applications is the average number of applications started per unit time in the first time period. In the case where the number of applications falls within a first number range, the first data is processed based on a first recommendation strategy to obtain a first application recommendation list, where the first application recommendation list is displayed in the application recommendation area of the interface, and the first data includes data for analyzing application recommendation. In the case where the number of applications falls within a second number range, the first data is processed based on a second recommendation strategy to obtain a second application recommendation list, and the second application recommendation list is displayed in the application recommendation area of the interface.
[0011] In some possible implementation manners, the method further includes: when the number of applications falls within a third number range, processing the first data based on a third recommendation strategy to obtain a third recommended application list, where the third application recommended list is displayed in the application recommendation area of the interface.
[0012] It can be seen that in the above example solution, for different numbers of applications, the electronic device can process the first data through different recommendation strategies to obtain an application recommendation list. Therefore, the number of applications can be used as a user grouping indicator, and different recommendation strategies can be formulated for different user groups, so that users with a smaller number of applications can use a more efficient recommendation strategy; users with a larger number of applications can use a more accurate recommendation strategy. In this way, while taking into account the accuracy of application recommendations, the recommendation efficiency can be improved.
[0013] In some possible implementation manners, the first data includes application usage data, and the application usage data is historical data of user clicks on applications. Processing the first data based on a first recommendation strategy to obtain a first application recommended list includes: sorting the applications in the application usage data to obtain a first sorted application list, and the applications in the first sorted application list are arranged in descending order of click frequency; obtaining a first application recommended list from the first sorted application list based on the current time information, and the applications in the first application recommended list are the first N applications in the first sorted application list, where N is a positive integer.
[0014] It can be seen that in the process of the electronic device determining the first application recommended list through the first recommendation strategy, the electronic device can predict the applications that the user will use only based on the sorting of the user click frequency. The used recommendation strategy is relatively simpler, and the used recommendation algorithm can ensure a higher accuracy rate while the processor has a higher execution efficiency, obtains results more quickly, and can also save the energy consumption of the electronic device.
[0015] In some possible implementation manners, the first data includes application usage data, and the application usage data includes long-term application usage data, recent application usage data, and real-time application usage data. Processing the first data based on a third recommendation strategy to obtain a second application recommended list includes:
[0016] Input the long-term application usage data into a second decision tree to obtain the first probability value for each application; obtain the first weight for each application based on the first probability value and the first recall weight; input the recent application usage data into a nearest popular recall algorithm to obtain the second probability value for each application; obtain the second weight for each application based on the second probability value and the second recall weight; input the real-time application usage data into a time decay algorithm to obtain the third probability value for each application; obtain the third weight for each application based on the third probability value and the third recall weight; add the first weight, the second weight, and the third weight of each application to obtain the fourth weight for each application; sort the fourth weights of each application by size to obtain a second application recommendation list.
[0017] It can be seen that for user groups with a large number of applications, multiple-channel recall is used to separately learn the long-term, recent, and real-time usage habits of users. The recall weight of each channel is dynamically calculated using the recall rate of each channel to achieve the fusion sorting of multiple-channel recall. At this time, not only can the long-term usage habits of users be considered, but also the recent changes in user applications and the real-time application usage habits of users can be taken into account. The long-term, recent, and real-time data are all considered, so as to ensure the accuracy of the recommended applications and improve the user experience.
[0018] In some possible implementation manners, when the first data further includes at least one of network data, environment data, context data, location data, notification bar data, device connection data, and recommendation feedback data, the method further includes: adjusting the second application recommendation list based on a special application scenario and the first data; displaying the adjusted second application recommendation list in the application recommendation area of the interface.
[0019] In a second aspect, an embodiment of the present application provides an electronic device, which includes one or more processors and one or more memories; the one or more memories are coupled to the one or more processors, and the one or more memories store computer instructions; when the one or more processors execute the computer instructions, the electronic device is caused to execute the method according to any one of the above.
[0020] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, which includes computer instructions, and when the computer instructions run, the method according to any one of the above is executed.
[0021] In a fourth aspect, an embodiment of the present application provides a chip system, which includes a processor and a communication interface; the processor is configured to call and run a computer program stored in a storage medium, and execute the method according to any one of the above.
[0022] Fifth aspect, the present application provides an electronic device, including: one or more functional modules. The one or more functional modules are used to execute the methods in any possible implementation manner of any one of the above aspects.
[0023] Sixth aspect, an embodiment of the present application provides a computer program product. When the computer program product runs on a computer, it causes the computer to execute the methods in any possible implementation manner of any one of the above aspects.
[0024] In addition, for the technical effects brought by the technical solutions of the second aspect to the sixth aspect, reference can be made to the descriptions related to the methods in each design of the above method part, and details are not elaborated here. Description of the Drawings
[0025] Figure 1 It is a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present application.
[0026] Figure 2 It is a schematic diagram of the software structure of an electronic device provided by an embodiment of the present application.
[0027] Figures 3A - 3C It is a set of schematic diagrams of user interfaces disclosed by an embodiment of the present application.
[0028] Figure 3D It is a schematic diagram of the process flow of an application processing method provided by way of example in an embodiment of the present application.
[0029] Figure 4 It is a schematic diagram of the process flow of a method for obtaining an application recommendation list based on an application recommendation strategy provided by way of example in an embodiment of the present application.
[0030] Figure 5 It is a schematic diagram of the statistics of the number of applications provided by an embodiment of the present application.
[0031] Figures 6A - 6D It is a set of schematic diagrams of application usage data provided by an embodiment of the present application.
[0032] Figure 7 It is a method flow chart of a second recommendation strategy provided by an embodiment of the present application.
[0033] Figure 8 It is a schematic diagram of the structure of a decision tree provided by an embodiment of the present application.
[0034] Figure 9 It is a schematic diagram of decision tree cross-validation training provided by an embodiment of the present application.
[0035] Figure 10 It is a method flow schematic diagram of a third recommendation strategy provided by an embodiment of the present application.
[0036] Figure 11 It is a schematic diagram for determining the recall weight of each path provided by an embodiment of the present application. Detailed implementation manners
[0037] In this article, the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but may also include other elements not expressly listed, or may also include elements inherent to such process, method, article or device. Without further limitation, an element generally defined by the statement "including one" does not exclude the existence of additional identical elements in the process, method, article or device including the element.
[0038] In the present application, "and / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. A and B may be singular or plural. The terms "first", "second", "third", "fourth", etc. (if any) in the specification, claims and drawings of the present application are used to distinguish similar objects, rather than to describe a specific order or sequence.
[0039] First, some related concepts involved in the embodiments of the present application will be introduced below.
[0040] 1. Decision tree algorithm
[0041] The decision tree algorithm is widely used in models for classification and regression tasks and is a tree structure for describing the classification of instances. The decision tree algorithm is a typical classification method. First, the data is processed, and an inductive algorithm is used to generate readable rules and decision trees, and then the decision is used to analyze new data. Essentially, the decision tree is a process of classifying data through a series of rules. Among them, the decision tree is a tree structure similar to a flowchart. Each node inside the tree represents a test of a feature, the branches of the tree represent each test structure of the feature, and each leaf node of the tree represents a category. The top layer of the tree is the root node.
[0042] The decision tree learning algorithm usually recursively selects the optimal feature and divides the training data according to this feature, so as to obtain the best classification result for each subset of data. This process corresponds to the division of the feature space and also corresponds to the construction of the decision tree. Start constructing the root node, put all the training data at the root node, select an optimal feature, and divide the training data set into subsets according to this feature, so that each subset has the best classification under the current conditions. If these subsets can already be classified correctly basically, then construct leaf nodes and assign these subsets to the corresponding leaf nodes; if there are still subsets that cannot be classified correctly, then continue to select the optimal feature for these subsets, continue to divide them, and construct the corresponding nodes. Recursively repeat this process until all training data subsets are basically classified correctly or there are no suitable features. Finally, each subset has a corresponding class, and a decision tree is generated in this way.
[0043] In some possible implementation manners, the process of generating a decision tree can be divided into the following three parts: feature selection, decision tree generation, and pruning.
[0044] Among them, feature selection refers to selecting a feature from numerous features in the training data as the splitting criterion for the current node. There are many different quantitative evaluation criteria for how to select features, so different decision tree algorithms can be derived. The criteria for feature selection are usually information gain, information gain ratio, and Gini index. Common decision tree algorithms can include the ID3 algorithm, the C4.5 algorithm, and the classification and regression tree (CART) algorithm, etc. Among them, the ID3 algorithm is an algorithm that selects features using the information gain criterion and recursively constructs a decision tree, which can be determined by information gain. The generation process of the C4.5 algorithm is similar to that of the ID3 algorithm, but the difference is that the C4.5 algorithm selects features using the information gain ratio. The CART algorithm can only form a binary tree, that is, it 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.
[0045] 2. Recall and ranking algorithms
[0046] The core of a recommendation system is to select appropriate results from a large number of existing selection results and finally display them to users. Common recommendation systems generally include two stages: the recall stage and the ranking stage. The recall stage is to obtain a small part of the results that the user may be interested in from all available results to form a candidate set, and the ranking stage is to rank the obtained candidate set and recommend it to the user according to the ranking results.
[0047] The goal of recall is to quickly screen and reduce the candidate set of recommended items from tens of millions of candidates to the thousands or even hundreds level using a simple model. Ranking is to uniformly score and rank the results of multiple recall methods and select the top several (Topk).
[0048] 3. Grid Search Method
[0049] Grid search is a commonly used method for tuning parameters and is an exhaustive method. Given a series of hyperparameters, it exhaustively traverses all combinations of hyperparameters and selects the optimal set of hyperparameters from all combinations.
[0050] Taking the decision tree algorithm as an example, when it is determined to use the decision tree algorithm, in order to better fit and predict, its parameters need to be adjusted. In the decision tree algorithm, the commonly selectable parameters mainly include the decision tree feature selection criterion, the maximum depth, and the maximum number of leaf nodes.
[0051] 4. K-Fold Cross-Validation
[0052] Select the value of K, divide the data set into K non-overlapping equal parts; use K - 1 of these parts of the data as training data, and the other part of the data as test data for model training; use a metric measure to evaluate the prediction performance of the model. That is, the data can be divided into a training set and a validation set. First, the model can be trained through the training set, and then the trained model can be used to predict the validation set to obtain the validation results. According to the validation results, the performance of the model can be evaluated, and thus the model can be adjusted and optimized.
[0053] The following introduces some devices involved in the embodiments of the present application.
[0054] Figure 1 It is a schematic diagram of the hardware structure of an electronic device 100 provided in the embodiments of the present application.
[0055] The method provided by the embodiments of this application can be executed by an electronic device. The electronic device can be a terminal device, which can also be referred to as a terminal, user equipment (UE), mobile station (MS), mobile terminal, or smart terminal, etc. The terminal device can be a portable mobile device such as a smart phone, laptop computer, tablet computer, smart TV, personal digital assistant, wearable device, augmented reality (AR) / virtual reality (VR) device, media player, etc. The electronic device can also be an in-vehicle device, an Internet of Things device, or other devices capable of performing APP operations. The electronic device can run HarmonyOS, Android system, IOS system, Windows system, or other operating systems. The embodiments of this application do not specifically limit the type of the electronic device and the operating system run by the electronic device.
[0056] Among them, the electronic device 100 may include: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, and a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identity module card interface 195, etc. Among them, the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a fingerprint sensor 180H, a proximity light sensor 180G, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, and a bone conduction sensor 180M, etc.
[0057] It can be understood that the structure schematically shown in the embodiments of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or have different component arrangements. The components shown in the figure can be implemented in hardware, software, or a combination of software and hardware.
[0058] Figure 2 It is a schematic software structure diagram of an electronic device 100 provided by the embodiments of this application.
[0059] Among them, the layered architecture divides software into several layers, and each layer has clear roles and divisions of labor. The layers communicate with each other through software interfaces. In some embodiments, the system is divided into four layers, from top to bottom, namely the application layer, the application framework layer, the runtime and system libraries, and the kernel layer.
[0060] The application layer may include a series of application packages.
[0061] The application packages may include applications such as desktop management, perception, weather, clock, settings, calendar, application recommendation, SMS, camera, and gallery (applications may also be simply referred to as apps or APPs). 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. As Figure 2 shown, the application framework layer may include a location based services (LBS), a window manager, a phone manager, a resource manager, a notification manager, a content provider, and a view system, etc.
[0062] Among them, the location based services (LBS) is used to obtain the current location of the electronic device. Specifically, for example, it can obtain the current global positioning system (GPS) data, (wireless fidelity, Wi-Fi) positioning data, and cell base station positioning data.
[0063] Among them, the window manager is used to manage window programs. Among them, the window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
[0064] Among them, the content provider is used to store and obtain data, and make this data accessible to applications. The data may include videos, images, audio, dialed and received calls, browsing history and bookmarks, phone book, etc.
[0065] Among them, the view system includes visual controls, such as controls for displaying text, controls for displaying pictures, etc. The view system can be used to build applications. The display interface can be composed of one or more views. For example, a display interface including an SMS notification icon may include a view for displaying text and a view for displaying pictures.
[0066] During the process of an electronic device using various applications, in certain cases, the user's frequency of using some applications will be much higher than that of other applications. At this time, the user needs to find the position of the target application icon by swiping the interface based on the interface distribution of the application icons, and then can use the target application by clicking on the target application icon. When the number of applications installed on the electronic device is relatively large, the user may perform multiple operations on the interface when finding the target application icon, which may lead to a deterioration in the user's operation experience. To solve the above problems, an application recommendation strategy can be used to recommend some applications that the user may need to use, facilitating the user's operation.
[0067] The following introduces a scenario of application recommendation involved in the embodiments of the present application.
[0068] Exemplarily, Figures 3A - 3C is a set of user interface schematic diagrams disclosed in the embodiments of the present application. As Figure 3A shown, the main screen interface of the electronic device 100 includes an application recommendation area 301, and the application recommendation area 301 may include one or more application icons (such as a gallery application icon, a settings application icon, a camera application icon, an email application icon, an app store application icon, and a memo application icon, etc.). The main screen interface includes multiple application icons (such as a browser application icon, a cloud sharing map gallery application icon, a music application icon, a video application icon, etc.). Below the multiple application icons, an interface indicator is also displayed to indicate the positional relationship between the currently displayed interface and other interfaces. Below the interface indicator, there are multiple tray icons 303 (such as a dial application icon, a messages application icon, and a contacts application icon), and the tray icons remain displayed during page switching.
[0069] The user can filter the applications in the application recommendation area 301. In one possible implementation, the user can remove the applications in the application recommendation. Exemplarily, as Figure 3A shown, the user can long-press the gallery application icon in the application recommendation interface. As Figure 3B shown, in response to the above operation, the electronic device displays a "not interested" control. In the case where the user does not want the gallery application icon to be displayed in the application recommendation area 304, click the "not interested" control. As Figure 3C shown, in response to the above operation, the electronic device can remove the gallery application icon in the application recommendation area 304 (i.e., remove the gallery application from the application recommendation list). At this time Figure 3CThe application recommendation area 305 shown includes an application icon, a camera application icon, an email application icon, an app store application, a memo application icon, and a calendar application icon. Since the user has removed the gallery application icon, the gallery application icon is not included in the application recommendation area 305, and the calendar application icon is used as a replacement and is displayed in the application recommendation area 305. The above is only an exemplary way to illustrate how the user removes the icons in the application recommendation area, without limitation. It should be noted that the number of application icons displayed in the application recommendation area 301 and the application recommendation area 305 is 6, and the number can also be 4, 5, 8, 12, etc., and the number of applications is not limiting. In addition, there are other presentation methods or forms for the display method of the application recommendation area, which are not limited here.
[0070] In some possible implementation manners, the electronic device may determine the tags of the applications based on the boot time of the electronic device and the information searched by the user input, and then may determine the applications to be recommended by the electronic device based on the correspondence between the tags and the applications. In this way, for the record of the applications searched by the user, the applications that the user may use can be predicted and recommended to the user, thereby improving the efficiency of the user clicking on the applications and improving the user experience.
[0071] In some implementation manners, application recommendation, application keep-alive, and application preloading usually use independent strategies to obtain the relevant lists, which may easily result in inconsistent user experiences. For example, for a certain application, although it is added to the application recommendation list when applying the application recommendation strategy, it may be removed from the application keep-alive list or the application preloading list at the same time period, which easily causes inconsistent user experiences.
[0072] The following introduces a linkage mechanism for application recommendation, application keep-alive, and application preloading, in order to solve the problem that the user experience deteriorates due to the need to frequently operate the interface to find the target application, and at the same time improve the user's consistent experience of application recommendation, application keep-alive, and application preloading.
[0073] See Figure 3D , Figure 3D is a schematic flowchart of an application processing method provided by an embodiment of the present application. An application processing method may include:
[0074] S301. Obtain an application recommendation list based on an application recommendation strategy.
[0075] S302. Display the application recommendation list in the application recommendation area of the interface (such as the main user interface).
[0076] S303. When the first application in the application recommendation list is in the background running state and the first application is not in the temporary keep-alive list, add the first application to the temporary keep-alive list. Wherein, when the first application is in the background running state, there is a process of the first application in the memory.
[0077] S304. When the process of the second application in the application recommendation list does not exist in the memory, perform preloading processing on the second application to create a process of the second application in the memory.
[0078] It can be seen that in the above example solution, not only an application recommendation mechanism is introduced, but also a linkage mechanism among application recommendation, application keep-alive, and application preloading is introduced. Specifically, the application recommendation list is displayed in the application recommendation area of the interface. When the first application in the application recommendation list is in the background running state and the first application is not in the temporary keep-alive list, add the first application to the temporary keep-alive list; when the process of the second application in the application recommendation list does not exist in the memory, perform preloading processing on the second application to create a process of the second application in the memory. It is found through practice that based on the organic linkage mechanism among application recommendation, application keep-alive, and application preloading, when an application is added to the application recommendation list based on the application recommendation strategy, then in the same time period, it will not be removed from the application keep-alive list or the application preloading list either. It can be seen that the above solution is not only beneficial to solving the problem that the user experience deteriorates due to the need to frequently operate the interface to find the target application, but also beneficial to improving the user's consistent experience of application recommendation, application keep-alive, and application preloading.
[0079] In some possible implementation manners, the application processing method may further include: the electronic device performs application keep-alive processing based on an application keep-alive strategy.
[0080] In some possible implementation manners, performing application keep-alive processing based on an application keep-alive strategy may include: when detecting a first instruction of the user, open a third application in response to the first instruction; when detecting a second instruction of the user, open a second application in response to the second instruction, and switch the third application from the foreground to the background running; if the third application is not in the temporary keep-alive whitelist, record the first moment when the first application switches from the foreground to the background running; open the first application again in response to a third instruction of the user to open the third application again, and determine whether the process of the third application restarts; if the process of the third application restarts, record the second moment when the process of the third application restarts; in the case where the difference between the second moment and the first moment is less than a first threshold, add the third application to the temporary keep-alive whitelist.
[0081] In some possible implementation manners, performing application keep-alive processing based on an application keep-alive policy may further include: If the third application is in the temporary keep-alive whitelist, starting a keep-alive task for the third application, where the third-application keep-alive task is used to keep the third application running within a first time period; If within the first time period, a fourth instruction for the user to switch the third application from the background back to the foreground is not detected and the third application is not in the application recommendation list, ending the keep-alive task for the third application. If within the first time period, a fourth instruction for the user to switch the third application from the background back to the foreground is not detected but the third application is in the application recommendation list, maintaining the keep-alive task for the third application.
[0082] In some possible implementation manners, performing application keep-alive processing based on an application keep-alive policy may further include: If the third application is not in the temporary keep-alive whitelist or the keep-alive task for the third application has ended, and the third application is not in the application recommendation list, determining whether the memory of the terminal device is less than or equal to a second threshold; If the memory of the terminal device is less than or equal to the second threshold, releasing the process of the first application in the memory. If the third application is not in the temporary keep-alive whitelist or the keep-alive task for the third application has ended, but the third application is in the application recommendation list and the third application is in the background running state, adding the third application to the temporary keep-alive list and restarting the keep-alive task for the third application.
[0083] In some possible implementation manners, performing application keep-alive processing based on an application keep-alive policy may further include: Periodically counting the usage duration and / or usage frequency of multiple applications including the fourth application; Adding the applications whose usage duration and / or usage frequency meet the conditions to the temporary keep-alive whitelist.
[0084] In some possible implementation manners, performing application keep-alive processing based on an application keep-alive policy may further include: If a fourth instruction is detected within the first time period, in response to the fourth instruction, switching the third application from the background to the foreground for running.
[0085] In some possible implementation manners, the method may further include: The electronic device performing application preloading processing based on an application preloading policy.
[0086] In some possible embodiments, performing application preloading processing based on an application preloading policy may include: the electronic device obtains current status information; wherein, the electronic device includes prediction models corresponding to multiple preset scenarios, and the prediction models are used to predict applications to be preloaded by the electronic device in different preset scenarios. The current status information includes user operation data and / or device data. The operation data is used to indicate operations triggered by the user on the electronic device within a preset time period. The device data includes at least one of the following: time information of the electronic device, location information, received notification messages, identifiers of external devices connected to the electronic device, and identifiers of applications running on the electronic device. If the current status information meets the triggering conditions corresponding to the first preset scenario, the electronic device uses the current status information as input and runs the prediction model corresponding to the first preset scenario to output a prediction result. The prediction result includes information about at least one application, and the information about the application includes the identifier of the application. The at least one application includes a fifth application and / or a sixth application. The fifth application is an application predicted to be preloaded, and the sixth application is an application predicted not to be preloaded. The first preset scenario is at least one of the multiple preset scenarios. When the identifier of the application includes the identifier of the fifth application, the electronic device preloads at least one fifth application into the memory of the electronic device according to the information about at least one application.
[0087] In some possible embodiments, the triggering conditions corresponding to each preset scenario among the multiple preset scenarios include the triggering conditions of at least one preset dimension among multiple preset dimensions. The multiple preset dimensions include: time dimension, location dimension, screen lock dimension, associated usage dimension, return to desktop dimension, notification message dimension, running application dimension, and connected external device dimension.
[0088] The current status information meeting the triggering conditions corresponding to the first preset scenario includes: the current status information meeting the triggering conditions of all preset dimensions of the first preset scenario.
[0089] In some possible embodiments, the information about the application further includes preloading information of the fifth application, and the preloading information includes the preloading time of the fifth application. Wherein, the electronic device preloads at least one fifth application into the memory of the electronic device according to the information about at least one application, including: the electronic device preloads at least one fifth application into the memory of the electronic device when the preloading time arrives.
[0090] In some possible embodiments, the information of the application further includes preloading information of a fifth application, and the preloading information includes the keep-alive duration; the method further includes: the electronic device starts timing after completing the preloading of the fifth application; if the timing reaches the keep-alive duration, and no operation for starting the fifth application by the user is received, and the fifth application is not in the application recommendation list, then the electronic device releases the process of the fifth application in the memory. Alternatively, the electronic device starts timing after completing the preloading of the fifth application; if the timing reaches the keep-alive duration, and no operation for starting the fifth application by the user is received, but the fifth application is in the application recommendation list, then the electronic device continues to keep the process of the fifth application alive in the memory.
[0091] In some possible embodiments,
[0092] When a first memory cleaning instruction is received, the first application is deleted from the temporary keep-alive list, but the process of the first application is retained in the memory;
[0093] Or,
[0094] When a second memory cleaning instruction is received, the first application is deleted from the temporary keep-alive list, and the process of the first application is released in the memory.
[0095] In some possible embodiments, the method further includes: starting timing after the preloading process of the second application is completed; if no operation for starting the second application by the user is detected when the timing reaches the preset keep-alive duration, then the process of the second application is released in the memory.
[0096] In some possible embodiments, obtaining the application recommendation list based on the application recommendation strategy includes: obtaining the number of applications, where the number of applications is the average number of applications started per unit time within a first time period;
[0097] When the number of applications falls within a first quantity range, the first data is processed based on a first recommendation strategy to obtain a first application recommendation list, where the first application recommendation list is displayed in the application recommendation area of the interface, and the first data includes data for analyzing application recommendations;
[0098] When the number of applications falls within a second quantity range, the first data is processed based on a second recommendation strategy to obtain a second application recommendation list, where the second application recommendation list is displayed in the application recommendation area of the interface.
[0099] In some possible implementation manners, the method further includes: when the number of applications falls within a third number range, processing the first data based on a third recommendation strategy to obtain a third recommended application list, where the third application recommended list is displayed in the application recommendation area of the interface.
[0100] In some possible implementation manners, the first data includes application usage data, and the application usage data is historical data of a user clicking an application. Processing the first data based on the first recommendation strategy to obtain a first application recommended list includes:
[0101] Sorting the applications in the application usage data to obtain a first sorted application list, where the applications in the first sorted application list are arranged in descending order of click frequency; obtaining a first application recommended list from the first sorted application list based on the current time information, where the applications in the first application recommended list are the first N applications in the first sorted application list, and N is a positive integer.
[0102] In some possible implementation manners, the first data includes application usage data, and the application usage data includes long-term application usage data, recent application usage data, and real-time application usage data. Processing the first data based on the third recommendation strategy to obtain a second application recommended list includes:
[0103] Inputting the long-term application usage data into a second decision tree to obtain a first probability value of each application; obtaining a first weight of each application based on the first probability value and a first path recall weight;
[0104] Inputting the recent application usage data into a nearest popular recall algorithm to obtain a second probability value of each application; obtaining a second weight of each application based on the second probability value and a second path recall weight;
[0105] Inputting the real-time application usage data into a time decay algorithm to obtain a third probability value of each application; obtaining a third weight of each application based on the third probability value and a third path recall weight;
[0106] Adding the first weight, the second weight, and the third weight of each application to obtain a fourth weight of each application; sorting the fourth weights of each application by size to obtain a second application recommended list.
[0107] In some possible implementation manners, when the first data further includes at least one of network data, environment data, context data, location data, notification bar data, device connection data, and recommendation feedback data, the method further includes:
[0108] Adjust the second application recommendation list based on a special application scenario and first data; display the adjusted second application recommendation list in the application recommendation area of the interface.
[0109] It can be seen that in the above example solution, the electronic device can select different recommendation strategies based on the number of applications. The number of applications can be the average number of applications launched per unit time within a first time period. For example, the electronic device can first determine that the average number of applications used by the user per day within three months is the number of applications. When the number of applications falls within a first quantity range, the electronic device can process the first data through a first recommendation strategy to obtain a first recommended application list; when the number of applications falls within a second quantity range, the electronic device can process the first data through a second recommendation strategy to obtain a second recommended application list; when the number of applications falls within a third quantity range, the electronic device can process the first data through a third recommendation strategy to obtain a third recommended application list. Then the electronic device can correspondingly display the recommended application list. Among them, the first recommendation strategy is a strategy of recommending applications based on the frequency of user clicks on applications, the second recommendation strategy can be a recommendation strategy formed based on a decision tree algorithm, and the third recommendation strategy is a recommendation strategy obtained based on a recall and ranking recommendation method. In this way, the electronic device can select different recommendation strategies for recommendation based on the number of applications, so as to ensure the accuracy of the recommended applications while improving the efficiency of application recommendation.
[0110] Please refer to Figure 4 , Figure 4 FIG. is a schematic flowchart of a method for obtaining an application recommendation list based on an application recommendation strategy provided by way of example in an embodiment of the present application. This method can be executed by the Figure 1 electronic device shown in. This method can include but is not limited to the following steps:
[0111] S401. The electronic device obtains the number of applications.
[0112] The electronic device can obtain application usage data within a first time period, and then can determine the average value of applications launched per unit time within the first time period as the number of applications. That is to say, the above-mentioned number of applications is the average number of applications launched per unit time within a first time period. Among them, the first time period is greater than or equal to the unit time, and the time length of the above-mentioned first time period can be preset. For example, the first time period can be 1 week, or 1 month, two months, three months, or 1 day, etc., and the unit time can be 1 day, 12 hours, etc. Therefore, the number of applications should be counted within the first time period, and the length of the specific time period is not limited.
[0113] Exemplarily, the electronic device can count the number of applications per day in the previous 60 days (the first time period), and then determine the average number of applications per day (per unit time) in these two months as the application count. For example, in 60 days, the number of applications on 15 days is 12; the number of applications on 15 days is 14; the number of applications on 15 days is 10; the number of applications on 15 days is 8. At this time, the electronic device can determine that the average number of applications per day (i.e., the application count) within these 60 days is 11. The above application count is the number of types of applications used by the user. It should be noted that the above is only an example and does not constitute a limitation.
[0114] Figure 5 It is a statistical schematic diagram of the application count disclosed in an embodiment of the present application. As Figure 5 shown in (A) therein, the electronic device currently installs 15 types of APPs, namely camera, memo, settings, gallery, email, app store, weather, video, calculator, messages, stock, and music. In the first time period, if the electronic device has counted that the frequency of the user clicking on the camera is 5 times; the frequency of the user clicking on the memo is 6 times; the frequency of the user clicking on the settings is 3 times; the frequency of the user clicking on the gallery is 2 times; the frequency of the user clicking on the email is 7 times; the frequency of the user clicking on the app store is 2 times; the frequency of the user clicking on the weather is 1 time, and the click frequency of other applications by the user is 0 times. At this time, there are 7 types of different applications that the user has clicked on, and the electronic device can determine that the current application count is 7. As Figure 5 shown in (B) therein, the user can click on the video icon on the current interface. After the electronic device obtains the operation of the user clicking on the video icon, in response to the above operation, the electronic device can increase the click frequency of the corresponding video application by one time. As Figure 5 shown in (C) therein, the electronic device can increase the click frequency of the video from 0 times to 1 time. At this time, since a video application that has not been clicked by the user is clicked by the user once, the electronic device can determine that the application count is 8. It should be noted that in this embodiment, only an example is given to illustrate the possible operation process of the user on the electronic device before and after the change of the application count, as well as the possible statistical process of the electronic device, without any limitation. Among them, Figure 5 (A) therein can be the historical data of the user's use of a certain application at a certain moment in the first time period (at this time, Figure 5 (A) therein can include the corresponding relationship between the clicked application and the click moment). After Figure 5 the user operation in (B) therein, the click moment and the information of the corresponding application can be updated. Similarly, it should be noted that the above Figure 5Both (A) and (C) in it are exemplary descriptions, and there can be other presentation methods without limitation. The above operation of the user clicking on the application icon can also be that the user clicks on the notification bar, etc. to enter a new application, or the user clicks to switch the currently displayed application, and the specific method is not limited.
[0115] S402. The electronic device obtains first data based on the number of applications, determines an application recommendation list through a corresponding recommendation strategy based on the first data, and displays the application recommendation list in the application recommendation area of the interface (such as the main user interface).
[0116] Among them, the application recommendation list is a possible form of the application recommendation list.
[0117] Among them, the application recommendation list can include one of the first application recommendation list, the second application recommendation list, and the third application recommendation list, and the application recommendation area includes the first few (topk) applications of one of the first application recommendation list, the second application recommendation list, and the third application recommendation list. topk is a positive integer, such as 3, 4, 5, 6, 8, 10, etc., and the specific value is not limited.
[0118] The electronic device can determine the recommendation strategy based on the number of applications and collect the first data based on the recommendation strategy. After collecting the first data, the collected first data can be processed through the corresponding recommendation strategy to determine the application recommendation list.
[0119] In one implementation, the electronic device may determine the recommended strategy to be used based on the number of applications. When the number of applications falls within the first quantity range, the first data is processed based on the first recommended strategy to obtain the first application recommendation list; when the number of applications falls within the second quantity range, the first data is processed based on the second recommended strategy to obtain the second application recommendation list; when the number of applications falls within the third quantity range, the first data is processed based on the third recommended strategy to obtain the third application recommendation list. Herein, the first quantity range is the range where the number of applications is less than or equal to (less than) the first threshold, the second quantity range is the range where the number of applications is greater than (greater than or equal to) the first threshold and less than or equal to (less than) the second threshold, and the third quantity range is the range where the number of applications is greater than (greater than or equal to) the second threshold. It can be understood that when the electronic device obtains the number of applications, the number of applications can be compared with the first threshold and the second threshold to determine the quantity range in which the number of applications is located, and then the above-mentioned quantity range can be determined, and the recommended strategy can be determined based on the quantity range. When the number of applications is less than or equal to (less than) the first threshold, the electronic device may select the first recommended strategy to process the first data to obtain the first application recommendation list; when the number of applications is greater than (greater than or equal to) the first threshold and less than or equal to (less than) the second threshold, the electronic device may select the second recommended strategy to process the first data to obtain the second application recommendation list; when the number of applications is greater than (greater than or equal to) the second threshold, the electronic device may select the third recommended strategy to process the first data to obtain the third application recommendation list.
[0120] Exemplarily, when the number of applications (e.g., the average number of APPs used by the user per day) is X, it is determined which of the first quantity range, the second quantity range, and the third quantity range X falls into. For example, the magnitude relationship between X and the first threshold 10 and the second threshold 15 is determined. When X ≤ 10, the electronic device may process the first data through the first recommended strategy to obtain the first application recommendation list; when 10 < X ≤ 15, the electronic device may process the first data through the second recommended strategy to obtain the second application recommendation list; when X > 15, the electronic device may process the first data through the third recommended strategy to obtain the third application recommendation list.
[0121] Herein, the first threshold and the second threshold may be preset thresholds or trained thresholds. Both the first threshold and the second threshold are positive numbers, and the first threshold is less than the second threshold. Exemplarily, the first threshold is 10 and the second threshold is 15; the first threshold is 15 and the second threshold is 20; the first threshold is 8 and the second threshold is 13... The above are merely examples and are not limited.
[0122] When the electronic device obtains one of the first application recommendation list, the second application recommendation list, and the third application recommendation list, it can be displayed in the application recommendation area based on the obtained application recommendation list. The following describes three specific cases:
[0123] In one case, the electronic device can obtain the first application recommendation list and can select the top k1 applications in the first application recommendation list to be displayed in the application recommendation area. Exemplarily, as Figure 3A shown, for example, the applications displayed in the application recommendation area are Gallery, Settings, Camera, Email, App Store, and Memo.
[0124] In another case, the electronic device can obtain the second application recommendation list and can select the top k2 applications in the second application recommendation list to be displayed in the application recommendation area.
[0125] In yet another case, the electronic device can obtain the third application recommendation list and can select the top k3 applications in the third application recommendation list to be displayed in the application recommendation area.
[0126] It should be noted that the above top k can include top k1, top k2, and top k3. Top k1, top k2, and top k3 are all positive integers, and top k1, top k2, and top k3 can be equal or unequal, without limitation.
[0127] In the embodiments of the present application, the first data may at least include application APP usage data, and may also include one or more of network data, location data, environmental data, recommendation feedback data, context data, notification data, and device connection data. Among them, the APP usage data may be historical data of user clicks on applications collected by the electronic device, that is, a type of historical behavior data representing the user's use of the APPs on the electronic device. The APP usage data may include the situation of the user clicking on different APPs. For example, the electronic device may determine the situation of the user clicking on the APP, and then may determine the frequency of the APP clicked by the user every day, the frequency of the APP clicked by the user every week, the frequency of the APP clicked by the user on each working day, the frequency of the APP clicked by the user on each holiday, and the APPs clicked by the user in the recent few times, etc. The network data may be the current network connection situation of the electronic device, and the electronic device may obtain the current network data through the wireless communication module. The network data may include situations such as not connected, connected to 4G, connected to 5G, and connected to WiFi. The location data is the geographical location where the electronic device is currently located. The electronic device may obtain the geographical location of the current electronic device through one of GPS, cell, and WiFi. For example, the current longitude and latitude of the electronic device may be obtained through GPS. The environmental data may be the environmental information of the current electronic device or the environment where the electronic device is used. The environmental data may include one or more of weather data and motion state data. The electronic device may obtain the current weather condition through a weather APP. For example, it rains at 8 am. The electronic device may obtain the current motion state of the user through a sports APP. For example, it is determined that the current user is running through the sports APP. The electronic device may obtain the recommendation feedback data based on the user's operation of the application recommendation area. For example, when the user removes one of the applications in the application recommendation area, the recommendation feedback data is obtained. Specifically, reference may be made to Figure 3BThe relevant descriptions in [relevant content] will not be elaborated here. The electronic device can use the data of the applications most recently used by the user as context data. Among them, the context data can be the click data of the user's recent use of the applications. For example, the context data can be the data of the user's recent 20 clicks on the applications; it can also be the data of the user's clicks on the applications within the recent 3 hours. The electronic device can obtain notification data, that is, the electronic device can obtain notification data based on the information in the notification bar. For example, when the electronic device receives a text message notification in the notification bar, it can add the text message notification information to the notification data. The electronic device can obtain device connection data. Among them, the devices connected to the electronic device can be other electronic devices, in-vehicle devices, Bluetooth devices, wired headphone devices, etc. For example, the electronic device can determine whether a headphone is currently connected based on the sensor of the headphone jack or the connection status of the Bluetooth headphone. It should be noted that the specific data included in the first data used in the above first recommendation strategy, second recommendation strategy, and third recommendation strategy can be the same or different, and this does not constitute a limitation here.
[0128] After the electronic device determines the recommendation strategy to be used, it can process the corresponding first data based on the corresponding recommendation strategy, so as to determine an application recommendation list. The following specifically describes three different recommendation strategies:
[0129] First recommendation strategy: Sort the APPs based on the application usage frequency, and determine the first application recommendation list based on the sorting situation of the APPs.
[0130] When the number of applications falls within the first quantity range, the electronic device can obtain the first data. At this time, the first data can include application usage data. The following specifically describes the first data:
[0131] From the perspective of date division, the application usage data of the first data can be divided into two types:
[0132] In one possible case, the application usage data in the first data is the application click data in units of one week. The electronic device can collect the application click frequencies at different time periods of each day in a week, and then determine the average click frequency of the same day and the same time period in different weeks as the application usage data. The electronic device can collect the application click frequencies at different time periods of each day in multiple weeks and obtain the first data based on the application click frequencies.
[0133] In another possible scenario, the application usage data in the first data is the application click data in units of weekdays and holidays. That is, the electronic device can divide the dates into two types, namely weekdays and holidays. It can determine whether each day is a weekday or a holiday through the calendar or work schedule. Then, the electronic device can determine the average click frequency of each application in the same time period on each weekday, and determine the average click frequency of each application in the same time period on each holiday, so that the click frequencies of different applications on average weekdays and the click frequencies of different applications on average holidays can be used as the application usage data.
[0134] From the perspective of the division of each day's time period, the application usage data of the first data can be divided into two types:
[0135] In one possible implementation, the application usage data includes the application click data at different time intervals in a day. The electronic device can divide the time of each day into multiple non-overlapping time intervals and determine the average click frequency of each application within each time interval.
[0136] In another possible implementation, the application usage data includes the application click data at different time windows in a day. The electronic device can slide a time window of a specific length at a specific window interval (time length) and determine the average click frequency of each application within each time window.
[0137] Combining the above two division methods of angles, there can be a total of four possible first data, which are specifically described below:
[0138] Method 1: The first data (application usage data) is the application click data at different time intervals in units of a week. The electronic device can calculate the average click frequency of each application within each time interval in each week.
[0139] Figures 6A - 6D It is a schematic diagram of a set of application usage data disclosed in the embodiments of the present application. As Figure 6A shown, the first data can include the click frequencies of each application within the average time interval from Monday to Sunday in a week. A week can include 7 days, namely Monday to Sunday, and each of the 7 days can be divided into multiple non-overlapping time intervals. For example, Figure 6ADivide Thursday into 12 non-overlapping time intervals (each time interval is 2 hours long), and the average click frequency of each application within each time interval can be determined (for example, the average number of clicks on the gallery within the time interval from 00:00 to 2:00 on Thursday in 5 weeks). It can be represented by a list of application click frequencies. Among them, the camera is clicked 5 times, the memo is clicked 6 times, the settings are clicked 3 times, the gallery is clicked 2 times, the email is clicked 7 times, the app store is clicked 2 times, the weather is clicked 1 time, the video is clicked 1 time, and no other applications are clicked. It should be noted that the above is an example of a certain time interval on Thursday, and the same applies to other time intervals, so no more elaboration is provided.
[0140] Method 2: The first data (application usage data) is the application click data for different time windows in a week. The electronic device can calculate the average click frequency of each application within each time window in each week.
[0141] As Figure 6B shown, the first data can include the average click frequency of each application within each time window from Monday to Sunday in a week. A week can include 7 days, namely Monday to Sunday. Each day can be divided into multiple time windows, and the average click frequency of different applications can be counted within each time window. For example, Figure 6B the four rectangles with grid patterns in it respectively represent 4 time windows (i.e., time window a, time window b, time window c, time window d). The time length of each time window is 2 hours, and the window interval between every two time windows is 1 hour. The average click frequency of each application within each time window can be determined. Taking the average click frequency of one of the time windows as an example, the specific description can refer to Figure 6B the description in it, so no more elaboration is provided. It should be noted that the above is an example of a certain time window on Thursday, and the same applies to other time windows, so no more elaboration is provided.
[0142] Method 3: The first data (application usage data) is the application click data for different time intervals based on weekdays and holidays. The electronic device can divide the dates into two types, namely weekdays and holidays, divide the time of each day into non-overlapping multiple time intervals, and determine the average click frequency of each application within each time interval.
[0143] As Figure 6C shown, the first data can include the average click frequency of each application within each time interval on weekdays and holidays. Each day can be divided into multiple time intervals, and the average click frequency of each application can be counted within each time interval. For example, Figure 6CThe working days are divided into multiple non - overlapping time intervals (each time interval is 2 hours long). The average click frequency of each application within each time interval can be determined (for example, the average number of clicks on the memo within the time interval from 14:00 to 16:00 in 30 working days, that is, the total number of clicks on the memo divided by 30). Taking the average click frequency of one of the time windows as an example, the specific description can be referred to Figure 6A for the description in it, without further elaboration. It should be noted that the above is an example of a certain time interval in working days, and the same applies to other time intervals, without further elaboration.
[0144] Method 4: The first data (application usage data) is the application click data of different time windows with working days and holidays as units. The electronic device can divide the dates into two types, namely working days and holidays, and slide a time window of a specific length at a specific window interval to determine the average click frequency of each application within each time window.
[0145] As Figure 6D shown, the first data can include the average click frequency of each application within each time window for both working days and holidays. Each day can be further divided into multiple time windows, and the average click frequency of each application can be counted within each time window. For example, Figure 6D the four rectangles with grid patterns in it respectively represent 4 time windows (i.e., time window a, time window b, time window c, time window d). The time length of each time window is 2 hours, and the time interval of each time window is 1 hour. The average click frequency of each application within each time interval can be determined. Taking the average click frequency of one of the time windows as an example, the specific description can be referred to Figure 6A and Figure 6B for the description in it, without further elaboration. It should be noted that the above is an example of a certain time window in working days, and the same applies to other time windows, without further elaboration.
[0146] It should be noted that the first data should include the application click lists of multiple time intervals or time windows over multiple days. For example, when the first data includes the daily different time intervals (such as dividing a day into 8 time periods) in a week as a unit, the first data can include 7 * 8 = 56 application click frequency lists; when the first data includes the daily different time intervals (such as dividing a day into 24 time periods) for working days and holidays, the first data can include 2 * 24 = 48 application click frequency lists.
[0147] After obtaining the first data, the electronic device can sort the applications in the application usage data (the first data) according to the first recommendation strategy to obtain the first sorted application list. Among them, the applications in the first sorted application list are arranged in descending order of click frequency. Then the electronic device can obtain the first application recommendation list from the first sorted application list based on the information of the current time. That is, the electronic device can determine the first sorted application list corresponding to the time based on the above information of the current time. The N applications obtained in the first sorted application list are the first application recommendation list among them. It should be noted that the execution order of sorting and time selection is not limited. That is, the electronic device can first sort the application usage data to obtain the first sorted application list, and then obtain the first application recommendation list from the first sorted application list based on the information of the current time; it can also first select the application usage data corresponding to the time from the application usage data based on the information of the current time, and then sort the application usage data to obtain the first application recommendation list.
[0148] Specifically, when the electronic device determines the application click frequency list (the above application usage data), it can first sort the click times of different applications in the click frequency list from more to less, and determine the first application recommendation list based on the sorting. When the first data (click frequency list) includes the average usage frequency of each application, it can be sorted according to the above average usage frequency of each application to obtain the sorting result. Then the N applications in the sorting result can be determined as the first application recommendation list in sequence. Among them, N is a positive integer, such as N is 3, 4, 5, 6, 8, 9, and 10, etc., without limitation.
[0149] Before the electronic device determines the first application recommendation list based on the first data, it can determine the application click frequency list corresponding to the time in the first data based on the information of the current time. There may be various situations for determining the application click frequency list in the first data. The following is a specific description:
[0150] The electronic device can determine the first application recommendation list from the application usage data based on the information of the current time.
[0151] First, the electronic device can sort the applications in the application usage data (by click frequency) according to the first recommendation strategy to obtain the first sorted application list. After that, the electronic device can obtain the first application recommendation list from the first sorted application list based on the information of the current time. That is, the electronic device determines which day and which time period of the first sorted application list to select based on the information of the current time, so as to determine the first application recommendation list. Among them, the information of the current time can include the information of the current week and / or the information of the current date (for example, the information of year, month, and day); it can also include the information of the current moment (for example, the information of hour and minute). The first sorted application list is the application list after sorting and screening according to the click frequency.
[0152] The electronic device can determine the first sorted application list corresponding to a certain day in the first data (application usage data) based on the information of the current time. In a possible case, when the application usage data is the application click data in a weekly unit, the electronic device can first obtain the information of the current week, and then can determine the application list corresponding to the week from the first sorted application list as the first application recommendation list. At this time, the information of the current time includes the information of the current week. For example, when the current time is Wednesday (week), and it is known that the first data includes Monday to Sunday, the electronic device can select the application list of Wednesday in the first sorted application list as the first application recommendation list. In another possible case, when the application usage data is the application click data in units of working days and holidays, the electronic device can first obtain the information of the current date, and then can determine the first sorted application list corresponding to the working day or holiday from the first sorted application list as the first application recommendation list. At this time, the information of the current time includes the information of the current date. That is, the electronic device can determine whether the date where the information of the current time is located is a working day or a holiday. For example, based on the comparison between the current date and the calendar to determine whether the current is a working day or a holiday, and select the first application recommendation list corresponding to the date. For example, when the current time is 2020 / 10 / 1 (date, which is a holiday), and it is known that the first sorted application list includes the first sorted application lists of two days, namely working days and holidays, the electronic device can select the application list of the holiday in the first sorted application list as the first application recommendation list. It should be noted that for different dates for which the electronic device needs to recommend applications, the corresponding dates of the sorted application usage data are also different. For example, if the current is a working day, the electronic device can determine the first application recommendation list based on the average daily application usage frequency during working days; if the current is a holiday, the electronic device can determine the first application recommendation list based on the average daily application usage frequency during holidays.
[0153] An electronic device can determine a first sorted application list for a corresponding time period of the day based on information at the current moment (information at the current time). At this time, the information at the current time includes the information at the current moment, and the application usage data includes application click data for different time intervals or different time windows during the day. The electronic device can obtain a first application recommendation list from the first sorted application list based on the information at the current moment. In a possible case, when the application usage data is application click data for different time intervals, the electronic device can determine the application list for the corresponding time interval from the first sorted application list as the first application recommendation list based on the information at the current moment. For example, when the information at the current moment includes 15:38 (moment), and it is known that the first sorted application list for each day in the first data includes 12 time intervals (i.e., 12 non-overlapping time periods), the electronic device can select the first sorted application list for the time interval of 14:00 - 16:00 as the first application recommendation list. In another possible case, when the application usage data is application click data for different time windows, the electronic device can determine the application list for the corresponding time window from the first sorted application list as the first application recommendation list. The first sorted application list includes application lists corresponding to multiple time windows. When the current moment is closest to the central moment of a certain time window, the electronic device can select the time window closest to the current moment among the multiple time windows to determine the application click frequency list. For example, when the current time is 15:38 (moment), and it is known that the first data includes time windows with a length of 1 hour per day, and the window interval for each window slide is 30 minutes, (the nearby time windows are: the time windows of 14:30 - 15:30, 15:00 - 16:00, and 15:30 - 16:30, and the corresponding window central moments are 15:00, 15:30, and 16:00. It can be determined that 15:38 is closest to 15:30) the electronic device can select the application click frequency list for the time window of 15:00 - 16:00.
[0154] It should be noted that the selection of the date and the moment needs to be combined to determine the application click frequency list in the current first data. There are a total of 4 possible cases, which correspond to the above 4 ways of obtaining the first data respectively, and will not be elaborated here. Before determining the first sorted application list for the corresponding time period of the day based on the information at the current moment, generally, it is necessary to first determine which day's first sorted application list based on (information of the current week or information of the current date).
[0155] In the process of the electronic device determining the first application recommendation list through the first recommendation strategy, the recommendation strategy used by the electronic device during recommendation is relatively simpler. The recommendation algorithm used can ensure a relatively high accuracy rate while the processor has higher execution efficiency, obtains results more quickly, and can also save the energy consumption of the electronic device. Since the types of APPs used by users often change, but due to the certain continuity and inheritance of this change, the electronic device can collect the user's historical usage data to infer the APPs that may be used currently. Among them, for users with a small number of long-term used APPs, users generally may be used to using some specific APPs for a long time, and the degree of change and evolution of their APPs is relatively slow. Therefore, a good prediction result can be ensured only by using the APP usage data.
[0156] The second recommendation strategy may be: input the first data into the first decision tree to obtain the second application recommendation list.
[0157] Figure 7 It is a flowchart of a method for a second recommendation strategy disclosed in an embodiment of the present application. As Figure 7 shown, in the case where the number of applications falls within the second number range, the electronic device can obtain the first data, and then input the first data into the first decision tree to obtain the second application recommendation list. That is, when the first data at least includes the application usage data, the electronic device can input the application usage data into the first decision tree according to the second recommendation strategy to obtain the first decision application list. Then, the first decision application list can be sorted to obtain the second sorted application list. Among them, the applications in the second sorted application list are arranged in descending order of values. Then, the electronic device can determine the second application recommendation list based on the second sorted application list.
[0158] Among them, the first data at least includes APP usage data, and may also include one or more of network data, environmental data, context data, location data, notification data, device connection data, and recommendation feedback data. At this time, the APP usage data can refer to the APP usage data in the above-mentioned first recommendation strategy. For example, the APP usage data obtained in the above-mentioned methods 1-4 will not be elaborated here. The APP usage data can include recent, long-term, and real-time data. For example, statistical data for several months, or data for the past few days, or the APP click data for the past few times. The network data can be the network connection information of the current electronic device. For example, connecting to WiFi, connecting to 2G, 3G, 4G, and 5G, etc. The location data can be the data of the location where the current electronic device is located. For example, the longitude and latitude data obtained through GPS, the geographical data obtained through WiFi, or the location data obtained through the cell base station Cell, etc. The environmental data can be used to represent the environment where the current electronic device is located, such as weather environment, sports environment, and headphone connection environment, etc.
[0159] Among them, after the electronic device obtains the first data, the first data can be input into the first decision tree to obtain the first decision application list.
[0160] Figure 8 It is a schematic structural diagram of a decision tree disclosed in an embodiment of the present application. As Figure 8 shown, the first decision tree is the first decision tree obtained through the CART algorithm. The above-mentioned first decision tree includes 12 nodes, and node 7 is taken as an example for illustration. The Gini coefficient Gini in node 7 is 0.817, and the ratio of the training instances to the total instances is 4.7%. The results of the value are 0.0, 0.0, 0.009, 0.0, 0.0, 0.0, 0.017, 0.0, 0.252, 0.0, 0.022, 0.0, 0.23, 0.026, 0.0, 0.03, 0.117, 0.0, 0.222, 0.017, 0.0, 0.004, 0.0, 0.026 in sequence according to the application order, that is, the first decision application list. Based on the value sorted from high to low, the second sorted application list can be obtained, and the most frequently used is the camera APP (value = 0.252). Among them, the value in the first decision tree can be the probability value of the user clicking on each application, that is, the second sorted application list can be the application list sorted according to the above probability value.
[0161] After being processed by the first decision tree, the electronic device can obtain the first decision application list. Among them, the first decision application list can include the value of each application. The electronic device can sort based on the values (the results of the values) in descending order to obtain the second sorted application list. Then the electronic device can select the first N applications in the second sorted application list as the second application recommendation list.
[0162] Before inputting the first data into the first decision tree, it is necessary to first generate the first decision tree. The following describes the method for generating the first decision tree:
[0163] In the scenario of APP recommendation, the electronic device can collect the first data in chronological order, as well as the result data of the user using the APP, and can use the first data and the above result data as the data set. The electronic device can use the cross-validation model training method to obtain the first decision tree.
[0164] In the K-fold cross-validation method, the K-fold cross-validation data sets are all randomly divided into K parts. Each time, K - 1 parts are selected as the training set and 1 part is used as the validation set. In the scenario of APP recommendation, the time series is used to divide the cross-validation data set. First, the data set is sorted in ascending order of click time, and then evenly divided into K parts for K-fold cross-validation. In the first-fold validation, the first n parts are selected as the training set and the (n + 1)-th part is used as the validation set. In the second-fold validation, the first (n + 1) parts are selected as the training set and the (n + 2)-th part is used as the validation set, and so on.
[0165] Exemplarily, Figure 9 is a schematic diagram of decision tree cross-validation training disclosed in an embodiment of the present application. As Figure 9 shown, the electronic device can divide the above data set into 10 equal parts based on time series. In the first-fold validation, the electronic device can use the first 6 parts as the training set and the 7th part as the validation set; in the second-fold validation, the electronic device can use the first 7 parts as the training set and the 8th part as the validation set; in the third-fold validation, the electronic device can use the first 8 parts as the training set and the 9th part as the validation set; in the fourth-fold validation, the electronic device can use the first 9 parts as the training set and the 10th part as the validation set.
[0166] It should be noted that in the above process of determining the hyperparameters of the first decision tree, the grid search method can be used, or other methods can be used, without limitation.
[0167] In the second recommendation strategy, for the user group with a medium average daily number of used apps, the decision tree algorithm is used to learn the historical app usage habits of users. The decision tree model can record the historical usage frequencies of each app under each decision tree rule, and the top several app lists can be deduced by sorting according to the frequency values. Thus, while ensuring a certain recommendation accuracy, the recommendation strategy can be simplified as much as possible to save computing resources. During the process of training the first decision tree above, the grid search method is used to find the optimal hyperparameters of the model. Combining with the app recommendation business scenario, the dataset is divided using a cross-validation division method based on time series during the model training process. In this way, simulating the real usage scenario of users, using the historical data as the training set and one day's data as the validation set, the decision tree model can be adjusted to make the accuracy of the apps recommended by the decision tree algorithm higher and higher.
[0168] The third recommendation strategy can be: The electronic device can obtain the third app recommendation list through the multi-way recall and ranking algorithm.
[0169] In the case where the number of apps falls within the third quantity range, the electronic device can obtain the first data, and then the first data can be input into the multi-way recall and ranking algorithm to obtain the third app recommendation list.
[0170] Among them, the first data can include app usage data, and the app usage data can include long-term app usage data, recent app usage data, and real-time app usage data. Exemplarily, the long-term app usage data can be the app usage data in the past 3 months; the recent app usage data can be the app usage data in the past week or the past 3 days; the real-time app usage data is the data of the user's recent clicks on the app, for example, the recent 10 times, the recent 5 times, etc. The multi-way recall algorithm can include three-way recall. The first data input for the three-way recall can be the above-mentioned long-term app usage data, recent app usage data, and real-time app usage data respectively. It should be noted that the specific presentation form of the app usage data can refer to the relevant description in the first recommendation strategy and will not be elaborated here.
[0171] Figure 10 It is a schematic flowchart of a method for the third recommendation strategy disclosed in an embodiment of the present application. As Figure 10 shown, the third recommendation strategy can include two parts: recall and ranking, where the recall can be divided into three-way recall. Based on the three-way recall, the electronic device can obtain three weights of each app, and then these three weights can be comprehensively processed to obtain the third app recommendation list.
[0172] The following specifically describes the three-way recall process:
[0173] The first - stage recall: The electronic device can input the long - term application usage data into the second decision tree to obtain the first probability value of each application. Then, based on the first probability value of each application and the first - stage recall weight, the first weight of each application is obtained, and the first - stage recall result is acquired. Among them, the sum of the first probability values of all applications is 1. The first - stage recall weight represents the proportion of the first - stage recall in all sorting paths, and k1 is a positive integer. After the electronic device obtains the first probability value of each application, it can multiply the first - stage recall weight by the first probability value of each application to obtain the first weight of each application. Optionally, the electronic device can sort based on the first weight and obtain the top k1 applications as the first - stage recall result. It should be noted that the above - mentioned second decision tree can be the same decision tree as the first decision tree or a different decision tree. The processing process of the second decision tree can refer to the processing process of the first decision tree and will not be elaborated here.
[0174] Specifically, when obtaining the first probability value p of the i - th application among X applications based on the second decision tree i,1 , where 1 indicates the current first - stage recall strategy, then the first weight W of the i - th application among X applications can be determined i,1 , W i,1 = p i,1 ·w1, where w1 is the first - stage recall weight.
[0175] Exemplarily, when obtaining the first probabilities of 5 applications based on the second decision tree as 0.30 for Camera, 0.08 for Gallery, 0.14 for Messages, 0.16 for Video, and 0.32 for Email. When the first - stage recall weight is 0.2, the first weights of each application are: 0.06 for Camera, 0.016 for Gallery, 0.028 for Messages, 0.032 for Video, and 0.064 for Email. Among them, the first - stage recall result can be Email 0.064, Video 0.032, Messages 0.028, Gallery 0.016, Camera 0.06.
[0176] In the above - mentioned implementation, the historical App usage data of the user in the long - term (such as the recent 3 months) is obtained to train the decision - tree model. The model can learn the user's long - term and stable App usage habits. New features are input, the probability values of each App are obtained, and the top k1 Apps are taken out after sorting in descending order of the probability values to obtain the first - stage recall result.
[0177] Second - path recall: The electronic device can input recent application usage data (e.g., in the recent 3 days) into the recently - popular recall algorithm to obtain the second probability value of each application. Then, based on the second probability value of each application and the second - path recall weight, the second weight of each application is obtained, and the second - path recall result is acquired. The recently - popular recall algorithm is used to obtain applications that users often use recently. In one case, the recently - popular recall algorithm determines the proportion of the click - through times of each application in the recent application usage data to the total click - through times as the first proportion, and takes the first proportion as the second probability value. For example, the total click - through times in the recent three days is 60 times. Among them, the memo has 12 clicks, the video has 6 clicks, the email has 6 clicks, the settings have 5 clicks, the weather has 3 clicks, the clock has 3 clicks... Thus, the second probability value of the memo can be determined as 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, the second probability value of the clock is 0.05... Among them, the method for obtaining application usage data can specifically refer to the description of the first recommendation strategy and will not be elaborated here. In another case, the recent application usage data can include the usage duration of each application, and the recently - popular recall algorithm can determine the proportion of the usage duration of each application in the recent application usage data to the total usage duration of all applications as the second proportion, and take the second proportion as the second probability value. In yet another case, the recently - popular recall algorithm can combine the click - through times and usage duration of each application above to determine the second probability value. Optionally, after the electronic device determines the second weight of each application, it can sort based on the second weight and obtain the top k2 applications as the second - path recall result. In addition, the second - path recall weight represents the proportion of all paths in the second - path recall, and k2 is a positive integer.
[0178] Specifically, when obtaining the second probability value p of the i - th application among Y applications based on the recently - popular recall algorithm i,2 . Among them, 2 indicates that it is the second - path recall strategy currently. Then, the second weight W of the i - th application among Y applications can be determined i,2 as W i,2 = p i,2 ·w2, where w2 is the second - path recall weight.
[0179] Exemplarily, when obtaining the second probability values of 5 applications based on the recently - popular recall algorithm, they are 0.28 for the camera, 0.10 for the gallery, 0.15 for the messages, 0.15 for the video, and 0.32 for the email. When the second - path recall weight is 0.3, the second weights of each application are respectively: 0.084 for the camera, 0.03 for the gallery, 0.045 for the messages, 0.045 for the video, and 0.096 for the email. Among them, the second - path recall result can be 0.096 for the email, 0.084 for the camera, 0.045 for the video, 0.045 for the messages, and 0.03 for the gallery.
[0180] In the above-described embodiments, the electronic device obtains the user's recent App usage data (e.g., in the last 3 days), calculates the recent usage frequency of each App, sorts them in descending order according to the frequency values, and selects the top k2 Apps to obtain the second recall result reflecting the user's recent App usage habits.
[0181] Third recall: The electronic device can input the real-time application usage data into the time decay algorithm to obtain the third probability value of each application. Then, based on the third probability value of each application and the third recall weight, the third weight of each application is obtained, and the third recall result is obtained. The real-time application usage data is the name of each application used recently and the corresponding click time. The click time difference is the time difference between the click time and the current time. Then, the third weight of these applications can be determined based on the click time differences of these applications. Optionally, the electronic device can sort based on the third weight and select the top k3 applications as the third recall result. Here, k3 is a positive integer.
[0182] Specifically, the electronic device can obtain Z applications clicked by the user in real time and determine the time difference t between the time when the user clicks each application and the current time. The third probability value of the i-th application among the Z applications is where N(t) i is the decay value when the time interval of the i-th application is t i ; N0 is the initial decay value; α is the exponential decay constant; l is the translation amount to the left, which allows the value to start decaying not from N0 but from any position; t is the time difference between the click time of the i-th application and the current time. Here, N0, α, and l are all values pre-trained by the electronic device. For example, N0, α, and l are constant values determined based on the application usage data of the previous day. The electronic device can determine the third weight of the i-th application based on the third probability value of the i-th application and the third recall weight as W i,3 = N(t) i ·w3. Here, 3 indicates that this is the third recall strategy, and w3 is the third recall weight.
[0183] Exemplarily, the electronic device can obtain the real-time click records of user apps (such as the top 5 apps clicked in the most recent 5 clicks), calculate the time difference between the click time of each app and the current time, and use the time decay algorithm to calculate the third probability value of each app: Camera 0.30, Gallery 0.08, Messages 0.14, Video 0.16, Email 0.32. When the recall weight of the third path is 0.5, the second weights of each application are: Camera 0.15, Gallery 0.04, Messages 0.07, Video 0.08, Email 0.16. Arrange the apps in descending order according to the weight values. For example, the recall result of the third path is Email 0.16, Camera 0.15, Video 0.08, Messages 0.07, Gallery 0.04.
[0184] In the above embodiments, obtain the real-time click records of user apps (such as the top 10 apps clicked in the most recent 10 clicks), calculate the time difference between the click time of each app and the current time, use the time decay algorithm to calculate the third weight of each app, and arrange and take out the top k3 apps in descending order of the third weight value to obtain the recall result of the third path.
[0185] It should be noted that in the above embodiments, for the process of three-way recall, the training of the second decision tree in the first-way recall can refer to Figure 9 the training of the first decision tree in [reference document], which will not be elaborated here.
[0186] In the above recall processes of each path, the first-way recall weight, the second-way recall weight, and the third-way recall weight used are the weights of the pre-trained model, which can be directly used in the recall process. The following specifically describes the determination process of the weights of each path:
[0187] Figure 11 is a schematic diagram for determining the recall weight of each path disclosed in the embodiments of the present application. As Figure 11 shown, the electronic device can obtain the application usage data within 90 days. Among them, the 90 days correspond to the (t - 90)th day, the (t - 89)th day, the (t - 88)th day, ……, the (t - 1)th day respectively. The electronic device can train the third decision tree with the data of the (t - 90)th day, the (t - 89)th day, the (t - 88)th day, ……, the (t - 2)th day, and use the third decision tree to predict the click behavior on the (t - 1)th day, and the accuracy on the (t - 1)th day can be obtained. Use the accuracy on the (t - 1)th day as the first-way recall weight. The electronic device can, based on the data of the (t - 4)th day, ……, the (t - 2)th day, predict the click behavior on the (t - 1)th day through the recently popular recall algorithm, and the accuracy on the (t - 1)th day can be obtained. Use the accuracy on the (t - 1)th day as the second-way recall weight. The electronic device can predict the click behavior on the (t - 1)th day based on the time decay algorithm, and the accuracy on the (t - 1)th day can be obtained. Use the accuracy on the (t - 1)th day as the third-way recall weight.
[0188] When the electronic device obtains the first weight, the second weight, and the third weight of each application, a third application recommendation list can be obtained. That is, the electronic device can add the first weight, the second weight, and the third weight of each application to obtain the fourth weight of each application. Then, the electronic device can sort the applications in descending order of the fourth weight to obtain a third sorted application list. After the electronic device obtains the third sorted application list, it can select the first N applications in order to obtain a third application recommendation list. Among them, the applications in the third sorted application list are sorted according to the size of the fourth weight.
[0189] Specifically, the electronic device can calculate the fourth weight W i,1 as the sum of the first weight W i,2 , the second weight W i,3 , and the third weight W i,4 of the i-th application. Among them, where n is the n-th recall path.
[0190] The first data can include one or more of network data, environmental data, context data, location data, notification bar data, device connection data, and recommendation feedback data. When obtaining the third application recommendation list, the electronic device can adjust the third application recommendation list based on a special application scenario and the first data to obtain an adjusted third application recommendation list. The following specifically describes several possible implementation manners:
[0191] In a possible implementation manner, when the first data includes network data, the electronic device can adjust the current third application recommendation list based on the network data. Since the network data can indicate the network connection status, the electronic device can adjust the order of some applications in the third application recommendation list based on the network connection status. In some special application scenarios, when the user is connected to WiFi, the user often chooses to use applications that consume a large amount of traffic. For example, when the electronic device is connected to WiFi, the user often turns on online games, online videos, etc. When the network data indicates that the current connection is to WiFi, the electronic device can move the game or video APPs forward in the third application recommendation list or add the game or video APPs to the third application recommendation list. Therefore, Figure 3A the application recommendations shown in
[0192] In another possible implementation, when the first data includes environmental data, the electronic device can adjust the current third application recommendation list based on the special application scenario and the environmental data. The environmental data can indicate the environment where the current electronic device is located. For example, when the environmental data is the current weather data, the electronic device can recommend applications to the user based on the current weather data. The electronic device can determine whether it is in a special application scenario, that is, determine whether the current weather may deteriorate. For example, in case of rain or typhoon, etc., when the weather deteriorates, the electronic device can adjust the position of the weather-related applications to a higher position in the third application recommendation list. When the environmental data includes motion state data, the electronic device can adjust the third application recommendation list of the user based on the motion state data. For example, when the user is running, the running-related APP is often opened. Therefore, when the motion state data indicates that the current user is running, the position of the motion-related applications can be adjusted to a higher position in the third application recommendation list. In this way, the electronic device can recommend applications to the user based on the environment it is in, which can ensure the comprehensiveness of the electronic device's consideration, thereby improving the accuracy of application recommendation and further improving the user experience.
[0193] In yet another possible implementation, when the first data includes context data, the electronic device can adjust the current third application recommendation list based on the context data. The electronic device can determine one or several applications with the highest click frequency in the context data and add these one or several applications to the third application recommendation list. For example, the context data is the data of applications clicked in the past three hours or the past 10 times. The user clicks on the memo 5 times, the gallery 3 times, and the text message 2 times. The electronic device can add the memo APP to the third application recommendation list. In this way, by using the context data to adjust the third application recommendation list, the second recommendation list can better meet the user's personal needs and situations, thereby improving the accuracy of user recommendation and the user experience.
[0194] In yet another possible implementation, when the first data includes location data, the electronic device can adjust the current third application recommendation list based on the location data. Since the location data can indicate the location situation of the electronic device, the electronic device can judge the APPs that the current user may use based on the location situation. For example, when the location data indicates that it is near a bus stop or a subway gate, the user is very likely to use a public transportation card. At this time, the electronic device can adjust the applications related to the bus card or the subway card to a higher order in the third application recommendation list, or add the applications related to the bus card or the subway card to the third application recommendation list. It should be noted that the above situation is not specifically limited, and there may be other situations where the third application recommendation list is adjusted based on other location information.
[0195] In yet another possible implementation, when the first data includes notification data, the electronic device may adjust the current third application recommendation list based on the notification data. For example, when the electronic device receives a text message notification, it may adjust the text message APP to a higher position in the third application recommendation list, or add the text message APP to the third application recommendation list.
[0196] In yet another possible implementation, when the first data includes device connection data, the electronic device may adjust the current third application recommendation list based on the device connection data. The device connection data may include the case where the electronic device is connected to a headset (jack headset or Bluetooth headset). When the device connection data indicates that the current electronic device has been connected to a headset, the positions of music or video APPs may be adjusted to a higher position in the third application recommendation list, or the music or video APPs may be added to the third application recommendation list.
[0197] In yet another possible implementation, when the first data includes recommendation feedback data, the electronic device may adjust the current third application recommendation list based on the recommendation feedback data. Among the used application recommendations, for some applications that some users do not want to use (or are not interested in), the user can remove them. For the specific method, reference can be made to Figures 3A - 3C the description therein, which will not be elaborated here. When the electronic device detects that a user removes one or several applications in the application recommendation area, the electronic device may add this or these applications to the blacklist of application recommendations, that is, these applications are blacklist applications, and remove the blacklist applications that appear in the current third application recommendation list, so as to adjust the third application recommendation list. After the above operations, based on the negative feedback of the removed applications, the applications with negative feedback will not appear in the application recommendation area, that is, they will no longer be recommended. In this way, by using the feedback data of the user, the third application recommendation list is adjusted, making the third recommendation list more in line with the personal needs and situations of the user, thereby improving the accuracy of user recommendations and the user experience.
[0198] It should be noted that in the process of the electronic device adjusting the third application recommendation list, one or more of the above-mentioned multiple implementation manners may be used, without limitation.
[0199] In the above third recommendation strategy, for the user group with a relatively large number of types of Apps used per day, multiple-channel recall is used to respectively learn the long-term, recent, and real-time usage habits of the users. The recall weight of each channel is dynamically calculated by the recall rate of each channel to achieve the fusion sorting of multiple-channel recall. In this way, not only can the long-term usage habits of the users be considered, but also the recent changes in the users' Apps and the real-time usage habits of the users' Apps can be considered. The long-term, recent, and real-time data are all taken into account, so as to ensure the accuracy of the recommended applications and improve the user experience.
[0200] Among the above three recommendation strategies, the electronic device can select at least two of them as the solution in the embodiments of the present application to determine the solution for the application recommendation list. For example, the target recommendation strategy may include the first recommendation strategy and the second recommendation strategy; it may also include the first recommendation strategy and the third recommendation strategy; it may also include the second recommendation strategy and the third recommendation strategy; it may also include the first recommendation strategy, the second recommendation strategy and the third recommendation strategy. The specific target recommendation strategy is not limited.
[0201] In the embodiments of the present application, due to the different habits and ways of using APPs of different users, the number of applications used by users is also different. For example, some users use a relatively single type of APP, usually only using 0-10 applications per day on average, and this part of users may account for about 50% of the total users; another part of users can use 11-15 applications per day on average, and this part of users may account for about 36% of the total users; there is also a part of users with broad interests, who can use 16 or more applications per day on average, and this part of users may account for about 14% of the total users. For different numbers of applications, the electronic device can process the first data through different recommendation strategies to obtain an application recommendation list. Therefore, the embodiments of the present application can use the number of applications as a user grouping index, formulate different recommendation strategies for different user groups, so that users with fewer applications used can use a more efficient recommendation strategy; users with more applications used can use a more accurate recommendation strategy. In this way, while taking into account the accuracy of application recommendation, the recommendation efficiency can be improved.
[0202] It should be noted that all relevant contents of each step involved in the above method embodiments can be cited in the function description of the corresponding functional modules, and will not be repeated here.
[0203] The embodiments of the present application also provide a computer program product. When the computer program product runs on a computer, the computer is enabled to execute the above related steps to implement the methods in the above method embodiments.
[0204] The embodiments of the present application also provide a computer storage medium, including computer instructions. When the computer instructions run on an electronic device, the electronic device is enabled to execute the method as in the above embodiments.
[0205] Among them, the electronic device, computer storage medium, computer program product or chip system provided by the embodiments of the present application are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above, and will not be repeated here.
[0206] Among them, through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above functional modules is used as an example. In actual applications, the above functions can be allocated to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
[0207] In several embodiments provided in the present application, it should be understood that the disclosed device and method can also be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the module or unit is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in electrical, mechanical or other forms.
[0208] The unit described as a separate component may or may not be physically separated. The component displayed as a unit may be a physical unit or multiple physical units, that is, it may be located in one place, or it may be distributed to multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0209] In addition, each functional unit in various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0210] If the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on such an understanding, the technical solution of the embodiments of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The software product is stored in a storage medium and may include several instructions to enable a device (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the steps of the methods in various embodiments of the present application. The foregoing storage medium may include: USB flash drive, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disc and other various media that can store program codes.
[0211] The above are only specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered by the protection scope of the present application.
Claims
1. An application processing method, characterized in that, Including: Obtaining an application recommendation list based on an application recommendation strategy; Displaying the application recommendation list in the application recommendation area of the interface; When a first application in the application recommendation list is in the background running state and the first application is not in the temporary keep-alive list, adding the first application to the temporary keep-alive list, where when the first application is in the background running state, there is a process of the first application in the memory; When a process of a second application in the application recommendation list does not exist in the memory, performing preloading processing on the second application to create a process of the second application in the memory.
2. The method according to claim 1, wherein When receiving a first memory cleaning instruction, deleting the first application from the temporary keep-alive list, but retaining the process of the first application in the memory; Or, When receiving a second memory cleaning instruction, deleting the first application from the temporary keep-alive list and releasing the process of the first application in the memory.
3. The method according to any one of claims 1 to 2, characterized in that, The method further includes: starting timing after the preloading processing of the second application is completed; if the operation of the user starting the second application has not been detected when the timing reaches a preset keep-alive duration, releasing the process of the second application in the memory.
4. The method according to any one of claims 1 to 3, wherein The obtaining the application recommendation list based on the application recommendation strategy includes: obtaining the number of applications, where the number of applications is the average number of applications started per unit time in a first time period; in the case where the number of applications falls within a first number range, processing the first data based on a first recommendation strategy to obtain a first application recommendation list, where the first application recommendation list is displayed in the application recommendation area of the interface, and the first data includes data for analyzing application recommendations; in the case where the number of applications falls within a second number range, processing the first data based on a second recommendation strategy to obtain a second application recommendation list, where the second application recommendation list is displayed in the application recommendation area of the interface.
5. The method according to claim 4, wherein The first data includes application usage data, and the application usage data is historical data of user clicks on applications. The processing the first data based on the first recommendation strategy to obtain the first application recommendation list includes: Sorting the applications in the application usage data to obtain a first sorted application list, and the applications in the first sorted application list are arranged in descending order of click frequency; obtaining the first application recommendation list from the first sorted application list based on the current time information, and the applications in the first application recommendation list are the first N applications in the first sorted application list, where N is a positive integer.
6. The method according to claim 4 or 5, characterized in that, The first data includes application usage data, and the application usage data includes long-term application usage data, recent application usage data, and real-time application usage data. The processing the first data based on a third recommendation strategy to obtain the second application recommendation list includes: Inputting the long-term application usage data into a second decision tree to obtain a first probability value for each application; obtaining a first weight for each application based on the first probability value and a first recall weight. Input the recent application usage data into the recent popular recall algorithm to obtain the second probability value of each application; obtain the second weight of each application based on the second probability value and the second path recall weight; Input the real-time application usage data into the time decay algorithm to obtain the third probability value of each application; obtain the third weight of each application based on the third probability value and the third path recall weight; Add the first weight, the second weight, and the third weight of each application to obtain the fourth weight of each application; sort the fourth weights of each application by size to obtain the second application recommendation list.
7. The method according to claim 6, wherein, When the first data further includes at least one of network data, environment data, context data, location data, notification bar data, device connection data, and recommendation feedback data, the method further includes: Adjust the second application recommendation list based on the special application scenario and the first data; display the adjusted second application recommendation list in the application recommendation area of the interface.
8. An electronic device, wherein, The electronic device includes one or more processors and one or more memories; the one or more memories are coupled to the one or more processors, and the one or more memories store computer instructions; When the one or more processors execute the computer instructions, the electronic device is caused to execute the method according to any one of claims 1 to 7.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes computer instructions, which are used to execute the method according to any one of claims 1 to 7 when the computer instructions run.
10. A chip system, characterized in that, The chip system includes a processor and a communication interface; the processor is used to call and run the computer program stored in the storage medium to execute the method according to any one of claims 1 to 7.