Application recommendation method, medium and electronic equipment
The APPs that users are not interested in are filtered out through the interest value calculation method, which solves the problem of lack of personalization of existing APP recommendation solutions, and realizes accurate recommendations in different scenarios and time periods, improving user experience.
Patent Information
- Application Number
- CN202310834556.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-07
- Publication Date
- 2025-01-07
AI Technical Summary
The existing APP recommendation solutions lack personalization, resulting in the recommended APP not meeting the actual needs of users and the user experience is poor.
By using the interest value calculation method in electronic devices, the APPs that users are not interested in are determined based on user historical data, and avoid recommending these APPs when identifying recommended factors, improving the accuracy and personalization of recommendations. The interest value is based on the probability of the number of times and the probability of the application under the recommended factor. The interest value of each application is obtained through normalization processing, and the APPs that users are not interested in are selected.
It improves the accuracy and personalization of APP recommendations, ensures that the recommended APP meets the actual needs of users in different scenarios or time periods, and improves the user experience.
Smart Images

Figure CN119271868A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of smart terminal technology, and in particular to an application recommendation method, medium and electronic device. Background Art
[0002] As more and more applications (APPs) are installed in mobile phones, most mobile phones will provide APP suggestions to users to recommend APPs to users. However, most current APP suggestions use the recent popular APPs and recent high-frequency APPs to recommend APPs to users. Specifically, the mobile phone displays APP suggestion cards, such as YOYO suggestion TM Cards to recommend apps to users. Figure 1 The following are YOYO suggestions displayed on the phone: TM An example of a card that YOYO recommends TM The card contains TikTok TM , Taobao TM and Alipay TM Icons of Tik Tok TM For the latest popular APP and Taobao TM and Alipay TM It is the most recent high-frequency APP. At this time, the user can click YOYO suggestion TM Click the icon of an APP in the card to open the APP.
[0003] However, the APPs recommended by current APP recommendation schemes lack personalization, resulting in the APPs recommended by mobile phones may not be the APPs that users actually need to use. Summary of the invention
[0004] The embodiments of the present application provide an application recommendation method, medium, and electronic device, which can improve the accuracy and personalization of application recommendations by not recommending applications that the user is not interested in under a certain recommendation factor when using the electronic device under the recommendation factor.
[0005] In a first aspect, an embodiment of the present application provides an application recommendation method, which is applied to an electronic device, and the method includes: determining that the electronic device enters a first fence corresponding to a first recommendation factor; deleting the recommended applications whose interest values are less than an interest value threshold from X recommended applications corresponding to the first recommendation factor, to obtain Y recommended applications; recommending Y recommended applications to a user, where Y is less than X; wherein the interest value is determined based on the probability of the number of applications under the first recommendation factor within a first historical time period, and the probability of the number of days under the first recommendation factor within the first historical time period.
[0006] Among them, the X recommended applications corresponding to the first recommendation factor can be the applications that users prefer to use under the first recommendation factor determined based on historical data in the first historical time period, that is, applications that users have a higher probability of using under this recommendation factor. APPs that users are not interested in under various recommendation factors, for example, APPs that users usually do not click to use in different scenarios or in different time periods. Therefore, when it is identified that a user triggers a certain recommendation factor, APPs that users are not interested in under this recommendation factor will not be recommended to the user. In this way, the APP recommendations in this application comprehensively consider the number of occurrences and days of occurrence of each APP in a certain scenario or time period, and can accurately recommend APPs that users may use in different scenarios, which is convenient for users to quickly use the required APPs, greatly improving the user experience.
[0007] In a possible implementation, the interest value of an application under the first recommendation factor is calculated in the following manner: obtain a first numerical value obtained by multiplying the probability of the number of times and the probability of the number of days of each application in the first historical time period among M applications; perform normalization processing on the M first numerical values of the M applications to obtain the interest value of each application under the first recommendation factor. For example, the interest value of an application under the first recommendation factor can be obtained by calculating like_prob(app|s)=normalize(tf(app|s)*df(app|s)). Among them, like_prob(app|s) represents the interest value, normalize() represents the normalization processing, tf(app|s) represents the probability of the number of times, and df(app|s) represents the probability of the number of days. In this way, the value of the interest value depends not only on the probability of the number of times of each application but also on the probability of the number of days of each application, so that applications that are used less frequently and appear less frequently by users under a certain recommendation factor can be screened out, thereby treating these applications as applications that users are not interested in under the recommendation factor.
[0008] In a possible implementation manner, the first recommendation factor includes at least one of the following: a geographical factor and a device usage factor, where the device usage factor is used to indicate an external device connected to the electronic device.
[0009] In one possible implementation, the frequency probability is calculated in the following manner: tf(app|s) = Count(app|s) / Count(app) is calculated; wherein tf(app|s) represents the frequency probability of the application under the first recommendation factor in the first historical time period, Count(app|s) represents the number of times the application is used under the first recommendation factor in the first historical time period, and Count(app) represents the number of times the application is used under multiple recommendation factors in the first historical time period.
[0010] In one possible implementation, the day probability is calculated as follows: df(app|s) = Count(app|s, day) / count(day), where df(app|s) represents the day probability of application under the first recommendation factor in the first historical time period, Count(app|s, day) represents the number of days of use under the first recommendation factor in the first historical time period, and count(day) represents the number of days of use under multiple recommendation factors in the first historical time period.
[0011] In a possible implementation, the first recommendation factor includes a time factor, and the time factor in which the first recommendation factor is located corresponds to a first time period in a day. For example, the first time period may be a time period between 8:00 and 9:00 every day. In this case, the first recommendation factor is divided according to each hour of the day.
[0012] In a possible implementation, the frequency probability is calculated by: Calculate tf′(app|s)=avg(tf t-1 ,tf t ,tf t+1 ), where tf′(app|s) represents the probability of the number of applications under the first recommendation factor in the first historical period, and tf t-1 Indicates the number of times the application was used in the second time period before and adjacent to the first time period during the first historical time period. t Indicates the number of times the application was used in the first historical time period. t+1 Indicates the number of times the application is used in the third time period after the first time period and adjacent to the first historical time period; avg() represents the average operation, and the duration of the first time period, the second time period and the third time period are all the same. For example, the first time period can be the time period from 8 to 9 o'clock every day. The first recommendation factor is divided according to each hour of the day, and users usually use applications continuously from 7 to 8, 8 to 9, and 9 to 10 o'clock every day, that is, the time of these time periods in hours is continuous. Therefore, the probability of the number of times of each application under the first recommendation factor corresponding to 8 to 9 o'clock every day can be time-smoothed.
[0013] In one possible implementation, the day probability is calculated by: Calculate df′(app|s)=avg(df t-1 ,df t ,df t+1 ), where df′(app|s) represents the probability of the number of days applied under the first recommended factor in the first historical period, and df t-1Indicates the number of days in the first historical time period that the application was used in the second time period that is before and adjacent to the first time period. df t Indicates the number of days the application was used in the first historical time period, df t+1 represents the number of days the application was used in the third time period after the first time period and adjacent to the first time period in the first historical time period; avg() represents the average value operation, and the first time period, the second time period and the third time period are all the same length. Therefore, the probability of the number of days for each application under the first recommendation factor corresponding to 8:00 to 9:00 every day can be smoothed by time.
[0014] In a possible implementation, the method further includes: determining that the number of days that the first recommendation factor appears in the first historical time period is greater than the first day. It is understandable that the electronic device can filter out historical data under the recommendation factor whose number of days of appearance is less than or equal to the first day (such as 1 day). However, the application under the recommendation factor whose number of days of appearance in the first historical time period is less than or equal to the first day is usually used occasionally by the user, and cannot reflect the user's application usage preference under each recommendation factor.
[0015] In a possible implementation, the promotion degree of X to-be-recommended applications under the first recommendation factor is greater than the promotion degree threshold; the promotion degree of the application under the first recommendation factor is calculated in the following manner: p = Count(app|s) / Count(s), where p is the probability of using the application under the first recommendation factor in the first historical time period, Count(app|s) represents the number of times the application is used under the first recommendation factor in the first historical time period, and Count(s) represents the number of times multiple applications under the first recommendation factor are used in the first historical time period; Among them, willson ctr (app|s) represents the modified usage probability of the application in the first historical time period under the first recommendation factor, n is the number of times multiple applications of the first recommendation factor are used in the first historical time period, and z is a constant; calculation in, represents the lift of the application under the first recommendation factor, and p(app|all) represents the ratio of the number of times the application is used under multiple recommendation factors in the first historical time period to the number of times multiple applications are used under multiple recommendation factors in the first historical time period. It can be understood that the smaller the value of the sample number n, the smaller the probability of correction, and the larger the sample number n, the greater the probability of correction, which is conducive to improving the accuracy of subsequent lift calculation.
[0016] In a possible implementation, the weighted probabilities of the X to-be-recommended applications under the first recommendation factor are greater than the weighted probability threshold; and the weighted probability of the application under the first recommendation factor is calculated in the following manner: p(app|s)=Count(app|s) / Count(s) is calculated, where p(app|s) is the usage probability of the application under the first recommendation factor in the first historical time period, Count(app|s) represents the number of times the application is used under the first recommendation factor in the first historical time period, and Count(s) represents the number of times multiple applications under the first recommendation factor are used in the first historical time period; p(app|days)=count(app|s,d ay) / count(s,day), where p(app|days) represents the probability of the number of days the application is used under the first recommendation factor, count(app|s,day) represents the number of days the application is used under the first recommendation factor in the first historical time period, and count(s,day) represents the number of days multiple applications are used under the first recommendation factor in the first historical time period; calculate Weight_P(app|s)=normalize(p(app|s)*p(app|days)), where Weight_P(app|s) represents the weighted probability of the application under the first recommendation factor, and normalize() represents normalization. In this way, the weighted probability Weight_P(app|s) of each APP under each recommendation factor in this application not only considers the number of clicks on the APP, but also the number of days the APP is used. Therefore, if an APP is used more times but has fewer days, the corresponding Weight_P(app|s) value will become smaller, which will increase the weighted probability of the APP. For example, if some apps are clicked multiple times in a row on a certain day, but not clicked on other days within a month, it means that the relevant data of the app is extreme data and can be used as a basis for judging the user's preferred app. Then, the weighted probability calculated by the extreme data of such apps is small, so that such apps will not be judged as user-preferred apps, which is equivalent to eliminating the extreme data of such apps.
[0017] In a possible implementation, the first confidences of the X applications to be recommended under the first recommendation factor are greater than the first confidence threshold; the first confidence of the application under the first recommendation factor is calculated in the following manner: sorting multiple applications from small to large according to the weighted probabilities under the first recommendation factor, where the multiple applications include the application; calculating the ranking of the application in the multiple applications under the first recommendation factor, and the ratio to the total number of applications in the electronic device, and using the ratio as the first confidence of the application under the first recommendation factor.
[0018] In one possible implementation, recommending Y applications to be recommended to a user includes: recommending a first application among X applications to be recommended to the user within a fourth time period after the electronic device enters a first fence; and displaying a second application among the X applications to be recommended recommended to the user after the fourth time period after the electronic device enters the first fence.
[0019] In a possible implementation, the preference probability of the first application under the first recommendation factor is greater than the preference probability threshold; and the preference probability of the application under the first recommendation factor is calculated by calculating p=Count(app|s) / Count(s), where p is the usage probability of the application under the first recommendation factor in the first historical time period, Count(app|s) represents the number of times the application is used under the first recommendation factor in the first historical time period, and Count(s) represents the number of times multiple applications under the first recommendation factor are used in the first historical time period;
[0020] calculate Among them, willson ctr (app|s) represents the usage probability of an application in the first historical time period after correction under the first recommendation factor, n is the number of times multiple applications under the first recommendation factor are used in the first historical time period, and z is a constant;
[0021] calculate in, represents the promotion degree of the application under the first recommendation factor, and p(app|all) represents the ratio of the number of times the application is used under multiple recommendation factors in the first historical time period to the number of times multiple applications are used under multiple recommendation factors in the first historical time period;
[0022] Acquire multiple application sequences corresponding to the first recommendation factor, each application sequence includes applications used in a fourth time period after each entry into the first recommendation factor in the first historical time period, or each application sequence includes first N applications used after each entry into the first recommendation factor in the first historical time period, where N is a positive integer;
[0023] Calculate topK prop (app|s)=count(s|app in topN) / M(s), where topK prop (app|s) represents the hit probability of the application in the multiple application sequences corresponding to the first recommendation factor in the first historical time period, count(s|app in topN) represents the number of occurrences of the application in the multiple application sequences corresponding to the first recommendation factor, and M(s) represents the number of multiple application sequences corresponding to the first recommendation factor;
[0024] Calculating hits prop(app|s)=exp(lift-0.5)*topK prop (app|s), where lift represents the lift of the application under the first recommendation factor, and exp() represents exponential operation. In this way, the application can estimate the preferred APPs when the electronic device triggers each recommendation factor through the data in the historical time period, so that when the user subsequently uses the electronic device to enter the fence corresponding to each recommendation factor, such as within the first 5 minutes after entering the fence, the APPs that the user needs to use can be accurately recommended to the user, so that the user can quickly use these APPs.
[0025] In a possible implementation, the second confidence of the first application under the first recommendation factor is greater than the second confidence threshold; the second confidence of the application under the first recommendation factor is calculated in the following manner: sorting multiple applications under the first recommendation factor from small to large according to the preference probability, and multiple applications include the application; calculating the ranking of the application in the multiple applications under the first recommendation factor, and the ratio of the total number of applications in the electronic device, and taking the ratio as the second confidence of the application under the first recommendation factor. In this way, the APPs that users prefer to use under each recommendation factor can be screened out by the value of the second confidence.
[0026] In a possible implementation, the promotion degree of the second application is greater than the promotion degree threshold. For example, 5 minutes after the user enters the first fence, the second application recommended to the user is selected based on the promotion degree.
[0027] In a possible implementation, Y recommended applications corresponding to the first recommendation factor are displayed on an application suggestion card (such as YOYO recommendation card) of the electronic device. TM )middle.
[0028] In a second aspect, an embodiment of the present application provides a readable medium having instructions stored thereon, which, when executed on an electronic device, causes the electronic device to execute the application recommendation method in the first aspect and any possible implementation thereof.
[0029] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a memory for storing instructions executed by one or more processors of the electronic device, and a processor, which is one of the processors of the electronic device, for executing the application recommendation method in the first aspect and any possible implementation thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 According to some embodiments of the present application, a YOYO suggestion displayed on a mobile phone is shown. TM Schematic diagram of the card;
[0031] Figure 2According to some embodiments of the present application, a schematic diagram of an application recommendation process of an electronic device is shown;
[0032] Figure 3 According to some embodiments of the present application, a schematic diagram of a hardware structure of a mobile phone is shown;
[0033] Figure 4 According to some embodiments of the present application, a schematic diagram of a software system of a mobile phone is shown;
[0034] Figure 5 According to some embodiments of the present application, a schematic diagram of a process of executing application recommendation by a module of an electronic device is shown;
[0035] Figure 6 According to some embodiments of the present application, a flowchart of an application recommendation method is shown;
[0036] Figure 7 According to some embodiments of the present application, a flowchart of an application recommendation method is shown;
[0037] Figure 8 According to some embodiments of the present application, a YOYO suggestion displayed on a mobile phone is shown. TM Schematic diagram of the card;
[0038] Fig. 9 According to some embodiments of the present application, a flowchart of an application recommendation method is shown;
[0039] Fig.10 According to some embodiments of the present application, a flowchart of an application recommendation method is shown;
[0040] Fig.11 According to some embodiments of the present application, a flowchart of an application recommendation method is shown;
[0041] Fig.12 According to some embodiments of the present application, a flowchart of an application recommendation method is shown;
[0042] Fig.13 According to some embodiments of the present application, a flowchart of an application recommendation method is shown. DETAILED DESCRIPTION
[0043] Illustrative embodiments of the present application include, but are not limited to, application recommendation methods, media, and electronic devices.
[0044] As can be seen from the background technology, in the prior art, APP recommendations for electronic devices usually only push high-frequency applications. However, users may not use some APPs in some scenarios. For example, users usually do not open work apps when using their mobile phones at home; users usually do not open entertainment apps such as video playback when using their mobile phones at work. The current APP recommendation scheme does not take into account the different APP usage behavior patterns of users in different scenarios, and may only push high-frequency applications. In special scenarios, it may recommend APPs that users do not usually use in this scenario but have a high overall usage frequency. As a result, the APPs recommended by the APP suggestion card cannot be personalized and customized, and cannot bring an intelligent experience to users. For example, users usually do not use Youku in the company scenario. TM , iQIYI TM Video playback apps such as Youku TM , iQIYI TM However, due to Youku TM , iQIYI TM This is a high-frequency application with a relatively high overall frequency. Therefore, in the company scenario, the APP suggestion card will still recommend the APP's Youku TM , iQIYI TM The application recommendation does not meet the actual needs of users, resulting in poor user experience. For the convenience of description, the application program is referred to as APP or application in this application.
[0045] It can be understood that in each embodiment of the present application, the overall usage frequency refers to the total number of times a user clicks to use an APP within a period of time without considering the usage scenario.
[0046] Therefore, in order to solve the above-mentioned problem of inaccurate application recommendation, the embodiment of the present application provides an application recommendation method, which can determine the APPs that the user is not interested in under various recommendation factors based on the user's APP usage history data, for example, the APPs that the user usually does not click to use in different scenarios or in different time periods. Therefore, when it is identified that the user triggers a certain recommendation factor, the APPs that the user is not interested in under the recommendation factor will not be recommended to the user.
[0047] In addition, it can be understood that in each embodiment of the present application, the APP that the user is not interested in can be determined based on different recommendation factors, where the recommendation factors can be spatial factors, such as different scenarios in which the user is located, such as home, company, subway, shopping mall, etc., or usage factors, such as whether the user is wearing headphones, whether the user device is connected to the car Bluetooth, etc., or it can be a time factor, for example, dividing a day into multiple time intervals, such as dividing a day into 24 time intervals in units of hours.
[0048] Specifically, in some embodiments of the present application, an interest value may be used to determine whether a user is interested in a certain APP in a certain scenario. For example, the smaller the interest value of an APP in a certain scenario, the less interested the user is in the APP. That is, in each embodiment of the present application, the interest value of an APP in a certain scenario reflects the probability of a user using the APP per unit time in the scenario within a historical period of time, for example, the unit time is one day, one week, or one month.
[0049] In some embodiments, the recommendation factor is a spatial factor, which can be divided according to geographical location, for example, into home scenes, subway scenes, company scenes, etc.
[0050] Take the subway scenario as an example. For example, in the past month, users have used Cloud QuickPass in the subway scenario. TM The total number of SS1 is 40 times, and Cloud QuickPass was used in subway scenarios within one month. TM The number of days DD1 is 20 days (that is, the user used Cloud QuickPass at least once every day in these 20 days) TM ); while using TikTok in subway scenarios TM The total number of SS2 is 15 times, and Douyin is used in subway scenes within one month TM The number of days DD2 is 10 days (that is, the user used Douyin at least once every day in these 10 days) TM ). In the past month, users have used Cloud QuickPass for TM The total number of ST1 is 40 times (that is, regardless of the scene restrictions, the total number of Cloud QuickPass used in all scenes TM times), using Cloud QuickPass in total TM The number of days DT1 is 20 days (that is, in all scenarios, the user used Cloud QuickPass at least once every day in these 20 days). TM ), using TikTok in total TM The total number of ST2 is 100 times (that is, regardless of the scene restrictions, the total number of times Douyin is used in all scenes TM times), total number of times using TikTok TM The number of days DT2 is 30 days (that is, in all scenarios, the user used Douyin at least once every day in these 30 days). TM ). So, if we take days as the unit of time, Cloud QuickPass TM The interest value in the subway scene is greater than that of Tik Tok TM Specifically, for example, the interest value L can be calculated by the following formula (0-1):
[0051] L=(SS / ST)*(DD / DT) (0-1)
[0052] Cloud QuickPass TMInterest value L1 = (40 / 40) * (20 / 20) = 1; Douyin TM The interest value L2 = (15 / 100) * (10 / 30) = 0.045. Obviously, in the subway scenario, Cloud QuickPass TM The interest value is higher than TikTok TM interest value.
[0053] In some embodiments, the present application may set an interest value threshold, and treat apps with interest values less than the interest value threshold in a certain scenario as apps that the user is not interested in in that scenario. For example, if the interest value threshold is set to 0.2, then Douyin TM It is an APP that users are not interested in in the subway scenario. The specific value of the interest value threshold can be determined according to actual needs, such as adjustment based on business changes, and is not limited to 0.2 in the above example.
[0054] In some embodiments, the recommendation factor corresponds to a time factor. For example, different recommendation factors can be divided into hours for each day, such as 8 to 9 o'clock, 9 to 10 o'clock, etc. every day.
[0055] For example, in the past month, a user used Cloud QuickPass from 7 to 8 every day. TM The number of times SS1-T1 is 2 times (i.e. using Cloud QuickPass from 7 to 8 o'clock on any date) TM times), use Cloud QuickPass from 8 to 9 every day TM The number of SS1-T2 is 20 times (i.e., use Cloud QuickPass from 8:00 to 9:00 on any date) TM times), use Cloud QuickPass from 9 to 10 every day TM The number of times SS1-T3 is 6 times (i.e. using UnionPay QuickPass between 9:00 and 10:00 on any date) TM In addition, users used Douyin from 7 to 8 every day in the past month. TM The number of times SS2-T1 is 0 (that is, using TikTok between 9:00 and 10:00 on any date) TM times), using Tik Tok from 8 to 9 a.m. every day TM The total number of times SS2-T2 is 8 times (i.e. using TikTok between 9:00 and 10:00 on any day without restriction) TM times), using Tik Tok from 9 to 10 a.m. every day TM The number of times SS2-T3 is 50 times (i.e. using TikTok between 9:00 and 10:00 on any day) TM times).
[0056] In addition, users used Cloud QuickPass from 7 to 8 every day in the past month. TM The number of days DD1-T1 is 1 day (that is, the user used Cloud QuickPass at least once in this day) TM), use Cloud QuickPass from 8 to 9 every day TM The number of days DD1-T2 is 10 days (that is, the user used Cloud QuickPass at least once every day in these 10 days) TM ), use Cloud QuickPass in the corresponding scenario from 9 to 10 every day TM The number of days DD1-T3 is 3 days (that is, the user used Cloud QuickPass at least once on each of these 3 days). TM ). In the past month, users used TikTok from 7 to 8 every day. TM The number of days DD2-T1 is 0 days (that is, Douyin is not used every day in this month) TM ), use Tik Tok from 8 to 9 every day TM The number of days DD2-T2 is 5 days (that is, the user used Douyin at least once every day in these 5 days) TM ), use Tik Tok from 9 to 10 every day TM The number of days DD2-T3 is 4 days (that is, the user used Douyin at least once every day in these 4 days) TM ). Specifically, considering the continuity of hours, the number of days and times of appearance of the APP in a certain hour in the last month can be smoothed, such as using the user's APP usage from 7 to 8 o'clock every day in the last month (such as the number of days and times of appearance) and the APP usage from 9 to 10 o'clock every day, and smoothing the APP usage from 8 to 9 o'clock every day. Specifically, for example, the interest value L of the APP from 8 to 9 o'clock every day can be calculated by the following formula (0-2):
[0057] L=((SS-T1+ SS-T2+ SS-T3) / 3)* ((DD-T1+ DD-T2+ DD-T3) / 3) (0-2)
[0058] Cloud QuickPass TM Interest value L1 = ((2+20+6) / 3)*((4+10+3) / 3) = 52.88; Douyin TM The interest value L2 = ((0+8+50) / 3)*((0+5+4) / 3) = 45.03. Obviously, in the scene corresponding to 8 to 9 o'clock every day, Douyin TM The interest value is higher than that of Cloud QuickPass TM For example, if the interest value threshold is set to 48, then Douyin TM For apps that users are not interested in between 8 and 9 every day.
[0059] For ease of description, the probability of the number of times an application is used under a certain recommendation factor is referred to as the number of times probability, for example, SS / ST and ((SS-T1+SS-T2+SS-T3) / 3 mentioned above. The probability of the number of days an application is used under a certain recommendation factor is referred to as the number of days probability, for example, DD / DT and ((DD-T1+DD-T2+DD-T3) / 3 mentioned above.
[0060] It can be seen that in the embodiment of the present application, the interest value comprehensively considers the probability of a user using a certain APP in a certain scenario and the time distribution of using the APP.
[0061] In some embodiments, the present application may set multiple recommendation factors and fences corresponding to each recommendation factor.
[0062] In some embodiments, the recommendation factors provided by the present application can be combined with multiple factors, such as time factors, scene factors, usage factors (device connection), etc., which are not limited here. For example, a recommendation factor can be in the subway scene on Monday. Accordingly, the corresponding fence of a recommendation factor can be set based on time, geographic location, device usage, etc.
[0063] Then, after recognizing that an electronic device has entered a fence, the APP suggestion card will not recommend to the user APPs that are not of interest under the recommendation factors corresponding to the fence. As a result, the APP suggestion card can recommend the user's preferred APPs under the recommendation factor. That is, if the user carries an electronic device that triggers a certain recommendation factor, the APP suggestion card containing the preferred APP in the scenario is recommended to the user. In this way, the APP recommendation in this application comprehensively considers the number of appearances and days of appearance of each APP in a certain scenario or time period, and can accurately recommend APPs that users may use in different scenarios, making it convenient for users to quickly use the APPs they need, greatly improving the user experience.
[0064] It can be understood that the application recommendation method provided in the present application can first determine the APP to be recommended according to the preset application recommendation strategy, and then filter the APP according to the APP interest value under each recommendation factor, so as to filter out the APP with lower interest value in the current scenario from the APP to be recommended, such as the APP whose interest value is less than the interest value threshold.
[0065] In some embodiments, the preset application recommendation strategy (referred to as the first type application recommendation strategy) in the present application may be a conventional high-frequency application recommendation strategy. At this time, the application recommended by the first type application recommendation strategy may be a high-frequency application that does not consider the scenario in the historical time period.
[0066] In some embodiments, the preset application recommendation strategy in this application (referred to as the second type of application recommendation strategy) may include: recommending to the user APPs that the user may use during this period of time under the recommendation factor within a period of time after the user uses an electronic device to trigger a recommendation factor (such as entering a subway scene), such as within the first 5 minutes of triggering the recommendation factor. Alternatively, the third type of application strategy may include: recommending to the user APPs that the user may use during the process of using the first N (such as N is a positive integer of 5) applications after the user uses an electronic device to trigger a recommendation factor. For example, recommend an access card APP to the user within the first 5 minutes of the user entering the home fence, and recommend entertainment APPs to the user afterwards.
[0067] In some embodiments, the preset application recommendation strategy (referred to as the third type of application recommendation strategy) in this application can recommend the user's preferred APPs under various recommendation factors, that is, after the user enters a scene or time period indicated by a recommendation factor, the user is recommended an APP corresponding to the recommendation factor. For example, after the user enters the home fence, entertainment APPs are recommended to the user.
[0068] In some embodiments, the present application can obtain the usage information of each historical application within a period of time. Based on the usage information of each historical application, the number of days of use of each recommendation factor in the history, the number of times each APP is used under all recommendation factors, the number of times each APP is used under each recommendation factor, the number of days of use of each APP under each recommendation factor, and the number of days of use of each APP under all recommendation factors are calculated. Then, based on this information, the interest value of each APP under each recommendation factor is calculated. The detailed calculation process will be described in detail below and will not be repeated here.
[0069] In some embodiments, the electronic device can subscribe to different fences for different recommendation factors. Then, the electronic device can determine the recommendation factor in which the electronic device is located by identifying the fence. For example, the recommendation factors of the electronic device include but are not limited to: home, company, hospital, shopping mall, airport, railway station, high-speed service area, subway, wearing headphones, and car Bluetooth.
[0070] Among them, the fence refers to a trigger condition. When the fence meets the trigger condition, the mobile phone or other electronic device starts to execute a specific business or provide a specific service, such as displaying, refreshing or closing messages, warning information or cards. For example, the card provided by the electronic device in this application can be an APP suggestion card such as YOYO suggestion card. TM For the convenience of description, in some of the following embodiments, APP suggestion cards are also referred to as cards or YOYO suggestion cards. TM card.
[0071] In some embodiments, the APP suggestion card generally includes one or more third-party APPs or mini-programs icons. For example, the APP suggestion card may include multiple APP icons such as TikTok. TM , Taobao TM and Alipay TM It can also include only an APP or mini program icon, such as a subway code card or WeChat ID. TM card.
[0072] In some embodiments, the APP suggestion card in the present application can be fixedly displayed in a fixed area of the desktop interface. For example, the APP suggestion card can be displayed in a rectangular area in the upper left corner of the main interface, such as Figure 1 In other embodiments, the APP suggestion card can be displayed superimposed on any currently displayed interface when entering a fence, and the APP suggestion card can be automatically canceled after the user clicks on the APP suggestion card to enter a recommended APP or mini program.
[0073] In some embodiments, the shape, number of apps, and arrangement format of the app suggestion card in this application are not specifically limited. For example, the app suggestion card can be in any shape such as a rectangle or a circle. TM The card can be 4 apps in 2×2 format, 4 apps in 2×3 format, or Figure 1 3 APPs are shown with 1 APP in the 1st row and 2 APPs in the 2nd row.
[0074] Generally, fences include multiple types, such as geographic fences, time fences, device fences, and associated event fences, etc. In some embodiments, the fences subscribed by the electronic device for a scene may include one or more types, such as the scene of the user taking the subway includes a geographic fence, which is not specifically limited in this application.
[0075] Geofences are used to characterize trigger conditions related to locations. Specifically, geofences are location-based services (LBS) that use a virtual fence to enclose a geographic area with a virtual boundary, that is, a virtual boundary defines a specific geographic area. In some embodiments, the shape of the geofence can be circular, polygonal, or irregular, which is not specifically limited in this application. In some embodiments, the size of the geofence can be determined based on business needs, which is not specifically limited in this application. For example, the locations of geofences include but are not limited to: home, company, hospital, shopping mall, airport, train station, highway service area, subway, etc. In some embodiments, the electronic device can monitor the current location of the electronic device in real time to determine whether the electronic device has entered the geofence.
[0076] The time fence is used to represent the trigger conditions related to time. For example, taking the subway scene as an example, the historical time when the user enters and exits the subway station (for example, 7:00 every day) is set as the time fence corresponding to the subway scene.
[0077] Device fences are used to represent trigger conditions related to a specific usage state of a specific electronic device. For example, a specific usage state may be when a user wears headphones or is connected to a car's Bluetooth.
[0078] The associated event fence is used to represent the trigger conditions related to a specific event. Among them, the specific event can be the trigger condition for entering the geo-fence, such as every day before entering the subway, users will use electronic devices to scan the code to unlock the shared bicycle.
[0079] In some embodiments, the electronic device can determine whether the electronic device enters a fence such as a geo-fence, time fence, etc. corresponding to a scene to determine whether the electronic device is in the scene, and then recommend APPs to the user through the displayed APP suggestion card. For example, the subway fence and time fence corresponding to the subway scene, then under the premise that the electronic device enters the geo-fence corresponding to the subway, if the system time of the electronic device meets the time set by the time fence, the electronic device will automatically pop up an APP suggestion card containing the subway boarding code. For another example, the subway fence and the associated time fence corresponding to the subway scene, when the user enters the subway area indicated by the geo-fence, the electronic device can obtain whether the user uses the electronic device to scan the code to unlock the shared bicycle before entering the geo-fence. If the shared bicycle is unlocked by scanning the code, the associated event fence is triggered, and the electronic device automatically pops up the corresponding APP suggestion card.
[0080] In some embodiments, the application recommendation process of the electronic device is described by taking the recommendation factors of home scene, company scene, and subway scene as examples. Figure 2 As shown, it is assumed that the electronic device registers geo-fence 01 for the scenario in which the user takes the subway, registers geo-fence 02 for the scenario in which the user is at home, and registers geo-fence 03 for the scenario in which the user is at the company.
[0081] Then, after the user 04 enters the geo-fence 01, the electronic device such as a mobile phone can display the YOYO suggestion card 05, which can include the user's preference for using a payment APP such as UnionPay when taking the subway. TM , and information apps such as Sina Weibo TM , Toutiao TM Or reading apps such as WeChat Reading TM Instead of recommending access card apps or Douyin, which users are not interested in in subway scenarios, TMAfter the user 04 enters the geo-fence 02, the electronic device such as a mobile phone can display the YOYO suggestion card 06, which can include the entertainment APPs that the user prefers to use at home, such as WeChat. TM ,Tik Tok TM After user 04 enters geo-fence 03, the electronic device such as a mobile phone can display YOYO suggestion card 07, which can include work-related apps that the user prefers to use at work, such as documents, conference software, etc., but will not recommend video playback apps that the user is not interested in at work. Usually, users in the company scenario will not use Youku. TM and iQIYI TM And other video playback apps.
[0082] It is understood that the fences registered by the electronic device for each scene in the embodiment of the present application are not limited to Figure 2 The geographic fence shown may also be a device fence, a time fence, etc., which is not specifically limited in this application.
[0083] In some embodiments, the application recommendation method in the present application can be applied to various electronic devices, including but not limited to: mobile phones, tablet computers, wearable devices, vehicle-mounted devices, augmented reality (AR) devices, virtual reality (VR) devices, laptop computers, ultra-mobile personal computers (UMPC), netbooks, personal digital assistants (PDA) or smart screens and other terminal devices with display functions, and can also be other devices or devices that can recommend applications. The embodiments of the present application do not impose any restrictions on the specific types of electronic devices.
[0084] Taking a mobile phone as an example, Figure 3 A schematic diagram of the hardware structure of a mobile phone provided in an embodiment of the present application is shown.
[0085] like Figure 3 As shown, the mobile phone 10 may include a processor 110, a power module 140, a memory 180, a mobile communication module 130, a wireless communication module 120, a sensor module 190, an audio module 150, a camera 170, an interface module 160, a button 101 and a display screen 102, etc.
[0086] The processor 110 may include one or more processing units, for example, a processing module or processing circuit including a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor DSP, a microprocessor (MCU), an artificial intelligence (AI) processor, or a programmable logic device (field programmable gate array, FPGA). Different processing units may be independent devices or integrated into one or more processors. A storage unit may be provided in the processor 110 for storing instructions and data. In some embodiments, the storage unit in the processor 110 is a cache memory 180.
[0087] The power module 140 may include a power source, a power management component, etc. The power source may be a battery. The power management component is used to manage the charging of the power source and the supply of power to other modules.
[0088] The mobile communication module 130 may include, but is not limited to, an antenna, a power amplifier, a filter, a low noise amplifier (LNA), etc. The mobile communication module 130 may provide a solution for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the mobile phone 10. The mobile communication module 130 may receive electromagnetic waves by an antenna, and perform filtering, amplification, and other processing on the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 130 may also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna. In some embodiments, at least some of the functional modules of the mobile communication module 130 may be arranged in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 130 may be arranged in the same device as at least some of the modules of the processor 110. Wireless communication technologies may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wide band code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), Bluetooth (BT), global navigation satellite system (GNSS), wireless local area networks (WLAN), near field communication (NFC), frequency modulation (FM) and / or field communication (NFC), infrared technology (IR), etc.The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).
[0089] The wireless communication module 120 may include an antenna, and transmit and receive electromagnetic waves via the antenna. The wireless communication module 120 may provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication technology (NFC), infrared technology (IR), etc., which are applied to the mobile phone 10. The mobile phone 10 can communicate with the network and other devices through wireless communication technology.
[0090] In some embodiments, the mobile communication module 130 and the wireless communication module 120 of the mobile phone 10 may also be located in the same module.
[0091] The display screen 102 is used to display a human-computer interaction interface, images, videos, etc. The display screen 102 includes a display panel. For example, the display screen 102 may display a YOYO suggestion TM The main interface of the card, with YOYO suggestions TM Cards display recommended app icons to users.
[0092] The interface module 160 includes an external memory interface, a universal serial bus (USB) interface, and a subscriber identification module (SIM) card interface, etc. The external memory interface can be used to connect an external memory card, such as a MicroSD card, to expand the storage capacity of the mobile phone 10. The external memory card communicates with the processor 110 through the external memory interface to implement a data storage function.
[0093] In some embodiments, the mobile phone 10 further includes a button 101, a motor, and an indicator. The button 101 may include a volume button, a power on / off button, etc. The motor is used to make the mobile phone 10 vibrate, for example, vibrate when the user's mobile phone 10 is called to prompt the user to answer the call. The indicator may include a laser indicator, a radio frequency indicator, an LED indicator, etc.
[0094] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the mobile phone 10. In other embodiments of the present application, the mobile phone 10 may include more or fewer components than shown in the figure, or combine some components, or separate some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0095] The software system of an electronic device such as a mobile phone 10 can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture or a cloud architecture. TM Taking the system as an example, the software structure of the electronic device is exemplarily explained. Figure 4 Schematic diagram of the software structure of the electronic device of the present application embodiment. The layered architecture divides the software into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, Android TM The software layers of the system are divided into the following from top to bottom: application layer, framework layer (FWK), library layer (FWK LIB), and kernel layer (Kernal). The application layer may include a series of application packages, such as desktop applications, payment applications, perception modules 41, business modules 42, presentation modules 43, and learning modules 44. When these application packages are running, they can access the various service modules provided by the application framework layer through the application programming interface (API) and execute corresponding intelligent services.
[0096] Among them, the desktop application can be used to realize the display of the desktop, such as the display of the application icon, the display of the desktop background, the display of the status bar, the display of the notification bar, etc. In addition, the desktop application can also be used to display the APP suggestion card according to the instruction of the presentation module 43, or cancel the card, etc. For example, the payment application can be used to load the user's identity identification code for the user, such as the subway payment code, the bus payment code, etc., so that the user can scan the code to enter or exit the station, etc. For example, the payment application can be a cloud flash payment TM .
[0097] The perception module 41 runs in resident mode or in low-power mode, and has the ability to perceive external facts or environments. When the card reminder service is turned on, the perception module 41 monitors fences such as capabilities or matters (such as specific time, specific location, or specific event, etc.) registered with the business module 42. If the user triggers one of the capabilities or matters, the perception module 41 will send a notification to the business module 42. In addition, the perception module 41 can also detect related events and obtain the status of events from other applications in the application layer, or the application framework layer, or the system layer, or the kernel layer through the API, such as detecting Bluetooth connections, network connections, monitoring user text messages, customizing timers, etc.
[0098] Exemplarily, the function of the sensing module 41 includes sensing whether the user has entered a registered fence. For example, the sensing module 41 can detect whether the electronic device has entered the area of the geo-fence of a certain location based on the mapping relationship between the geographical location detected by the electronic device, such as GPS signal, and the location of home, company, subway station, etc.
[0099] The business module 42, which can also be called a computing engine or a brain, has business logic processing capabilities and is used to implement the logic of displaying and disappearing various cards. For example, the business module 42 can query various recommendation factors and the apps to be recommended under each recommendation factor from the learning module 44, and the apps to be recommended under each recommendation factor do not contain apps that the user is not interested in under the recommendation factor, and register the fences corresponding to each recommendation factor in the perception module 41. Furthermore, the business module 42 receives a notification sent by the perception module 41 indicating that a fence has been detected to be triggered, and can send a command to the presentation module 43 (such as YOYO suggestion) according to the logic. TM ) to display YOYO suggestions TM card, where the command can carry links to one or more third-party apps or mini-programs corresponding to the fence. TMWhen an APP in a card is clicked, it will jump to the corresponding third-party APP or mini program according to the link. For example, the multiple APPs corresponding to a fence in this application are the APPs that users tend to click and use under the recommendation factors corresponding to the fence. In addition, the business module 42 can also receive the information sent by the perception module 41 to indicate that the user has used the YOYO recommendation. TM Notifications of the APP in the card, control and cancel the display of the card, etc.
[0100] Presentation module 43, also known as YOYO suggestion TM , used to display or disappear the determined card on the screen of the electronic device. For example, the presentation module 43 can receive a command to display a reminder card transmitted by the business module 42, and display the reminder card to the user. When the user clicks on an APP or mini program in the card, a link will be made to a page of the APP or mini program. In some embodiments, the user clicks on the Cloud QuickPass in the APP suggestion card. TM APP, you can open Cloud QuickPass TM The APP selects to display the QR code page for boarding, so that the user can directly scan the code to enter and exit the subway station. Accordingly, if the presentation module 43 receives the card disappearance command sent by the business module 42, the presentation module 43 will immediately disappear the displayed card (i.e. stop displaying it).
[0101] The learning module 44 is used to analyze the user's historical application usage information, that is, to pre-process this information. For example, the application can mine and learn the APPs that users prefer to use and the APPs that users are not interested in under various recommendation factors based on the pre-processed data, and save the preferred APPs under various recommendation factors excluding the APPs that users are not interested in as a portrait table, and provide the business module 42 with the user's preferred APPs under various recommendation factors.
[0102] The framework layer provides APIs and programming frameworks for applications in the application layer. The application framework layer includes some predefined functions. For example, the framework layer may include window managers and perception management services.
[0103] Among them, the window manager can be used to manage window programs. The window manager can obtain the size of the display screen, determine whether there is a status bar, lock the screen, capture the screen, etc. The perception management service can be used to provide the application layer with APIs related to the processing functions of time information and location information, such as obtaining the time information and location information of the electronic device, and provide the context perception module with APIs related to the processing functions of geo-fences, such as determining whether the electronic device enters or leaves the geo-fence. The library layer includes the system library and the Android runtime. The system library can include multiple functional modules, such as the surface manager. The Android runtime is responsible for the scheduling and management of the Android system, including the core library and the virtual machine. The core library contains two parts: one part is the function function that needs to be called by the Java language, and the other part is the core library of Android. The application layer and the application framework layer run in the virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0104] The kernel layer is the interface layer between hardware and software. The kernel layer may include mobile communication drivers, Wi-Fi drivers, GNSS drivers, display drivers, and sensor drivers.
[0105] It should be noted that although the embodiment of the present application is based on Android TM The system is used as an example, but the basic principle is also applicable to iOS-based TM or Windows TM Electronic devices with other operating systems.
[0106] The executor of the application recommendation method provided in the embodiment of the present application can be the above-mentioned electronic device, or it can be a functional module and / or functional entity (such as a processor) in the electronic device that can implement the application recommendation method, and the present application scheme can be implemented by hardware and / or software, which is not limited in the present application.
[0107] Combination Figure 5 ,by Figure 4 Some functional modules in the electronic device are shown as execution entities, and the application recommendation method provided in the embodiment of the present application is illustrated.
[0108] S501: The presentation module 43 sends a card activation message to the service module 42.
[0109] In some embodiments, the card startup message may be a message sent by the presentation module 43 to the business module 42 when the electronic device is turned on, restarted, the system is updated, the YOYO suggestion is updated, or the learning task is updated, and is used to instruct the business module 42 to subscribe to a certain learning task.
[0110] The above learning tasks can be learning tasks that are newly added or updated by users or software developers in the setting options suggested by YOYO. YOYO suggestions generally support one or more learning tasks. In some embodiments, the learning tasks in this application can be to recommend the user's preferred APPs to the user under the recommendation factors.
[0111] S502: The business module 42 subscribes to a learning task from the learning module 44.
[0112] For example, the learning task is to learn the apps that the user is not interested in under various recommendation factors. In this case, the learning task can be recorded as learning task 1.
[0113] In some embodiments, the learning task in the present application may also include learning task 2, which may learn the APPs preferred by users within a period of time after the fences corresponding to the recommendation factors are triggered according to the second type of application recommendation strategy mentioned above. That is, the learning task is used to learn the APPs that users prefer to click and use within a period of time after the recommendation factors are triggered, such as within the first 5 minutes, or the learning task is used to learn the APPs that users prefer to click and use during the process of using the first N applications after the recommendation factors are triggered.
[0114] In some embodiments, the learning tasks in the present application may also include learning task 3, which may learn the user's preferred APPs under various recommendation factors according to the third category of application recommendation strategies mentioned above, wherein the electronic device being under the recommendation factor indicates that the user has entered the fence corresponding to the recommendation factor, such as a geographic fence, using the electronic device. For example, the user's preferred APPs under various recommendation factors learned by learning task 3 may be the user's preferred APPs used during the entire time period from when the electronic device triggers the recommendation factor to when the recommendation factor ends, or may be the user's preferred APPs used during the time period from when the electronic device enters the recommendation factor for a period of time (such as 5 minutes) to when the electronic device exits the recommendation factor, or may be the user's preferred APPs used during the time period from when the electronic device triggers the recommendation factor and uses N APPs to when the electronic device exits the recommendation factor.
[0115] S503: The learning module 44 pre-processes the historical data when the screen is turned off during charging to obtain a plurality of historical application usage information, and learns to obtain a portrait table that does not include APPs that the user is not interested in under various recommendation factors.
[0116] Among them, the learning module 44 can learn the rules of users' use of APPs under various recommendation factors based on multiple historical application usage information, so as to obtain a portrait table that does not include APPs that the user is not interested in under various recommendation factors.
[0117] It can be understood that the apps in the portrait table under each recommendation factor are the apps that users in that scenario are more likely to use. For example, the portrait table in the company scenario includes office apps such as documents that users in the company prefer to use, but does not include Youku, which is not often used by users in the company. TM , iQIYI TM And other video playback apps.
[0118] For example, the above historical data may be data on the use of an APP by a user within a historical time period, and the historical time period may be within the most recent month.
[0119] In some embodiments, the present application can perform learning according to learning tasks 1-3 respectively based on multiple historical application usage information, and then use the APPs related to each scenario learned based on learning tasks 2 and 3 as the APPs to be recommended under each recommendation factor, and then remove the APPs that users are not interested in in the corresponding scenarios learned by learning task 1 from the APPs to be recommended under each recommendation factor, so as to obtain a portrait table that does not contain APPs that users are not interested in under each recommendation factor.
[0120] In some embodiments, the state in which the learning module 44 performs the mining learning process is not limited to the above-mentioned charging and screen-off state, but can also be the standby state of other electronic devices. This application does not make specific limitations on this.
[0121] In some embodiments, the above historical data may include user APP click records and scene trigger records pre-acquired by the electronic device. In addition, the above multiple historical application usage information may be obtained by integrating the historical data.
[0122] In some embodiments, each piece of historical application usage information may include an APP information, an APP click time (ie, the time information when the APP is used), and an APP scene information (ie, the scene information of the electronic device when the APP is used).
[0123] The above user APP click record may include multiple APP click records, each APP click record includes APP information and APP click time, wherein the APP information may be the APP name, etc. The above scene trigger record may include multiple scene trigger records, each scene trigger record may include the identification information trigger time of the scene where the electronic device is located, wherein the identification information of the scene may be the geographic location, GPS information, whether the headset is worn, etc. For example, the identification of the above scene may indicate: home, company, hospital, shopping mall, airport, railway station, highway service area, government agency, subway, wearing headset, car Bluetooth, etc.
[0124] In some embodiments, the above historical data may be data from a recent period of time, for example, the above historical data may be data from the last month or multiple months, that is, the above multiple historical application usage information may reflect the user's APP usage under various recommendation factors in the last month or multiple months.
[0125] In some embodiments, the multiple historical application usage information acquired by the electronic device may be in the form of a data collection table, and the historical application usage information in different types of scenarios may be stored in different data collection tables. For example, the historical application usage information in fixed locations such as home and company may be stored in the same data collection table, the historical application usage information in mobile scenarios such as buses and subways may be stored in the same data collection table, and the historical application usage information in device-related scenarios such as wearing headphones and car Bluetooth may be stored in the same data collection table.
[0126] It can be understood that, for APP suggestion cards, the above learning process can remove APPs with interest values less than the interest value threshold from the APPs to be recommended in each scene, thereby obtaining a portrait table under each recommendation factor. Among them, the APP suggestion card output in this application refers to the APPs recommended by the user displayed on the APP suggestion card, specifically the icons of these recommended APPs.
[0127] Reference Figure 6As shown, it is a flow chart of APP preference mining provided in the embodiment of the present application, mainly based on the degree of promotion and confidence as the basis for recommending APP. Specifically, the electronic device can obtain the user APP click record and scene trigger record, and pre-process these data to obtain ① APP behavior under each recommendation factor, and ② APP behavior under the current calculation cycle. For example, the current scene can be a scene within a day of the current system time of the electronic device, and the current calculation cycle can be a month before the current system time. And APP behavior refers to the behavior of the user clicking the APP icon to open the APP, that is, the behavior of the user using the APP. Then, ③ calculate the probability of the number of times of each APP under each recommendation factor, for example, the probability depends on the number of times the APP appears in the scene in the historical time period and the number of times the APP appears in all scenes in the historical time period. ④ Calculate the probability of the number of days of each APP under each recommendation factor, for example, the probability of the number of days depends on the number of days the APP appears in the scene in the historical time period and the number of days the APP appears in all scenes in the historical time period. ⑤ According to the probability of the number of times and the probability of the day, calculate the interest value of each APP under each recommendation factor. Furthermore, the electronic device may set an interest value threshold (denoted as like_prob) for APP recommendation in the APP suggestion card, and save APPs with an interest value greater than or equal to the threshold under each recommendation factor to the portrait table.
[0128] Among them, the process of APP preference mining in this application will be combined below Figure 7 A detailed description is given and no further elaboration is given here.
[0129] S504: The business module 42 queries the portrait table of APPs under each recommendation factor from the learning module 44. For example, the APP portrait table includes APP information, scenario information, and interest value of each preferred APP.
[0130] S505: The business module 42 registers the fences of each scene with the context perception module 41, wherein each fence is associated with a portrait table of the APP in the corresponding scene.
[0131] S506: The business module 42 monitors the task running status.
[0132] It can be understood that the business module 42 can monitor whether the current desktop interface is running, or monitor whether a certain APP interface is opened, etc.
[0133] S507: The context awareness module 41 sends a first fence trigger notification to the service module 42.
[0134] Among them, the situation perception module 41 can detect in real time whether a certain fence is triggered, and notify the business module 42 after a fence is triggered.
[0135] The first fence is a fence registered in the context awareness module 41. It can be understood that a fence being triggered indicates that the electronic device enters the scene corresponding to the fence.
[0136] S508: The business module 42 notifies the presentation module 43 to display the APPs in the portrait table of the APPs in the current scene through the APP suggestion card, that is, to issue a card. For example, the presentation module 43 is YOYO suggestion, and the APP suggestion card is a YOYO suggestion card.
[0137] In some embodiments, the business module 42 may notify the presentation module 43 of the preferred APPs included in the YOYO suggestion card in the target area of the main interface when switching to the main interface including the target area.
[0138] In other embodiments, the business module 42 may notify the presentation module 43 to overlay and display a YOYO suggestion card on any currently displayed interface, so as to recommend an APP to the user through the YOYO suggestion card.
[0139] In this way, when the electronic device triggers a certain recommendation factor, the fence corresponding to the recommendation factor is triggered, and the electronic device can display the APPs recommended to the user in the YOYO suggestion card. These APPs do not include APPs that the user is not interested in under the recommendation factor. In this way, the APPs recommended to the user meet the user's actual needs, which is conducive to improving the user experience in the APP recommendation process.
[0140] Next, combine Figure 7 , taking the electronic device as the execution subject, the application recommendation method provided by the embodiment of the present application is illustrated. Specifically, the method includes the following steps:
[0141] S701: The electronic device obtains a plurality of historical application usage information within a historical time period. For example, each historical application usage information may include APP information, APP click time, and APP scene information.
[0142] For example, the above multiple historical application usage information can be obtained by integrating historical data within the last month, so the multiple historical application usage information represents the situation of users clicking on the APP under various recommendation factors within the last month. It can be understood that each historical application usage information is used to indicate that the user clicked and used an APP at a certain moment in a certain scenario during the above historical time period. Specifically, the detailed process of obtaining multiple historical application usage information in the embodiment of the present application can refer to the above Figure 5 The relevant description in S503 in the above description will not be repeated here. For example, the above historical time can be recorded as T1.
[0143] S702: The electronic device selects historical application usage information corresponding to multiple recommendation factors from multiple historical application usage information.
[0144] In some embodiments, the multiple recommendation factors in the present application can be pre-set in the electronic device by the user or relevant staff. For example, the above recommendation factors can be home, company, hospital, shopping mall, airport, railway station, express service area, government agency, subway, wearing headphones, car Bluetooth, etc.
[0145] S703: The electronic device calculates the number of days of use of each recommendation factor according to the historical application usage information corresponding to the multiple recommendation factors.
[0146] The number of days each recommendation factor is used can be recorded as Count(s, day), the parameter s represents the recommendation factor and different values represent different recommendation factors, and day represents the number of days the recommendation factor indicated by the parameter s appears. For example, multiple recommendation factors are represented by s1, s2, ..., sn-1 and sn respectively, that is, the values of the parameter s in Count(s, day) are s1, s2, ..., sn-1 and sn respectively, and n is a positive integer.
[0147] S704: The electronic device filters out historical application usage information corresponding to recommendation factors with usage days less than a minimum number of days, and obtains valid historical application usage information corresponding to multiple recommendation factors.
[0148] Among them, the value of the above-mentioned minimum number of days can be selected according to actual needs, for example, the minimum number of days can be 2 days, but it is not limited to this. It can be understood that since the historical application usage information under the recommendation factor with a usage number of days less than the minimum number of days may be a scene where the user happens to be in, it cannot reflect the user's APP usage preference in this scene. Therefore, the relevant data of the scene is not considered, and there is no need to recommend the user's preferred APP for this scene later. Among them, in the embodiment of the present application, the user's APP usage preference can be an APP click preference, that is, the user's preference to click the APP icon to open the APP.
[0149] The number of times the APP is used in the embodiment of the present application may be the number of times the APP is clicked to open, also referred to as the number of clicks.
[0150] S705: The electronic device calculates the number of times each APP is used under each recommendation factor based on the valid historical application usage information corresponding to the multiple recommendation factors, and calculates the number of days each APP is used under each recommendation factor.
[0151] For example, the electronic device calculates the number of times and days of use of APP1 in scenario s1 within T1.
[0152] S706: The electronic device calculates the interest value of each APP under each recommendation factor according to the number of times each APP is used under each recommendation factor and the number of days each APP is used under each recommendation factor.
[0153] The number of times each APP is used under each recommendation factor is used to reflect the frequency of APP use, and the number of days each APP is used under each recommendation factor is used to reflect the number of days the APP is used. In addition, the interest value is used to measure the user's dislike for each APP under a recommendation factor. The smaller the interest value, the less likely the user is to use the APP under the recommendation factor; otherwise, the greater the interest value.
[0154] The process of calculating the interest value of each APP in S706 will be described below. Fig. 9 The specific description will not be repeated here.
[0155] S707: The electronic device removes the APPs whose interest values are less than the interest value threshold from the APPs to be recommended under each recommendation factor, and saves the remaining APPs to be recommended to the corresponding portrait table.
[0156] In some embodiments, each portrait in the portrait table includes APP information, scene information, and interest value, that is, the portrait table can reflect the user's interest value in the APP under various recommendation factors. For example, the APP information in a portrait can be the name of an APP, the scene information can indicate the recommendation factor of the electronic device when the current APP is used, and the current interest value is greater than or equal to the interest value threshold.
[0157] S708: The electronic device detects that the first fence is triggered, and displays an APP suggestion card corresponding to the first fence according to the corresponding portrait table. The APP suggestion card includes APPs preferred by the user under the recommendation factors corresponding to the first fence.
[0158] In some embodiments, in the present application, the electronic device may pre-register fences corresponding to various recommendation factors, and the first fence corresponds to one recommendation factor.
[0159] It can be understood that the above-mentioned first fence can be a geographical fence, a time fence, etc., and this application will not go into details.
[0160] In some embodiments, when the electronic device enters the first fence, and during the time period after entering the first fence and before exiting the first fence, the electronic device can continue to recommend to the user the user's preferred APPs under the recommendation factors corresponding to the first fence (i.e., the subway scenario) through APP suggestion cards.
[0161] In some embodiments, the electronic device may display an APP suggestion card in a target area of the main interface of the display screen. Limited by the size of the target area, the number of APPs displayed on the APP suggestion card at one time is limited, for example, a preset number. For example, the preset number may be 4, but is not limited thereto, and may also be 3 or 5.
[0162] It can be understood that when the number of apps in the portrait table under a recommendation factor is greater than or equal to a preset number, the electronic device will display the preset number of apps in the corresponding portrait table in the APP suggestion card, or display all apps in the portrait table under the scenario through multiple windows switched by sliding. Of course, when the number of apps in the portrait table under a recommendation factor is less than the preset number, the electronic device will directly display these apps in the APP suggestion card.
[0163] For example, combined with Figure 2 , the first fence may be geo-fence 01, then the electronic device triggers and enters geo-fence 01, indicating that the electronic device has entered the subway scene, refer to Figure 8 As shown, the YOYO suggestion card 05 displayed by the electronic device may include the user's preference to use UnionPay QuickPass when taking the subway. TM , Sina Weibo TM , Toutiao TM Reading with WeChat TM .
[0164] In some embodiments, the order of the preferred APPs displayed in the YOYO suggestion card in this application may not be limited. TM , Sina Weibo TM , Toutiao TM Reading with WeChat TM The display order is not limited to Figure 8 The display order shown may also be any other achievable order.
[0165] In this way, the application recommendation method provided by this application comprehensively considers the number of times and days of use of the APP under various recommendation factors, removes the APPs that users are not interested in under various recommendation factors, and makes the APPs recommended to users under various recommendation factors more in line with the actual needs of users. Therefore, it is possible to accurately recommend the APPs that users prefer in different scenarios, making it convenient for users to quickly use the APPs they need, greatly improving the user experience.
[0166] In some embodiments, the present application may divide the types of scenes, for example, by geographic location, time, associated events, device connection status, etc. Accordingly, the present application may divide the scenes into scenes corresponding to the first type of fence and scenes corresponding to the second type of fence. The first type of fence may be a geographic fence, a device fence, or an associated event fence. The second type of fence may be a time fence, such as a fence set based on each hour of the day.
[0167] Combination Fig. 9 , with respect to the APP usage under the recommendation factors corresponding to the first type of fence, the process of calculating the interest value of each APP by the electronic device in the embodiment of the present application is described in detail. Fig. 9 As shown, the above S706 is replaced by S901 to S904:
[0168] S901: The electronic device calculates the number of times each APP is used under all recommendation factors and the number of days each APP is used under all recommendation factors according to multiple historical application usage information corresponding to multiple recommendation factors.
[0169] Among them, the number of times each APP is used under all recommendation factors can be recorded as Count(app), the parameter app represents an application and different values represent different applications. For example, the APPs in the electronic device can be recorded as app1, app2, ..., app m-1 and app m, that is, the values of the parameter app in Count(app) are app1, app2, ..., app m-1 and app m, and m is a positive integer. For example, the values of the parameter app are app1, which is used to indicate APP1 installed in the electronic device. In addition, the number of days each APP is used under all recommendation factors is recorded as count(day).
[0170] In addition, the number of times each APP is used under each recommendation factor is Count(app|s), and the number of days each APP is used under each recommendation factor is Count(app|s,day). For example, the values of the parameter s in Count(app|s) and Count(app|s,day) are s1, s2, ..., sn-1 and sn, respectively, and the values of the parameter app are app1, app2, ..., app m-1 and app m, respectively.
[0171] S902: The electronic device calculates the probability of the number of times each APP is used under each recommendation factor according to the number of times each APP is used under each recommendation factor Count(app|s) and the number of times each APP is used under all recommendation factors Count(app).
[0172] For example, the probability of the number of times each APP is recommended under each recommendation factor can be recorded as tf(app|s).
[0173] In some embodiments, referring to the following formula (1), the present application may use the ratio of the number of times each APP is used under each recommendation factor Count(app|s) to the number of times each APP is used under all recommendation factors Count(app) as the number probability of each APP under each recommendation factor:
[0174] tf(app|s)=Count(app|s) / Count(app)(1)
[0175] It can be understood that different values of parameter s in formula (1) represent different recommendation factors, and different values of parameter app represent different applications. Then, when parameter s is fixed, the value of parameter app can be modified to calculate the probability of the number of each APP under the current recommendation factor. Similarly, in formula (1), parameter s is set to another value to determine the probability of the number of each APP under other recommendation factors. For example, when parameter s represents a subway scene, the value of parameter app can be modified to calculate the probability of the number of each APP in the subway scene.
[0176] It can be understood that tf(app|s) in formula (1) is SS / ST in formula (0-1) in the previous text, that is, Count(app|s) and Count(app) are SS and ST respectively.
[0177] S903: The electronic device calculates the day probability of each APP under each recommendation factor according to the number of days each APP is used under all recommendation factors, count(day), and the number of days each APP is used under each recommendation factor, Count(app|s,day).
[0178] Among them, the probability of days for each APP under each recommendation factor can be recorded as df(app|s).
[0179] In some embodiments, referring to the following formula (2), the electronic device may use the ratio of the number of days Count(app|s, day) of use of each APP under each recommendation factor to the number of times Count(app) of use of each APP under all recommendation factors as the day probability of each APP under each recommendation factor.
[0180] df(app|s)=Count(app|s,day) / count(app)(2)
[0181] S904: The electronic device calculates the interest value of each APP under each recommendation factor according to the probability of the number of times each APP is used under each recommendation factor tf(app|s) and the probability of the number of days each APP is used under each recommendation factor df(app|s).
[0182] Among them, the interest value of each APP under each recommendation factor can be recorded as like_prob(app|s), and can be achieved by the following formula (3-1):
[0183] like_prob(app|s)=tf(app|s)*df(app|s)(3-1)
[0184] In some embodiments, in actual applications, in order to facilitate comparison of the interest values of each APP under each recommendation factor, the calculation results can be normalized. For example, the calculation formula of the interest value of each APP under each recommendation factor can be replaced by the following formula (3-2) instead of the above formula (3-1).
[0185] like_prob(app|s)=normalize(tf(app|s)*df(app|s))(3-2)
[0186] Among them, "normalize" in formula (3-2) means normalization, that is, formula (6-2) can first calculate the results of tf(app|s)*df(app|s) for each APP under each recommendation factor, and then normalize these results, for example, normalize them to values between 0 and 1.
[0187] Among them, like_prob(app|s) in the above formulas (3-1) and (3-2) is L in the previous formula (0-1).
[0188] It can be understood that the interest value of each APP under each recommendation factor in this application not only considers the number of times the APP is used, but also the number of days the APP is used. Therefore, if the number of times and the number of days an APP is used are both small, the corresponding interest value will be smaller. For example, some APPs are clicked and used on a certain day, but are not clicked on other days within a month, indicating that the relevant data of the APP is extreme data and can be used as a basis for judging the user's preference for APP. Then, the interest value calculated by the extreme data of this type of APP is small, so that this type of APP is identified as an APP that the user is not interested in in the current scenario, so as to eliminate the extreme data of this type of APP.
[0189] In this way, the application recommendation method provided by the present application comprehensively considers the number of times and days of use of the APP by the user under various recommendation factors, determines the APPs with smaller number of times and days of use under various recommendation factors, and thus determines the APPs that the user is not interested in under various recommendation factors. In this way, the APPs recommended to the user in the current scenario do not include the APPs that the user is not interested in in the scenario, so that the APPs recommended to the user are more in line with the user's actual usage needs.
[0190] Combination Fig.10 , with respect to the APP usage under the recommendation factors corresponding to the second type of fence, the process of calculating the interest value of each APP by the electronic device in the embodiment of the present application is described in detail. For example, the recommendation factors corresponding to the second type of fence can be divided into time slots according to hours, and each recommendation factor can be a scenario in which the user uses the APP at each hour of the day, such as a recommendation factor can be from 8 to 9 o'clock every day. It can be understood that in the time dimension, hours are continuous, so time interval smoothing can be used to increase the stability of interest value calculation.
[0191] like Fig.10 As shown, the above S706 may include S1001 to S1005:
[0192] S1001: The electronic device calculates the number of times each APP is used in an adjacent time interval before each recommendation factor, and calculates the number of times each APP is used in an adjacent time interval after each recommendation factor based on valid historical application usage information corresponding to multiple recommendation factors.
[0193] For example, the above recommendation factor is 8:00 to 9:00 every day, then the adjacent time interval before the recommendation factor is 7:00 to 8:00 every day, and the adjacent time interval after the recommendation factor is 9:00 to 10:00 every day.
[0194] S1002: The electronic device calculates the probability of each APP under each recommendation factor based on the number of times each APP is used under each recommendation factor, the number of times each APP is used in an adjacent time interval before each recommendation factor, and the number of times each APP is used in an adjacent time interval after each recommendation factor.
[0195] For example, in the recommendation factors corresponding to the time fence, the probability of the number of times each APP is used under each recommendation factor can be recorded as tf′(app|s), and the number of times each APP is used under each recommendation factor can be recorded as tf t (app|s), the number of times each APP is used in the adjacent time interval before each recommendation factor tf t-1(app|s) and the number of times each APP is used in the adjacent time interval after each recommendation factor tf t+1 (app|s).
[0196] In some embodiments, the probability of the number of times each APP is recommended under each recommendation factor can be implemented using the following formula (4):
[0197] tf′(app|s)=avg(tf t-1 ,tf t ,tf t+1 )=(tf t-1 (app|s)+tf t (app|s)+tf t+1 (app|s)) / 3 (4)
[0198] Here, avg in formula (4) is the average value algorithm. At this time, tf′(app|s) in formula (4) is the same as the value in formula (0-2) above, which is =((SS-T1+SS-T2+SS-T3) / 3), where SS-T1, SS-T2, and SS-T3 are tf respectively. t-1 (app|s), tf t (app|s), tf t+1 (app|s).
[0199] S1003: The electronic device calculates the number of days each APP is used in an adjacent time interval before each recommendation factor and calculates the number of days each APP is used in an adjacent time interval after each recommendation factor based on valid historical application usage information corresponding to multiple recommendation factors.
[0200] S1004: The electronic device calculates the probability of the number of days each APP is used under each recommendation factor based on the number of days each APP is used under each recommendation factor, the number of days each APP is used in an adjacent time interval before each recommendation factor, and the number of days each APP is used in an adjacent time interval after each recommendation factor.
[0201] For example, in the recommendation factors corresponding to the time fence, the probability of the number of days for each APP under each recommendation factor can be recorded as df′(app|s), and the number of days for each APP under each recommendation factor can be recorded as df t (app|s), the number of days each APP is used in the adjacent time interval before each recommendation factor df t-1 (app|s) and the number of days each APP is used in the adjacent time interval after each recommendation factor df t+1 (app|s).
[0202] In some embodiments, the probability of the number of times each APP is recommended under each recommendation factor can be implemented using the following formula (5):
[0203] df′(app|s)=avg(df t-1 ,df t ,df t+1 )=(df t-1 (app|s)+df t (app|s)+df t+1 (app|s)) / 3 (5)
[0204] Here, avg in formula (5) is the average value algorithm. At this time, df′(app|s) in formula (5) is the same as the =((DD-T1+DD-T2+DD-T3) / 3) in the previous formula (0-2), where DD-T1, DD-T2, and DD-T3 are df respectively. t-1 (app|s), df t (app|s), df t+1 (app|s).
[0205] S1005: The electronic device calculates the interest value of each APP under each recommendation factor according to the probability of the number of times each APP is used under each recommendation factor tf′(app|s) and the probability of the number of days each APP is used under each recommendation factor df′(app|s).
[0206] The interest value of each APP under each recommendation factor can be recorded as like_prob′(app|s), and can be realized by the following formula (6-1) or (6-2):
[0207] like_prob′(app|s)=tf′(app|s)*df′(app|s)(6-1)
[0208] like_prob′(app|s)=normalize(tf′(app|s)*df′(app|s))(6-2)
[0209] The description of formulas (6-1) and (6-2) can refer to Fig. 9 The description of formulas (3-1) and (3-2) in the illustrated embodiment will not be repeated here. In addition, like_prob′(app|s) in formulas (6-1) and (6-2) is L in the above formula (0-2).
[0210] Thus, the application recommendation method provided by the present application, in the scenario divided by time dimension such as hours, comprehensively considers the number of times the user uses the APP and the number of days of use under each recommendation factor to calculate the interest value of each APP, and uses time interval smoothing to increase the stability of the interest value calculation, thereby determining the APP that the user is not interested in under each recommendation factor. In this way, the APP that the user is not interested in in the current scenario is removed from the APP recommended for the user in the current scenario, so that the APP recommended to the user is more in line with the user's actual usage needs.
[0211] Next, combine Fig.11 The processing flow of historical data in this application is described in detail. The execution subject of the process can still be an electronic device. The process includes the following steps:
[0212] S1101: For the user APP click records and scene trigger records in the historical data, query the scene configuration corresponding to the historical data according to itemTypeId and scene key to obtain the storage fields sceneX and primaryKey corresponding to the recommendation factors.
[0213] Among them, each user APP click record in this application may have an itemTypeId and a time information. ItemTypeId can also be called an item category identifier. Among them, an itemTypeId is used to uniquely identify an APP click record. That is, each user APP click record is used to record the next APP clicked and used by the user at a historical moment. In addition, each scene trigger record in this application may have a scene key (that is, a scene identifier), a scene description information sceneX (such as a geographic location Geo), and a time information. Among them, a scene key is used to uniquely identify a scene. That is, each scene trigger record is used to record the next scene being triggered at a historical moment. Specifically, each user APP click record has a storage field corresponding to the itemTypeId and a storage field corresponding to the time information. In addition, each scene trigger record has a storage field corresponding to the scene key, a storage field corresponding to sceneX, and a storage field corresponding to the time information.
[0214] It can be understood that the present application can associate the scene trigger records with the same time information through the time information in the user APP click record to reflect the scene of the APP and electronic device clicked by the user in the same time period.
[0215] The primaryKey is used to indicate multiple recommendation factors, such as home, company, hospital, shopping mall, airport, railway station, expressway service area, government agency, subway, wearing headphones, car Bluetooth and other scenarios. For example, the primaryKey value of the home scenario is "home", the primaryKey value of the subway scenario is "subway", the primaryKey value of the wearing headphones scenario is "earphones", and the primaryKey value of the car Bluetooth scenario is "car-bluetooth-phone".
[0216] Then, the scene configuration in the above step S1101 refers to the scene configuration indicated by the user APP click record and the scene trigger record, and the electronic device can query the sceneX field in the scene trigger record, and determine the primaryKey indicating the recommendation factor based on each scene key, and the sceneX field corresponding to each primaryKey. That is, the above 1001 refers to the electronic device determining the primaryKey field and sceneX field corresponding to each recommendation factor from the historical data.
[0217] S1102: query data from the ofSubjectEventSet and SceneAnnotation tables of the historical data according to itemTypeId, longestDays, and sceneX, and obtain data including the fields eventTimestamp, primaryKey (packageName), and sceneX.
[0218] The longestDays mentioned above refers to the time selected by the user APP click records and scene trigger records in the historical data. For example, if longestDays is 30 days, it refers to the historical data of the most recent month.
[0219] The above-mentioned ofSubjectEventSet and SceneAnnotation table joins correspond to the user APP click records and scene trigger records in the historical data. For example, the ofSubjectEventSet table is used to represent the user APP click records, and the SceneAnnotation table is used to represent the scene trigger records in the historical data.
[0220] eventTimestamp is used to indicate time information, for example, the time information is the time information in a user APP click record, the time information in a scene trigger record, or the time information in a user APP click record and the associated time information, or the time information in one or more scene trigger records and the associated time information in a user APP click record integrated together.
[0221] In some embodiments, the primaryKey field may also include packageName, where packageName may be the name of the APP.
[0222] Thus, the data obtained in the above step S1102 including the fields eventTimestamp, primaryKey (packageName), and sceneX are the multiple historical application usage information mentioned above. Among them, each piece of historical usage information includes a field eventTimestamp for carrying information, a field primaryKey for carrying APP information and scene identifier (such as "home" corresponding to the home scene), and a field sceneX for carrying scene information (such as the geographical location of the scene).
[0223] S1103: Filter out the data where sceneX = value of the recommended factor, and calculate the number of days Count(s, day) of use of each recommended factor. If the number of days Count(s, day) of use is less than the minimum number of days validDays, the calculation ends.
[0224] In some embodiments, the above-mentioned scene value corresponds to a recommendation factor, such as a geographical location corresponding to the recommendation factor. For example, the multiple recommendation factors in the present application are scenes s1, s2, ..., sn-1 and sn, and the scene values are the geographical locations of scenes s1, s2, ..., sn-1 and sn. Then, the data filtered out with sceneX = scene value is the historical application usage information corresponding to the multiple recommendation factors. The data after filtering out the number of days of use Count(s, day) less than the minimum number of days validDays is the valid historical application usage information corresponding to the multiple recommendation factors.
[0225] S1104: Group the data in S1102 by primaryKey, calculate the number of data items in each group to obtain the number of times each APP is used under all recommendation factors Count(app), and calculate the number of data items in each group to obtain the number of days each APP is used under all recommendation factors Count(day).
[0226] Grouping the data in S1102 by primaryKey means grouping multiple historical application usage information by recommendation factors.
[0227] S1105: Group the data in S1103 by primaryKey, calculate the number of data items in each group to obtain the number of times each APP is used under each recommendation factor Count (app|s), and calculate the number of days each APP is used under each recommendation factor Count (app|s, day).
[0228] Grouping the data in S1102 by primaryKey means grouping the valid historical application usage information corresponding to multiple recommendation factors by the recommendation factors.
[0229] S1106: Calculate the interest value of each APP under each recommendation factor, filter according to the interest value threshold, and save the filtering result to the portrait table. That is, the filtering result does not include APPs whose interest value under each recommendation factor is less than the interest value threshold.
[0230] The process of calculating the interest value of each APP and filtering according to the interest value threshold can be referred to Fig. 9 and Fig.10 The relevant descriptions in the illustrated embodiments are not repeated here.
[0231] Next, refer to Fig.11 , describes the process of determining the user's preferred APP under various recommendation factors according to the second type of application recommendation strategy in this application.
[0232] S1201: The electronic device calculates the usage probability of each APP under each recommendation factor based on the usage count Count(app|s) of each APP under each recommendation factor and the usage count Count(s) of each APP under each recommendation factor in the historical time period.
[0233] For example, the usage probability of each APP under each recommendation factor can be recorded as p(app|s).
[0234] In some embodiments, the electronic device may use the number of times Count(app|s) of use of each APP under each recommendation factor and the number of times Count(s) of use of the APP under each recommendation factor as the usage probability of each APP under each recommendation factor, that is, the usage probability of each APP under each recommendation factor may be implemented by the following formula (7-1):
[0235] p(app|s)=Count(app|s) / Count(s)(7-1)
[0236] It can be understood that in formula (7-1), different values of parameter s represent different recommendation factors, and different values of parameter app represent different applications. Then, when parameter s is fixed, the value of parameter app can be modified to calculate the usage probability of each APP under the current recommendation factor. Similarly, in formula (1-1), parameter s is set to another value to determine the usage probability of each APP under other recommendation factors. For example, when parameter s represents a subway scene, the value of parameter app can be modified to calculate the usage probability of each APP in the subway scene.
[0237] It is understandable that if the amount of historical application usage information under a certain recommendation factor in the historical time period is too small, then the number of APP usage times Count(s) under each recommendation factor is too small, resulting in inaccurate calculated usage probabilities of each APP under each recommendation factor. In some embodiments, in order to improve the occurrence of this situation, the present application can calculate the Wilson probability of each APP under each recommendation factor, that is, correct the usage probability of each APP under each recommendation factor, such as by normalizing.
[0238] In some implementations, the electronic device may modify the ratio of the number of uses Count(app|s) under each recommendation factor to the number of uses Count(s) of the APP under each recommendation factor to calculate the usage probability of each APP under each recommendation factor. At this time, the usage probability of each APP under each recommendation factor is the Wilson usage probability.
[0239] In some embodiments, the probability of Wilson's use can be recorded as willson ctr (app|s), that is, willson ctr (app|s) = willson_ctr(count(s), count(app|s)). Wilson probability willson ctr (app|s) can be achieved by combining formula (7-2) and the following formula (7-3).
[0240]
[0241] p=Count(app|s) / Count(s) (7-3)
[0242] Among them, n in formula (7-2) is the number of times APP is used under each recommendation factor, that is, n is the number of samples, and z is a constant, for example, z = 1.96. In addition, the calculation of formula (7-3) is the same as that of formula (7-1), that is, p in formula (7-3) refers to the uncorrected usage probability of each APP under each recommendation factor. Generally, the smaller the value of the sample number n, the smaller the probability obtained by correction, and the larger the sample number n, the larger the probability obtained by correction, which is conducive to improving the accuracy of subsequent lift calculation.
[0243] It can be understood that as the values of parameter s and parameter app change, the Wilson usage probability of each APP under each recommendation factor can be calculated through formulas (7-2) and (7-3).
[0244] S1202: The electronic device calculates the usage probability of the APP in all scenarios according to the usage count Count(app) of each APP in all scenarios and the usage count Count(all) of the APP in all scenarios.
[0245] Among them, the probability of using APP in all scenarios can be recorded as P(app|all).
[0246] In some embodiments, the electronic device may use the ratio of the number of times each APP is used in all scenarios Count(app) to the number of times the APP is used in all scenarios Count(all) as the usage probability of each APP under each recommendation factor. At this time, the usage probability of the APP in all scenarios P(app|all) can be realized by the following formula (2-1):
[0247] p(app|all)=count(app) / count(all) (8-1)
[0248] It is understandable that in order to avoid an excessive count(app) value causing an inaccurate result of p(app|all), count(app) can be corrected to appropriately increase the value of count(app). In some embodiments, the present application can use the following formula (2-2) to calculate the usage probability P(app|all) of APP in all scenarios.
[0249]
[0250] Among them, in formula (2-2) is the penalty factor, For example, to prevent the value of count(app) from being too small, which will result in the calculation result of p(app|all) being too small, you can set The value is 5, but not limited to this.
[0251] S1203: The electronic device calculates the promotion degree of each APP under each recommendation factor according to the usage probability p(app|s) of each APP under each recommendation factor and the usage probability p(app|all) of the APP in all scenarios.
[0252] Among them, the improvement degree of each APP under each recommendation factor can be recorded as
[0253] In some embodiments, the improvement degree of each APP under each recommendation factor can be the ratio of the usage probability p(app|s) of each APP under each recommendation factor to the usage probability p(app|all) of the APP in all scenarios, which can be achieved through the following formula (3-1).
[0254]
[0255] In some embodiments, in order to facilitate comparison of the promotion degrees of different apps in actual applications, the promotion degrees may be normalized. For example, the calculation formula for the promotion degree of each app under each recommendation factor may be replaced by the following formula (3-2) instead of the above formula (3-1).
[0256]
[0257] Among them, sigmoid() in formula (4-2) refers to The value is normalized to between 0 and 1.
[0258] In some embodiments, the usage probability corresponding to each APP under each recommendation factor is the Wilson probability, and the calculation formula for the promotion degree of each APP under each recommendation factor can be replaced by the above formula (3-2) with the following formula (3-3).
[0259]
[0260] S1204: The electronic device selects the first multiple APPs clicked and used by the user in each continuous historical application usage information as an APP sequence based on multiple continuous historical application usage information under each recommendation factor within the historical time period, so as to obtain multiple APP sequences corresponding to each recommendation factor.
[0261] It can be understood that each APP sequence is a sequence composed of the first few APPs in multiple consecutive historical application usage information under a recommendation factor. Each sequence includes the first N APPs that were clicked and used under the recommendation factor, or each sequence includes multiple APPs used within the first time after entering the recommendation factor, such as the first time of 5 minutes.
[0262] In some embodiments, each continuous segment of historical application usage information is composed of a plurality of pieces of historical application usage information with continuous APP click times contained within a day.
[0263] In some embodiments, N is a preset value such as 5, indicating that the user clicks on the first 5 apps used when entering a scene.
[0264] S1205: The electronic device determines the hit probability of each APP in the multiple APP sequences corresponding to each recommendation factor according to the number of occurrences of each APP in the multiple APP sequences corresponding to each recommendation factor and the number of the multiple APP sequences corresponding to each recommendation factor.
[0265] For example, the hit probability of each APP in multiple APP sequences corresponding to each recommendation factor can be recorded as topK prop (app|s), the number of occurrences of each recommendation factor in multiple APP sequences can be recorded as count(s|appin topN), and the number of multiple APP sequences corresponding to each recommendation factor can be recorded as M(s). prop The values of the parameter s in (app|s), count(s|app in topN), and M(s) are s1, s2, ..., sn-1, and sn, respectively, indicating different scenarios. In addition, the values of the parameter app in count(s|app in topN) are app1, app2, ..., app m-1, and app m, respectively, indicating different applications.
[0266] In some embodiments, the hit probability of each APP in the multiple APP sequences corresponding to each recommendation factor can be the ratio of the number of appearances of each APP in the multiple APP sequences corresponding to each recommendation factor to the number of multiple APP sequences corresponding to the corresponding recommendation factor. For example, it can be implemented using the following formula (10).
[0267] topK prop (app|s)=count(s|app in topN) / M(s) (10)
[0268] S1206: The electronic device calculates the preference probability of each APP under each recommendation factor according to the hit probability of each APP in the multiple APP sequences corresponding to each recommendation factor and the improvement degree of each APP under each recommendation factor.
[0269] In some embodiments, the electronic device first uses the correction coefficient 2 to correct the improvement degree of each APP under each recommendation factor to obtain the corresponding correction coefficient 1, and then uses the correction coefficient 1 to multiply the hit probability of the corresponding APP in multiple APP sequences corresponding to the corresponding recommendation factor to obtain the preference probability of the APP under the recommendation factor.
[0270] For example, the preference probability of each APP under each recommendation factor can be recorded as hit prop It can be understood that the preference probability of APP1 under the recommendation factor s1 refers to the probability of APP1 being clicked and used when the electronic device just enters the recommendation factor s1, that is, enters the fence of the recommendation factor s1.
[0271] In some embodiments, the hit probability of each APP in the multiple APP sequences corresponding to each recommendation factor is implemented using the following formula (5).
[0272] hit prop (app|s)=exp(lift-0.5)*topK prop (app|s) (11)
[0273] Among them, exp(lift-0.5) in formula (5) can be used as a correction coefficient (recorded as correction coefficient 1), and 0.5 can be used as correction coefficient 2. At this time, lift can be the lift calculated according to formula (3-2) or (3-3), that is, the value range of the lift is a value between 0 and 1. Then, when lift is greater than 0.5, correction coefficient 1 is a value greater than 1, and the correction coefficient 1 can increase the corresponding hit probability topK prop (app|s) gets a larger preference probability hit prop (app|s), on the contrary, when lift is greater than 0.5, the correction factor 1 can reduce the corresponding hit probability topK prop (app|s) gets a smaller preference probability hit prop (app|s).
[0274] S1207: The electronic device sorts the APPs according to the preference probability of each recommendation factor from small to large, and uses the ratio of the ranking of each APP under each recommendation factor to the total number of APPs in the electronic device as the trigger confidence of each APP under the recommendation factor.
[0275] S1208: For each recommendation factor, an APP whose trigger confidence is greater than a trigger confidence threshold is used as an APP to be recommended under the recommendation factor.
[0276] At this time, these apps to be recommended are the apps that the user prefers to use within the first 5 minutes after entering the scene or time interval indicated by the recommendation factor, or among the first 5 apps used after entering the scene or time interval indicated by the recommendation factor.
[0277] Understandably, Fig.12 In the case where the method flow executes S1207, when a recommendation factor is entered, that is, within a period of time after the corresponding fence is triggered, the APP preferred by the user is the APP whose scene confidence under the recommendation factor is greater than the scene confidence threshold.
[0278] In some embodiments, Fig.12 In the method flow shown, S1207 may not be executed, that is, the electronic device selects the APP preferred by the user when entering each recommendation factor according to the preference probability of each APP under each recommendation factor. At this time, the APP preferred by the user when entering a recommendation factor is the APP whose preference probability under the recommendation factor is greater than the preference probability threshold.
[0279] In this way, the present application can estimate the preferred APPs when the electronic device triggers each recommendation factor through data within the historical time period, so that when the user subsequently uses the electronic device to enter the fence corresponding to each recommendation factor, the APPs that the user needs to use can be accurately recommended to the user, so as to facilitate the user to quickly use these APPs.
[0280] Next, refer to Fig.13 , the process of determining the user's preferred APP under each recommendation factor according to the first type of application recommendation strategy in this application is described, including the following steps:
[0281] S1301-S1303, and Fig.12 S1201-S1203 shown are the same and will not be repeated here.
[0282] S1304: The electronic device calculates the probability of each APP being used for each recommendation factor based on the number of days of use Count (s, day) of each recommendation factor and the number of days of use Count (app|s, day) of each APP under each recommendation factor.
[0283] The probability of using each APP for each recommendation factor can be recorded as p(app|days), which can be achieved by the following formula (3):
[0284] p(app|days)=count(app|s,day) / count(s,day) (6)
[0285] S1305: The electronic device calculates the weighted probability of each APP under each recommendation factor according to the number of times each APP is used under each recommendation factor Count (app|s) and the number of days each APP is used under each recommendation factor Count (app|s, day).
[0286] Among them, the weighted probability of each APP under each recommendation factor can be recorded as Weight_P(app|s),
[0287] In some embodiments, the electronic device may use the product of the number of times each APP is used under each recommendation factor Count(app|s) and the number of days each APP is used under each recommendation factor Count(app|s,day) as the weighted probability of each APP under each recommendation factor.
[0288] For example, the weighted probability Weight_P(app|s) of each APP under each recommendation factor can be achieved by the following formula (7-1).
[0289] Weight_P(app|s)=p(app|s)*p(app|days) (7-1)
[0290] Among them, p(app|s) in formula (7-1) can be calculated by the above formula (1-1), that is, it is realized by Count(app|s) / Count(s).
[0291] S1306: The electronic device sorts the APPs from small to large according to the weighted probability of each APP under each recommendation factor, and uses the ratio of the ranking of each APP under each recommendation factor to the total number of APPs in the electronic device as the scene confidence of each APP under the recommendation factor.
[0292] In some embodiments, in actual applications, in order to facilitate the comparison of the weighted probabilities of each APP under each recommendation factor, the calculation results can be normalized. For example, the implementation formula of the weighted probability Weight_P(app|s) of each APP under each recommendation factor can be replaced by the following formula (7-2) instead of the above formula (7-1). Prob(app|s)=normalize(Weight_P(app|s))=normalize(p(app|s)*p(app|days)) (7-2)
[0293] The word "normalize" in formula (7-2) means normalization, that is, formula (7-2) can first calculate the results of p(app|s)*p(app|days) for each APP under each recommendation factor, and then normalize these results, for example, normalize them to a value between 0 and 1. And Prob(app|s) represents the normalized weighted probability of each APP under each recommendation factor.
[0294] In some embodiments, the above “the electronic device sorts the APPs from small to large according to the weighted probability of each APP under each recommendation factor” means that the electronic device can sort the normalized weighted probabilities.
[0295] It can be understood that the weighted probability Weight_P(app|s) of the number of times each APP is used and the number of days it is used under each recommendation factor not only considers the overall number of times the APP is used, but also the number of days the APP is used. Therefore, if an APP is used a large number of times but a small number of days, the corresponding Weight_P(app|s) value will become smaller.
[0296] It can be understood that the weighted probability Weight_P(app|s) of each APP under each recommendation factor in this application not only considers the number of times the APP is used, but also the number of days the APP is used. Therefore, if an APP is used a large number of times but a small number of days, the corresponding Weight_P(app|s) value will become smaller, which will make the weighted probability and scene confidence of the APP smaller. For example, some APPs are clicked multiple times in a row on a certain day, but are not clicked on other days within a month, indicating that the relevant data of the APP is extreme data and can be used as a basis for judging the user's preferred APP. Then, the weighted probability and scene confidence calculated from the extreme data of this type of APP are small, so that this type of APP will not be judged as the user's preferred APP, which is equivalent to eliminating the extreme data of this type of APP.
[0297] S1307: For each recommendation factor, the APPs whose scene confidence is greater than the scene confidence threshold are taken as the APPs to be recommended under the recommendation factor.
[0298] At this point, these apps to be recommended are the apps that users prefer to use after the recommendation factor is triggered.
[0299] Understandably, Fig.13 When the method flow in S1306 is executed, the APP preferred by the user under a recommendation factor is an APP whose promotion degree under the recommendation factor is greater than the first threshold and whose scene confidence is greater than the corresponding scene confidence threshold.
[0300] In some embodiments, Fig.13In the method flow shown, S1306 may not be executed, that is, the electronic device selects the user's preferred APP under each recommendation factor according to the promotion degree and weighted probability of each APP under each recommendation factor. At this time, the user's preferred APP under a recommendation factor is the APP whose promotion degree under the recommendation factor is greater than the promotion degree threshold and the weighted probability is greater than the weighted probability threshold.
[0301] In this way, the application recommendation method provided by this application not only considers the promotion degree of the user's APP under each recommendation factor, that is, the user's preference for the APP under each recommendation factor, but also considers the number of times the user uses these APPs and the number of clicks per day. Therefore, it can not only ensure that the APP issued by the card is the APP that the user prefers more under the current recommendation factor (such as in the subway scene), but also ensure that the APP issued by the card has a certain operation frequency, so that the APP issued by the card is more in line with the actual operation requirements of the scene.
[0302] In some embodiments, the present application provides a readable medium having instructions stored thereon, which, when executed on an electronic device, causes the electronic device to execute the application recommendation method of the present application.
[0303] The various embodiments of the mechanism disclosed in the present application can be implemented in hardware, software, firmware or a combination of these implementation methods. The embodiments of the present application can be implemented as a computer program or program code executed on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device and at least one output device.
[0304] Program code can be applied to input instructions to perform the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, a processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application specific integrated circuit (ASIC), or a microprocessor.
[0305] Program code can be implemented with high-level programming language or object-oriented programming language to communicate with the processing system. When necessary, program code can also be implemented with assembly language or machine language. In fact, the mechanism described in this application is not limited to the scope of any specific programming language. In either case, the language can be a compiled language or an interpreted language.
[0306] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, instructions may be distributed over a network or through other computer-readable media. Therefore, machine-readable media may include any mechanism for storing or transmitting information in a machine (e.g., computer) readable form, including, but not limited to, floppy disks, optical disks, optical disks, read-only memories (CD-ROMs), magneto-optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, flash memory, or a tangible machine-readable memory for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in electrical, optical, acoustic, or other forms of propagation signals. Therefore, machine-readable media include any type of machine-readable media suitable for storing or transmitting electronic instructions or information in a machine (e.g., computer) readable form.
[0307] In the accompanying drawings, some structural or method features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be required. Instead, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. In addition, the inclusion of structural or method features in a particular figure does not mean that such features are required in all embodiments, and in some embodiments, these features may not be included or may be combined with other features.
[0308] It should be noted that the units / modules mentioned in the various device embodiments of the present application are all logical units / modules. Physically, a logical unit / module can be a physical unit / module, or a part of a physical unit / module, or can be implemented as a combination of multiple physical units / modules. The physical implementation method of these logical units / modules themselves is not the most important. The combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed by the present application. In addition, in order to highlight the innovative part of the present application, the above-mentioned device embodiments of the present application do not introduce units / modules that are not closely related to solving the technical problems proposed by the present application, which does not mean that there are no other units / modules in the above-mentioned device embodiments.
[0309] It should be noted that in the examples and description of this patent, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "including one" do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0310] Although the present application has been illustrated and described with reference to certain preferred embodiments thereof, it will be apparent to those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present application.
Claims
1. An application recommendation method, characterized in that: Applied to electronic equipment, the method comprises: Determining that the electronic device enters a first fence corresponding to a first recommendation factor; From the X applications to be recommended corresponding to the first recommendation factor, delete the applications to be recommended whose interest values are less than the interest value threshold, to obtain Y applications to be recommended; Recommending the Y recommended applications to the user, where Y is less than X; The interest value is determined based on the probability of the number of times the application is applied under the first recommendation factor within the first historical time period and the probability of the number of days the application is applied under the first recommendation factor within the first historical time period.
2. The method according to claim 1, characterized in that The interest value of the application under the first recommendation factor is calculated in the following way: Obtain a first value obtained by multiplying the probability of the number of times of each application in the first historical time period by the probability of the number of days; The M first numerical values of the M applications are normalized to obtain the interest value of each application under the first recommendation factor.
3. The method according to claim 1, characterized in that The first recommendation factor includes at least one of the following: a geographical factor and a device usage factor, and the device usage factor is used to indicate that the electronic device is connected to an external device.
4. The method according to claim 3, characterized in that The probability of the times is calculated as follows: Calculate tf(app|s)=Count(app|s) / Count(app); Among them, tf(app|s) represents the probability of the number of times the application is used under the first recommendation factor in the first historical time period, Count(app|s) represents the number of times the application is used under the first recommendation factor in the first historical time period, and Count(app) represents the number of times the application is used under multiple recommendation factors in the first historical time period.
5. The method according to claim 3 or 4, characterized in that: The day probability is calculated as follows: Calculate df(app|s) = Count(app|s,day) / count(day), where df(app|s) represents the probability of the number of days the application is used under the first recommendation factor during the first historical time period, Count(app|s,day) represents the number of days the application is used under the first recommendation factor during the first historical time period, and count(day) represents the number of days the application is used under multiple recommendation factors during the first historical time period.
6. The method according to claim 1, characterized in that The first recommendation factor includes a time factor, and the time factor of the first recommendation factor corresponds to a first time period in a day.
7. The method according to claim 6, characterized in that The probability of the times is calculated as follows: Calculate tf′(app|s)=avg(tf t-1 ,tf t ,tf t+1 ),in, tf′(app|s) represents the probability of the number of applications under the first recommendation factor in the first historical period, tf t-1 represents the number of times the application is used in a second time period before and adjacent to the first time period during the first historical time period, tf t represents the number of times the application was used in the first historical time period, tf t+1 It indicates the number of times the application is used in a third time period that is adjacent to and after the first time period during the first historical time period; avg() indicates an average operation, and the first time period, the second time period, and the third time period are all the same in length.
8. The method according to claim 7, characterized in that The day probability is calculated as follows: Calculate df′(app|s)=avg(df t-1 ,df t ,df t+1 ),in, df′(app|s) represents the probability of the number of days applied under the first recommendation factor in the first historical period, df t-1 represents the number of days during the first historical time period that the application was used in a second time period that is before and adjacent to the first time period, df t Indicates the number of days the application was used during the first historical period. t+1 It indicates the number of days during which the application is used in a third time period that is adjacent to and after the first time period during the first historical time period; avg() indicates an average operation, and the first time period, the second time period, and the third time period are all the same in length.
9. The method according to claim 1, characterized in that: The method further comprises: It is determined that the number of days that the first recommendation factor appears in the first historical time period is greater than the first day.
10. The method according to any one of claims 1 to 9, characterized in that The promotion degree of the X applications to be recommended under the first recommendation factor is greater than the promotion degree threshold; The application's lift under the first recommendation factor is calculated in the following way: Calculate p=Count(app|s) / Count(s), where p is the probability of using the application under the first recommendation factor in the first historical time period, Count(app|s) represents the number of times the application is used under the first recommendation factor in the first historical time period, and Count(s) represents the number of times multiple applications are used under the first recommendation factor in the first historical time period; calculate Among them, willson ctr (app|s) represents the modified usage probability of the application under the first recommendation factor in the first historical time period, n is the number of times multiple applications under the first recommendation factor are used in the first historical time period, and z is a constant; calculate in, represents the promotion degree of the application under the first recommendation factor, and p(app|all) represents the ratio of the number of times the application is used under multiple recommendation factors in the first historical time period to the number of times multiple applications are used under multiple recommendation factors in the first historical time period.
11. The method according to claim 10, characterized in that The weighted probabilities of the X applications to be recommended under the first recommendation factor are greater than a weighted probability threshold; Furthermore, the weighted probability applied to the first recommendation factor is calculated in the following manner: Calculate p(app|s)=Count(app|s) / Count(s), where p(app|s) is the probability of using the application under the first recommendation factor in the first historical time period, Count(app|s) represents the number of times the application is used under the first recommendation factor in the first historical time period, and Count(s) represents the number of times multiple applications are used under the first recommendation factor in the first historical time period; Calculate p(app|days)=count(app|s,day) / count(s,day), where p(app|days) represents the probability of the number of days the application is used under the first recommendation factor, count(app|s,day) represents the number of days the application is used under the first recommendation factor in the first historical time period, and count(s,day) represents the number of days multiple applications are used under the first recommendation factor in the first historical time period; Calculate Weight_P(app|s)=normalize(p(app|s)*p(app|days)), where Weight_P(app|s) represents the weighted probability of the application under the first recommendation factor, and normalize() represents normalization processing.
12. The method according to claim 11, characterized in that A first confidence level of the X applications to be recommended under the first recommendation factor is greater than a first confidence level threshold; The first confidence level applied to the first recommendation factor is calculated in the following manner: sorting, according to weighted probabilities of multiple applications under the first recommendation factor from small to large, the multiple applications including the application; A ratio of a ranking of the application among the multiple applications under the first recommendation factor to the total number of applications in the electronic device is calculated, and the ratio is used as a first confidence level of the application under the first recommendation factor.
13. The method according to claim 1, characterized in that The recommending the Y applications to be recommended to the user includes: Recommending a first application among the X applications to be recommended to a user within a fourth time period after the electronic device enters the first fence; After a fourth time period after the electronic device enters the first fence, a second application among the X to-be-recommended applications recommended to the user is displayed.
14. The method according to claim 13, characterized in that The preference probability of the first application under the first recommendation factor is greater than a preference probability threshold; and The preference probability applied under the first recommendation factor is calculated in the following way: Calculate p=Count(app|s) / Count(s), where p is the probability of using the application under the first recommendation factor in the first historical time period, Count(app|s) represents the number of times the application is used under the first recommendation factor in the first historical time period, and Count(s) represents the number of times multiple applications are used under the first recommendation factor in the first historical time period; calculate Among them, willson ctr (app|s) represents the modified usage probability of the application under the first recommendation factor in the first historical time period, n is the number of times multiple applications under the first recommendation factor are used in the first historical time period, and z is a constant; calculate in, represents the promotion degree of the application under the first recommendation factor, p(app|all) represents the ratio of the number of times the application is used under multiple recommendation factors in the first historical time period to the number of times multiple applications are used under multiple recommendation factors in the first historical time period; Acquire multiple application sequences corresponding to the first recommendation factor, each application sequence including applications used in a fourth time period after each entry into the first recommendation factor in the first historical time period, or each application sequence including first N applications used after each entry into the first recommendation factor in the first historical time period, where N is a positive integer; Calculate topK prop (app|s)=count(s|app in topN) / M(s), where topK prop (app|s) represents the hit probability of an application in the multiple application sequences corresponding to the first recommendation factor within the first historical time period, count(s|app in topN) represents the number of occurrences of the application in the multiple application sequences corresponding to the first recommendation factor, and M(s) represents the number of multiple application sequences corresponding to the first recommendation factor; Calculating hits prop (app|s)=exp(lift-0.5)*topK prop (app|s), wherein lift represents the improvement of the application under the first recommendation factor, and exp() represents exponential operation.
15. The method according to claim 14, characterized in that A second confidence level of the first application under the first recommendation factor is greater than a second confidence level threshold; The second confidence level applied to the first recommendation factor is calculated in the following manner: sorting a plurality of applications according to the preference probability of the first recommendation factor from small to large, the plurality of applications including the application; A ratio of a ranking of the application among the multiple applications under the first recommendation factor to the total number of applications in the electronic device is calculated, and the ratio is used as a second confidence level of the application under the first recommendation factor.
16. The method according to claim 13, characterized in that The promotion degree of the second application is greater than a promotion degree threshold.
17. The method according to any one of claims 1 to 16, characterized in that The Y recommended applications corresponding to the first recommendation factor recommended to the user are displayed in an application suggestion card of the electronic device.
18. A readable medium, characterized in that The readable medium stores instructions, which, when executed on an electronic device, enable the electronic device to execute the application recommendation method according to any one of claims 1 to 17.
19. An electronic device, characterized in that: include: A memory, used to store instructions executed by one or more processors of an electronic device, and a processor, which is one of the processors of the electronic device, used to execute the application recommendation method described in any one of claims 1 to 17.