Information recommendation method and device and electronic equipment

By obtaining the login information of multiple users' applications, generating data models and adjusting the k-means clustering analysis method, the problem of user behavior feature recognition errors is solved, and more accurate information recommendation and marketing effects are achieved.

CN119271877APending Publication Date: 2025-01-07CHINA MOBILE INTERNET CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411235067.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

The prior art is difficult to accurately identify the user's behavioral characteristics during the user login and registration process, resulting in errors in information recommendation and unable to effectively achieve marketing purposes.

Method used

By obtaining the login information of multiple applications of the user within the preset time period, generating a data model, adjusting the k-means clustering analysis method to divide the user into cluster clusters, and sending matching recommended information according to the cluster center distance.

Benefits of technology

It improves the scientificity and accuracy of clustering results, realizes intelligent recommendation marketing, overcomes the shortcomings of clustering algorithms brought about by uneven distribution of feature data, and provides more reasonable user behavior analysis and marketing push.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119271877A_ABST
    Figure CN119271877A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an information recommendation method and device and electronic equipment. The information recommendation method comprises the following steps: acquiring a data set containing related information that different users log in a plurality of applications within a preset time period; a plurality of data models are generated according to related information corresponding to users in the data set, and the types of applications in the same data model are the same; determining an adjustment strategy for adjusting the distance between a user and the cluster center of each cluster in the k-means clustering analysis method according to the distribution condition of the feature data determined from the related information in the data model, and adjusting the k-means clustering analysis method by using the adjustment strategy; based on the adjusted k-means clustering analysis method, for each data model, dividing the users involved in the data model into k clustering clusters according to the distance between the user and each cluster center; and sending recommendation information matched with the cluster to which the user belongs to to the user involved in the data set.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This document belongs to the field of data processing technology, and specifically relates to a method, device and electronic equipment for information recommendation. Background Art

[0002] With the popularity of mobile applications, logging in and registering mobile applications (APPs) has become a frequent occurrence in the daily lives of Internet users. Through the mobile authentication software development kit (SDK) capability application platform, the user's mobile phone number can be obtained to implement one-click login and registration related functions. APP applications on the market only need to access the mobile authentication one-click login capability to conveniently and quickly implement user login and registration; after years of promotion and popularization, the mobile authentication application capability has been used by hundreds of millions of mobile operator users.

[0003] During the login and registration process of hundreds of millions of users, the mobile authentication number database will store the logs (including relevant information of users who log in to the APP using the mobile authentication capability, etc.). Over time, a large amount of user data will accumulate in the mobile authentication number database. Without infringing on user privacy, relevant marketing service information can be pushed to users by obtaining information such as the frequency of users using the APP. However, in this process, simply relying on the user's login frequency to distinguish user behavior cannot accurately identify the user's true behavioral characteristics, and there is a certain amount of error in identification. Therefore, it is necessary to provide a better information recommendation solution to achieve the purpose of promoting marketing. Summary of the invention

[0004] The embodiments of the present specification provide a method, device and electronic device for information recommendation, so as to provide a solution for information recommendation.

[0005] In a first aspect, an embodiment of the present specification provides a method for information recommendation, the method comprising: obtaining a data set containing relevant information of different users logging into multiple applications within a preset time period, the relevant information including at least information on the number of times the user logs into the application; generating multiple data models based on the relevant information corresponding to the users in the data set, the types of applications in the same data model being the same; determining an adjustment strategy for adjusting the distance between the user and the cluster centers of each cluster in a k-means clustering analysis method based on the distribution of feature data determined from the relevant information in the data model, and adjusting the k-means clustering analysis method using the adjustment strategy; based on the adjusted k-means clustering analysis method, for each of the data models, dividing the users involved in the data model into k clusters based on the distance between the user and the cluster centers; and sending recommendation information matching the cluster to which the user belongs to the users involved in the data set.

[0006] In a second aspect, an embodiment of the present specification provides an information recommendation device, comprising: a data acquisition module, used to acquire a data set containing relevant information of different users logging into multiple applications within a preset time period, the relevant information including at least information on the number of times the user logs into the application; a data model module, used to generate multiple data models based on the relevant information corresponding to the users in the data set, and the types of applications in the same data model are the same; a strategy adjustment module, used to determine an adjustment strategy for adjusting the distance between the user and the cluster centers of each cluster in the k-means clustering analysis method based on the distribution of feature data determined from the relevant information in the data model, and use the adjustment strategy to adjust the k-means clustering analysis method; a user clustering module, used to divide the users involved in the data model into k clusters based on the distance between the user and the cluster centers for each data model based on the adjusted k-means clustering analysis method; an information recommendation module, used to send recommendation information matching the cluster to which the user belongs to the users involved in the data set.

[0007] In a third aspect, an embodiment of the present specification provides an electronic device, which includes: a processor, and a memory arranged to store computer executable instructions, which, when the executable instructions are executed, enables the processor to: obtain a data set containing relevant information of different users logging into multiple applications within a preset time period, the relevant information at least including information on the number of times the user logs into the application; generate multiple data models based on the relevant information corresponding to the users in the data set, and the types of applications in the same data model are the same; determine an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster cluster in the k-means cluster analysis method based on the distribution of feature data determined from the relevant information in the data model, and use the adjustment strategy to adjust the k-means cluster analysis method; based on the adjusted k-means cluster analysis method, for each of the data models, divide the users involved in the data model into k cluster clusters according to the distance between the user and the cluster center; and send recommendation information matching the cluster cluster to which the user belongs to the users involved in the data set.

[0008] In a fourth aspect, an embodiment of the present specification provides a storage medium for storing a computer program, which can be executed by a processor to implement the following process: obtaining a data set containing relevant information of different users logging into multiple applications within a preset time period, the relevant information at least including information on the number of times the user logs into the application; generating multiple data models based on the relevant information corresponding to the users in the data set, and the types of applications in the same data model are the same; determining an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means clustering analysis method based on the distribution of feature data determined from the relevant information in the data model, and adjusting the k-means clustering analysis method using the adjustment strategy; based on the adjusted k-means clustering analysis method, for each of the data models, the users involved in the data model are divided into k clusters according to the distance between the user and the cluster center; and sending recommendation information matching the cluster to which the user belongs to the users involved in the data set.

[0009] In a fifth aspect, an embodiment of the present specification provides a computer program product, comprising a computer program, which implements the following process when executed by a processor: obtaining a data set containing relevant information of different users logging into multiple applications within a preset time period, the relevant information at least including information on the number of times the user logs into the application; generating multiple data models based on the relevant information corresponding to the users in the data set, and the types of applications in the same data model are the same; determining an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means clustering analysis method based on the distribution of feature data determined from the relevant information in the data model, and adjusting the k-means clustering analysis method using the adjustment strategy; based on the adjusted k-means clustering analysis method, for each of the data models, dividing the users involved in the data model into k clusters according to the distance between the user and the cluster center; and sending recommendation information matching the cluster to which the user belongs to the users involved in the data set.

[0010] In the embodiments of this specification, multiple data models are generated based on the relevant information in the acquired data set, and then the adjustment strategy for the k-means clustering analysis method is determined based on the distribution of the feature data corresponding to the data model, and the data model is divided using the adjusted k-means clustering analysis method, and the recommended information sent to the user is determined based on the clustering cluster to which the user belongs. This process combines the scenario of mobile terminal users using applications, and adjusts the k-means clustering analysis method based on the distribution of the feature data corresponding to the data model, which helps to overcome the shortcomings of the clustering algorithm caused by the uneven distribution of feature data, making the clustering results more scientific and reasonable, and thus facilitating intelligent recommendation marketing. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] In order to more clearly illustrate one or more embodiments of this specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in one or more embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0012] Figure 1 It is a flowchart of a method for information recommendation provided by an embodiment of this specification;

[0013] Figure 2 This is a flowchart of a process for obtaining application login information provided by an embodiment of this specification;

[0014] Figure 3 This is a system interaction diagram of a process of obtaining application login information provided by an embodiment of this specification;

[0015] Figure 4 It is a trend diagram of a type of weight coefficient provided in an embodiment of this specification.

[0016] Figure 5 It is a trend diagram of a time weight coefficient provided in an embodiment of this specification;

[0017] Figure 6 It is a schematic diagram for comparing the results of classifying a two-dimensional data model provided in an embodiment of this specification;

[0018] Figure 7 This is a schematic diagram of a province-by-province push provided in an embodiment of this specification;

[0019] Figure 8 It is a structural schematic diagram of an information recommendation device provided in an embodiment of this specification;

[0020] Fig. 9 It is a structural diagram of an electronic device provided in an embodiment of this specification. DETAILED DESCRIPTION

[0021] The following will be combined with the drawings in the embodiments of this specification to clearly and completely describe the technical solutions in the embodiments of this specification. Obviously, the described embodiments are part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this document.

[0022] The terms "first", "second", etc. in the specification and claims of this document are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of this specification can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally of the same type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims means at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.

[0023] The information recommendation method, device and electronic device provided in the embodiments of this specification are described in detail below with reference to the accompanying drawings through specific embodiments and their application scenarios.

[0024] Figure 1 An information recommendation method provided by an embodiment of the present invention is shown. The method can be executed by an electronic device, and the electronic device may include: a server and / or a terminal device, wherein the terminal device may be, for example, a vehicle-mounted terminal or a mobile phone terminal. In other words, the method can be executed by software or hardware installed in the aforementioned electronic device, and the information recommendation method includes the following steps:

[0025] Step S102: Acquire a data set containing relevant information of different users logging into multiple applications within a preset time period.

[0026] The relevant information is the relevant data of user login applications accumulated during the mobile authentication process, and the relevant information includes at least the number of times the user logs into the application. In this way, each record in the data set can be the number of times the user logs into various applications within a certain period of time. For example, the data set records that the user logs into life applications 50 times, social applications 8 times, and financial applications 5 times within a certain period of time. In order to better recommend information that matches the user's behavior to the user, the relevant information can be collected in months, years, etc. as the unit time for collection.

[0027] In addition to the frequency information, the related information may also include the user's identification information (such as phone number, etc.), the time when the user uses the application, the user's location information, the type of application, etc. This specification does not specifically limit the related information of users and applications in the data set, which can be determined according to actual conditions.

[0028] Step S104: Generate multiple data models according to the relevant information corresponding to the users in the data set.

[0029] Among them, the data model is the organization form of related information. Since different users use different types of applications, for example, some users may only use life applications, some users may only use social applications, some users may only use financial applications, and some users may use all three types of applications. Therefore, in order to facilitate the classification of users, in one example, multiple data models can be generated based on the types of applications used by users. The types of applications in the same data model are the same (it should be understood that the number of types contained in the data model is also the same), so that different user types can be determined for different data models. Specifically, the various applications used by users can be counted separately, and then the relevant information corresponding to the same type of applications (such as the number of logins, etc.) can be merged to obtain multiple data models.

[0030] Step S106: Determine an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method according to the distribution of the feature data determined from the relevant information in the data model, and use the adjustment strategy to adjust the k-means cluster analysis method.

[0031] Step S108: Based on the adjusted k-means clustering analysis method, for each of the data models, the users involved in the data model are divided into k clusters according to the distance between the user and each cluster center.

[0032] The characteristic data is data extracted from the relevant information of the data model. For example, if the relevant data contains multiple applications, the number of each type of application can be extracted as characteristic data; if the relevant data contains login status of different applications, the number of logins corresponding to each type of application can be extracted as characteristic data.

[0033] Cluster analysis is a process of exploring data grouping, which can make data objects in the same group have high similarity, while data objects in different groups have low similarity. Clustering samples (such as records in a data set) are generally not labeled in advance. Users use clustering algorithms to segment their unlabeled raw data into several expected categories to facilitate subsequent intelligent recommendations and marketing.

[0034] The k-means clustering analysis method is an unsupervised learning clustering algorithm with the following algorithmic features: (1) The square of the Euclidean distance is used to represent the distance or similarity between samples, and the center or the mean of the sample is used to represent the category; (2) The sum of the distances between the sample and the center of the class to which it belongs is used as the optimization objective function, and the obtained categories are flat and non-hierarchical; (3) The algorithm is an iterative algorithm, and the effect is better after multiple iterations. Among them, the Euclidean distance formula is:

[0035]

[0036] Wherein, Distance(·) is used to represent the distance between element x and element y, i is the data dimension of element x and element y, i∈1,2,…,n.

[0037] The steps of the traditional k-means clustering analysis method are: Step 1: randomly select k points as center points; Step 2: calculate the distance between each point and each center point, and put a point in the group (cluster) where the center point is closest to (that is, the nearest neighbor classification method); Step 3: re-find the center point in each group based on the mean vector; Step 4: Repeat steps 2 to 3 until the iteration ends.

[0038] If the observation set (X 1 ,X 2 ,…,X n ), the cluster is (C 1 ,C 2 ,…,C k ), where each observation is a d-dimensional real vector. The k-means clustering analysis method divides these n observation elements into k sets (k≤n) so that the sum of squares within the group is minimized. In other words, its goal is to find a cluster S (i.e., the cluster after the iteration) that satisfies the following formula. The specific formula is as follows:

[0039]

[0040] Among them, S i Represents the minimum value of the sum of distances between all elements in the cluster and the cluster center, μ i represents the cluster center of the cluster, x represents the element in the cluster, i∈k, k represents the number of clusters.

[0041] The calculation formula of the cluster center (center of mass) of the cluster is shown in Formula 3:

[0042]

[0043] Among them, C i represents the i-th cluster, μ i Represents cluster C i The cluster center, x represents the cluster C i Each element in C j Represents cluster C i The number of elements in .

[0044] In a data model, the uneven distribution of relevant information will affect the accuracy of the results of using the k-means clustering analysis method to classify the users involved in the data model, and then recommend inappropriate marketing information to the users. For example, a user logs into lifestyle apps 50 times, social apps 8 times, and financial apps 5 times in a certain period of time. Simply judging a user's characteristics and attributes based on the ratio of 50:8:5 and then recommending relevant marketing information to the user is a rough recommendation method that lacks relevant scientificity.

[0045] Specifically, the application types of APPs are divided into "life and entertainment", "financial management" and "social travel", but the number of APPs covered in each of the three application types is not the same. There may be a problem that a certain application type contains more APPs, and a certain application type contains fewer APPs. In the process of statistical calculation, the number of APPs contained in one application type will be different, resulting in huge differences in statistical results. For example, assuming that the number of APPs contained in the application type "life and entertainment" is 50, and the number of APPs contained in the application type "financial management" is 10, then in the process of statistical calculation, even if each APP is only logged in once, the probability that the user is biased towards the "life and entertainment" characteristic group will increase.

[0046] Therefore, in the process of clustering users involved in a data set using the k-means clustering analysis method, uneven distribution of feature data will affect the accuracy of determining the group to which the user actually belongs, and the k-means clustering analysis method determines the user's belonging by the distance between the user and the cluster center. In one example, the unevenly distributed feature data can be determined from the relevant information contained in the data model, and then the adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means clustering analysis method can be determined. Specifically, different feature data correspond to different adjustment strategies, see the subsequent embodiments for details.

[0047] Further, the k-means cluster analysis method can be adjusted according to the adjustment strategy to obtain an adjusted k-means cluster analysis method, and the adjusted k-means cluster analysis method can be combined with the nearest neighbor classification method to divide the users involved in each data model into k clusters. The value of k is not specifically limited in this specification and can be determined according to actual conditions.

[0048] Step S110: Sending recommendation information matching the cluster to which the user belongs to the user involved in the data set.

[0049] After the divided clusters are obtained, the recommendation information corresponding to each cluster can be determined, and then the recommendation information corresponding to the cluster can be sent to the user. The recommendation information can be application recommendation, product recommendation, etc., and this specification does not specifically limit the content of the recommendation information.

[0050] In the embodiments of this specification, multiple data models are generated based on the relevant information in the acquired data set, and then the adjustment strategy for the k-means clustering analysis method is determined based on the distribution of the feature data corresponding to the data model, and the data model is divided using the adjusted k-means clustering analysis method, and the recommended information sent to the user is determined based on the clustering cluster to which the user belongs. This process combines the scenario of mobile terminal users using applications, and adjusts the k-means clustering analysis method based on the distribution of the feature data corresponding to the data model, which helps to overcome the shortcomings of the clustering algorithm caused by the uneven distribution of feature data, making the clustering results more scientific and reasonable, and thus facilitating intelligent recommendation marketing.

[0051] In one implementation, obtaining a data set containing relevant information about different users logging into multiple applications within a preset time period includes:

[0052] Get application login information of multiple users within a preset time period;

[0053] Using the user's identification information as a search index, grouping and counting the application login information to obtain the number of logins of the same user into different applications;

[0054] The number of login times is divided based on preset application types to obtain a data set containing relevant information of different users logging into multiple applications.

[0055] The application login information is the information generated when a user logs into an application. Figure 2 and Figure 3 The flowchart and system interaction diagram of the process of obtaining application login information are shown respectively. Figure 2 and Figure 3 As shown, the process of obtaining application login information can be: the mobile authentication SDK capability is implanted into each APP application, and the user uses the APP to log in and register. At the same time, the mobile authentication SDK collects the user's login mobile phone number, the user's login and registered APP information, the province to which they belong, the login time and other application login information during operation, and stores the collected information in the database. Among them, the mobile phone number can be used as the user's identification information.

[0056] Table 1 shows the data table field attributes. In the data table settings of the database, a total of five fields are set, including phone number, login APP, user login time, user's province, registration / login, etc. The user's application login information is stored through the set fields. Among them, no unique index is set, that is, each time the same user logs in to each APP, a record will be generated, and there is no limit on the user's login times and login time.

[0057] Table 1

[0058]

[0059]

[0060] According to the aforementioned data accumulation process, after a period of data precipitation, a certain amount of user login information is formed. Based on the existing amount of data in the database, the user's mobile phone number (i.e. user identification information) is used as the search index, and the application login information is grouped and counted with "login APP" as the dimension, and the number of logins of the same mobile phone number to different APPs is obtained, forming Dataset-1. The table data is shown in Table 2:

[0061] Table 2

[0062] Field 1 Field 2 Field three telephone number Log in to the app Number of logins to the app

[0063] After the users involved in the data set use their mobile phones for a period of time, a certain amount of user information will be generated. In order to recommend information that matches the user's behavior to the user, user information can be collected on a yearly basis.

[0064] The same operation process as above can be used to take the user's mobile phone number as the search index, and the application login information can be grouped and counted based on the "user's province" dimension to obtain the number of logins in different provinces using the same mobile phone number, forming Dataset-2. The table data is shown in Table 3:

[0065] Table 3

[0066] Field 1 Field 2 Field three telephone number User's province Number of times users log in in this province

[0067] Based on the above data set-1, this solution can divide the APPs appearing in the data storage into three categories: "life entertainment", "financial management" and "social travel", as shown in Table 4:

[0068] Table 4

[0069] Type 1 Type 2 Type 3 Application APP Lifestyle and Entertainment Financial Management Social travel

[0070] The data table of the number of times users log in to related apps in Dataset-1 is merged with the APP type classification table (i.e. the preset application type), and then further subdivided according to the APP type as the dimension to form a data table with the user's mobile phone number as the main body and the three major types as the dimensions, as shown in Table 5 (to facilitate subsequent modeling operations, the relevant data sets are initialized here, unit: thousand):

[0071] Table 5

[0072] Lifestyle and Entertainment Financial Management Social travel The user's type User 1 20 40 50 User 2 40 60 70 ... User N 80 30 20

[0073] After the above data preprocessing, a data set is initially formed, which contains records of relevant information of different users logging into multiple types of applications, which is convenient for subsequent calculations.

[0074] In one implementation, generating multiple data models according to the relevant information corresponding to the user in the data set includes:

[0075] Based on the type and quantity of applications logged in by the same user in the data set, the data set is divided into multiple sub-data sets, and the type and quantity of applications corresponding to the user in the same sub-data set are the same;

[0076] A plurality of the data models are generated according to the relevant information corresponding to the users in each sub-data set.

[0077] Since different users use different types and quantities of applications, users who log in to the same type and quantity in the data set may be first grouped together to obtain multiple sub-data sets, and then a data model may be generated for each sub-data set.

[0078] Specifically, for a data set containing three categories, namely "life and entertainment", "financial management" and "social travel", we can first filter out a one-dimensional state feature set. In this set, only one column of the application type involved has data, and the data of the other two columns of application types are empty. The following table shows that the application type filtered out is only life and entertainment:

[0079] Table 6

[0080] Lifestyle and Entertainment Financial Management Social travel user n 0 0

[0081] When this type of user is coded, the user code is "user_n_0_0" (X). Since the data of the other two types of codes are empty, only one-dimensional data is retained when generating the data model. As shown in Table 6 above, this group of users belongs to the group of users in the "life and entertainment" category.

[0082] Secondly, the user groups with two-dimensional data are screened out, that is, two of the three application types mentioned above have data, and the rest do not have data, as shown in Table 7:

[0083] Table 7

[0084] Lifestyle and Entertainment Financial Management Social travel user n m 0

[0085] When this type of user is coded, the user code is "user_n_m_0" (X, Y). Since the data of one of the application types is empty, the generated data model is a two-dimensional data model.

[0086] After the above data screening, the remaining data sets are groups with data parameters for the above three application types, which are encoded as "user_n_m_p" (X, Y, Z), as shown in Table 8:

[0087] Table 8

[0088] Lifestyle and Entertainment Financial Management Social travel user n m p

[0089] After completing the above coding classification, the user group can be initially divided into three-dimensional data model classification to achieve basic differentiation. On this basis, the users involved in each data model can be clustered to determine the user type.

[0090] In one implementation, the distribution status includes the distribution status of the number of applications of different types of applications, and the determining, based on the distribution status of the feature data determined from the relevant information in the data model, an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method includes:

[0091] When the difference between the number of applications corresponding to any two types of applications exceeds a first threshold, determining a type weight coefficient of each type of application according to the number of applications corresponding to each type of application in the data set;

[0092] The type weight coefficient is used as a coefficient for calculating the distance between the user and the cluster center corresponding to the type weight coefficient, so as to determine the adjustment strategy.

[0093] Specifically, when the number of applications of different types is not much different, the difference between the number of applications corresponding to different types of applications has little effect on the clustering result of the user; when the number of applications of different types is greatly different, the difference between the number of applications corresponding to different types of applications has a greater impact on the clustering result of the user. In one example, a first threshold can be set. When there is a large difference in the number of applications corresponding to one type of application and other types of applications in the data model, the number of applications is used as feature data, and the type weight coefficient is determined according to the distribution of the number of applications. The adjustment strategy for adjusting the k-means clustering analysis method is set by the type weight coefficient.

[0094] As mentioned above, when there are a large number of applications of a certain type, even if the user does not log in to this type of application many times, the probability that the user will tend to use this type of application will still be increased during the clustering process. Therefore, the feature data corresponding to the relevant information can be set to the number of applications. Based on the number of applications, the type weight coefficient can be determined to adjust the distance between the user and the cluster center. Specifically, when calculating the distance between a user and a cluster center, the type weight coefficient corresponding to the cluster center can be multiplied by the distance between the user and the cluster center obtained by the initial k-means clustering analysis method to obtain the adjusted distance between the user and the cluster center. The formula for calculating the distance between two elements using the type weight coefficient is as follows:

[0095]

[0096] Where Q is the type weight coefficient, Distance' is the distance between element x and element y adjusted using the type weight coefficient, i is the dimension of elements x and y, i∈1,2,…,n.

[0097] Since the larger the number of applications, the greater the probability that the user prefers the user group of this type of application, therefore, in the process of determining the type weight coefficient, the number of applications can be inversely proportional to the distance between the user and the cluster center. In one implementation, when the difference between the number of applications corresponding to any two types of applications exceeds the first threshold, the type weight coefficient of each type of application is determined according to the number of applications corresponding to each type of application in the data set, including:

[0098] When the difference between the number of applications corresponding to any two types of applications exceeds a first threshold, determining a ratio between the number of applications and the frequency information corresponding to each type of application in the data set, and obtaining a first ratio corresponding to each type of application;

[0099] According to the first ratio corresponding to each type of application, a type weight coefficient of each type of application is obtained.

[0100] The ratio of the number of logins to the number of applications of the same type can better reflect the impact of the number of applications on clustering. Therefore, the type weight coefficient can be determined according to the following formula 5:

[0101]

[0102] Where N represents the number of logins corresponding to this type of application, Num represents the number of applications included in this type of application, θ represents a fixed probability factor, which ranges from (0,2] and is used to adjust the parameter P, and Q represents the type weight coefficient, which ranges from (0,1).

[0103] It can be seen from Formula 5 that when the value of P is larger, the clustering result is less affected by the number of applications. At this time, the group to which the user actually belongs is more accurate, Q is smaller, the type weight coefficient is reasonable, and the distance from the user to the cluster center of this type in the data model is also shortened, and the data converges; when the value of P is smaller, the clustering result is more affected by the number of applications. At this time, there is a serious deviation between the user and the user group to which he actually belongs, Q is larger, and the distance from the user to the cluster center of this type in the time model is also expanded. The type weight coefficient needs to be used to adjust the distance in the k-means clustering analysis method. Figure 4 The trend graph of the type weight coefficient is shown in Figure 4 Medium θ = 1.7.

[0104] In one implementation, the distribution status includes the distribution status of the number of login times of different types of applications, and the adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method according to the distribution status of the feature data determined from the relevant information in the data model includes:

[0105] When the difference between the number of times the user uses the same type of application in two adjacent time periods exceeds a second threshold, determining a time weight coefficient according to the number of logins corresponding to each type of application in the previous time period of the two adjacent time periods;

[0106] The time weight coefficient is used as a coefficient for calculating the distance between the user and the cluster center corresponding to the time weight coefficient, so as to determine the adjustment strategy.

[0107] The time period can be set to month or year, and two adjacent time periods are two adjacent months or two adjacent years.

[0108] As time goes by, the historical data of some users may no longer be applicable to the latest marketing plans. For example, after the user registers his / her information, the type of application used by the user one year ago and one year later is likely to change. This means that the user's interest has shifted, and the authenticity of the data accumulated by the user one year ago is no longer of reference value. At this time, it is necessary to introduce a historical data disruption mechanism for adjustment to adapt to new business scenarios and better fit the user group type.

[0109] In one example, a second threshold can be preset, and when the difference between the number of times the same type of application is used in two adjacent time periods exceeds the second threshold, a historical data disruption mechanism is introduced. Specifically, the historical data disruption mechanism can be to set a time weight coefficient based on the number of logins corresponding to each type of application in the previous time period between the two time periods, and then determine the adjustment strategy based on the time weight coefficient. The formula for calculating the distance between two elements using the time weight coefficient is as follows:

[0110]

[0111] Among them, Q t is the time weight coefficient, "Distance" is the distance between element x and element y after adjustment using the time weight coefficient, and i is the dimension of elements x and y.

[0112] In one implementation, when the difference between the number of times the user uses the same type of application in two adjacent time periods exceeds a second threshold, determining the time weight coefficient according to the number of logins corresponding to each type of application in the previous time period of the two adjacent time periods includes:

[0113] When the difference between the number of times the user uses the same type of application in two adjacent time periods exceeds a second threshold, determine the ratio between the total number of login times in two adjacent time periods and the number of login times in the previous time period for each type of application in the data model, and obtain a second ratio corresponding to each type of application;

[0114] According to the second ratio corresponding to each type of application, a type weight coefficient of each type of application is obtained.

[0115] Among them, the second ratio is the proportion of the number of logins applied in the previous time period between two adjacent time periods. Since the greater the proportion of the number of logins applied in the previous time period between two adjacent time periods, the greater the possibility of the user's interest direction shifting, therefore, in the process of determining the type weight coefficient, the second ratio is inversely proportional to the distance between the user and the cluster center corresponding to the second ratio. For example, the distance between the user and the cluster center obtained by the k-means clustering analysis method can be multiplied by the second ratio, the square of the second ratio, the square root of the second ratio, etc., to obtain the new distance between the user and the cluster center corresponding to the second ratio. Specifically, when the cumulative data time corresponding to the user exceeds one year, the time weight coefficient can be determined according to the second ratio as shown in the following formula 7:

[0116]

[0117] Among them, Q t Represents the time weight coefficient, ranging from (0,1), N trepresents the number of logins of the application in the previous time period, P t is the probability of the proportion of the number of logins of the application in the previous time period in two adjacent time periods (which includes the second ratio), N represents the number of logins of this type of application, α represents the time adjustment parameter, and the value range is (10, N), which is used to avoid P t The result is falling into an infinitesimal local low.

[0118] Figure 5 The trend diagram of the time weight coefficient is shown (α=100, N=1000). Figure 5 As shown, when the historical data N of an application type t The greater the number of times, the greater the proportion of applications with a long user login history. At this time, the impact on clustering is greater. It is necessary to limit the users involved in the data model to slow down the convergence of their step length from the optimal point and appropriately increase their distance from the cluster center of this application type.

[0119] In one implementation method, the adjusted k-means clustering analysis method divides the users involved in the data model into k clusters according to the distance between the user and each cluster center for each data model, including:

[0120] The ratio of the distance between each user in the cluster and the cluster center to the number of login times of the user is used as the step value between each user in the cluster and the cluster center;

[0121] According to the step value corresponding to each user in the cluster, the cluster center is corrected to obtain a corrected cluster center;

[0122] For each of the data models, based on the adjusted k-means clustering analysis method, the users involved in the data model are divided into k clusters according to the distances between the users and each corrected cluster center.

[0123] Among them, the step value is a parameter used to adaptively adjust the cluster center of the cluster cluster. When calculating the cluster center of the sample data, the traditional clustering solution algorithm will also add some critical data points and boundary data points between the data sets to the calculation. In theory, the probability that the data points on the boundary belong to multiple clusters to which the boundary belongs is the same. At this time, adding it to the cluster center and the minimum error formula calculation will easily cause the overall situation to fall into the local optimum, making it difficult to obtain scientific results. In one example, an adaptive step size mechanism can be added to the iterative calculation process to process the calculation of the cluster center and the distance between the user and the cluster center. Specifically, the step size value in the step size mechanism can be obtained according to Formula 8.

[0124]

[0125] Among them, R i is the step size of each user in the cluster, x i represents the user, C i represents the cluster center, i∈N, and N represents the number of users in the cluster.

[0126] After obtaining the step value, the step mechanism can be integrated into the cluster center solution process as shown in Formula 9 to obtain the weight ratio improved mean variable solution formula.

[0127]

[0128] Among them, μ i ' represents the corrected cluster center, C i represents the cluster center before correction, R i represents the step value, i∈k, k represents the number of clusters,

[0129] After determining the step value and adjusting the cluster center using the step value, the distance between the user and the cluster center can be determined based on the step mechanism. In one implementation, for each of the data models, based on the adjusted k-means clustering analysis method, the users involved in the data model are divided into k clusters according to the distance between the user and each modified cluster center, including:

[0130] In a case where the distance between the user and the cluster center is greater than or equal to the step value, determining a first distance between the user and the cluster center involved in the data model based on the user and the adjusted cluster center;

[0131] For each of the data models, based on the adjusted k-means clustering analysis method, the users involved in the data model are divided into k clusters according to the first distance.

[0132] Specifically, in the solution to minimize the sum of the distances between users and cluster centers in the cluster, when the distance of the user from the cluster center exceeds or equals the step value R i When , the error solver reshapes it to the step value to prevent solution deviation. The formula is as follows:

[0133]

[0134] Among them, R i Indicates the step size, μ i represents the corrected cluster center, x represents the user, C i represents the mean of all points in the cluster, E i Represents the sum of the squares of the distances between each point in the cluster and the cluster center, i∈k, k represents the number of clusters.

[0135] In the above steps, adding the step mean parameter can transform the weight ratio of the original cluster center, which can limit the adverse effects of some extreme individual factors on the reselection of cluster centers during the iteration process, and can effectively avoid the function from converging too early and falling into the local optimal situation.

[0136] Figure 6 A schematic diagram showing comparison of classification results for a two-dimensional data model is shown. Figure 6 In a, b, and c, the original k-means clustering analysis method is used. Figure 6 Figure a shows the clustering effect of users who only use “life and entertainment” type applications (k=1). Figure 6 Figure b shows the clustering effect of users using two types of applications: "Lifestyle Entertainment" and "Financial Management" (k=2). Figure 6 Figure c shows the clustering effect of users using three types of applications: "Lifestyle and Entertainment", "Financial Management" and "Social Travel" (k=3). Figure 6 For a and c, the results of the original k-means clustering analysis method do not converge and are prone to fall into local optimality. Figure 6 For b, the classification effect of boundary elements is poor.

[0137] exist Figure 6 Based on the data in a, b, and c, the modified k-means clustering analysis method using the aforementioned type weight coefficient, time weight coefficient, and step value is used. Figure 6 The convergence effect of the data in a and b is better. Figure 6 In the middle, d is for Figure 6 The clustering results of the modified k-means clustering analysis method for the data in b are confirmed to be similar to those in Figure 6 Compared with medium b, Figure 6 The clustering result of d is more in line with the actual situation, and the attribution solution of the boundary elements is better. Therefore, the modification of the type weight coefficient, time weight coefficient and step value can improve the accuracy of element classification. Since the adjusted unsupervised clustering algorithm (i.e., k-means clustering analysis method) in this scheme is fast and easy to use, the adjusted k-means clustering analysis method in this scheme can be integrated into the existing data classification practice, and has great prospects for future applications.

[0138] In one implementation, the relevant information includes location information of the user, and sending recommendation information matching the cluster to which the user belongs to the user involved in the data set includes:

[0139] Determining, according to the location information, a plurality of recommended information corresponding to the location information;

[0140] From the multiple recommendation information, target recommendation information matching the cluster to which the user involved in the data set belongs is determined, and the target recommendation information is sent to the user involved in the data set.

[0141] Among them, the user's location information may be the province where the user is located. The intelligent recommendation mode may not be exactly the same in each region, and the intelligent recommendation mode needs to be executed in each province. Therefore, obtaining the user's location information lays a good foundation for subsequent marketing work. After determining the cluster to which the user belongs, the target recommendation information that matches the cluster to which the user belongs can be selected from the various recommendation information corresponding to the user's location information, and then consider whether to push the target recommendation information to the user, so as to facilitate the subsequent intelligent recommendation marketing work.

[0142] Figure 7 A schematic diagram of province-by-province push is shown, Figure 7 As shown, after completing the grouping and division (i.e., clustering) of the users involved in the data set, the information is pushed to each province based on the user's provincial information, and the business in the province decides whether to recommend marketing to them.

[0143] It should be noted that the information recommendation method provided in the embodiments of this specification may be performed by a device for information recommendation or a control module in the device for information recommendation for performing the information recommendation method. In the embodiments of this specification, the information recommendation device provided in the embodiments of this specification is described by taking the information recommendation device performing the information recommendation method as an example.

[0144] Figure 8 is a schematic diagram of the structure of an information recommendation device according to an embodiment of the present invention. Figure 8 As shown, the information recommendation device 800 includes:

[0145] The data acquisition module 810 is used to acquire a data set containing relevant information about different users logging into multiple applications within a preset time period, wherein the relevant information at least includes information about the number of times the user logs into the application;

[0146] A data model module 820, configured to generate a plurality of data models according to the relevant information corresponding to the user in the data set, wherein the types of applications in the same data model are the same;

[0147] A strategy adjustment module 830, for determining an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method according to the distribution of the feature data determined from the relevant information in the data model, and adjusting the k-means cluster analysis method using the adjustment strategy;

[0148] A user clustering module 840 is used to divide the users involved in the data model into k clusters based on the distance between the user and each cluster center for each data model based on the adjusted k-means clustering analysis method;

[0149] The information recommendation module 850 is used to send recommendation information matching the cluster to which the user belongs to the user involved in the data set.

[0150] In one embodiment, the distribution status includes the distribution status of the number of applications of different types of applications. The policy adjustment module 830 includes:

[0151] a type coefficient unit, configured to determine a type weight coefficient of each type of application according to the number of applications corresponding to each type of application in the data set when a difference between the numbers of applications corresponding to any two types of applications exceeds a first threshold;

[0152] The type strategy unit is used to use the type weight coefficient as a coefficient for calculating the distance between the user and the cluster center corresponding to the type weight coefficient, so as to determine the adjustment strategy.

[0153] In one embodiment, the type unit is used to:

[0154] When the difference between the number of applications corresponding to any two types of applications exceeds a first threshold, determining a ratio between the number of applications and the frequency information corresponding to each type of application in the data set, and obtaining a first ratio corresponding to each type of application;

[0155] According to the first ratio corresponding to each type of application, a type weight coefficient of each type of application is obtained.

[0156] In one embodiment, the distribution status includes the distribution status of the number of logins of different types of applications. The policy adjustment module 830 includes:

[0157] a time coefficient unit, configured to determine a time weight coefficient according to the number of logins corresponding to each type of application in the previous time period of the two adjacent time periods, if the difference between the number of times the user uses the same type of application in two adjacent time periods exceeds a second threshold;

[0158] The time strategy unit is used to use the time weight coefficient as a coefficient for calculating the distance between the user and the cluster center corresponding to the time weight coefficient, so as to determine the adjustment strategy.

[0159] In one embodiment, the time coefficient unit is used to:

[0160] When the difference between the number of times the user uses the same type of application in two adjacent time periods exceeds a second threshold, determine the ratio between the total number of login times in two adjacent time periods and the number of login times in the previous time period for each type of application in the data model, and obtain a second ratio corresponding to each type of application;

[0161] According to the second ratio corresponding to each type of application, a type weight coefficient of each type of application is obtained.

[0162] In one embodiment, the user clustering module 840 includes:

[0163] A step value unit, used to use the ratio of the distance between each user in the cluster and the cluster center to the number of login times of the user as the step value between each user in the cluster and the cluster center;

[0164] A cluster center correction unit is used to correct the cluster center according to the step value corresponding to each user in the cluster to obtain a corrected cluster center;

[0165] The classification unit is used to divide the users involved in the data model into k clusters based on the adjusted k-means cluster analysis method for each of the data models and according to the distances between the users and each corrected cluster center.

[0166] In one embodiment, the classification unit is used to:

[0167] In a case where the distance between the user and the cluster center is greater than or equal to the step value, determining a first distance between the user and the cluster center involved in the data model based on the user and the adjusted cluster center;

[0168] For each of the data models, based on the adjusted k-means clustering analysis method, the users involved in the data model are divided into k clusters according to the first distance.

[0169] In one embodiment, the data model module 820 includes:

[0170] A sub-dataset unit, configured to divide the data set into a plurality of sub-datasets based on the types and quantities of applications logged in by the same user in the data set, wherein the types and quantities of applications corresponding to the user in the same sub-dataset are the same;

[0171] The data model unit is used to generate a plurality of the data models according to the relevant information corresponding to the users in each sub-data set.

[0172] In one embodiment, the data acquisition module 810 includes:

[0173] An information acquisition unit, used to acquire application login information of multiple users within a preset time period;

[0174] A grouping unit, used to group and count the application login information using the user's identification information as a search index, to obtain the number of logins of the same user into different applications;

[0175] The data set unit is used to divide the login times based on preset application types to obtain a data set containing relevant information of different users logging into multiple applications.

[0176] In one embodiment, the relevant information includes the location information of the user, and the information recommendation module 850 includes:

[0177] A location unit, configured to determine, based on the location information, a plurality of recommendation information corresponding to the location information;

[0178] The recommendation unit is used to determine target recommendation information that matches the cluster to which the user involved in the data set belongs from multiple recommendation information, and send the target recommendation information to the user involved in the data set.

[0179] It should be noted that the embodiments of the device for information recommendation in this specification and the embodiments of the method for information recommendation in this specification are based on the same inventive concept, so the specific implementation of this embodiment can refer to the implementation of the corresponding information recommendation method mentioned above, and the repeated parts will not be repeated.

[0180] Each module in the above-mentioned information recommendation device can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of the processor in the terminal device or the processor on the server in the form of hardware, or can be stored in the memory in the terminal device or the memory on the server in the form of software, so that the processor can call and execute the corresponding operations of each of the above modules.

[0181] Furthermore, corresponding to the information recommendation method described above, based on the same technical concept, one or more embodiments of this specification also provide an electronic device, which is used to execute the information recommendation method described above. Fig. 9 A schematic diagram of the structure of an electronic device provided for one or more embodiments of this specification.

[0182] Based on the same idea, one or more embodiments of this specification also provide an electronic device, such as Fig. 9As shown. The electronic device may have relatively large differences due to different configurations or performances, and may include one or more processors 901 and memory 902, and the memory 902 may store one or more storage applications or data. Among them, the memory 902 can be a short-term storage or a persistent storage. The application stored in the memory 902 may include one or more modules (not shown in the figure), and each module may include a series of computer executable instructions in the electronic device. Furthermore, the processor 901 can be configured to communicate with the memory 902 to execute a series of computer executable instructions in the memory 902 on the electronic device. The electronic device may also include one or more power supplies 903, one or more wired or wireless network interfaces 904, one or more input and output interfaces 905, and one or more keyboards 906.

[0183] In a specific embodiment, the electronic device includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer executable instructions for the electronic device, and the one or more programs configured to be executed by one or more processors include the following computer executable instructions:

[0184] Acquire a data set containing relevant information about different users logging into multiple applications within a preset time period, wherein the relevant information at least includes information about the number of times the user logs into the application;

[0185] Generate multiple data models according to the relevant information corresponding to the user in the data set, and the types of applications in the same data model are the same;

[0186] Determine an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method according to the distribution of the feature data determined from the relevant information in the data model, and use the adjustment strategy to adjust the k-means cluster analysis method;

[0187] Based on the adjusted k-means clustering analysis method, for each of the data models, the users involved in the data model are divided into k clusters according to the distance between the user and each cluster center;

[0188] Sending recommendation information matching the cluster to which the user belongs to the user involved in the data set.

[0189] It should be noted that the embodiments of the electronic device in this specification and the embodiments of the information recommendation method in this specification are based on the same inventive concept, so the specific implementation of this embodiment can refer to the implementation of the corresponding information recommendation method mentioned above, and the repeated parts will not be repeated.

[0190] Furthermore, corresponding to the information recommendation method described above, based on the same technical concept, one or more embodiments of this specification further provide a storage medium for storing computer executable instructions. In a specific embodiment, the storage medium may be a USB flash drive, an optical disk, a hard disk, etc. When the computer executable instructions stored in the storage medium are executed by a processor, the following process can be implemented:

[0191] Acquire a data set containing relevant information about different users logging into multiple applications within a preset time period, wherein the relevant information at least includes information about the number of times the user logs into the application;

[0192] Generate multiple data models according to the relevant information corresponding to the user in the data set, and the types of applications in the same data model are the same;

[0193] Determine an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method according to the distribution of the feature data determined from the relevant information in the data model, and use the adjustment strategy to adjust the k-means cluster analysis method;

[0194] Based on the adjusted k-means clustering analysis method, for each of the data models, the users involved in the data model are divided into k clusters according to the distance between the user and each cluster center;

[0195] Sending recommendation information matching the cluster to which the user belongs to the user involved in the data set.

[0196] It should be noted that the embodiment of the storage medium in this specification and the method for information recommendation in this specification are based on the same inventive concept, so the specific implementation of this embodiment can refer to the implementation of the corresponding information recommendation method mentioned above, and the repeated parts will not be repeated.

[0197] Furthermore, corresponding to the information recommendation method described above, based on the same technical concept, one or more embodiments of this specification further provide a computer program product, the computer program product includes a computer program, and when the computer program is executed by a processor, the following process can be implemented:

[0198] Acquire a data set containing relevant information about different users logging into multiple applications within a preset time period, wherein the relevant information at least includes information about the number of times the user logs into the application;

[0199] Generate multiple data models according to the relevant information corresponding to the user in the data set, and the types of applications in the same data model are the same;

[0200] Determine an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method according to the distribution of the feature data determined from the relevant information in the data model, and use the adjustment strategy to adjust the k-means cluster analysis method;

[0201] Based on the adjusted k-means clustering analysis method, for each of the data models, the users involved in the data model are divided into k clusters according to the distance between the user and each cluster center;

[0202] Sending recommendation information matching the cluster to which the user belongs to the user involved in the data set.

[0203] It should be noted that the embodiment of the computer program product in this specification and the embodiment of the information recommendation method in this specification are based on the same inventive concept, so the specific implementation of this embodiment can refer to the implementation of the corresponding information recommendation method mentioned above, and the repeated parts will not be repeated.

[0204] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

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

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

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

[0208] For the convenience of description, the above devices are described in terms of functions and are divided into various units. Of course, when implementing the embodiments of this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0209] It should be understood by those skilled in the art that one or more embodiments of this specification may be provided as a method, system or computer program product. Therefore, one or more embodiments of this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

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

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

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

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

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

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

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

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

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

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

Claims

1. A method for information recommendation, characterized in that: include: Acquire a data set containing relevant information about different users logging into multiple applications within a preset time period, wherein the relevant information at least includes information about the number of times the user logs into the application; Generate multiple data models according to the relevant information corresponding to the user in the data set, and the types of applications in the same data model are the same; Determine an adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method according to the distribution of the feature data determined from the relevant information in the data model, and use the adjustment strategy to adjust the k-means cluster analysis method; Based on the adjusted k-means clustering analysis method, for each of the data models, the users involved in the data model are divided into k clusters according to the distance between the user and each cluster center; Sending recommendation information matching the cluster to which the user belongs to the user involved in the data set.

2. The method according to claim 1, characterized in that The distribution status includes the distribution status of the number of applications of different types of applications. The adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method according to the distribution status of the feature data determined from the relevant information in the data model includes: When the difference between the number of applications corresponding to any two types of applications exceeds a first threshold, determining a type weight coefficient of each type of application according to the number of applications corresponding to each type of application in the data set; The type weight coefficient is used as a coefficient for calculating the distance between the user and the cluster center corresponding to the type weight coefficient, so as to determine the adjustment strategy.

3. The method according to claim 2, characterized in that When the difference between the number of applications corresponding to any two types of applications exceeds a first threshold, determining the type weight coefficient of each type of application according to the number of applications corresponding to each type of application in the data set includes: When the difference between the number of applications corresponding to any two types of applications exceeds a first threshold, determining a ratio between the number of applications and the frequency information corresponding to each type of application in the data set, and obtaining a first ratio corresponding to each type of application; According to the first ratio corresponding to each type of application, a type weight coefficient of each type of application is obtained.

4. The method according to claim 1, characterized in that: The distribution status includes the distribution status of the number of login times of different types of applications. The adjustment strategy for adjusting the distance between the user and the cluster center of each cluster in the k-means cluster analysis method according to the distribution status of the feature data determined from the relevant information in the data model includes: When the difference between the number of times the user uses the same type of application in two adjacent time periods exceeds a second threshold, determining a time weight coefficient according to the number of logins corresponding to each type of application in the previous time period of the two adjacent time periods; The time weight coefficient is used as a coefficient for calculating the distance between the user and the cluster center corresponding to the time weight coefficient, so as to determine the adjustment strategy.

5. The method according to claim 4, characterized in that When the difference between the number of times the user uses the same type of application in two adjacent time periods exceeds a second threshold, determining the time weight coefficient according to the number of logins corresponding to each type of application in the previous time period of the two adjacent time periods includes: When the difference between the number of times the user uses the same type of application in two adjacent time periods exceeds a second threshold, determine the ratio between the total number of login times in two adjacent time periods of each type of application in the data model and the number of login times in the previous time period of the two adjacent time periods, and obtain a second ratio corresponding to each type of application; According to the second ratio corresponding to each type of application, a type weight coefficient of each type of application is obtained.

6. The method according to claim 1, characterized in that The adjusted k-means clustering analysis method, for each data model, divides the users involved in the data model into k clusters according to the distance between the user and each cluster center, including: Determine the step value between each user in the cluster and the cluster center based on the ratio between the distance between each user in the cluster and the cluster center and the number of login times of the user; According to the step value corresponding to each user in the cluster, the cluster center is corrected to obtain a corrected cluster center; For each of the data models, based on the adjusted k-means clustering analysis method, the users involved in the data model are divided into k clusters according to the distances between the users and each corrected cluster center.

7. The method according to claim 6, characterized in that For each of the data models, based on the adjusted k-means clustering analysis method, the users involved in the data model are divided into k clusters according to the distances between the users and each corrected cluster center, including: In a case where the distance between the user and the cluster center is greater than or equal to the step value, determining a first distance between the user and the cluster center involved in the data model based on the user and the adjusted cluster center; For each of the data models, based on the adjusted k-means clustering analysis method, the users involved in the data model are divided into k clusters according to the first distance.

8. The method according to claim 1, characterized in that The generating of multiple data models according to the relevant information corresponding to the user in the data set includes: Based on the type and quantity of applications logged in by the same user in the data set, the data set is divided into multiple sub-data sets, and the type and quantity of applications corresponding to the user in the same sub-data set are the same; A plurality of the data models are generated according to the relevant information corresponding to the users in each sub-data set.

9. The method according to claim 1, characterized in that: The step of obtaining a data set containing relevant information about different users logging into multiple applications within a preset time period includes: Get application login information of multiple users within a preset time period; Using the user's identification information as a search index, grouping and counting the application login information to obtain the number of logins of the same user into different applications; The number of login times is divided based on preset application types to obtain a data set containing relevant information of different users logging into multiple applications.

10. The method according to claim 1, characterized in that The relevant information includes the location information of the user, and the sending of recommendation information matching the cluster to which the user belongs to the user involved in the data set includes: Determining, according to the location information, a plurality of recommended information corresponding to the location information; From the multiple recommendation information, target recommendation information matching the cluster to which the user involved in the data set belongs is determined, and the target recommendation information is sent to the user involved in the data set.