Application recommendation method and device, storage medium and equipment

By analyzing the current application usage data of the user terminal, determining the user's usage scenarios, and recommending applications that match the scenarios from each application, it solves the problem that users find it difficult to quickly find the application in multiple applications, and improves user experience and usage efficiency.

CN119598210APending Publication Date: 2025-03-11GUANGZHOU YINGFENG NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411615749.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

When users face many applications, it is difficult for them to quickly find applications that meet their needs, resulting in reduced user experience and usage efficiency.

Method used

By obtaining the current application usage data of the user terminal, the training scene recognition model determines the user's usage scenario, thereby selecting applications matching the usage scenario from each application, and determining recommendation information based on these matching applications, and recommending applications that meet the usage scenarios to the user.

Benefits of technology

It improves the efficiency of users' application recommendation on the user terminal, reduces the time cost of users finding applications, and thus improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119598210A_ABST
    Figure CN119598210A_ABST
Patent Text Reader

Abstract

According to the application recommendation method and device, the storage medium and the equipment provided by the specification, the current application use data of the user terminal is obtained, the use scene of the user terminal is determined according to the current application use data through the trained scene recognition model, and the application of the user terminal is recommended from all applications of the user terminal. According to the method, the application matched with the use scene is selected to serve as the matched application, the selected matched application is displayed in the user terminal, it can be seen from the method that the application matched with the use scene is selected to serve as the matched application based on the use scene of the user terminal, and therefore recommendation information is determined; and the application conforming to the use scene is predicted and recommended for the user of the user terminal, so that the user experience of the user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of application recommendation, and in particular to an application recommendation method, device, storage medium and equipment. Background Art

[0002] With the continuous advancement of technology, user terminals such as mobile phones, tablet computers and computers are becoming increasingly rich and diverse in functions. At the same time, the types of applications that users can install are also increasing. As a result, when faced with numerous applications, users often need to spend a lot of time to find applications that meet their needs, which reduces user efficiency and user experience.

[0003] Therefore, how to predict and recommend applications that users will need in the future, thereby reducing the time cost of users looking for applications, is a key step in improving user efficiency and user experience.

[0004] Based on this, this specification provides an application recommendation method, apparatus, storage medium and device. Summary of the invention

[0005] This specification provides an application recommendation method, apparatus, storage medium and device to partially solve the above-mentioned problems existing in the prior art.

[0006] This manual adopts the following technical solutions:

[0007] This specification provides an application recommendation method, the method comprising:

[0008] Obtain current application usage data of the user terminal;

[0009] Determining the usage scenario of the user terminal through a trained scenario recognition model according to the current application usage data;

[0010] An application matching the usage scenario is selected from various applications in the user terminal as a matching application, and recommendation information is determined based on the matching application, where the recommendation information is used to recommend the matching application to the user.

[0011] Optionally, selecting an application matching the usage scenario from various applications of the user terminal as a matching application specifically includes:

[0012] Acquiring historical application usage data of the user terminal;

[0013] For each application in the user terminal, determine an activity value of the application in the user terminal according to usage data of the application in the historical application usage data;

[0014] Selecting applications in the user terminal whose activity values ​​exceed a preset threshold as candidate applications;

[0015] From the candidate applications, a candidate application matching the usage scenario is selected as a matching application.

[0016] Optionally, determining the activity value of the application in the user terminal according to the usage data of the application in the historical application usage data specifically includes:

[0017] Determining usage data of the application in the historical application usage data;

[0018] The activity value of the application in the user terminal is determined at least according to the usage frequency and / or usage duration in the usage data of the application.

[0019] Optionally, determining the recommended information based on the matching application specifically includes:

[0020] When there are multiple matching applications, sorting the matching applications according to the activity value of each matching application;

[0021] Recommended information is determined according to the sorted matching applications.

[0022] Optionally, determining the recommended information based on the matching application specifically includes:

[0023] When there are multiple matching applications, obtaining a weight of each matching application in the usage scenario;

[0024] For each matching application, determine a recommendation value of the matching application according to the activity value of the matching application and the weight of the matching application in the usage scenario;

[0025] The matching applications are sorted according to the recommendation values ​​of the matching applications, and recommendation information is determined according to the sorted matching applications.

[0026] Optionally, the method further includes:

[0027] Determining a preloaded application from among the matching applications according to the sorted order of the matching applications;

[0028] Calling the application data of the preloaded application;

[0029] In response to the user's operation of starting the preloaded application, the preloaded application is run according to the called application data.

[0030] Optionally, the method further includes:

[0031] Acquire the current application usage data, and determine application operation data according to the usage data;

[0032] Inputting the application operation data into the trained time prediction model in time sequence to determine the predicted application;

[0033] The application data of the prediction application is loaded in the background of the user terminal, and in response to the user's operation of starting the prediction application, the prediction application is run according to the loaded application data.

[0034] This specification provides an application recommendation device, including:

[0035] An acquisition module is used to acquire current application usage data of a user terminal;

[0036] A scene recognition module, used to determine the usage scene of the user terminal according to the current application usage data through a trained scene recognition model;

[0037] The recommendation module is used to select an application matching the usage scenario from various applications in the user terminal as a matching application, and determine recommendation information based on the matching application, wherein the recommendation information is used to recommend the matching application to the user.

[0038] This specification provides a computer-readable storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, an application recommendation method is implemented.

[0039] The present specification provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements an application recommendation method when executing the program.

[0040] At least one of the above-mentioned technical solutions adopted in the present specification can achieve the following beneficial effects: in an application recommendation method provided in the present specification, the current application usage data of the user terminal is obtained, and based on the current application usage data, a usage scenario of the user terminal is determined through a trained scene recognition model, and an application matching the usage scenario is selected from various applications of the user terminal as a matching application, and the selected matching application is displayed in the user terminal.

[0041] It can be seen from the above method that based on the usage scenario of the user terminal, an application matching the usage scenario is selected as the matching application, thereby determining recommendation information, predicting and recommending applications matching the usage scenario for the user of the user terminal, and improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings:

[0043] Figure 1 A flowchart of a recommended method for an application provided in this specification;

[0044] Figure 2 This is a schematic diagram of a matching application displayed in a user terminal when the user terminal provided in this specification is a mobile phone;

[0045] Figure 3 A schematic diagram for determining recommended information provided in this manual;

[0046] Figure 4 A schematic diagram of a recommended device for an application provided in this manual;

[0047] Figure 5 A schematic diagram of the structure of an electronic device corresponding to a method for implementing an application recommendation provided in this specification. DETAILED DESCRIPTION

[0048] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.

[0049] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.

[0050] Figure 1 A flowchart of an application recommendation method provided in this specification includes the following steps:

[0051] S100: Acquire current application usage data of the user terminal.

[0052] In one or more embodiments of this specification, it is not limited to which device is used to implement the process of an application recommendation method, such as a personal computer, a mobile terminal, and a server. However, since the subsequent steps involve operations such as data processing, and such operations with high requirements for computing resources are generally performed by a server, this specification will also use the server to implement an application recommendation method as an example for description. Among them, the server can be a single device, or composed of multiple devices, such as a distributed server, and this specification does not limit this.

[0053] In one or more embodiments of the present specification, in order to determine the usage scenario of the user terminal through the trained scene recognition model in subsequent steps, the current application usage data of the user terminal needs to be obtained in this step.

[0054] Specifically, the server may collect the current application usage data of the user terminal. The current application usage data is the real-time data generated and recorded by the user of the user terminal using each application in the user terminal within a preset time period, such as application startup time, application shutdown time, application usage frequency, usage duration, application status (foreground running / background running / pause status, etc.) and location information, etc. The specific method of obtaining the current application usage data is not limited in this specification, such as obtaining the running status of each application through log records, or accessing and recording the usage of each application through the operating system API.

[0055] It should be noted that the type of user terminal is not limited in this specification, such as smart phones, tablet computers, desktop computers, etc. The current application usage data is the usage record of each application in the user terminal within a preset time period, that is, after the user terminal is turned on, the acquisition period of the application usage data is the preset time period, and the end time of the acquisition of the current application usage data is the current time. The specific value of the preset time period is not limited in this specification and can be set according to actual needs.

[0056] S102: Determine the usage scenario of the user terminal according to the current application usage data through a trained scenario recognition model.

[0057] In one or more embodiments of the present specification, in order to determine matching applications and display the matching applications in the user terminal in subsequent steps, in this step, the server needs to determine the usage scenario of the user terminal through the trained scene recognition model based on the current application usage data obtained in step S100.

[0058] Specifically, the server inputs the current application usage data in step S100 into the trained scene recognition model, and parses the current application usage data through the scene recognition model, thereby obtaining the usage scenario of the user terminal output by the scene recognition model. Among them, the current application usage data is input into the scene recognition model in the form of a character string, and the scene recognition model parses the current application usage data, extracts the feature information of the current application usage data, and determines the usage scenario based on the feature information. In other words, the scene recognition model is used to classify the usage scenarios of "application usage data". The number of classification categories of usage scenarios and the types of each classification category are not limited in this specification. For example, the classification categories may include work scenarios, entertainment scenarios, learning scenarios, sports scenarios, etc., which can be set according to actual needs.

[0059] It should be noted that since the current application usage data represents the continuous usage changes of the user terminal user's use of each application within a preset time period, before inputting the current application usage data into the scene recognition model, the data in the current application usage data can be arranged in chronological order.

[0060] S104: Selecting an application matching the usage scenario from various applications of the user terminal as a matching application, and determining recommendation information based on the matching application, wherein the recommendation information is used to recommend the matching application to a user of the user terminal.

[0061] In one or more embodiments of the present specification, in this step, the server may select an application matching the usage scenario determined in step S102 from various applications of the user terminal as a matching application, and determine recommendation information based on the matching application.

[0062] Specifically, the server may select an application that matches the usage scenario from various applications in the user terminal as a matching application, and determine recommendation information based on the matching application, and the recommendation information is used to recommend the matching application to the user of the user terminal. The number of matching applications and the specific form of the recommendation information are not limited in this specification and can be set according to needs. For example, a dynamic toolbar can be constructed to display the quick entry of the matching application in the dynamic toolbar, that is, the matching application is recommended in the form of a dynamic toolbar, or the matching application is recommended in the form of a pop-up window.

[0063] like Figure 2 As shown, when the user terminal provided in this specification is a mobile phone, a matching application is displayed in the form of a dynamic toolbar in the user terminal. In the figure, the dotted rectangular box is the content display area of ​​the dynamic toolbar, and the four pattern-filled rectangles within the dotted rectangular box are the quick entry icon display area of ​​the matching application.

[0064] It should be noted that the correspondence between different categories of usage scenarios and each application in the user terminal can be determined based on the default usage scenario of the application. For example, each application can be classified in advance to determine the default usage scenario corresponding to each application, so that in this step, the server can select a matching application that matches the usage scenario from each application in the user terminal based on the usage scenario. Among them, the default usage scenario refers to the classification category when each application is initially designed, or the classification category in which each application is classified in advance. For example, office software is usually defaulted to improving work efficiency, that is, the default usage scenario corresponding to the office software is the office scenario.

[0065] In the above method, the server obtains the current application usage data of the user terminal, and analyzes the current application usage data through the trained scene recognition model according to the current application usage data, so as to obtain the usage scenario of the user terminal output by the scene recognition model, and then selects a matching application from various applications of the user terminal according to the usage scenario, and displays the matching application in the user terminal. In other words, based on the usage scenario of the user terminal, the server predicts and recommends applications that meet the usage scenario for the user of the user terminal, thereby improving the user experience of the user. Figure 3 As shown, it is a schematic diagram of determining recommended information provided in this specification.

[0066] In addition, this specification provides a method for selecting a candidate application from various applications of the user terminal based on historical application usage data of the user terminal, and then selecting a candidate application that matches the usage scenario determined in step S102 as a matching application from the candidate applications, as follows:

[0067] In one or more embodiments of the present specification, the server may obtain the historical application usage data of the user terminal, and for each application in the user terminal, determine the activity value of the application in the user terminal according to the usage data of the application in the historical application usage data. The applications in the user terminal whose activity values ​​exceed the preset threshold are selected as candidate applications, and then among the candidate applications, the candidate applications that match the usage scenario determined in step S102 are selected as matching applications. Among them, the present specification does not limit the time length corresponding to the acquisition of historical application usage data, which can be set according to actual needs. At the same time, since the number and type of applications in the user terminal will be continuously updated, and the user's usage habits are dynamically changing, an update cycle can be set, and the activity value of each application can be updated based on the update cycle. The specific value of the update cycle is not limited in the present specification, and it can be set according to actual needs.

[0068] It should be noted that the specific method of "determining the activity value of each application based on historical application usage data" is not limited in this specification. In one or more embodiments of this specification, the server may determine the usage data of each application in the user terminal in the historical application usage data, and determine the activity value of the application in the user terminal at least based on the usage frequency and / or usage duration in the usage data of the application, wherein the usage frequency of each application may be standardized and / or the usage duration of each application may be standardized first, and then for each application, the activity value is determined based on the standardized usage frequency and / or standardized usage duration of the application. Of course, the specific method of standardization and the specific method of determining the activity value are not limited in this specification. For example, the minimum-maximum normalization formula may be used to standardize the usage frequency and usage duration of each application respectively, and then the activity value of each application is obtained by weighted summation. In one or more embodiments of the present specification, the server may determine the usage data of the application in the historical application usage data and the application type of the application for each application in the user terminal, and determine the activity value of the application in the user terminal at least based on the application type of the application, the usage frequency in the usage data of the application, and / or the usage duration in the usage data of the application. Among them, the weighted weights of each usage data (usage frequency and / or usage duration) corresponding to the application may be determined first according to the application type of the application, and at the same time, the usage frequency of each application may be standardized and / or the usage duration of each application may be standardized, and for each application, the activity value may be determined by weighted summation based on the standardized usage frequency and / or the standardized usage duration of the application and the determined weighted weights.

[0069] In the above, by analyzing the activity value of each application used by the user of the user terminal, a part of the applications that the user does not frequently use is pre-screened, so that the process of personalized recommendation of applications to the user is more efficient. In addition, when determining the activity value, since the measurement criteria of the activity value are different between different application types, the weighted weights corresponding to the application type can be determined based on the application type of the application, thereby eliminating the difference in the measurement of the activity value to a certain extent.

[0070] In addition, in step S104, when there are multiple matching applications selected, the matching applications can be sorted according to the activity value of each matching application, and the recommended information can be determined according to the sorted matching applications. It should be noted that when there are multiple matching applications, the applications with higher activity values ​​can be displayed first through sorting, which is conducive to the user of the user terminal to quickly find applications that meet the needs of the current usage scenario, further improving the user's user experience.

[0071] In addition, when each matching application is displayed on the user terminal, the recommendation value of each matching application can be determined according to the weight of each matching application in the usage scenario, and the matching applications can be ranked according to the recommendation value of each matching application, as follows:

[0072] First, in one or more embodiments of the present specification, when there are multiple matching applications, the weight of each matching application in the usage scenario is obtained, and for each matching application, the recommendation value of the matching application is determined according to the weight and the activity value of the matching application.

[0073] Specifically, when there are multiple matching applications, the server may determine the recommended value of each matching application according to the weight of the matching application in the usage scenario and the activity value of the matching application, and then display each matching application in the user terminal after sorting the matching applications according to the recommended value of each matching application. In this specification, there is no limitation on determining the weight of the matching application in each usage scenario. For example, a questionnaire survey may be conducted in advance to count the usage scenarios of users of a large number of user terminals when using each application, and obtain the weight of each application in each usage scenario.

[0074] In the above, the recommendation value of the matching application is determined according to the weight of the matching application in the usage scenario and the activity value of the matching application, and the matching applications are ranked according to the recommendation value. That is to say, by analyzing the weight of the matching application used by users of other user terminals in various usage scenarios, the usage trend of the matching application in various usage scenarios can be captured, and then by referring to the usage of other users, the matching application can be recommended to the user of the user terminal in a ranking method that is more in line with the usage trend and the user's usage habits, so that the user of the user terminal can explore the potential usage mode of the matching application.

[0075] In addition, in one or more embodiments of the present specification, when there are multiple matching applications, the server can determine the preloaded application from each matching application according to the sorted order of each matching application, and call the application data of the preloaded application, and in response to the operation of the user of the user terminal to start the preloaded application, run the preloaded application according to the called application data. Among them, the number of preloaded applications is not limited in this specification, and can be set according to demand. Of course, the pre-running method of the preloaded application is not limited in this specification, and can be set according to actual needs, that is, in addition to pre-calling the application data of the preloaded application in the above-mentioned way, the application data of the preloaded application can also be loaded in the background.

[0076] It should be noted that the process of a user starting an application generally includes triggering the application (such as clicking an icon, voice triggering, etc.), loading the application data of the application into the memory, initializing the application (such as initializing the application environment, configuration files, etc.), and displaying the interactive interface. The above-mentioned "calling the application data of the preloaded application" refers to loading the application data of the preloaded application in advance. Then, in response to the operation of the user of the user terminal starting the preloaded application, the preloaded application can be run according to the preloaded application data, reducing the time the user waits for the application data to be loaded, thereby improving the startup efficiency. And "loading the application data of the preloaded application in the background" is equivalent to completing the process of initializing the application in addition to preloading the application data of the preloaded application. In other words, the preloaded application is already in the background running state. Then, in response to the startup operation of the user of the user terminal, the preloaded application can be converted from the background running state to the foreground running state, further improving the startup efficiency.

[0077] In the above, by calling the application data of the preloaded application in advance, the time the user waits for the application to load can be reduced, further improving the usage efficiency of the user terminal user and the user experience.

[0078] In addition, in one or more embodiments of the present specification, the present specification further provides a method for determining a predicted application through a time prediction model according to the current application usage data obtained in step S100, as follows:

[0079] Specifically, the server may input the current application usage data obtained in step S100 into the trained time prediction model, determine the predicted application, load the application data of the predicted application in the background of the user terminal, and respond to the operation of the user of the user terminal to start the predicted application, and run the predicted application according to the loaded application data. Among them, the time prediction model may be a long short-term memory network (Long Short-Term Memory network, LSTM), and the time prediction model can learn long-term dependencies. Therefore, historical application usage data can be obtained at the same time, and the historical application usage data and the current application usage data are input into the trained time prediction model to determine the predicted application. Among them, the specific time period and quantity for obtaining historical application usage data are not limited in this specification, and can be set according to actual needs. For example, if the current application usage data is obtained on a working day (holiday), the historical application usage data can be the application usage data of the previous working day (holiday). In addition to distinguishing between working days and holidays, the historical application usage data can also be application usage data on the same day of each month, or application usage data on the same day of each week.

[0080] This specification also provides an iterative training process for the time prediction model, as follows:

[0081] First, application usage data is collected and divided according to time series, and a number of training data arranged in time series are determined. For each training data, the application recorded in the next training data of the training data is used as a label for the training data.

[0082] Secondly, for each iterative training process, the input data corresponding to the iterative process is determined according to the training data input in the historical iterative process and the training data corresponding to the iterative process, and the input data is input into the time prediction model in time sequence to obtain the prediction result output by the time prediction model. The input data may include one or more training data, which can be set according to the needs.

[0083] Finally, the time prediction model is iteratively trained with the minimum difference between the prediction result and the annotation as the optimization goal.

[0084] In addition, this specification also provides a training process of the scene recognition model in step S102, which is as follows:

[0085] First, application usage data on several user terminals is collected as training data, and the actual usage scenarios corresponding to the training data are determined as annotations of the training data. Secondly, based on the training data, the classification results of the training data in the usage scenarios are determined through a scene recognition model. Finally, the scene recognition model is trained with the minimum difference between the classification result and the annotation as the optimization goal. It should be noted that the classification algorithm used by the scene recognition model, such as K-nearest neighbor, support vector machine, etc., is not limited in this specification.

[0086] In addition, in the above determination of the recommended value, this specification also provides a process for determining the weight of each application in the usage scenario in step S102, which is as follows:

[0087] First, the server can obtain application usage data of multiple user terminals, and for each application usage data, input the application usage data into the trained scene recognition model to determine the usage scenario corresponding to the application usage data. Secondly, for each usage scenario, the server can determine the activity value of each application in multiple user terminals according to the application usage data corresponding to the usage scenario. Finally, for each application, the ratio of the activity value of the application to the sum of the activity values ​​of all applications can be used as the weight of the application in the usage scenario.

[0088] It should be noted that the "acquiring application usage data of multiple user terminals" mentioned above may be training data acquired in advance when training the scene recognition model. The trained scene recognition model may also be used to identify usage scenarios corresponding to a certain amount of application usage data, thereby determining the weight of each application in each usage scenario.

[0089] In addition, in step S104, the correspondence between different types of usage scenarios and each application in the user terminal can be determined based on the default usage scenario of each application in the multiple user terminals and the “weight of each application in the multiple user terminals in each usage scenario”, as follows:

[0090] Specifically, the server can determine the matching value of the application in each usage scenario for each application in multiple user terminals according to the default usage scenario of the application and the weight of the application in each usage scenario, and determine the matching relationship between the application and each usage scenario according to each matching value. Among them, this specification does not limit the specific numerical value of the reference weight, and does not limit the specific method of determining the matching relationship between the application and each usage scenario according to each matching value. For example, the usage scenario with the highest matching value can be selected as the usage scenario that matches the application, that is, the matching relationship between the application and the usage scenario is many-to-one. Alternatively, a matching threshold is set, and the usage scenario with a matching value greater than the matching threshold is used as the usage scenario that matches the application, that is, the matching relationship between the application and the usage scenario is many-to-many.

[0091] Using the example in step S104, if the weights of the office software in each usage scenario are entertainment scenario a and office scenario b. The default usage scenario of the office software is the office scenario, then by combining the two, through the reference weight c of the default usage scenario, it can be obtained that the matching value of the application in the entertainment scenario is a*(1-c), and the matching value in the office scenario is b*(1-c)+c.

[0092] It should be noted that in the above, the matching relationship between the application and each usage scenario can also be determined based on the weight of each application in multiple user terminals in each usage scenario, that is, in this specification, the matching relationship between the application and each usage scenario is determined based on "the default usage scenario of each application in multiple user terminals" and / or "the weight of each application in multiple user terminals in each usage scenario".

[0093] In the above, "the weight of each application in multiple user terminals in each usage scenario" reflects the user's usage pattern in actual application, and the default usage scenario reflects the original intention of application design, that is, the default usage scenario and "the weight of each application in multiple user terminals in each usage scenario" both reflect the universality of application usage scenarios. Therefore, combining the two makes the universality of "the matching relationship between applications and various usage scenarios" better.

[0094] The above is an application recommendation method provided in one or more embodiments of this specification. Based on the same idea, this specification also provides a corresponding application recommendation device, such as Figure 4 shown.

[0095] An acquisition module 500 is used to acquire current application usage data of a user terminal;

[0096] A scene recognition module 501 determines the usage scene of the user terminal according to the current application usage data through a trained scene recognition model;

[0097] The recommendation module 502 selects an application matching the usage scenario from various applications in the user terminal as a matching application, and determines recommendation information based on the matching application, wherein the recommendation information is used to recommend the matching application to the user.

[0098] Optionally, the recommendation module 502 is specifically used to obtain historical application usage data of the user terminal; for each application in the user terminal, determine the activity value of the application in the user terminal according to the usage data of the application in the historical application usage data; use applications in the user terminal whose activity values ​​exceed a preset threshold as candidate applications; and select from the candidate applications a candidate application that matches the usage scenario as a matching application.

[0099] Optionally, the recommendation module 502 may also be used to determine usage data of the application in the historical application usage data; and determine the activity value of the application in the user terminal at least based on the usage frequency and / or usage duration in the usage data of the application.

[0100] Optionally, the recommendation module 502 may be further configured to sort the matching applications according to the activity value of each matching application when there are multiple matching applications; and determine recommendation information according to the sorted matching applications.

[0101] Optionally, the recommendation module 502 can also be used to obtain the weight of each matching application in the usage scenario when there are multiple matching applications; for each matching application, determine the recommendation value of the matching application according to the activity value of the matching application and the weight of the matching application in the usage scenario; sort the matching applications according to the recommendation values ​​of each matching application, and determine recommendation information based on the sorted matching applications.

[0102] Optionally, the recommendation module 502 can also be used to determine a preloaded application from the matching applications according to the sorted order of the matching applications; call application data of the preloaded application; and in response to the user's operation of starting the preloaded application, run the preloaded application according to the called application data.

[0103] Optionally, the device also includes a prediction module 503, which is specifically used to obtain the current application usage data, determine the application operation data based on the usage data; input the application operation data into the trained time prediction model in time sequence to determine the predicted application; load the application data of the predicted application in the background of the user terminal, and in response to the user's operation of starting the predicted application, run the predicted application according to the loaded application data.

[0104] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 An application recommendation method is provided.

[0105] This manual also provides Figure 5 The schematic structure diagram of the electronic device shown in FIG. Figure 5 As mentioned above, at the hardware level, the device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0106] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages ​​and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.

[0107] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.

[0108] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0109] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0110] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0111] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0112] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0113] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0114] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0115] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0116] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0117] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0118] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0119] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0120] The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.

Claims

1. A method for recommending an application, characterized in that: include: Obtain current application usage data of the user terminal; Determining the usage scenario of the user terminal through a trained scenario recognition model according to the current application usage data; An application matching the usage scenario is selected from various applications in the user terminal as a matching application, and recommendation information is determined based on the matching application, where the recommendation information is used to recommend the matching application to the user.

2. The method according to claim 1, characterized in that: Selecting an application matching the usage scenario from among the applications of the user terminal as a matching application specifically includes: Acquiring historical application usage data of the user terminal; For each application in the user terminal, determining an activity value of the application in the user terminal according to usage data of the application in the historical application usage data; Selecting applications in the user terminal whose activity values ​​exceed a preset threshold as candidate applications; From the candidate applications, a candidate application matching the usage scenario is selected as a matching application.

3. The method according to claim 2, characterized in that: Determining, according to the usage data of the application in the historical application usage data, an activity value of the application in the user terminal, specifically includes: Determining usage data of the application in the historical application usage data; The activity value of the application in the user terminal is determined at least according to the usage frequency and / or usage duration in the usage data of the application.

4. The method according to claim 2, characterized in that: Determining recommendation information based on the matching application specifically includes: When there are multiple matching applications, sorting the matching applications according to the activity value of each matching application; Recommended information is determined according to the sorted matching applications.

5. The method according to claim 2, characterized in that: Determining recommendation information based on the matching application specifically includes: When there are multiple matching applications, obtaining a weight of each matching application in the usage scenario; For each matching application, determine a recommendation value of the matching application according to the activity value of the matching application and the weight of the matching application in the usage scenario; The matching applications are sorted according to the recommendation values ​​of the matching applications, and recommendation information is determined according to the sorted matching applications.

6. The method according to claim 4 or 5, characterized in that: The method further comprises: Determining a preloaded application from among the matching applications according to the sorted order of the matching applications; Calling the application data of the preloaded application; In response to the user's operation of starting the preloaded application, the preloaded application is run according to the called application data.

7. The method according to claim 1, characterized in that: The method further comprises: Acquire the current application usage data, and determine application operation data according to the usage data; Inputting the application operation data into the trained time prediction model in time sequence to determine the predicted application; The application data of the prediction application is loaded in the background of the user terminal, and in response to the user's operation of starting the prediction application, the prediction application is run according to the loaded application data.

8. An application recommendation device, characterized in that: include: An acquisition module is used to acquire current application usage data of a user terminal; A scene recognition module, used to determine the usage scene of the user terminal according to the current application usage data through a trained scene recognition model; The recommendation module is used to select an application matching the usage scenario from various applications in the user terminal as a matching application, and determine recommendation information based on the matching application, wherein the recommendation information is used to recommend the matching application to the user.

9. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

10. An electronic device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the method according to any one of claims 1 to 7 when executing the computer program.