An application recommendation method and electronic device

By combining time and spatial scene characteristics, electronic devices adjust the recommendation order and exposure of applications, solving the problem of low accuracy in long-tail application recommendations and improving the hit rate of application recommendations and user experience.

CN118051287BActive Publication Date: 2026-05-26HONOR DEVICE CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HONOR DEVICE CO LTD
Filing Date
2022-11-16
Publication Date
2026-05-26

Smart Images

  • Figure CN118051287B_ABST
    Figure CN118051287B_ABST
Patent Text Reader

Abstract

This application provides an application recommendation method and an electronic device, relating to the field of computer technology. This solution improves the application recommendation hit rate of electronic devices. Specifically, the electronic device displays a first interface, which includes a first control for displaying the application icon of the application to be recommended to the user. When the electronic device is located in a first location area and the system time is within a first time period, the electronic device displays the application icon of a first application in the first control. The first application has a higher first weight than a second application, and the application icon of the second application is not displayed in the first control. The first weight indicates the probability of the application being enabled in the scenario where the device is located in the first location area and the system time is within the first time period.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more particularly to an application recommendation method and an electronic device. Background Technology

[0002] Currently, the number of applications installed on electronic devices is increasing. To help users quickly launch target applications from among a large number of apps, electronic devices can help users select some applications, such as recommended apps, and centrally display the app icons of recommended apps, thus making it easier for users to find and activate target applications.

[0003] Currently, electronic devices have high accuracy in recommending frequently used applications, but lower accuracy in recommending long-tail applications. Long-tail applications are those with lower overall usage. While long-tail applications generally have lower usage, they are often the applications users are most likely to use in specific scenarios. Summary of the Invention

[0004] This application provides an application recommendation method and electronic device to improve the hit rate of application recommendations.

[0005] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:

[0006] In a first aspect, this application provides an application recommendation method applied to an electronic device. The method includes: the electronic device displaying a first interface, the first interface including a first control, the first control being used to display application icons of applications to be recommended to the user. When the electronic device is located in a first location area and the system time is within a first time period, the electronic device displays the application icon of a first application in the first control; wherein, a first weight of the first application is higher than a first weight of a second application, the application icon of the second application is not displayed in the first control, and the first weight is used to indicate the probability of activation of the application in a scenario where the device is located in the first location area and the system time is within the first time period.

[0007] In the above embodiments, the electronic device can utilize temporal and spatial scene features to determine the first application with regular usage patterns in the spatiotemporal scene. The first application may include applications with low usage popularity. In this way, after the electronic device displays the application icon of the first application in the first control, it can increase the exposure of applications with low usage popularity but regular usage patterns, thereby effectively improving the hit rate of application recommendations.

[0008] In some embodiments, the method further includes: when the electronic device is located in a first location area and the system time is in a first time period, the electronic device displays an application icon of a third application in the first control; wherein the second weight of the third application is higher than the second weight of the fourth application, the application icon of the fourth application is not displayed in the first control, the second weight is used to indicate the probability that the application is used by the user in the current scenario, and the second weight can be determined by the frequency of interaction between the user and the application in various scenarios (scenarios indicated by multiple scenario features) in historical operation data.

[0009] In the above embodiments, the electronic device can not only recommend a first application determined by combining spatiotemporal features to the user, but also recommend a third application determined by combining multiple scene features that can characterize the current scene, so as to avoid missing some long-tail applications with usage patterns in fixed spatiotemporal scenes and improve the accuracy of recommendations.

[0010] In some embodiments, the electronic device includes a first recommendation model and a second recommendation model. The first recommendation model is used to determine the second weight corresponding to each application in different scenarios, and the second recommendation model is used to determine the first weight corresponding to each application in different scenarios. Before the electronic device displays the first application and the third application in the first control, the method further includes: the electronic device acquiring first time and first location information; when the first time belongs to the first time period and the first location information indicates the first location area, the electronic device uses the second recommendation model to determine the first application, wherein when the first weights of the applications are arranged in descending order, the first application is the application whose first weight ranks before the first position. Additionally, the electronic device can also use the first recommendation model to determine the third application, wherein when the second weights of the applications are arranged in descending order, the third application is the application whose second weight ranks before the second position.

[0011] In some embodiments, the first location information includes one or a combination of a service set identifier provided by a first network, a cell identity identifier provided by a first base station, and first latitude and longitude information, wherein the signal coverage area of ​​the first network and the first base station belongs to the first location area.

[0012] In some embodiments, before the electronic device displays the first application in the first control, the method further includes: the electronic device acquiring the first day number and the second day number, wherein the first day number is the number of days the electronic device has enabled the first application in a scenario where the electronic device is located in the first location area and the system time belongs to the first time period, and the second day number is the number of days the electronic device detects that it is located in the first location area and the system time belongs to the first time period; the electronic device determining the first weight corresponding to the first application in the case where it is located in the first location area and the system time belongs to the first time period based on the first day number and the second day number; and the electronic device updating the first recommendation model based on the first application and the corresponding first weight.

[0013] In the above embodiments, the electronic device can update the first weight of the first application in the first recommendation model based on changes in the number of days the user uses the first application in various spatiotemporal scenarios. Similarly, the electronic device can update the first weights of other applications in different spatiotemporal scenarios in the same way, so that the recommended applications determined by the electronic device in various spatiotemporal scenarios can change according to user habits.

[0014] In some embodiments, the method further includes: the electronic device acquiring interaction data, the interaction data including the number of interactions between the user and various applications under different location information, different time information, different user status information, and different device status information; the electronic device performing clustering based on the location information, the time information, the user status information, and the device status information in the interaction data to obtain the second recommendation model.

[0015] In the above embodiments, the second recommendation model can improve the recognition of real-time scenarios indicated by multiple scene features by learning interactive data with multiple scene features, thereby improving the matching degree of application recommendations for various real-time scenarios.

[0016] In some embodiments, the electronic device acquires interactive data, including: when the electronic device detects a first operation on any of the applications, it collects the location information, time information, user status information, and device status information; wherein, if a first service set identifier and a first cell identity identifier are collected, the first service set identifier is determined to be the detected location information, and the first cell identity identifier is associated with the first service set identifier; if the first cell identity identifier is collected and the first cell identity identifier is already associated with the first service set identifier, the first service set identifier is determined to be the detected location information.

[0017] In some embodiments, if the service set identifier and cell identity identifier are not collected during the first operation, the electronic device determines the location information as a first identifier, the first identifier indicating an unidentified geographic space.

[0018] In some embodiments, where the first application includes a fifth application and a sixth application, and the third application includes a sixth application and a seventh application, the method further includes: the electronic device determining a recommendation weight for the sixth application based on the first weight, the second weight, the first recommendation factor, and the second recommendation factor corresponding to the sixth application, wherein the first recommendation factor is used to indicate the recommendation hit rate of the first recommendation model, and the second recommendation factor is used to indicate the recommendation hit rate of the second recommendation model; the electronic device determining a recommendation weight for the sixth application based on the first weight and the first recommendation factor corresponding to the fifth application; and the electronic device determining a recommendation weight for the seventh application based on the second weight and the second recommendation factor corresponding to the seventh application.

[0019] In some embodiments, the application icons of the fifth, sixth, and seventh applications are arranged on the first control in descending order of their respective recommendation weights. Furthermore, as the scenario in which the electronic device is located changes, the recommended applications determined by the electronic device will also change, thus changing the application icons in the first control. After the application icons in the first control change, the application icons in the first control can be arranged irregularly.

[0020] Secondly, this application provides an electronic device comprising one or more processors and a memory; the memory is coupled to the processor and is used to store computer program code, which includes computer instructions. When one or more processors execute the computer instructions, the one or more processors are used to: display a first interface, the first interface including a first control, the first control being used to display an application icon of an application to be recommended to the user; when the electronic device is located in a first location area and the system time is in a first time period, displaying an application icon of a first application in the first control; wherein, a first weight of the first application is higher than a first weight of a second application, the application icon of the second application is not displayed in the first control, and the first weight is used to indicate the activation probability of the application in a scenario where the device is located in the first location area and the system time is in the first time period.

[0021] In some embodiments, the one or more processors are configured to: display an application icon of a third application in the first control when the electronic device is located in the first location area and the system time is in a first time period; wherein the second weight of the third application is higher than the second weight of the fourth application, the application icon of the fourth application is not displayed in the first control, and the second weight is used to indicate the frequency of interaction between the user and the application in the current scenario.

[0022] In some embodiments, the electronic device includes a first recommendation model and a second recommendation model. The first recommendation model is used to determine the second weight corresponding to each application in different scenarios, and the second recommendation model is used to determine the first weight corresponding to each application in different scenarios. Before the electronic device displays the first application and the third application in the first control, the one or more processors are configured to: acquire first time and first location information; when the first time belongs to the first time period and the first location information indicates the first location area, use the second recommendation model to determine the first application, wherein when the first weights of the applications are arranged in descending order, the first application is the application whose first weight ranks before the first position; use the first recommendation model to determine the third application, wherein when the second weights of the applications are arranged in descending order, the third application is the application whose second weight ranks before the second position.

[0023] In some embodiments, the first location information includes one or a combination of a service set identifier provided by a first network, a cell identity identifier provided by a first base station, and first latitude and longitude information, wherein the signal coverage area of ​​the first network and the first base station belongs to the first location area.

[0024] In some embodiments, before displaying the first application in the first control, the one or more processors are configured to: obtain the first day number and the second day number, wherein the first day number is the number of days the first application has been enabled in a scenario where the electronic device is located in the first location area and the system time belongs to the first time period, and the second day number is the number of days the electronic device detects that it is located in the first location area and the system time belongs to the first time period; determine the first weight corresponding to the first application in the case where it is located in the first location area and the system time belongs to the first time period based on the first day number and the second day number; and update the first recommendation model based on the first application and the corresponding first weight.

[0025] In some embodiments, the one or more processors are configured to: acquire interaction data, the interaction data including the number of interactions between a user and various types of applications when different location information, different time information, different user status information, and different device status information are detected; and perform clustering based on the location information, the time information, the user status information, and the device status information in the interaction data to obtain the second recommendation model.

[0026] In some embodiments, the one or more processors are configured to: upon detecting a first operation targeting any of the applications, collect the location information, time information, user status information, and device status information; wherein, if a first service set identifier and a first cell identity identifier are collected, determine that the first service set identifier is the detected location information, and associate the first cell identity identifier with the first service set identifier; if the first cell identity identifier is collected and the first cell identity identifier is already associated with the first service set identifier, determine that the first service set identifier is the detected location information.

[0027] In some embodiments, the one or more processors are configured to: determine the location information as a first identifier when it is detected that no service set identifier and cell identity identifier were collected during the first operation, wherein the first identifier indicates an unidentified geographic space.

[0028] In some embodiments, the one or more processors are configured to: when the first application includes a fifth application and a sixth application, and the third application includes a sixth application and a seventh application, the one or more processors are configured to: determine the recommendation weight of the sixth application based on the first weight, the second weight, the first recommendation factor, and the second recommendation factor corresponding to the sixth application, wherein the first recommendation factor is used to indicate the recommendation hit rate of the first recommendation model, and the second recommendation factor is used to indicate the recommendation hit rate of the second recommendation model; determine the recommendation weight of the sixth application based on the first weight and the first recommendation factor corresponding to the fifth application; and determine the recommendation weight of the seventh application based on the second weight and the second recommendation factor corresponding to the seventh application.

[0029] Thirdly, embodiments of this application provide a computer storage medium including computer instructions that, when executed on an electronic device, cause the electronic device to perform the methods described in the first aspect and its possible embodiments.

[0030] Fourthly, this application provides a computer program product that, when run on the aforementioned electronic device, causes the electronic device to perform the methods described in the first aspect and its possible embodiments.

[0031] Understandably, the electronic devices, computer storage media, and computer program products provided in the above aspects are all applied to the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here. Attached Figure Description

[0032] Figure 1 Example diagram of the display interface of an electronic device provided in related technologies;

[0033] Figure 2 One of the example diagrams of the display interface of the electronic device provided in the embodiments of this application;

[0034] Figure 3 Example diagram of the hardware structure of the electronic device provided in the embodiments of this application;

[0035] Figure 4 A second example of the display interface of the electronic device provided in the embodiments of this application;

[0036] Figure 5 This is an example diagram illustrating the determination of location tags in an embodiment of this application;

[0037] Figure 6 Example diagram of geofencing provided for embodiments of this application;

[0038] Figure 7 The third example diagram shows the display interface of the electronic device provided in the embodiments of this application;

[0039] Figure 8 Fourth example of the display interface of the electronic device provided in the embodiments of this application;

[0040] Figure 9 A flowchart of the application recommendation method provided in the embodiments of this application;

[0041] Figure 10 Example diagram of the decision tree model provided in the embodiments of this application;

[0042] Figure 11 Example diagram of determining the recommendation factor of Model 1 provided in the embodiments of this application;

[0043] Figure 12 An example diagram of a chip system provided in an embodiment of this application. Detailed Implementation

[0044] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.

[0045] The implementation of this embodiment will now be described in detail with reference to the accompanying drawings.

[0046] This application provides an application recommendation method for electronic devices. The electronic device has multiple applications (including system applications and third-party applications) installed, and different applications can provide different application services to the user.

[0047] To facilitate user access to the services provided by applications, application icons are displayed on the desktop of electronic devices. These application icons serve as launch points for users to initiate (or open) the corresponding applications. In other words, upon receiving a user's interaction with an application icon, the electronic device can run the corresponding application, such as displaying its interface.

[0048] As more and more applications are installed on electronic devices, the number of application icons that need to be displayed also increases. In this scenario, application icons can be displayed on multiple sub-screens of the desktop. Of course, the application icons displayed on different sub-screens can be different. In related technologies, when a user wants to use the application services provided by a specific application, they need to browse through multiple sub-screens to find the corresponding application icon.

[0049] For example, Figure 1 As shown, the unlocked electronic device displays a first sub-screen of the desktop (such as interface 101), which displays application icons for multiple applications. While interface 101 is displayed on the electronic device, the user wants to use WeChat. TM If WeChat is not displayed in interface 101 TM If the user sees the app icon, then the user needs to interact with the electronic device to trigger a switch to display other sub-screens, allowing the user to find WeChat on those other sub-screens. TM The application icon. In other words, users can perform a swipe gesture on the electronic device's screen to trigger the device to switch between different sub-screens until the user finds WeChat. TM The application icon.

[0050] For example, during the display of interface 101, the electronic device can respond to a user's swipe gesture on the display screen and display interface 102. Interface 102 includes WeChat. TMIn the case of application icon 103, users can click on application icon 103 to trigger the launch of WeChat on their electronic devices. TM If there is no application icon 103 on interface 102, the user needs to continue swiping on the display screen to trigger the electronic device to switch the display interface to another sub-screen. Obviously, the human-computer interaction efficiency of the whole process is low.

[0051] To address the aforementioned issues, this application provides an application recommendation method. In this solution, the electronic device can display recommendation controls while the screen is on. Exemplarily, these recommendation controls can be displayed on any display interface of the electronic device, such as the lock screen, sub-screen, negative one screen, and application interface. This application does not limit this; the display interface for displaying the recommendation controls can also be referred to as the first interface, and the recommendation controls can also be referred to as the first controls.

[0052] The recommendation control includes one or more application icons, referred to as recommendation icons. These recommendation icons are the application icons of the recommended applications determined by the electronic device. The recommended applications can include those applications that the electronic device evaluates from its installed applications, identifying those that the user might prefer to use in the current context.

[0053] For example, an electronic device can identify the current scenario of the electronic device from one or more dimensions such as time, space, and state (e.g., including user state or device state). Then, based on the applications with the highest usage popularity in various scenarios, it can determine the applications that the user may use in the current scenario. The usage popularity is used to indicate the frequency of interaction between the user and the application.

[0054] For example, an electronic device can identify its current scenario from one or more dimensions, such as time and space. Then, based on the user's regular application usage patterns across various scenarios (e.g., regular application usage during specific time periods and regular application usage based on the device's location), it can determine the applications the user is likely to use in the current scenario. For instance, if an electronic device launches an attendance application every morning at 9:00 AM, then it can be determined that the attendance application is a regularly used application in the 9:00 AM scenario. Similarly, if an electronic device launches a public transportation application at a bus stop, then it can be determined that the public transportation application is a regularly used application in the bus stop scenario.

[0055] In this way, in different scenarios, electronic devices can use recommendation controls to suggest icons that match the user's current needs.

[0056] For example, Figure 2As shown, taking a mobile phone as an example, after the phone is unlocked, the main interface (e.g., interface 201) can be displayed. Interface 201 includes recommendation controls, such as recommendation cards 202. Recommendation cards 202 include WeChat. TM The app icons for recommended apps include public transportation, photo galleries, and videos. (The above refers to WeChat.) TM Applications such as public transportation, photo galleries, and video streaming are all applications that electronic devices assess the user's potential use in the current scenario. For example, if the user wants to use WeChat at this moment... TM Then you can select WeChat in Recommendation Card 202. TM The app icon to trigger WeChat on your electronic device. TM This eliminates the need for users to trigger the switching between different sub-screens on their electronic devices, improving human-computer interaction efficiency and enhancing the intelligence of the devices.

[0057] For example, the aforementioned electronic device can be not only a mobile phone, but also a television, tablet computer, desktop computer, laptop computer, handheld computer, notebook computer, personal computer (PC), netbook, personal digital assistant (PDA), or other electronic device with a display screen. This application embodiment does not impose any special limitations on the specific form of the electronic device.

[0058] like Figure 3 As shown, this application uses a mobile phone as an example to illustrate the structure of the electronic device provided in this application embodiment. The electronic device (such as a mobile phone) may include: a processor 310, an external memory interface 320, an internal memory 321, a universal serial bus (USB) interface 330, a charging management module 340, a power management module 341, a battery 342, an antenna 1, an antenna 2, a mobile communication module 350, a wireless communication module 360, an audio module 370, a speaker 370A, a receiver 370B, a microphone 370C, a headphone jack 370D, a sensor module 380, buttons 390, a motor 391, an indicator 392, a camera 393, a display screen 394, and a subscriber identification module (SIM) card interface 395, etc.

[0059] The aforementioned sensor module 380 may include sensors such as pressure sensors, gyroscope sensors, barometric pressure sensors, magnetic sensors, accelerometers, distance sensors, proximity sensors, fingerprint sensors, temperature sensors, touch sensors, ambient light sensors, and bone conduction sensors.

[0060] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the electronic device. In other embodiments, the electronic device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0061] Processor 310 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. The different processing units may be independent devices or integrated into one or more processors.

[0062] A controller can be the nerve center and command center of an electronic device. Based on the instruction opcode and timing signals, the controller generates operation control signals to control the fetching and execution of instructions.

[0063] The processor 310 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 310 is a cache memory. This memory can store instructions or data that the processor 310 has just used or that are used repeatedly. If the processor 310 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 310, and thus improves the efficiency of the system.

[0064] In some embodiments, the processor 310 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0065] It is understood that the interface connection relationships between the modules illustrated in this embodiment are merely illustrative and do not constitute a structural limitation on the electronic device. In other embodiments, the electronic device may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0066] The charging management module 340 receives charging input from a charger, which can be a wireless charger or a wired charger. While charging the battery 342, the charging management module 340 can also supply power to electronic devices via the power management module 341.

[0067] The power management module 341 connects the battery 342, the charging management module 340, and the processor 310. The power management module 341 receives input from the battery 342 and / or the charging management module 340, and supplies power to the processor 310, internal memory 321, external memory, display screen 394, camera 393, and wireless communication module 360, etc. In some embodiments, the power management module 341 and the charging management module 340 may also be housed in the same device.

[0068] The wireless communication function of an electronic device can be implemented through antenna 1, antenna 2, mobile communication module 350, wireless communication module 360, modem processor, and baseband processor. In some embodiments, antenna 1 and mobile communication module 350 are coupled, and antenna 2 and wireless communication module 360 ​​are coupled, enabling the electronic device to communicate with networks and other devices, such as wearable devices, via wireless communication technology.

[0069] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.

[0070] The mobile communication module 350 can provide solutions for wireless communication applications in electronic devices, including 2G / 3G / 4G / 5G. The mobile communication module 350 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 350 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation.

[0071] The mobile communication module 350 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via the antenna 1. In some embodiments, at least some functional modules of the mobile communication module 350 can be housed in the processor 310. In some embodiments, at least some functional modules of the mobile communication module 350 and at least some modules of the processor 310 can be housed in the same device.

[0072] Wireless communication module 360 ​​can provide solutions for wireless communication applications in electronic devices, including WLAN (such as wireless fidelity, Wi-Fi) networks, Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR) technology, and other wireless communication technologies.

[0073] GNSS can include the BeiDou Navigation Satellite System (BDS), the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).

[0074] The wireless communication module 360 ​​can be one or more devices integrating at least one communication processing module. The wireless communication module 360 ​​receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signal, and sends the processed signal to processor 310. The wireless communication module 360 ​​can also receive signals to be transmitted from processor 310, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0075] Electronic devices implement display functions through a GPU, a display screen 394, and an application processor. The GPU is a microprocessor for image processing, connecting the display screen 394 and the application processor. The GPU performs mathematical and geometric calculations and is used for graphics rendering. The processor 310 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0076] The display screen 394 is used to display images, videos, etc. The display screen 394 includes a display panel.

[0077] The electronic device can implement shooting functions through an ISP, a camera 393, a video codec, a GPU, a display 394, and an application processor. The ISP is used to process the data fed back by the camera 393. The camera 393 is used to capture still images or videos. In some embodiments, the electronic device may include one or N cameras 393, where N is a positive integer greater than 1.

[0078] The external storage interface 320 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device. The external memory card communicates with the processor 310 through the external storage interface 320 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.

[0079] Internal memory 321 can be used to store computer executable program code, which includes instructions. Processor 310 executes various functional applications and data processing of the electronic device by running the instructions stored in internal memory 321. For example, in this embodiment, processor 310 can execute instructions stored in internal memory 321, which may include a program storage area and a data storage area.

[0080] The program storage area can store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.). The data storage area can store data created during the use of the electronic device (such as audio data, phonebook, etc.). Furthermore, the internal memory 321 can include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.

[0081] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device. In other embodiments of this application, the electronic device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0082] The methods described in the following embodiments can all be implemented in a device with the above-described hardware structure.

[0083] In some embodiments, during the operation of the electronic device, the interaction between the user and various applications can be detected in real time. For example, during desktop display, the user clicking the application icon corresponding to an application. Another example is the user interacting with any functional control within the application interface during display. Yet another example is the user interacting with the thumbnail window corresponding to the application during multitasking interface display. And yet another example is the user triggering control commands to the application.

[0084] In some embodiments, the electronic device can assign corresponding scene features and application identifiers to each detected interaction, that is, associate the interaction with corresponding scene features and application identifiers. The scene features can be features in at least one dimension, such as time, space, device state, or user state.

[0085] As an example, after an electronic device detects an interaction, it determines the application corresponding to that interaction. Then, it associates the interaction with the application's application identifier, which could be, for example, the application's package name. The electronic device can then obtain the time information of when the interaction was detected, such as time information 'a', and use time information 'a' as a feature of the interaction in the time dimension.

[0086] For example, the time information 'a' mentioned above may include time information. For instance, if a user triggers an operation to launch a public transport application at 9:00 AM, the electronic device can associate this interaction with the public transport application identifier, and it can also associate this interaction with the system time information 09:00:00.

[0087] For example, the time information 'a' mentioned above may also include date information. For instance, if a user makes an interaction with a public transport application at 9:00 AM on October 11, 2022, the electronic device can associate the interaction with the public transport application identifier, and can also associate the interaction with system time information such as October 11, 2022, Tuesday, and 09:00:00.

[0088] In this way, electronic devices can determine the most frequently used applications (e.g., those ranked in the top k positions, where k is a positive integer) for different time periods based on the time characteristics and application identifiers corresponding to interactive operations, and use these applications as recommended applications for that time period. For example, based on interactive operations detected within a day T (a positive integer greater than 1, the value of T can be preset), the electronic device can count the number of interactive operations with the same application identifier and time information belonging to the same time period. It is understandable that having the same application tag indicates that they correspond to the same application. Thus, through the above statistics, the electronic device can determine the number of interactive operations corresponding to each application within each time segment. In other words, the electronic device can determine the most frequently used applications for each time period based on the number of interactive operations corresponding to each application within each time period; that is, applications with relatively high numbers of interactive operations.

[0089] Furthermore, electronic devices can determine the usage patterns of each application based on the corresponding interactive operations, and then evaluate the applications with regular usage patterns over time. Understandably, if an electronic device detects at least one interactive operation for any application (e.g., application b) within any given time period (e.g., time period a), then the electronic device can determine that the user used application b during time period a. As an example, the electronic device obtains the number of days within T days that the user used application b during time period a. If the corresponding number of days of use is greater than m days, it can be determined that application b is a regularly used application during time period a. Here, m is a positive integer greater than 0 and not greater than T, and the value of m can be related to the value of T. If application b is a regularly used application during time period a, then even if application b is not among the most frequently used applications during time period a, it can still be identified as a recommended application during that time period a.

[0090] In other words, electronic devices can determine recommended applications based on interactive operations corresponding to various time characteristics. Thus, during actual operation, the electronic device can identify the time characteristics of the current scenario based on the system time. If a recommended application corresponds to the time characteristics of the current scenario, the electronic device can display the application icon of the recommended application through a recommendation control. That is, the electronic device can display different recommended applications on the recommendation card when it detects different system time periods. Figure 4 As shown, the recommended applications corresponding to the time period of 8:00 when the electronic device is located include WeChat. TM Applications such as public transportation, photo galleries, and videos can display WeChat messages on recommended controls (e.g., recommended card 401) when the system time is detected to be 8:00. TM Application icons for apps such as public transportation, photo gallery, and video. When the electronic device detects that the system time has reached 10:00, the recommended apps for that time period include food delivery, memos, email, and meetings. The electronic device can display app icons for these apps on the recommendation control (e.g., recommendation card 402).

[0091] In other embodiments, after an electronic device detects an interaction, it determines the application corresponding to that interaction. Then, it associates the interaction with the application's identifier. The electronic device can then obtain the location tag corresponding to its current geographic location and use that location tag as a spatial feature of the interaction.

[0092] For example, the aforementioned location tag can be a base station identifier carried in the base station signal collected by the electronic device, such as a cell ID. It is understood that after an electronic device enters the signal coverage area of ​​a base station, it can access the base station and receive the cell ID emitted by the base station. Since the location of the base station is fixed, the spatial location of the base station signal that can be received (i.e., the signal coverage area) is also fixed. Thus, the electronic device can use the cell ID in the real-time received base station signal to indicate its current geographical location; that is, it uses the obtained cell ID as a location tag. In other words, when electronic devices access the same base station, the detected interactive operations correspond to the same location tag.

[0093] For example, the aforementioned location tag can also be the service set identifier (SSID) of the wireless-fidelity (Wi-Fi) network to which the electronic device is connected. Understandably, the coverage area of ​​a Wi-Fi network is fixed, and the electronic device needs to be within the coverage area of ​​the Wi-Fi network to receive the corresponding Wi-Fi information. This Wi-Fi information can carry the SSID, and different SSIDs can indicate different Wi-Fi networks. In this way, the electronic device can determine its current geographical location based on the real-time obtained SSID; that is, the obtained SSID can be used as a location tag. In other words, when electronic devices are connected to the same Wi-Fi network, the detected interactive operations correspond to the same location tag.

[0094] As another example, the location tag mentioned above can also be latitude and longitude information collected by the positioning system in the electronic device.

[0095] In some possible examples, the location tag mentioned above can also be one or a combination of cellID, SSID, and latitude / longitude information. For example, latitude / longitude information and cellID can be combined as the location tag. Another example is combining cellID and SSID as the location tag. In this application, the location tag only needs to be recognizable by the electronic device; the content of the location tag is not specifically limited.

[0096] Taking a location label that is a combination of latitude / longitude information and a cellID as an example, each time an electronic device detects an interaction, it can use a positioning system (such as GPS positioning technology) to collect the corresponding latitude / longitude information and obtain the cellID corresponding to the currently accessed base station. Thus, each interaction corresponds to a set of latitude / longitude information and a cellID. Then, the interaction operations are clustered using the latitude / longitude information, resulting in multiple clusters. Each cluster includes multiple interaction operations, and the latitude / longitude information corresponding to each interaction operation indicates a relatively close geographical location. Then, the cellID corresponding to the interaction operations within the same cluster is used as the geofence for the spatial location indicated by that cluster. If the cellIDs corresponding to different interaction operations belong to the same geofence, then the interaction operation has the same location label. If the cellIDs corresponding to different interaction operations belong to different geofences, then the interaction operation has different location labels.

[0097] Taking a location tag consisting of a combination of latitude / longitude information and an SSID as an example, each time an electronic device detects an interaction, it can use a positioning system (such as GPS positioning technology) to collect the corresponding latitude / longitude information and obtain the SSID of the currently accessed Wi-Fi network. Thus, each interaction corresponds to a set of latitude / longitude information and an SSID. Then, the interaction operations are clustered using the latitude / longitude information, resulting in multiple clusters. Each cluster includes multiple interaction operations, and the latitude / longitude information corresponding to each interaction operation indicates a relatively close geographical location. Then, the SSIDs corresponding to the interaction operations within the same cluster are used as geofences for the spatial locations indicated by that cluster. If the SSIDs corresponding to different interaction operations belong to the same geofence, then the interaction operation has the same location tag. If the SSIDs corresponding to different interaction operations belong to different geofences, then the interaction operation has different location tags.

[0098] Taking a location tag that is a combination of cellID and SSID as an example, each time an electronic device detects an interaction, it can obtain the cellID of the base station it is currently connected to and / or the SSID of the Wi-Fi network it is connected to.

[0099] For example, if an electronic device is connected to a base station but not to any Wi-Fi network, then only the corresponding cellID can be obtained. If the electronic device is connected to a Wi-Fi network but not to any base station, then only the corresponding SSID can be obtained. If the electronic device is connected to both a base station and a Wi-Fi network, then both the corresponding cellID and SSID can be obtained. If the electronic device is neither connected to a base station nor to a Wi-Fi network, then no information may be obtained.

[0100] In some embodiments, the electronic device may determine the location tag of the detected interaction based on the obtained SSID and / or cellID.

[0101] As one implementation method, such as Figure 5 As shown, the electronic device determines whether it has obtained the cellID. If the electronic device has not obtained the cellID, that is, if the electronic device has not connected to any base station, it will use the identifier "-1" as the location label for this interaction operation.

[0102] Once the electronic device obtains a cellID (i.e., it has connected to any base station), it searches for an SSID that matches the cellID. For example, the electronic device queries interactive operations collected within T days that correspond to the same cellID, such as interactive operation a. It obtains the SSID corresponding to each interactive operation a as the matching SSID. If no SSID corresponds to any interactive operation a (i.e., no matching SSID), and the number of interactive operations a is greater than or equal to a specified value (e.g., 20), the obtained cellID is determined as the location tag of the detected interactive operation. If no SSID corresponds to any interactive operation a, and the number of interactive operations a is less than a specified value (e.g., 20), the identifier "Other" is determined as the location tag of the detected interactive operation.

[0103] Additionally, if interaction operation a includes at least one interaction operation b, where interaction operation b is an operation within interaction operation a that corresponds to both a cellID and an SSID, then if all SSIDs corresponding to interaction operation b are the same (i.e., only one matching SSID exists), then the SSID corresponding to interaction operation b is used as the location label of the detected interaction operation.

[0104] For example, when an electronic device detects a first operation (i.e., an interactive operation) for any application, if it collects a first service set identifier (e.g., an SSID provided by a WiFi network) and a first cell identity identifier (a cellID provided by a base station), it can determine that the first service set identifier is the location information (or location tag) corresponding to this detection, and associate the first cell identity identifier with the first service set identifier. If the first cell identity identifier is collected and already associated with the first service set identifier, the first service set identifier is determined to be the detected location information.

[0105] If interaction operation a includes at least one interaction operation b, and the SSIDs corresponding to interaction operations b are not all the same, then the number b of interaction operations b corresponding to different SSIDs is counted. In this way, the electronic device can use the SSID with the largest number b as the location tag of the detected interaction operation.

[0106] For example, as shown in Table 1:

[0107] Table 1

[0108]

[0109] As shown in Table 1, interaction operation a corresponds to cell ID 1234. Interaction operation a includes 430 interaction operations b. Specifically, 60 interaction operations correspond to SSID "223", 200 to SSID "224", 70 to SSID "225", and 100 to SSID "226". Therefore, SSID "224" can be used as the location label for the detected interaction operation.

[0110] In addition, the coverage of the same Wi-Fi network may overlap with the coverage of multiple base stations. That is, when an electronic device accesses the same Wi-Fi network, it may access different base stations at different times. In other words, even if the detected interaction SSID is the same, the corresponding cellID may be different.

[0111] For example, Figure 6 As shown, in a home scenario, when an electronic device connects to a home Wi-Fi access node, it can connect to base station 1. Of course, the electronic device may also connect to base station 2, base station 3, or base station 4. When the electronic device detects an interaction, regardless of whether it connects to base station 1, 2, 3, or 4, it can use the SSID corresponding to the home Wi-Fi access node as its location tag. That is, regardless of whether it connects to base station 1, 2, 3, or 4, as long as it connects to a home Wi-Fi access node, it can be determined that the electronic device has entered the same geographical space (i.e., entered the home scenario). The cellIDs corresponding to base stations 1, 2, 3, and 4 can be used as geofences for the home scenario.

[0112] After the electronic device determines the location tag corresponding to each interaction, it can cluster the interactions detected within T days based on the location tags to obtain the number of interactions corresponding to each type of cellID under different location tags. For example, the results after clustering are shown in Table 2 below:

[0113] Table 2

[0114]

[0115]

[0116] Among them, 123123, 147147, 159159, 126126, 101010, and 148148 are cell IDs corresponding to different base stations. -1 represents no cell ID. As shown in Table 2, the number of interactive operations with location label 1 and corresponding cell ID "126126" is 116, the number of interactive operations with location label 1 and corresponding cell ID "101010" is 112, the number of interactive operations with location label 2 and corresponding cell ID "123123" is 390, the number of interactive operations with location label 2 and no cell ID is 23, the number of interactive operations with location label 2 and corresponding cell ID "147147" is 1, the number of interactive operations with location label 2 and corresponding cell ID "159159" is 1, the number of interactive operations with the identifier "-1" is 190, and the number of interactive operations with the identifier "other" and corresponding cell ID "148148" is 77. The aforementioned identifier "-1" can be interpreted as determining that the first service set identifier is the detected first identifier when the first service set identifier and the first cell identity identifier are collected.

[0117] Through the above clustering, it can be determined that the geofence corresponding to location label 1 includes cellID "126126" and cellID "101010", the geofence corresponding to location label 2 includes cellID "123123", cellID "147147", and cellID "159159", and the geofence corresponding to the "Other" identifier includes cellID "148148". The identifier "-1" indicates a scenario where the electronic device cannot collect the cellID, such as when it is located in an area not covered by the base station, or when the electronic device does not have a SIM card installed.

[0118] In some embodiments, when the interactive operation corresponds to a location tag, the electronic device can also determine the most popular applications for different location tags in the spatial dimension based on the location tag and application identifier corresponding to the interactive operation, and use them as recommended applications for that location tag. For example, under different location tags, the applications with the highest usage frequency, where k is a positive integer.

[0119] For example, electronic devices can count the number of interactions with the same application identifier and the same location tag based on the interactions detected within a day T (a positive integer greater than 1). Understandably, the same application tag indicates the same application, and the same location tag indicates the same geographic space. In other words, the number of interactions indicates the number of times a user interacts with the same application within the same geographic space. Thus, through this statistical analysis, electronic devices can determine the number of interactions between the user and various applications in different geographic spaces (which can be represented by location tags). They can also further identify the most frequently used applications (applications with high interaction counts) in each geographic space and recommend them as the corresponding applications for that geographic space, also known as the location-tag-based recommended applications.

[0120] Furthermore, electronic devices can determine the usage of each application based on the interactive operations corresponding to each application. That is, the user's usage of various applications within different geographic spaces (represented by location tags). Then, based on the applications whose usage patterns are evaluated in each geographic space, recommended applications are selected for that geographic space, also known as location tag-based recommended applications.

[0121] For example, based on the interactive operations detected within T days, an electronic device can determine that it appears in geographic space a and has used application b for a certain number of days. If the number of days of use is greater than m, it is determined that application b is an application with regular usage patterns. If geographic space a is indicated by location tag a, then application b can be used as the recommended application corresponding to location tag a.

[0122] After determining the recommended applications corresponding to different location tags, when the electronic device detects that the current scene matches the geofence corresponding to the location tag, it can display the recommended applications corresponding to that location tag on the recommendation card.

[0123] For example, after clustering interactive operations with location tags, the geofence corresponding to location tag 2 in the home-indicating scenario was determined to include cellID "123123", cellID "147147", and cellID "159159". Simultaneously, the recommended application corresponding to location tag 2 was also determined to include WeChat. TM Applications such as news, photo galleries, and videos. The geofence corresponding to location tag 1 indicating the company scene is determined to include cellID "126126" and cellID "101010". At the same time, the recommended applications corresponding to location tag 1 are also determined to include document editing, office, email, and meeting applications.

[0124] Thus, as Figure 7As shown, the electronic device detects that the current scene matches the geofence corresponding to location tag 2. For example, by parsing cellID "123123", cellID "147147", or cellID "159159" from the received base station signal, it can be determined that the electronic device is in a home scene. At this time, the electronic device can display WeChat on the recommendation control (e.g., recommendation card 701). TM Application icons for apps such as news, photo galleries, and videos.

[0125] like Figure 7 As shown, the electronic device detects the current scene and matches the geofence corresponding to location label 1. For example, by parsing cellID "126126" or cellID "101010" from the received base station signal, it can be determined that the electronic device is located in the company scene. At this time, the electronic device can display application icons for document editing, office, email, meeting and other applications on the recommendation control (e.g., recommendation card 702).

[0126] In other possible embodiments, after the electronic device detects an interaction, it can also acquire device state information (e.g., battery level information) at the time of detection and use it as a feature of the device state dimension. Then, based on the device state information corresponding to each interaction, the most popular applications and frequently used applications under different device states are determined as recommended applications for that device state. This allows for recommending suitable applications to users based on the real-time device state. For example, when the battery is low, a power bank rental application could be recommended.

[0127] In other possible embodiments, after an electronic device detects an interaction, it can acquire user state information at the time of detection (e.g., the user is in motion) and use it as a feature of the user state dimension. Then, based on the user state information corresponding to each interaction, it determines the most frequently used applications and regularly used applications under different user states, and uses these as recommended applications for that user state. This allows for recommending applications to the user based on their real-time state. For example, Figure 8 As shown, when the user is in motion, the electronic device can display application icons for sports and health, step counting, camera, video and other applications on the recommendation control (i.e., recommendation card 801).

[0128] Of course, during the actual operation of electronic devices, the devices can assign multiple scene features to detected interactions. For example, they can simultaneously possess time information and location tags. In this way, the electronic device can determine the recommended application corresponding to the scene indicated by multiple scene features.

[0129] That is, in some embodiments, such as Figure 9 As shown, when an electronic device detects an interactive operation (e.g., a user clicking an application icon), it determines the scene features corresponding to that operation, such as one or more of the following: time information, location tags, device status information, and user status information. Based on the interactive operations detected within T days and the corresponding scene feature data, a preset algorithm can be used to train Model 1 (the first recommendation model) and Model 2 (the second recommendation model). The aforementioned interactive operations and corresponding scene feature data can be collectively referred to as interactive data.

[0130] Model 1 is a model trained using machine learning algorithms. During both training and prediction, Model 1 fully considers a wide range of scene features. Specifically, it can be trained based on the interactive operations detected within T days and their corresponding multiple scene features, combined with machine learning algorithms. Thus, Model 1 can achieve recognition and application recommendation for complex scenes.

[0131] Model 2 employs a simple statistical algorithm to learn and predict recommended applications for specific spatiotemporal scenarios based on simple scene features (such as temporal and spatial features). In other words, Model 2 can be trained based on the interactive operations detected within T days and their corresponding specific scene features.

[0132] In this way, the electronic device can determine recommended application 1 and its corresponding usage frequency weight (second weight) based on the real-time detected scene features and Model 1. The electronic device can then determine recommended application 2 and its corresponding pattern weight (first weight) based on the real-time detected scene features and Model 2. Finally, the weights corresponding to recommended application 1 and recommended application 2 are merged to output the actual list of recommended applications, including recommended application 1, recommended application 2, and the merged weight values. In summary, Model 2, as a supplement to Model 1, can increase the exposure of long-tail applications on the recommendation control and improve the accuracy of long-tail application recommendations in specific scenarios after configuring Model 2 in the electronic device.

[0133] For example, when an electronic device is located in a first location area (spatial feature) and the system time belongs to a first time period (temporal feature), that is, when the electronic device detects the first location information, it can be determined that the electronic device is located in the first location area. Understandably, the first location information includes one or a combination of the following: the Service Set Identifier (SSID) provided by the first network (the WiFi network currently accessed by the electronic device), the Cell Identifier (cellID) provided by the first base station (the base station currently accessed by the electronic device), and the first latitude and longitude information (the latitude and longitude information detected at the current location). The signal coverage areas of the first network and the first base station belong to the first location area.

[0134] If an electronic device detects that its system time is the first time (within the first time period), it can be determined that the electronic device's system time belongs to the first time period. At this time, using Model 2, the determined recommended application 2 includes the first application, which can be an application displayed in the recommendation control. Within the spatiotemporal scenario indicated by the first location area and the first time period, if the first weights of installed applications are arranged in descending order, the first weight of the first application is placed before the first ranking (top k), and the first weight of the second application is placed after the first ranking. That is, the first weight of the first application is higher than the first weight of the second application. Furthermore, in the current spatiotemporal scenario, the application icon of the second application is not displayed in the recommendation control.

[0135] When the electronic device is located in the first location area and the system time is within the first time period, the electronic device can also determine recommended application 1, which includes the third application, based on multiple detectable scene features in the current scenario. It is understood that the scene features considered in determining recommended application 1 are not limited to the first location area (spatial features) and the first time period (temporal features), and can include more or fewer types of scene features. Furthermore, if the second weights of installed applications are arranged in descending order, the second weight of the third application is ranked before the second-ranked application (top k), and the second weight of the fourth application is ranked after the second-ranked application. That is, the first weight of the third application is higher than the second weight of the fourth application. Additionally, in the current scenario, the application icon of the fourth application is not displayed in the recommendation control.

[0136] Of course, the first application and the third application can have the same application or different applications. For example, the first application can include the fifth application and the sixth application, and the third application can include the sixth application and the seventh application.

[0137] As described in the previous embodiments, the machine learning algorithm used to train model 1 can be: decision tree, LightGBM, logistic regression model, XGBoost, etc.

[0138] Taking Model 1 as an example, which is a model trained using the decision tree algorithm, Model 1 can be a decision tree model created based on the interactive operations and corresponding scene features collected within T days. The principle of establishing a decision tree model can be found in relevant technologies, which will not be elaborated here.

[0139] For example, the resulting decision tree model can be as follows: Figure 10 As shown, in this decision tree model, the first node corresponds to the number of interactions for all applications. Figure 10 The number of interactions between each application is displayed in the form of a numerical sequence. Figure 10Each node in the sequence corresponds to a number sequence, and each position in the sequence corresponds to an application. The value of each position represents the number of interactions with that application. For example, the first position might represent a calendar application, such as... Figure 10 As shown, the first sequence bit of the first node is 1, indicating that the number of interactions with the calendar application is 1.

[0140] Furthermore, the first node can be split into multiple child nodes based on a specific scene feature. For example, ... Figure 10 As shown, based on whether there is a location label indicating a home scenario, a second node and a third node are split. The second node corresponds to the number of interactions for each application in the home scenario. The third node corresponds to the number of interactions for each application in the non-home scenario.

[0141] Similarly, the second and third nodes can also be split based on other scene features. For example, Figure 10 As shown, the second node is split into multiple child nodes, namely the fourth and fifth nodes, based on whether the time information is Monday to Thursday. The fourth node corresponds to the number of interactions between various applications within the home scenario, where the time information is Monday to Thursday. The fifth node corresponds to the number of interactions between various applications within the home scenario, where the time information is Friday to Sunday.

[0142] Additionally, the fourth node can be split into a sixth and a seventh node. The sixth node corresponds to the home scenario, with the time information being the number of interactions for each application from Monday to Wednesday. The seventh node corresponds to the home scenario, with the time information being Thursday, and the number of interactions for each application.

[0143] The fifth node can also be split into an eighth and a ninth node. The eighth node corresponds to the home scenario, with time information from 0:00 to 11:00 on Friday to Sunday, and the number of interactions for each application. The ninth node corresponds to the home scenario, with time information from 12:00 to 23:00 on Friday to Sunday, and the number of interactions for each application.

[0144] Additionally, the third node mentioned above can be split into a tenth node and an eleventh node. The tenth node corresponds to the number of interactions between various applications in a company setting. The eleventh node corresponds to the number of interactions between various applications in scenarios where the user is not at home or in the company.

[0145] The aforementioned tenth node can also be split into a twelfth node and a thirteenth node. In a company setting, the twelfth node represents the number of interactions across various applications from Monday to Friday. Similarly, the thirteenth node, also in a company setting, represents the number of interactions across various applications from Saturday to Sunday.

[0146] The eleventh node mentioned above can also be divided into a fourteenth node and a fifteenth node. The fourteenth node corresponds to the number of interactions for each application in the cafeteria scenario. The fifteenth node corresponds to the number of interactions for each application in scenarios where the user is not at home, not at the office, or not in the cafeteria.

[0147] In this way, electronic devices can detect scene features corresponding to the current scene in real time, and find matching nodes from Model 1 based on the detected scene features. Then, based on the number of interactions of each application corresponding to the matching node, the applications with the highest usage popularity are evaluated and selected as the applications that are suitable for the current scene, that is, recommended application 1.

[0148] For example, if an electronic device detects scene features corresponding to the current scene, including the location tag of the home scene and the time information being Thursday, then according to... Figure 10 The decision tree model shown can determine that the current scenario matches the seventh node. Then, based on the number of interactions between each application in the seventh node, the applications with the highest usage popularity are evaluated.

[0149] In some examples, the process of evaluating the most popular applications can be as follows: Normalize the number of interactions between each application in the matching node to obtain a usage frequency weight for each application. This usage frequency weight indicates the frequency of user-application interaction within the scenario represented by multiple scenario features. A higher usage frequency weight indicates a higher usage popularity for the corresponding application. In this case, the electronic device can identify applications with a usage frequency weight greater than a preset weight threshold of 1 as the most popular applications in the current scenario. Alternatively, the electronic device can sort applications according to their usage frequency weights and identify the top k applications as the most popular applications. Here, k is a positive integer.

[0150] Taking Model 1, trained using algorithms such as LightGBM, Logistic Regression, or XGBoost, as an example, Model 1 can be trained based on data such as interaction operations and corresponding scene features collected over T days. In this way, Model 1 can output multiple applications and their usage probabilities based on the scene features collected in real time by electronic devices. The usage probability is the probability that Model 1 predicts an application is suitable for the current scene. Then, the applications with the highest usage probabilities (ranked in the top k) can be considered as the most popular applications.

[0151] In some embodiments, Model 2 described above can indicate the regular weights of various applications under different scenarios. For example, as shown in Table 3 below:

[0152] Table 3

[0153]

[0154]

[0155] A scene can be characterized by a combination of spatial and temporal features. For example, in Table 3, location label 1 and time period 9 together indicate scene 1, and location label 2 and time period 10 together indicate scene 2.

[0156] Alternatively, a day can be pre-quantified into multiple time periods, for example, 24 time periods, such as time period 0, time period 1, ..., time period 24. Time period 0 indicates 0:00 to 1:00, time period 1 indicates 1:00 to 2:00, and so on. Time period 9 indicates 9:00 to 10:00, time period 10 indicates 10:00 to 11:00, and so on, with time period 23 indicating 23:00 to 0:00. Understandably, if the electronic device appears in the geographic space indicated by location tag 1 during time period 9 (i.e., 9:00 to 10:00), then the electronic device can detect scenario 1. If the electronic device appears in the geographic space indicated by location tag 1 during time period 10 (i.e., 10:00 to 11:00), then the electronic device can detect scenario 2.

[0157] As shown in Table 3, the electronic device detected Scenario 1 for 22 days, meaning Scenario 1 occurred for 22 days. Within these 22 days, the electronic device detected the user using application a in Scenario 1 for 17 days, with a corresponding pattern weight of 0.77 for application a. This pattern weight can be the ratio between the number of days application a was used and the number of days Scenario 1 occurred, indicating the probability of application activation within a specific spatiotemporal scenario represented by the spatiotemporal features. Additionally, within these 22 days, the electronic device detected the user using application b in Scenario 1 for 11 days, with a corresponding pattern weight of 0.5 for application b. Other patterns are similar and will not be elaborated further.

[0158] In some embodiments, the number of days of use in different scenarios in Table 3 is obtained by statistically analyzing the interactive operations detected within T days.

[0159] To illustrate, we will use the example of determining the number of days application a is used in scenario 1 (location label 1 and time period 9) and scenario 2 (location label 1 and time period 10).

[0160] The first method: First, acquire training data 1 and training data 2. Both training data 1 and training data 2 are interactive operations for application a, but they are collected in different spatiotemporal scenarios. Training data 1 includes interactive operation c with location label 1 and time information 1. Training data 2 includes interactive operation e with location label 1 and time information 2. Time information 1 refers to any time point belonging to time period 9, and time information 2 refers to any time point belonging to time period 10. As shown in the previous embodiment, a day can be pre-quantified into 24 time periods, where time period 9 indicates the period from 9:00 to 10:00, and time period 10 indicates the period from 10:00 to 11:00. Thus, there is no overlap between training data 1 and training data 2. Then, based on the detection date of interactive operation c in training data 1, count the number of different dates corresponding to interactive operation c to determine the number of days application a was used in scenario 1 (location label 1 and time period 9). Based on the detection date of interaction operation e in training data 2, the number of different dates corresponding to interaction operation e is counted to determine the number of days application a is used in scenario 2 (location label 1 and time period 10).

[0161] The second method involves first acquiring training data 3 and training data 4. Both training data 3 and training data 4 represent interactive operations for application a, but they are acquired in different spatiotemporal contexts. Training data 3 includes an interactive operation w with location label 1 and time information 3. Training data 4 includes an interactive operation q with location label 1 and time information 4. The time information 3 refers to any time point within the sliding window corresponding to time period 9, and the time information 4 refers to any time point within the sliding window corresponding to time period 10. As shown in the previous embodiment, a day can be pre-quantified into 24 time periods. Time period 9 indicates the period from 9:00 to 10:00. With a sliding window duration of 15 minutes, the sliding window corresponding to time period 9 is from 8:45 to 10:15. Time period 10 indicates the period from 10:00 to 11:00. With a sliding window duration of 15 minutes, the sliding window corresponding to time period 10 is from 9:45 to 11:15. That is, there is overlap between training data 3 and training data 4. Understandably, the 15-minute sliding window duration mentioned above is merely an example, and the embodiments of this application do not specifically limit the sliding window duration.

[0162] Then, based on the detection date of interaction operation w in training data 3, the number of different dates corresponding to interaction operation w is counted to determine the number of days application a is used in scenario 1 (location label 1 and time period 9). Based on the detection date of interaction operation q in training data 4, the number of different dates corresponding to interaction operation q is counted to determine the number of days application a is used in scenario 2 (location label 1 and time period 10).

[0163] In summary, both the first and second methods can obtain the number of days application a is used in scenario 1 (the scenario indicated by location label 1 and time period 9) and the number of days application a is used in scenario 2 (the scenario indicated by location label 1 and time period 10). Other methods can also be used in the embodiments of this application to determine the number of days application a is used in different scenarios, and no specific limitation is made in this regard.

[0164] Understandably, the usage days of other applications in various scenarios can also be obtained in the same way, and will not be repeated here. For example, the number of days on the first day (the number of days the application was used) and the number of days on the second day (the number of days the scenario occurred) for the first application.

[0165] In summary, after creating Model 2, the electronic device can detect the spatial and temporal features corresponding to the current scene in real time. Based on the detected spatial features (e.g., location labels) and temporal features (e.g., time information), it queries matching scenes in Model 2. When a matching scene is found, it retrieves the applications used in that scene and their corresponding pattern weights. Then, applications with pattern weights greater than a preset weight threshold of 2 are designated as applications with patterns used in the current scene, i.e., recommended application 2.

[0166] Understandably, whether Model 1 is used to obtain the most popular recommended application 1, or Model 2 is used to obtain the application 2 based on usage patterns, the essence is that electronic devices use different recommendation algorithms (Model 1 and Model 2) to evaluate the applications that need to be recommended to the user from different perspectives. In this embodiment of the application, other recommendation algorithms can also be used to evaluate the applications that need to be recommended to the user from other perspectives, such as referred to as recommended application 3.

[0167] For example, other recommendation algorithms could be application jump prediction models. These models can predict applications that have a jump relationship with the foreground application and recommend them accordingly. Typically, when an application is running in the foreground of an electronic device, this application jump prediction model can be enabled to predict the corresponding recommended application and display it on the foreground application's interface. For specific implementation details, please refer to relevant technologies, which will not be elaborated here.

[0168] Understandably, the same applications may exist among the recommended applications identified by different recommendation algorithms. Furthermore, each recommendation algorithm assigns a weight to each application during the selection process, representing the degree to which the electronic device recommends the application. Of course, different recommendation algorithms assign different types of weights; for example, recommended application 1 corresponds to a usage frequency weight, recommended application 2 corresponds to a regularity weight, and recommended application 3 corresponds to other weights. If the same application has multiple weight values—that is, if multiple recommendation algorithms determine that the application is a recommended application—these multiple weight values ​​can be merged; this process can also be called merging multiple recommended applications.

[0169] One implementation method for fusing multiple weight values ​​is to obtain the recommendation factor for each type of recommendation algorithm. For example, the first recommendation model has a first recommendation factor, and the second recommendation model has a second recommendation factor. The recommendation factor indicates the recommendation accuracy of the corresponding recommendation algorithm for an application. For instance, the higher the percentage of users selecting the recommended application predicted by the algorithm, the larger the recommendation factor for that algorithm; conversely, the lower the percentage of users selecting the recommended application predicted by the algorithm, the smaller the recommendation factor. In some embodiments, historical detection data can be used to evaluate the recommendation factors corresponding to various recommendation algorithms. The specific process can be found in relevant technologies and will not be elaborated here. The aforementioned historical detection data may include interaction data detected by electronic devices within a specified number of days, where the interaction data includes detected interactive operations and corresponding scene tags.

[0170] Taking the determination of the recommendation factor for Model 1 as an example, for ease of description, t refers to the current day, t-1 refers to the day before t, t-2 refers to the day before t-1, and so on, with tT representing the day before t-T+1. Figure 11As shown, the electronic device acquires the interaction data detected within T-1 days prior to t-1, that is, the interaction data detected by the electronic device within t-2, t-3, ..., tT. Then, using the interaction data detected within T-1 days, Model 1 is created according to the method provided in the previous embodiment. Afterwards, the electronic device uses Model 1 to predict recommended applications to the user based on various scenarios detected by the electronic device within t-1. Then, it acquires the applications actually activated by the user in various scenarios within t-1. Then, based on the predicted recommended applications and the actually activated applications in each scenario, the recommendation accuracy of Model 1 is calculated as the recommendation factor of Model 1. The calculation method for recommendation factors of other recommendation algorithms is similar and will not be elaborated here. Of course, Model 1, created based on the interaction data detected within T-1 days, is only used to test the recommendation factor corresponding to Model 1. The Model 1 actually used in the electronic device can be a model trained based on the interaction data detected within T days (that is, within t-1, t-2, ..., tT).

[0171] After determining the recommendation factor for each type of recommendation algorithm, the electronic device can calculate the product of the weight assigned to each recommended application by each type of recommendation algorithm and the recommendation factor, which serves as the recommendation weight for that application. When a recommendation application is recommended by multiple types of recommendation algorithms, that application corresponds to multiple recommendation weights. In this scenario, the multiple recommendation weights are summed to obtain the final recommendation weight for that application.

[0172] For example, the recommended apps predicted by electronic devices using both Model 1 and Model 2 include WeChat. TM WeLink TM and Zhihu TM Model 1 assigns WeChat... TM The usage frequency weight is 0.2, which is assigned to WeLink. TM The frequency of use is weighted at 0.3, which is assigned to Zhihu. TM The frequency of use is weighted at 0.1. Model 2 assigns WeChat... TM The regularity weight is 0.6, which is assigned to WeLink. TM The regularity weight is 0.2, assigned to Zhihu. TM The regularity weight is 0.3. Furthermore, the electronic device determines that the recommendation factor for Model 1 is 0.98, and the recommendation factor for Model 2 is 0.95. Therefore, WeChat... TM The final corresponding recommendation weight is: 0.2*0.98 + 0.6*0.95 = 0.76, WeLink TM The final recommendation weight is: 0.3*0.98 + 0.2*0.95 = 0.48 (Zhihu) TMThe final recommendation weight is: 0.1*0.98 + 0.3*0.95 = 0.38. Thus, after weighting, the electronic device is determined to be compatible with WeChat. TM The recommendation level is higher than that for WeLink. TM The degree of recommendation for WeLink TM The recommendation level is higher than that of Zhihu. TM The level of recommendation.

[0173] For example, if Model 1 determines that the recommended applications include office applications, but other recommendation algorithms do not include this office application, and if Model 1 assigns a usage frequency weight of 0.3 to the office application, then the final recommendation weight for the office application would be: 0.3 * 0.98 = 0.29. Thus, when evaluating the recommendation level for an application based on its recommendation weight, it's possible to determine the recommendation level for WeChat. TM The recommendation level is higher than that for WeLink. TM Recommendation level for WeLink TM The recommendation level for [the app / service] is higher than that for office applications, and the recommendation level for office applications is higher than that for Zhihu (a Chinese Q&A website). TM The level of recommendation.

[0174] In some embodiments, the electronic device can arrange the app icons of recommended apps on the recommendation control from left to right, according to their final recommendation weights from highest to lowest. That is, recommended apps with higher final recommendation weights will be arranged on the left, and recommended apps with lower final recommendation weights will be arranged on the right.

[0175] In other embodiments, the application icons on the recommendation control can also be arranged in no particular order. For example, if WeChat is the first recommended application to be identified... TM and Zhihu TM Electronic devices arrange WeChat on the recommendation control according to the recommendation weight. TM and Zhihu TM The app icons. As the context in which electronic devices are used changes, the second batch of recommended apps includes WeChat. TM and WeLink TM In other words, compared to the recommended apps identified in the first round, there are some identical apps and some different apps; for example, Zhihu is no longer included. TM However, WeLink has been added. TM Of course, this includes WeChat. TM In this scenario, you can unshow Zhihu in the recommendation control. TM The application icon, then, WeLink TM The app icon is displayed on the original Zhihu. TMThe display location of the application icon. Later, as the context of the electronic device changed, the third set of recommended applications included Zhihu. TM Unlike the recommended apps selected in the previous (second) round, which are office applications, in this scenario, electronic devices can unshow WeChat in the recommended app controls. TM and WeLink TM The app icon is displayed, and Zhihu is arranged according to its recommendation weight in the recommendation control. TM Application icons for office applications.

[0176] In summary, the method provided in this application can effectively improve the recommendation hit rate of long-tail applications. Long-tail applications can include applications with low usage frequency but regular usage patterns; that is, applications that are frequently activated in specific time and space scenarios but have low usage frequency, such as attendance applications, access control applications, smart home applications, and public transportation applications.

[0177] In other possible embodiments, the electronic device may also recommend application shortcuts to the user through a recommendation control. The process of determining the shortcuts to be recommended is similar to the process of determining the recommended application in the previous embodiments, and will not be described again here.

[0178] This application also provides an electronic device that may include a memory and one or more processors. The memory and processors are coupled. The memory stores computer program code, which includes computer instructions. When the processor executes the computer instructions, it causes the electronic device to perform the steps performed by the mobile phone in the above embodiments. Of course, the electronic device includes, but is not limited to, the memory and one or more processors described above.

[0179] This application also provides a chip system that can be applied to the terminal devices described in the foregoing embodiments. For example... Figure 12 As shown, the chip system includes at least one processor 2201 and at least one interface circuit 2202. The processor 2201 may be the processor in the aforementioned electronic device. The processor 2201 and the interface circuit 2202 are interconnected via a circuit. The processor 2201 can receive and execute computer instructions from the memory of the aforementioned electronic device through the interface circuit 2202. When the computer instructions are executed by the processor 2201, the electronic device can perform the various steps performed by the mobile phone in the above embodiments. Of course, the chip system may also include other discrete components, and this application embodiment does not specifically limit this.

[0180] In some embodiments, as described above, those skilled in the art will clearly understand that, for the sake of convenience and brevity, the division of the functional modules described above is merely an example. In practical applications, the functions described above can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device, and unit described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0181] In the embodiments of this application, the functional units can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0182] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, essentially, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as flash memory, portable hard disk, read-only memory, random access memory, magnetic disk, or optical disk.

[0183] The above description is merely a specific implementation of the embodiments of this application, but the protection scope of the embodiments of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the embodiments of this application should be covered within the protection scope of the embodiments of this application. Therefore, the protection scope of the embodiments of this application should be determined by the protection scope of the claims.

Claims

1. An application recommendation method, characterized in that, Applied to electronic devices, the method includes: When the electronic device detects a first operation targeting any of the applications, it collects cell identity, service set identity, time information, user status information, and device status information. If a target cell identity identifier is collected but no service set identifier is collected, multiple service set identifiers matching the target cell identity identifier are obtained. If the number of target service set identifiers is greater than the number of other service set identifiers among the multiple matching service set identifiers, the target service set identifier and the target cell identity identifier are used as the location information of the first operation. The multiple matching service set identifiers are service set identifiers collected when the second operation is detected. The second operation is an operation detected by the electronic device before the first operation is detected. When the electronic device detects the second operation, it also collects the target cell identity identifier. If the target cell identity identifier is collected but no service set identifier is collected, and if no service set identifier matching the target cell identity identifier is obtained, and the number of the corresponding second operations is greater than or equal to a specified value, the target cell identity identifier is used as the location information of the first operation; if no service set identifier matching the target cell identity identifier is obtained, and the number of the corresponding second operations is less than a specified value, other identifiers are used as the location information of the first operation. Acquire interaction data, which includes the number of times the user interacts with various applications in different scenarios composed of one or more of the following scenario conditions: different location information, different time information, different user status information, and different device status information. The number of interactions is the number of operations performed on the application. Using the interaction data, a pre-configured decision tree model is trained to obtain a corresponding first recommendation model, which is used to determine the second weights of each application in different scenarios. Using days as the time unit, the interaction data is statistically analyzed to obtain a second recommendation model. The second recommendation model includes a first weight for different applications in different scenarios. The first weight is the ratio between a first target number of days and a second target number of days. The first target number of days is the number of days the application is used in the first scenario within T days. The second target number of days is the number of days the first scenario occurs within T days. The electronic device displays a first interface, which includes a first control for displaying application icons of applications to be recommended to the user. When the electronic device is located in the first location area and the system time is in the first time period, the electronic device displays the application icons of the first application and the third application in the first control, but does not display the icons of the second application and the fourth application in the first control. In the first location area and the first time period, the second recommendation model determines that the first weight of the first application is higher than the first weight of the second application. In the first location region and the first time period, the second weight of the third application is determined to be higher than the second weight of the fourth application using the first recommendation model; The recommendation weight of the first application is higher than that of the second application, and also higher than that of the fourth application; the recommendation weight of the third application is higher than that of the second application, and also higher than that of the fourth application; wherein, the recommendation weight is a fusion value of the first weight and the second weight.

2. The method according to claim 1, characterized in that, Before the electronic device displays the first application and the third application in the first control, the method further includes: The electronic device acquires first time and first location information; When the first time belongs to the first time period and the first location information indicates the first location area, the electronic device uses the second recommendation model to determine the first application. When the first weights of the applications are arranged in descending order, the first application is the application whose first weight is ranked before the first position. The electronic device uses the first recommendation model to determine the third application, wherein when the second weights of the applications are arranged in descending order, the third application is the application whose second weight is ranked before the second position.

3. The method according to claim 2, characterized in that, The first location information includes one or a combination of the service set identifier provided by the first network, the cell identity identifier provided by the first base station, and the first latitude and longitude information, wherein the signal coverage area of ​​the first network and the first base station belongs to the first location area.

4. The method according to claim 1, characterized in that, If the electronic device detects that no service set identifier and cell identity identifier were collected during the first operation, it determines the location information as a first identifier, which indicates an unidentified geographic space.

5. The method according to claim 2, characterized in that, If the first application includes the fifth and sixth applications, and the third application includes the sixth and seventh applications, the method further includes: The electronic device determines the recommendation weight of the sixth application based on the first weight, the second weight, the first recommendation factor, and the second recommendation factor corresponding to the sixth application. The first recommendation factor is used to indicate the recommendation hit rate of the first recommendation model, and the second recommendation factor is used to indicate the recommendation hit rate of the second recommendation model. The electronic device determines the recommendation weight of the fifth application based on the first weight and the first recommendation factor corresponding to the fifth application. The electronic device determines the recommendation weight of the seventh application based on the second weight and the second recommendation factor corresponding to the seventh application.

6. The method according to claim 5, characterized in that, The application icons of the fifth, sixth, and seventh applications are arranged on the first control in descending order of their respective recommendation weights.

7. An electronic device, characterized in that, An electronic device includes one or more processors and a memory; the memory is coupled to the processor and is used to store computer program code, the computer program code including computer instructions, wherein when the one or more processors execute the computer instructions, the one or more processors are used to perform the method as described in any one of claims 1-6.

8. A computer storage medium, characterized in that, Includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-6.