WO2020133398A1 - 应用推荐方法、装置、服务器和计算机可读存储介质 - Google Patents

应用推荐方法、装置、服务器和计算机可读存储介质 Download PDF

Info

Publication number
WO2020133398A1
WO2020133398A1 PCT/CN2018/125553 CN2018125553W WO2020133398A1 WO 2020133398 A1 WO2020133398 A1 WO 2020133398A1 CN 2018125553 W CN2018125553 W CN 2018125553W WO 2020133398 A1 WO2020133398 A1 WO 2020133398A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
class
user
matrix
scoring matrix
Prior art date
Application number
PCT/CN2018/125553
Other languages
English (en)
French (fr)
Inventor
王艳明
Original Assignee
深圳市欢太科技有限公司
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市欢太科技有限公司, Oppo广东移动通信有限公司 filed Critical 深圳市欢太科技有限公司
Priority to CN201880099097.2A priority Critical patent/CN112955883B/zh
Priority to PCT/CN2018/125553 priority patent/WO2020133398A1/zh
Publication of WO2020133398A1 publication Critical patent/WO2020133398A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering

Definitions

  • This application relates to the field of computer technology, and in particular, to an application recommendation method, device, server, and non-volatile computer-readable storage medium.
  • the traditional application recommendation method is recommended based on the user downloading the application at the time.
  • the recommended application category and function are highly similar to the application that the user wants to download.
  • This single recommendation method is easy to lead to invalid recommendation and recommendation conversion. The rate is very low.
  • Embodiments of the present application provide an application recommendation method, device, server, and non-volatile computer-readable storage medium.
  • Application recommendation can be made through a self-constructed clustering algorithm.
  • the types and functions of recommended applications are diversified to improve the conversion rate of recommendations. .
  • An application recommendation method including:
  • Clustering each application by using a self-building clustering algorithm according to the extended scoring matrix, and converting the scoring matrix corresponding to each application into a class scoring matrix corresponding to each application clustering;
  • the target recommended application corresponding to each user identifier is determined according to the type of interest.
  • An application recommendation device including:
  • a scoring matrix acquisition module used to obtain a scoring matrix corresponding to each application of the user identification
  • the extended scoring matrix module is used to cluster user IDs by using a self-constructed clustering algorithm according to the scoring matrix, to obtain user class labels corresponding to each user ID, and to associate the scoring matrix with the user class corresponding to each user ID
  • the combination of tags forms an extended scoring matrix
  • a class scoring matrix conversion module configured to cluster each application using a self-constructed clustering algorithm according to the extended scoring matrix, and transform the scoring matrix corresponding to each application into a class scoring matrix corresponding to each application clustering;
  • a class correlation matrix determination module used to calculate a transfer relationship between application clusters according to the class scoring matrix to obtain a class correlation matrix
  • a class interest degree determination module configured to determine the class interest degree corresponding to each user identifier according to the class association matrix and the class scoring matrix;
  • the recommendation application module is used to determine the target recommendation application corresponding to each user identifier according to the category interest.
  • a server includes a memory and a processor.
  • the memory stores computer-readable instructions.
  • the processor causes the processor to perform the following steps:
  • Clustering each application by using a self-building clustering algorithm according to the extended scoring matrix, and converting the scoring matrix corresponding to each application into a class scoring matrix corresponding to each application clustering;
  • the target recommended application corresponding to each user identifier is determined according to the type of interest.
  • Clustering each application by using a self-building clustering algorithm according to the extended scoring matrix, and converting the scoring matrix corresponding to each application into a class scoring matrix corresponding to each application clustering;
  • the target recommended application corresponding to each user identifier is determined according to the type of interest.
  • the above-mentioned application recommendation method, device, server and non-volatile computer-readable storage medium obtain the scoring matrix corresponding to each application of the user ID, and cluster the user IDs by using a self-constructed clustering algorithm according to the scoring matrix to obtain the correspondence of each user ID User class labels, combining the scoring matrix with the user class labels corresponding to each user ID to form an extended scoring matrix, clustering each application using a self-built clustering algorithm according to the extended scoring matrix, and converting the scoring matrix corresponding to each application into a corresponding
  • the class scoring matrix of each application cluster calculate the transfer relationship between the application clusters to obtain the class correlation matrix, and determine the class interest corresponding to each user ID according to the class correlation matrix and the class scoring matrix, according to the class interest Determine the target recommended applications corresponding to each user's logo, and use the self-built clustering algorithm to recommend applications.
  • the types and functions of the applications in the generated clusters are diversified. The types and functions of the recommended applications are more abundant and the conversion rate of recommendations is improved.
  • FIG. 1 is a schematic diagram of an application environment of an application recommendation method in an embodiment.
  • FIG. 2 is a flowchart of an application recommendation method in an embodiment.
  • FIG. 3 is a structural block diagram of an application recommendation device in an embodiment.
  • FIG. 4 is a structural block diagram of a class scoring matrix conversion module in an embodiment.
  • 5 is a schematic diagram of the internal structure of the server in an embodiment.
  • first, second, etc. used in the embodiments of the present application may be used herein to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from another element.
  • the first control may be called a second control. Both the first control and the second control are controls, but they are not the same control.
  • FIG. 1 is an application environment diagram of an application recommendation method in an embodiment.
  • the application environment includes a mobile device 110 and a server 120.
  • the mobile device 110 downloads each application from the server 120 and scores each application.
  • the server records a user identification corresponding to a rating matrix of each application, and according to the rating matrix
  • Use self-building clustering algorithm to cluster user IDs to obtain user class labels corresponding to each user ID, and combine the scoring matrix with the user class labels corresponding to each user ID to form an extended scoring matrix; use self-building based on the extended scoring matrix
  • the clustering algorithm clusters each application, transforms the scoring matrix corresponding to each application into a class scoring matrix corresponding to each application cluster, and calculates the transfer relationship between application clusters according to the class scoring matrix to obtain a class association matrix;
  • the class correlation matrix and the class scoring matrix determine the class interest corresponding to each user ID; determine the target recommended application corresponding to each user ID according to the class interest, obtain the current user ID corresponding to the mobile device 110, and obtain the current user
  • FIG. 2 is a flowchart of an application recommendation method in an embodiment. As shown in FIG. 2, an application recommendation method is described by taking the application in the server in FIG. 1 as an example, which specifically includes:
  • a scoring matrix corresponding to each application of the user ID is obtained.
  • the elements in the scoring matrix are the scores of each application corresponding to each user corresponding to the user ID. Represented by:
  • the number of rows in the matrix R represents the number of users, a total of N users, and the number of columns in the matrix R represents the number of applications, a total of M applications.
  • each user's rating of each application is a rating based on the use of the application after the user downloads the application, for example, based on the user's behavior of downloading and evaluating the application in the application store, which reflects the user's interest in the application and Satisfaction. As the user's behavior of rating the application is updated, the rating matrix will be updated accordingly.
  • the user IDs are clustered using a self-constructed clustering algorithm according to the scoring matrix to obtain user class labels corresponding to the user IDs, and the scoring matrix and the user class labels corresponding to the user IDs are combined to form an extended scoring matrix.
  • the self-constructed cluster does not need to input the number of generated clusters in advance.
  • the characteristics of each cluster are reflected by a membership function that measures the mean and standard deviation.
  • the number of clusters is automatically obtained.
  • the user does not need to specify the number of clusters in advance. It reduces the cost of trial and error, has high accuracy, and determines the similarity between users based on the user's rating of the application.
  • User class tags are tags corresponding to clusters corresponding to users, and users with the same user class tags have certain similarities.
  • Operation 206 clustering each application using a self-constructed clustering algorithm according to the extended scoring matrix, and converting the scoring matrix corresponding to each application into a class scoring matrix corresponding to each application clustering.
  • a feature pattern suitable for a self-building clustering algorithm is constructed according to the extended scoring matrix, and then the self-building clustering algorithm is used to cluster applications according to the feature pattern to obtain a target clustering set to reduce the dimension.
  • the applications in different clusters are quite different, and the applications in the same cluster are similar.
  • a class transformation matrix is calculated, so that a matrix operation is performed on the scoring matrix and the class transformation matrix to obtain a class scoring matrix corresponding to each application cluster.
  • Application clustering is used to reduce the dimension of the scoring matrix R of the original data set, thereby reducing the time complexity of the algorithm, and using the dimensionality-reduced matrix to prepare for the next operation.
  • the transfer relationship between the application clusters is calculated according to the class scoring matrix to obtain the class correlation matrix.
  • the element of the class correlation matrix is the degree of influence of propagation between any two application clusters.
  • the degree of influence of propagation refers to the magnitude of influence from one application to another, such as the directional transfer from one application to another The possibility of application, the possibility of jumping from one application to another, etc.
  • the transfer relationship between application clusters can be calculated according to the relationship between the user's class score and size of different application clusters, and the specific calculation method can be customized.
  • a large value of propagation influence indicates that users are encouraged to switch from less favorable nodes to more favorable nodes, where nodes refer to application clustering.
  • Class correlation matrix can also be called class correlation graph.
  • the application cluster is a commodity class
  • the class association matrix is a commodity class association graph.
  • a class interest degree corresponding to each user identifier is determined according to the class association matrix and the class scoring matrix.
  • the class interest degree refers to the degree of interest of the user corresponding to the user ID in a certain application cluster. The greater the degree of interest, the easier it is to use the application corresponding to this application cluster.
  • the initial class interest degree can be continuously updated according to the class association matrix and the class scoring matrix in an iterative manner until the convergence condition is satisfied, and the target class interest degree corresponding to each user ID is obtained.
  • a random walk strategy is used to predict user interest in application clustering.
  • a target recommended application corresponding to each user identifier is determined according to the category interest.
  • the interest of each user in different application clusters is determined by class interest, and then the contribution value of each application relative to different application clusters is obtained, and the user's contribution to an application in each different application cluster is calculated.
  • the preference level so as to determine the corresponding target recommendation application for the user according to the size of the preference level.
  • the user identification corresponding to each application's scoring matrix is obtained, and the user identification is clustered by using a self-constructed clustering algorithm according to the scoring matrix to obtain the user class label corresponding to each user identification, and the scoring matrix is corresponding to each user identification
  • the user class labels are combined to form an extended scoring matrix.
  • the self-constructed clustering algorithm is used to cluster each application, and the scoring matrix corresponding to each application is converted into a class scoring matrix corresponding to each application cluster.
  • Calculate the transfer relationship between application clusters to obtain a class correlation matrix determine the class interest corresponding to each user ID according to the class correlation matrix and class scoring matrix, and determine the target recommended application corresponding to each user ID based on the class interest.
  • Build a clustering algorithm for application recommendation The types and functions of the applications in the generated clusters are diversified. The types and functions of recommended applications are more abundant and the conversion rate of recommendations is improved.
  • operation 206 includes: constructing a feature pattern corresponding to each application according to the extended scoring matrix to form a feature pattern matrix.
  • a strong connected component algorithm is used to cluster the characteristic pattern matrix for each application to obtain the target clustering set.
  • a characteristic pattern suitable for the strongly connected component algorithm is constructed, and the constructed algorithm can be customized.
  • the element of the class transformation matrix T is the membership degree t ij of each application to each application cluster in the target cluster set,
  • t ij represents the degree of membership of the application cluster G j using X i
  • M is the total number of applications
  • q is the total number of categories of application clusters.
  • the calculation formula of membership degree can be customized. Reduce the dimension of the high-dimensional scoring matrix N ⁇ M matrix R into a low-dimensional scoring matrix N ⁇ q matrix B, as follows:
  • each column in B is an applied cluster, denoted as g 1 , g 2 , ..., g q respectively .
  • the user records that originally had M application scores reduced the score of the paired q application clusters.
  • operation 208 includes: calculating a directional transfer degree between any two application clusters according to the class score corresponding to the application cluster; each directional transfer degree forms a class association matrix.
  • the directional transfer degree between any two application clusters is determined, and the algorithm can be customized.
  • the directional transfer degree refers to the transfer from one application to another The possibility of application, this possibility is directional. You can set a greater degree of directed transition to encourage users to switch from less favorable application clusters to more favorable application clusters, but if w ij is too large, then some application clusters dominate and it will hinder Recommendations for other application clusters, so in order to prevent other application clusters from being discriminated against and being more correctly recommended, set an upper limit for the degree of directed transfer.
  • Each directional transfer degree forms a class correlation matrix, and the columns of the class correlation matrix can be normalized by a normalization algorithm.
  • calculating the degree of directional transition between any two application clusters according to the class score corresponding to the application cluster is calculated by the following formula:
  • w ij represents the directional transfer degree from i application clustering to j application clustering
  • b ki represents the k-th user's rating on i-application clustering
  • b kj represents the k-th user's rating on j-application clustering
  • N represents the total number of users, where a 1 and a 2 represent variables.
  • the matrix W is a q ⁇ q matrix.
  • operation 210 includes: determining an initial class interest degree corresponding to each application cluster of each user ID, forming an initial class interest degree vector corresponding to each user ID, and classifying each user according to the class scoring matrix and class association matrix The initial class interest degree vector corresponding to the identifier is updated until the class interest degree vector corresponding to each user ID converges to obtain the target class interest degree vector corresponding to each user ID, and each user ID corresponding to the target class interest degree vector is obtained Class interest of each application cluster.
  • the initial interest of the user ID corresponding to each application cluster can be customized, and may be the same or different constants.
  • the update weight ⁇ corresponding to the class scoring matrix, the update weight corresponding to the class association matrix (1- ⁇ ), and the update weight can be set Represents the size of the influence degree that updates the initial class interest degree vector.
  • the initial class interest vector V i (t) is updated to obtain V i (t+1) until the class interest vector corresponding to each user ID converges, and the convergence conditions can be customized.
  • Each element of the target class interest degree vector is the class interest degree of each user ID corresponding to each application cluster.
  • determining the initial class interest degree corresponding to each application cluster of each user ID to form an initial class interest degree vector corresponding to each user ID includes:
  • Updating the initial class interest vector corresponding to each user ID according to the class scoring matrix and class association matrix until the class interest vector corresponding to each user ID converges includes:
  • t represents the number of iterations
  • W represents the class correlation matrix
  • B i represents The user identifier u i corresponds to an application clustering score vector composed of the class scores of each application cluster
  • ⁇ [0,1] is a custom constant. In one embodiment, ⁇ takes 0.85.
  • operation 212 includes determining the membership degree t jm of each target cluster G m in the target cluster set by each application x j according to the class transformation matrix, where q is the total number of categories of the target cluster, Where 1 ⁇ m ⁇ q, according to the formula Calculate the preference S i [j] of the user ID u i corresponding to the application x j , where V i [m] represents the class interest of the user cluster u i corresponding to the application cluster m; determine each user according to S i [j] Identify the corresponding target recommended application.
  • the element of the class transformation matrix is the membership degree t jm of each application x j to each application cluster G m in the target cluster set, and the membership degree t jm is the contribution value of the application x j to the application cluster g m , t jm V i [m] represents a user ID u i g m in the clustering application in the degree of preference of x j, accumulation results corresponding to the user ID u i x j degree of preference of the application, according to the user identifier corresponding to the application u i x
  • the degree of preference of j is to obtain the target recommended application corresponding to each user identifier u i .
  • y d represents the user class label corresponding to the d-th user ID
  • c k represents the user class label obtained by clustering the user IDs, 1 ⁇ d ⁇ N
  • N is the total number of user IDs.
  • calculating the membership of each application to each application cluster in the target cluster set to form a class transformation matrix includes: Calculate the membership degree t ij of the i th application to the j th application cluster in the target cluster set, where 1 ⁇ i ⁇ M, 1 ⁇ j ⁇ q, M is the total number of applications, and q is the application cluster Total number of categories; of which
  • each cluster G j is s j .
  • m jc represents the average value of G j and ⁇ jc represents the standard deviation of G j . If the membership is not less than the predefined threshold ⁇ , We say that X i has passed the similarity detection of cluster G j . A larger ⁇ results in a smaller cluster, and a smaller ⁇ results in a larger cluster. As ⁇ increases, the number of clusters also increases.
  • the method further includes: performing normalization processing on the scoring matrix.
  • the similarity between users is determined according to the user's rating of the product.
  • different users have different personalities, and they have different personalities when scoring products. Some users tend to score higher on commodities; some users tend to score lower on commodities.
  • the user's rating as a waveform. At this time, if the overall waveforms of the two users are closely matched, except for a certain offset between the two waveforms, the two users are considered to be similar. Therefore, the user's rating of each application in the rating matrix is first normalized using the following formula to eliminate the problem of different user rating scales:
  • M represents the total number of applications
  • N represents the total number of user IDs.
  • x ij is each element in the scoring matrix after normalization
  • r ij is each element in the scoring matrix before normalization.
  • the method further includes: obtaining the input search application corresponding to the current user ID, calculating the membership of the search application corresponding to each application cluster; determining the target application cluster according to the size of the membership, and obtaining from the target application cluster The corresponding first recommended application set; acquiring the current target recommended application corresponding to the current user ID; recommending the first recommended application set and the current target recommended application to the terminal corresponding to the current user ID.
  • the target application clusters are determined according to the degree of membership, and the membership degrees can be sorted, and the pre-preset number of application clusters with the highest membership degree are selected as the target application clusters, such as five.
  • One or more target applications are selected from each target application cluster as the applications in the first recommended application set. For example, from five target application clusters, one application is selected for each target application cluster. Because the applications in the obtained application clusters are not separated by category, but by relevance, such as photo applications-video editing applications-social platform applications, may be in an application cluster, so the applications in the first recommended application set obtained The types and functions are diverse.
  • the first recommended application set and the current target recommended application can be directly recommended to the terminal corresponding to the current user ID, or the first recommended application set and Select a preset number of recommended applications from the current target. For example, the top 5 applications that are closest to the clustering label to which the current user search application belongs are recommended to the terminal corresponding to the current user ID to further improve the recommendation conversion rate.
  • steps in the flowchart of FIG. 2 are displayed in order according to the arrows, the steps are not necessarily executed in the order indicated by the arrows. Unless clearly stated in this article, the execution of these steps is not strictly limited in order, and these steps may be executed in other orders. Moreover, at least a part of the steps in FIG. 2 may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily executed and completed at the same time, but may be executed at different times, the execution of these sub-steps or stages The order is not necessarily sequential, but may be performed in turn or alternately with at least a part of other steps or sub-steps or stages of other steps.
  • An embodiment of the present application also provides a server.
  • the server includes a memory and a processor.
  • the memory stores computer-readable instructions.
  • the processor causes the processor to perform the following steps: obtain a score matrix corresponding to each application of the user identification;
  • the scoring matrix uses a self-building clustering algorithm to cluster user IDs to obtain the user class labels corresponding to each user ID, and combines the scoring matrix with the user class labels corresponding to each user ID to form an extended scoring matrix;
  • the clustering algorithm clusters each application and converts the scoring matrix corresponding to each application into a class scoring matrix corresponding to each application cluster; calculating the transfer relationship between the application clusters according to the class scoring matrix to obtain the class association matrix; according to the class association
  • the matrix and the class scoring matrix determine the class interest corresponding to each user ID; the target recommended application corresponding to each user ID is determined according to the class interest.
  • the self-building clustering algorithm is used to cluster each application according to the extended scoring matrix, and the scoring matrix corresponding to each application is converted into a class scoring matrix corresponding to the clustering of each application, including: constructing each according to the extended scoring matrix The corresponding feature pattern is used to form a feature pattern matrix, and the strong connected component algorithm is used to cluster the feature pattern matrix to obtain the target cluster set; the membership degree of each application in the target cluster set is calculated by each application, Form a class transformation matrix; convert the scoring matrix according to the class transformation matrix to obtain the class scoring matrix.
  • calculating the transfer relationship between the application clusters according to the class scoring matrix to obtain the class correlation matrix includes: calculating the directional transfer degree between any two application clusters according to the class score corresponding to the application cluster; The degree of directed transition constitutes a class correlation matrix.
  • calculating the degree of directional transition between any two application clusters according to the class score corresponding to the application cluster is calculated by the following formula:
  • w ij represents the directional transfer degree from i application clustering to j application clustering
  • b ki represents the k-th user's rating on i-application clustering
  • b kj represents the k-th user's rating on j-application clustering
  • N represents the total number of users, where a 1 and a 2 represent variables.
  • determining the class interest corresponding to each user ID according to the class association matrix and the class scoring matrix includes: determining each user ID corresponding to the initial class interest of each application cluster to form each user Identify the corresponding initial class interest vector; update the initial class interest vector corresponding to each user ID according to the class scoring matrix and class association matrix until the class interest vector corresponding to each user ID converges to obtain each user ID Corresponding target class interest degree vector; according to the target class interest degree vector, the class interest degree corresponding to each application cluster of each user identifier is obtained.
  • Updating the initial class interest vector corresponding to each user ID according to the class scoring matrix and class association matrix until the class interest vector corresponding to each user ID converges includes:
  • t represents the number of iterations
  • W represents the class correlation matrix
  • B i represents The user identifier u i corresponds to an application clustering score vector composed of the class scores of each application cluster
  • ⁇ [0,1] is a custom constant.
  • determining the target recommended application corresponding to each user ID according to the class interest includes: determining the membership degree t jm of each application x j to each application cluster G m in the target cluster set according to the class conversion matrix , Where q is the total number of categories of the target cluster, where 1 ⁇ m ⁇ q; according to the formula Calculate the preference S i [j] of the user ID u i corresponding to the application x j , where V i [m] represents the class interest of the user cluster u i corresponding to the application cluster m; determine each user according to S i [j] Identify the corresponding target recommended application.
  • y d represents the user class label corresponding to the d-th user ID
  • c k represents the user class label obtained by clustering the user IDs, 1 ⁇ d ⁇ N
  • N is the total number of user IDs.
  • calculating the membership of each application to each application cluster in the target cluster set to form a class transformation matrix includes: Calculate the membership degree t ij of the i th application to the j th application cluster in the target cluster set, where 1 ⁇ i ⁇ M, 1 ⁇ j ⁇ q, M is the total number of applications, and q is the application cluster Total number of categories;
  • each cluster G j is s j .
  • the processor performs the following steps: normalizing the scoring matrix.
  • the processor performs the following steps: acquiring the input search application corresponding to the current user ID; calculating the membership of the search application corresponding to the clusters of each application; determining the target application cluster according to the size of the membership, and then from the target application Acquiring the corresponding first recommended application set in clustering; acquiring the current target recommended application corresponding to the current user ID; recommending the first recommended application set and the current target recommended application to the terminal corresponding to the current user ID.
  • an application recommendation device includes a score matrix acquisition module 302, an expanded score matrix module 304, a class score matrix conversion module 306, a class correlation matrix determination module 308, a class interest determination module 310, and a recommended application module 312. among them:
  • the scoring matrix obtaining module 302 is used to obtain a scoring matrix corresponding to each application of the user ID.
  • the extended scoring matrix module 304 is used for clustering user IDs according to the scoring matrix by using a self-constructed clustering algorithm to obtain user class labels corresponding to each user ID, and combining the score matrix with the user class labels corresponding to each user ID to form an extended score matrix.
  • the class scoring matrix conversion module 306 is used for clustering each application using a self-constructed clustering algorithm according to the extended scoring matrix, and converting the scoring matrix corresponding to each application into a class scoring matrix corresponding to each application clustering.
  • the class correlation matrix determination module 308 is used to calculate the transfer relationship between the application clusters according to the class scoring matrix to obtain the class correlation matrix.
  • the class interest determination module 310 is used to determine the class interest corresponding to each user identifier according to the class association matrix and the class scoring matrix.
  • the recommendation application module 312 is used to determine the target recommendation application corresponding to each user identifier according to the category interest.
  • the class scoring matrix conversion module 306 includes:
  • the feature pattern matrix forming unit 306A is configured to construct a feature pattern matrix corresponding to the feature patterns corresponding to each application according to the extended scoring matrix.
  • the clustering unit 306B is used for clustering each application on the feature pattern matrix using a strong connected component algorithm to obtain a target clustering set.
  • the class conversion matrix unit 306C is used to calculate the membership degree of each application to each target cluster in the target cluster set to form a class conversion matrix.
  • the class scoring matrix unit 306D is used to convert the scoring matrix according to the class transformation matrix to obtain the class scoring matrix.
  • the class correlation matrix determination module 308 is further used to calculate the directional transfer degree between any two application clusters according to the class score corresponding to the application cluster; each directional transfer degree forms a class correlation matrix.
  • the class correlation matrix determination module 308 is used to calculate the directional transfer degree by the following formula:
  • w ij represents the directional transfer degree from i application clustering to j application clustering
  • b ki represents the k-th user's rating on i-application clustering
  • b kj represents the k-th user's rating on j-application clustering
  • N represents the total number of users, where a 1 and a 2 represent variables.
  • the class interest determination module 310 is also used to determine the initial class interest of each user ID corresponding to each application cluster to form an initial class interest vector corresponding to each user ID, according to the class scoring matrix and
  • the class correlation matrix updates the initial class interest degree vector corresponding to each user ID until the class interest degree vector corresponding to each user ID converges to obtain the target class interest level vector corresponding to each user ID, according to the target class interest level
  • the vector obtains the class interest degree of each user cluster corresponding to each application cluster.
  • W represents the class correlation matrix
  • B i represents the user ID u i corresponding to each application cluster
  • An application clustering score vector composed of class scores, ⁇ ⁇ [0, 1] is a custom constant.
  • the recommendation application module 312 is further used to determine the degree of membership t jm of each application x j to each application cluster G m in the target cluster set according to the class transformation matrix, where q is the total number of categories of the target cluster Mesh, where 1 ⁇ m ⁇ q; according to the formula Calculate the preference S i [j] of the user ID u i corresponding to the application x j , where V i [m] represents the class interest of the user cluster u i corresponding to the application cluster m; determine each user according to S i [j] Identify the corresponding target recommended application.
  • y d represents the user class label corresponding to the d-th user ID
  • c k represents the user class label obtained by clustering the user IDs, 1 ⁇ d ⁇ N
  • N is the total number of user IDs.
  • the class conversion matrix unit 306C is also used to Calculate the membership degree t ij of the i th application to the j th application cluster in the target cluster set, where 1 ⁇ i ⁇ M, 1 ⁇ j ⁇ q, M is the total number of applications, and q is the application cluster Total number of categories;
  • each cluster G j is s j .
  • the scoring matrix acquisition module 302 is also used to normalize the scoring matrix.
  • the device further includes:
  • the search recommendation module is used to obtain the input search application corresponding to the current user ID, calculate the membership of the search application corresponding to each application cluster; determine the target application cluster according to the degree of membership, and obtain the corresponding application cluster from the target application cluster
  • the first recommended application set obtains the current target recommended application corresponding to the current user ID, and recommends the first recommended application set and the current target recommended application to the terminal corresponding to the current user ID.
  • each module in the application recommendation device provided in the embodiments of the present application may be in the form of computer-readable instructions.
  • the computer readable instructions can run on the terminal or server.
  • the program module composed of the computer-readable instructions may be stored on the memory of the terminal or the server.
  • the server includes a processor and memory connected by a system bus. Among them, the processor is used to provide computing and control capabilities to support the operation of the entire electronic device.
  • the memory may include non-volatile storage media and internal memory.
  • the non-volatile storage medium stores an operating system and computer-readable instructions.
  • the computer readable instructions can be executed by the processor for implementing an application recommendation method provided by the above embodiments.
  • the internal memory provides a cached operating environment for operating system computer-readable instructions in the non-volatile storage medium.
  • the server can be realized by an independent server or a server cluster composed of multiple servers. Those skilled in the art can understand that the structure shown in FIG.
  • FIG. 5 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the server to which the solution of the present application is applied.
  • the specific server may include a ratio More or fewer components are shown in the figure, or some components are combined, or have different component arrangements.
  • the processor included in the server implements the steps of the application recommendation method when executing the computer-readable instructions stored in the memory.
  • the embodiments of the present application also provide a computer-readable storage medium.
  • One or more non-volatile computer-readable storage media containing computer-readable instructions.
  • the clustering algorithm clusters the user IDs to obtain the user class labels corresponding to each user ID, and combines the scoring matrix with the user class labels corresponding to each user ID to form an extended scoring matrix;
  • the self-built clustering algorithm Applications are clustered, and the scoring matrix corresponding to each application is converted into a class scoring matrix corresponding to each application cluster; the transfer relationship between the application clusters is calculated according to the class scoring matrix to obtain a class correlation matrix; based on the class correlation matrix and class scoring matrix Determine the class interest corresponding to each user ID; determine the target recommended application corresponding to each user ID according to the class interest.
  • the self-building clustering algorithm is used to cluster each application according to the extended scoring matrix, and the scoring matrix corresponding to each application is converted into a class scoring matrix corresponding to the clustering of each application, including: constructing each according to the extended scoring matrix The corresponding feature pattern is used to form a feature pattern matrix, and the strong connected component algorithm is used to cluster the feature pattern matrix to obtain the target cluster set; the membership degree of each application in the target cluster set is calculated by each application, Form a class transformation matrix; convert the scoring matrix according to the class transformation matrix to obtain the class scoring matrix.
  • calculating the transfer relationship between the application clusters according to the class scoring matrix to obtain the class correlation matrix includes: calculating the directional transfer degree between any two application clusters according to the class score corresponding to the application cluster; The degree of directed transition constitutes a class correlation matrix.
  • calculating the degree of directional transition between any two application clusters according to the class score corresponding to the application cluster is calculated by the following formula:
  • w ij represents the directional transfer degree from i application clustering to j application clustering
  • b ki represents the k-th user's rating on i-application clustering
  • b kj represents the k-th user's rating on j-application clustering
  • N represents the total number of users, where a 1 and a 2 represent variables.
  • determining the class interest corresponding to each user ID according to the class association matrix and the class scoring matrix includes: determining each user ID corresponding to the initial class interest of each application cluster to form each user Identify the corresponding initial class interest vector; update the initial class interest vector corresponding to each user ID according to the class scoring matrix and class association matrix until the class interest vector corresponding to each user ID converges to obtain each user ID Corresponding target class interest degree vector; according to the target class interest degree vector, the class interest degree corresponding to each application cluster of each user identifier is obtained.
  • Updating the initial class interest vector corresponding to each user ID according to the class scoring matrix and class association matrix until the class interest vector corresponding to each user ID converges includes:
  • t represents the number of iterations
  • W represents the class correlation matrix
  • B i represents The user identifier u i corresponds to an application clustering score vector composed of the class scores of each application cluster
  • ⁇ [0,1] is a custom constant.
  • determining the target recommended application corresponding to each user ID according to the class interest includes: determining the membership degree t jm of each application x j to each application cluster G m in the target cluster set according to the class conversion matrix , Where q is the total number of categories of the target cluster, where 1 ⁇ m ⁇ q; according to the formula Calculate the preference S i [j] of the user ID u i corresponding to the application x j , where V i [m] represents the class interest of the user cluster u i corresponding to the application cluster m; determine each user according to S i [j] Identify the corresponding target recommended application.
  • y d represents the user class label corresponding to the d-th user ID
  • c k represents the user class label obtained by clustering the user IDs, 1 ⁇ d ⁇ N
  • N is the total number of user IDs.
  • calculating the membership of each application to each application cluster in the target cluster set to form a class transformation matrix includes: Calculate the membership degree t ij of the i th application to the j th application cluster in the target cluster set, where 1 ⁇ i ⁇ M, 1 ⁇ j ⁇ q, M is the total number of applications, and q is the application cluster Total number of categories;
  • each cluster G j is s j .
  • the computer-readable instructions are executed by the processor: normalize the scoring matrix.
  • the computer readable instructions are executed by the processor: acquiring the search application corresponding to the input of the current user ID; calculating the membership of the search application corresponding to each application cluster; determining the target application cluster according to the membership , Obtain the corresponding first recommended application set from the target application cluster; obtain the current target recommended application corresponding to the current user ID; and recommend the first recommended application set and the current target recommended application to the terminal corresponding to the current user ID.
  • Embodiments of the present application also provide a computer-readable instruction product.
  • a computer-readable instruction product containing instructions that, when run on a computer, causes the computer to perform the application recommendation method.
  • Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM), which acts as external cache memory.
  • RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDR SDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM synchronous Link (Synchlink) DRAM
  • Rambus direct RAM
  • DRAM direct memory bus dynamic RAM
  • RDRAM memory bus dynamic RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种应用推荐方法,包括:获取用户标识对应各个应用的评分矩阵;根据所述评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将评分矩阵与所述各个用户标识对应的用户类标签组合形成扩展评分矩阵;根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵;根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;根据类关联矩阵和类评分矩阵确定各个用户标识对应的类感兴趣度;及根据类感兴趣度确定各个用户标识对应的目标推荐应用。

Description

应用推荐方法、装置、服务器和计算机可读存储介质 技术领域
本申请涉及计算机技术领域,特别是涉及一种应用推荐方法、装置、服务器和非易失性计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的不同类型的应用出现,如即时通信应用、图像处理应用、视频播放应用等,给人们的生活带来便捷。
传统的应用推荐方法根据用户当时下载应用进行推荐,推荐的应用的类别和功能都是和用户要下载的应用具有较高的相似性,这种推荐方式单一,很容易导致无效的推荐,推荐转化率很低。
发明内容
本申请实施例提供一种应用推荐方法、装置、服务器和非易失性计算机可读存储介质,可以通过自构建聚类算法进行应用推荐,推荐的应用的种类和功能多样化,提高推荐转化率。
一种应用推荐方法,包括:
获取用户标识对应各个应用的评分矩阵;
根据所述评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将所述评分矩阵与所述各个用户标识对应的用户类标签组合形成扩展评分矩阵;
根据所述扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将所述对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵;
根据所述类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;
根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度;及
根据所述类感兴趣度确定各个用户标识对应的目标推荐应用。
一种应用推荐装置,包括:
评分矩阵获取模块,用于获取用户标识对应各个应用的评分矩阵;
扩展评分矩阵模块,用于根据所述评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将所述评分矩阵与所述各个用户标识对应的用户类标签组合形成扩展评分矩阵;
类评分矩阵转化模块,用于根据所述扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将所述对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵;
类关联矩阵确定模块,用于根据所述类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;
类感兴趣度确定模块,用于根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度;
推荐应用模块,用于根据所述类感兴趣度确定各个用户标识对应的目标推荐应用。
一种服务器,包括存储器和处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:
获取用户标识对应各个应用的评分矩阵;
根据所述评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应 的用户类标签,将所述评分矩阵与所述各个用户标识对应的用户类标签组合形成扩展评分矩阵;
根据所述扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将所述对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵;
根据所述类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;
根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度;
根据所述类感兴趣度确定各个用户标识对应的目标推荐应用。
一种非易失性计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得所述处理器执行以下步骤:
获取用户标识对应各个应用的评分矩阵;
根据所述评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将所述评分矩阵与所述各个用户标识对应的用户类标签组合形成扩展评分矩阵;
根据所述扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将所述对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵;
根据所述类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;
根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度;
根据所述类感兴趣度确定各个用户标识对应的目标推荐应用。
上述应用推荐方法、装置、服务器和非易失性计算机可读存储介质,获取用户标识对应各个应用的评分矩阵,根据评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将评分矩阵与各个用户标识对应的用户类标签组合形成扩展评分矩阵,根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵,根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵,根据类关联矩阵和类评分矩阵确定各个用户标识对应的类感兴趣度,根据类感兴趣度确定各个用户标识对应的目标推荐应用,通过自构建聚类算法进行应用推荐,生成的聚类里面应用的种类和功能多样化,推荐的应用的种类和功能更加丰富,提高推荐转化率。
附图说明
为了更好地描述和说明这里公开的那些申请的实施例和/或示例,可以参考一幅或多幅附图。用于描述附图的附加细节或示例不应当被认为是对所公开的发明、目前描述的实施例和/或示例以及目前理解的这些申请的最佳模式中的任何一者的范围的限制。
图1为一个实施例中应用推荐方法的应用环境示意图。
图2为一个实施例中应用推荐方法的流程图。
图3为一个实施例中应用推荐装置的结构框图。
图4为一个实施例中类评分矩阵转化模块的结构框图。
图5为一个实施例中服务器的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请实施例中所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一控件称为第二控件,第一控件和 第二控件两者都是控件,但其不是同一控件。
图1为一个实施例中应用推荐方法的应用环境图。如图1所示,该应用环境包括移动设备110和服务器120,移动设备110从服务器120下载各个应用,并对各个应用进行评分,服务器记录用户标识对应各个应用的评分矩阵,根据所述评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将评分矩阵与所述各个用户标识对应的用户类标签组合形成扩展评分矩阵;根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵,根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度;根据类感兴趣度确定各个用户标识对应的目标推荐应用,获取移动设备110对应的当前用户标识,获取当前用户标识对应的当前目标推荐应用,从而将当前目标推荐应用推荐至移动设备110。其中移动设备110可为智能手机、平板电脑、穿戴式设备、个人数字助理等。服务器可以是单个服务器也可以是服务器集群,移动设备110和服务器120通过网络进行通信。
图2为一个实施例中应用推荐方法的流程图。如图2所示,一种应用推荐方法,以应用于图1中的服务器上为例进行说明,具体包括:
操作202,获取用户标识对应各个应用的评分矩阵。
其中,评分矩阵中的元素是用户标识对应的各个用户对各个应用的评分。通过以下表示:
Figure PCTCN2018125553-appb-000001
矩阵R的行数代表用户的数量,共N个用户,矩阵R的列数代表应用的个数,共M个应用。
具体地,各个用户对各个应用的评分是用户下载应用后,根据对应用的使用等进行的评分,如根据应用商店中用户下载评价应用的行为得到的,体现了用户对应用的感兴趣度和满意度。随着用户对应用评分的行为的更新,评分矩阵也会对应更新。
操作204,根据评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将评分矩阵与各个用户标识对应的用户类标签组合形成扩展评分矩阵。
其中,自构建聚类不需要提前输入生成聚类的数目。每个聚类的特征通过一个衡量均值和标准差的隶属度函数来体现,当处理完所有待聚类对象后,会自动得到聚类数目,不需要用户提前规定聚类的数目,很大程度上减少了试错的成本,准确度高,根据用户对应用的评分来确定用户之间的相似性。用户类标签是用户对应的聚类对应的标签,相同用户类标签的用户具有一定的相似性。
设R i=r i1,r i2,…,r iM,1≤i≤N,R={R i|1≤i≤N},我们对评分矩阵R运用自构建聚类算法,假设得到z个聚类,分别记为G 1,G 2,…,G z,每个聚类标记为一个独特的用户类标签,分别标记为c 1,c 2,…,c z。对所有属于聚类G j的用户,我们为其标记的用户类标签为c j。处理完类标签后,我们将原始数据集合评分矩阵R扩展为扩展评分矩阵R′,它有N个条目,分别是(R 1,y 1),(R 2,y 2),…(R N,y N),y i∈{c 1,c 2,…,c z},1≤i≤N。
操作206,根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵。
具体地,根据扩展评分矩阵构造出适用于自构建聚类算法的特征模式,然后根据特征模式利用自构建聚类算法对应用进行聚类得到目标聚类集合,以降低维度。不同聚类中的 应用差异较大,同一聚类中的应用相似。
根据各个应用与目标聚类集合中各个应用聚类的关系,计算得到类转化矩阵,从而将评分矩阵与类转化矩阵进行矩阵运算得到用户标识对应于各个应用聚类的类评分矩阵。利用应用聚类来降低原始数据集评分矩阵R的维度,从而降低算法的时间复杂度,并且利用降维后的矩阵为下一步运算做准备。
操作208,根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵。
具体地,类关联矩阵的元素是任意两个应用聚类之间的传播影响度,传播影响度是指从一个应用关联到另一个应用的影响力大小,如从一个应用有向转移使用另一个应用的可能度,从一个应用跳转到另一个应用的可能度等。可以根据用户对不同应用聚类的类评分大小关系计算应用聚类之间的转移关系,具体的计算方法可自定义。传播影响度的值大,表明鼓励用户从不太有利的节点转到更有利的节点,其中节点指应用聚类。类关联矩阵又可以称为类关联图。在一个实施例中,应用聚类为商品类,类关联矩阵为商品类关联图。
操作210,根据类关联矩阵和类评分矩阵确定各个用户标识对应的类感兴趣度。
具体地,类感兴趣度是指用户标识对应的用户对某个应用聚类的感兴趣程度,感兴趣程度越大,越容易使用这个应用聚类对应的应用。可通过迭代的方式根据类关联矩阵和类评分矩阵不断更新初始类感兴趣度,直到满足收敛条件,得到各个用户标识对应的目标类感兴趣度。在一个实施例中,利用随机游走策略来预测用户对应用聚类的感兴趣度。
操作212,根据类感兴趣度确定各个用户标识对应的目标推荐应用。
具体地,通过类感兴趣度确定各个用户对不同应用聚类的感兴趣度,然后获取各个应用相对于不同应用聚类的贡献值,计算用户在各个不同的应用聚类中对某个应用的喜好程度,从而根据喜好程度的大小为用户确定对应的目标推荐应用。
上述应用推荐方法,通过获取用户标识对应各个应用的评分矩阵,根据评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将评分矩阵与各个用户标识对应的用户类标签组合形成扩展评分矩阵,根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵,根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵,根据类关联矩阵和类评分矩阵确定各个用户标识对应的类感兴趣度,根据类感兴趣度确定各个用户标识对应的目标推荐应用,通过自构建聚类算法进行应用推荐,生成的聚类里面应用的种类和功能多样化,推荐的应用的种类和功能更加丰富,提高了推荐转化率。
在一个实施例中,操作206包括:根据扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵。对特征模式矩阵采用强连通分量算法对各个应用进行聚类,得到目标聚类集合。计算各个应用对目标聚类集合中的各个应用聚类的隶属度,组成类转化矩阵。根据类转化矩阵对评分矩阵进行转化得到类评分矩阵。
具体地,构造出适合强连通分量算法的特征模式,构造的算法可自定义。类转化矩阵T的元素是各个应用对目标聚类集合中的各个应用聚类的隶属度t ij
Figure PCTCN2018125553-appb-000002
其中t ij表示应用X i对应用聚类G j的隶属度,
Figure PCTCN2018125553-appb-000003
M为应用的总数目,q为应用聚类的类别总数目。其中隶属度的计算公式可自定义。把高维的评分矩阵N×M矩阵R降维成低维的类评分矩阵N×q矩阵B,如下所示:
Figure PCTCN2018125553-appb-000004
B i=[b i1 b i2 … b iq],1≤i≤N         (4.16)
我们将B中的每一列称为一个应用聚类,分别记为g 1,g 2,…,g q。由此,原来具有M个应用评分的用户记录降维成对q个应用聚类的评分。
在一个实施例中,操作208包括:根据应用聚类对应的类评分计算任意两个应用聚类之间的有向转移度;各个有向转移度组成类关联矩阵。
具体地,根据用户对应用聚类的不同的类评分的大小,确定任意两个应用聚类之间的有向转移度,可自定义算法,有向转移度是指从一个应用转移至另一个应用的可能度,这种可能度是有方向的。可以设置有向转移度较大来鼓励用户从不太有利的应用聚类转到更有利的应用聚类,但是,如果w ij太大,那么一些应用聚类就占据了主导地位,它会阻碍其他应用聚类的推荐,所以为了防止其他应用聚类受到歧视和得到更正确推荐,为有向转移度设定上限值。各个有向转移度组成类关联矩阵,可以通过归一化算法对类关联矩阵的列进行归一化。
在一个实施例中,根据应用聚类对应的类评分计算任意两个应用聚类之间的有向转移度通过以下公式计算得到:
Figure PCTCN2018125553-appb-000005
Figure PCTCN2018125553-appb-000006
其中w ij表示从i应用聚类转移至j应用聚类的有向转移度,b ki表示第k个用户对i应用聚类的评分,b kj表示第k个用户对j应用聚类的评分,N表示用户总数量,其中a 1、a 2表示变量。当任意两个应用聚类之间的有向转移度计完毕后,我们得到类关联矩阵W:
Figure PCTCN2018125553-appb-000007
矩阵W为q×q矩阵。
在一个实施例中,操作210包括:确定各个用户标识对应各个应用聚类的初始类感兴趣度,形成各个用户标识对应的初始类感兴趣度向量,根据类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新,直至各个用户标识对应的类感兴趣度向量收敛,得到各个用户标识对应的目标类感兴趣度向量,根据目标类感兴趣度向量得到各个用户标识对应各个应用聚类的类感兴趣度。
具体地,用户标识对应各个应用聚类的初始类感兴趣度可自定义,可以为相同或不同的常量。根据类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新时,可以设置类评分矩阵对应的更新权重α,类关联矩阵对应的更新权重(1- α),更新权重代表了对初始类感兴趣度向量进行更新的影响度大小。初始类感兴趣度向量V i(t)更新后得到V i(t+1),直至各个用户标识对应的类感兴趣度向量收敛,收敛条件可自定义。目标类感兴趣度向量的各个元素就是各个用户标识对应各个应用聚类的类感兴趣度。
在一个实施例中,确定各个用户标识对应各个应用聚类的初始类感兴趣度,形成各个用户标识对应的初始类感兴趣度向量,包括:
对任一用户标识u i,1≤i≤N,通过v i(0)=[1/q 1/q … 1/q] T得到用户标识u i对应的初始类感兴趣度向量v i(0),其中q为目标聚类的类别总数目。
根据类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新,直至各个用户标识对应的类感兴趣度向量收敛包括:
执行如下迭代步骤,直至v i收敛;
V i(t+1)=αWV i(t)+(1-α)B i T,t=0,1,2,…其中t表示迭代次数,为整数,W表示类关联矩阵,B i表示用户标识u i对应各个应用聚类的类评分组成的应用聚类评分向量,α∈[0,1]是自定义的一个常数。在一个实施例中,α取0.85。
在一个实施例中,操作212,包括:根据类转化矩阵确定各个应用x j对目标聚类集合中的各个目标聚类G m的隶属度t jm,其中q为目标聚类的类别总数目,其中1≤m≤q,根据公式
Figure PCTCN2018125553-appb-000008
计算得到用户标识u i对应应用x j的喜好程度S i[j],其中V i[m]表示用户标识u i对应应用聚类m的类感兴趣度;根据S i[j]确定各个用户标识对应的目标推荐应用。
具体的,类转化矩阵的元素就是各个应用x j对目标聚类集合中的各个应用聚类G m的隶属度t jm,隶属度t jm是应用x j对应用聚类g m的贡献值,t jmV i[m]表示用户标识u i在应用聚类g m中对应用x j的喜好程度,累加得出用户标识u i对应应用x j的喜好程度,根据用户标识u i对应应用x j的喜好程度大小,得到各个用户标识u i对应的目标推荐应用。
在一个实施例中,根据扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵,包括:每个应用p j,1≤j≤M,构造一个特征模式X j=x j1,x j2,…,x jz,其中
Figure PCTCN2018125553-appb-000009
Figure PCTCN2018125553-appb-000010
M为应用的总数目,z为用户标识聚类后的聚类总数,每个特征模式具有z个分量;
Figure PCTCN2018125553-appb-000011
其中y d表示第d个用户标识对应的用户类标签,c k表示对用户标识进行聚类得到的用户类标签,1≤d≤N,N为用户标识总数目。
在一个实施例中,计算各个应用对目标聚类集合中的各个应用聚类的隶属度,组成类 转化矩阵包括:通过
Figure PCTCN2018125553-appb-000012
计算第i个应用对目标聚类集合中的第j个应用聚类的隶属度t ij,其中1≤i≤M,1≤j≤q,M为应用的总数目,q为应用聚类的类别总数目;其中
Figure PCTCN2018125553-appb-000013
其中
Figure PCTCN2018125553-appb-000014
每个聚类G j的大小为s j
其中m jc表示G j的平均值,σ jc表示G j的标准差。如果隶属度不小于预定义的阈值ρ,
Figure PCTCN2018125553-appb-000015
我们就说X i通过了聚类G j的相似度检测。较大的ρ导致较小的聚类,较小的ρ导致较大的聚类。随着ρ的增加,聚类的数目也会增加。
在一个实施例中,获取用户标识对应各个应用的评分矩阵之后,还包括:对所述评分矩阵进行归一化处理。
具体地,根据用户对商品的评分来确定用户之间的相似性。但是,不同的用户个体有着不同的个性,他们在对商品进行评分的时候有着不同的个性表现。有的用户对商品的打分往往比较偏高;有的用户对商品的打分往往比较偏低。把用户的评分看做为一个波形,此时如果两个用户的波形整体比较紧密匹配,除了两个波形之间的某个偏移之处,就认为这两个用户是相似的。因此,对评分矩阵中用户对各个应用的评分先利用以下公式进行归一化,消除用户评分尺度不同的问题:
Figure PCTCN2018125553-appb-000016
Figure PCTCN2018125553-appb-000017
其中M表示应用总数目,N表示用户标识总数目。x ij为归一化后的评分矩阵中的各个元素,r ij为归一化前评分矩阵中的各个元素。
在一个实施例中,方法还包括:获取当前用户标识对应的输入的搜索应用,计算搜索应用对应各个应用聚类的隶属度;根据隶属度大小确定目标应用聚类,从目标应用聚类中获取对应的第一推荐应用集合;获取当前用户标识对应的当前目标推荐应用;将第一推荐应用集合和当前目标推荐应用推荐至当前用户标识对应的终端。
具体地,根据隶属度大小确定目标应用聚类,可以将隶属度进行排序,从中选出隶属度最高的前预设数目的应用聚类作为目标应用聚类,如5个。从每个目标应用聚类中选择一个或多个目标应用作为第一推荐应用集合中的应用,如从5个目标应用聚类中,每个目标应用聚类选取1个应用。因为得到的应用聚类中的应用不是按种类分别,是按关联性,如照片应用-视频剪辑应用-社交平台应用,可能在一个应用聚类中,因此得到的第一推荐应用集合中的应用的种类和功能都具有多样性。获取当前用户标识对应的根据上述任一实施例得到的当前目标推荐应用,可以直接将第一推荐应用集合和当前目标推荐应用推荐至当前用户标识对应的终端,也可以将第一推荐应用集合和从当前目标推荐应用中选择预设数目个,如前5个和目前用户搜索应用所属聚类标签最接近的应用推荐至当前用户标识对应的终端,进一步提高推荐转化率。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请实施例还提供了一种服务器。该服务器,包括存储器和处理器,该存储器中储存有计算机可读指令,该计算机可读指令被该处理器执行时,使得该处理器执行以下步骤:获取用户标识对应各个应用的评分矩阵;根据评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将评分矩阵与各个用户标识对应的用户类标签组合形成扩展评分矩阵;根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵;根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;根据类关联矩阵和类评分矩阵确定各个用户标识对应的类感兴趣度;根据类感兴趣度确定各个用户标识对应的目标推荐应用。
在一个实施例中,根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵,包括:根据扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵,对特征模式矩阵采用强连通分量算法对各个应用进行聚类,得到目标聚类集合;计算各个应用对目标聚类集合中的各个应用聚类的隶属度,组成类转化矩阵;根据类转化矩阵对评分矩阵进行转化得到类评分矩阵。
在一个实施例中,根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵,包括:根据应用聚类对应的类评分计算任意两个应用聚类之间的有向转移度;各个有向转移度组成类关联矩阵。
在一个实施例中,根据应用聚类对应的类评分计算任意两个应用聚类之间的有向转移度通过以下公式计算得到:
Figure PCTCN2018125553-appb-000018
Figure PCTCN2018125553-appb-000019
其中w ij表示从i应用聚类转移至j应用聚类的有向转移度,b ki表示第k个用户对i应用聚类的评分,b kj表示第k个用户对j应用聚类的评分,N表示用户总数量,其中a 1、a 2表示变量。
在一个实施例中,根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度,包括:确定各个用户标识对应各个应用聚类的初始类感兴趣度,形成各个用户标识对应的初始类感兴趣度向量;根据类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新,直至各个用户标识对应的类感兴趣度向量收敛,得到各个用户标识对应的目标类感兴趣度向量;根据目标类感兴趣度向量得到各个用户标识对应各个应用聚类的类感兴趣度。
在一个实施例中,确定各个用户标识对应各个应用聚类的初始类感兴趣度,形成各个用户标识对应的初始类感兴趣度向量,包括:对任一用户标识u i,1≤i≤N,通过 v i(0)=[1/q 1/q … 1/q] T得到用户标识u i对应的初始类感兴趣度向量v i(0),其中q为目标聚类的类别总数目。
根据类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新,直至各个用户标识对应的类感兴趣度向量收敛包括:
执行如下迭代步骤,直至v i收敛;
V i(t+1)=αWV i(t)+(1-α)B i T,t=0,1,2,…其中t表示迭代次数,为整数,W表示类关联矩阵,B i表示用户标识u i对应各个应用聚类的类评分组成的应用聚类评分向量,α∈[0,1]是自定义的一个常数。
在一个实施例中,根据类感兴趣度确定各个用户标识对应的目标推荐应用,包括:根据类转化矩阵确定各个应用x j对目标聚类集合中的各个应用聚类G m的隶属度t jm,其中q为目标聚类的类别总数目,其中1≤m≤q;根据公式
Figure PCTCN2018125553-appb-000020
计算得到用户标识u i对应应用x j的喜好程度S i[j],其中V i[m]表示用户标识u i对应应用聚类m的类感兴趣度;根据S i[j]确定各个用户标识对应的目标推荐应用。
在一个实施例中,根据扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵,包括:每个应用p j,1≤j≤M,构造一个特征模式X j=x j1,x j2,…,x jz,其中
Figure PCTCN2018125553-appb-000021
Figure PCTCN2018125553-appb-000022
M为应用的总数目,z为用户标识聚类后的聚类总数,每个特征模式具有z个分量;
Figure PCTCN2018125553-appb-000023
其中y d表示第d个用户标识对应的用户类标签,c k表示对用户标识进行聚类得到的用户类标签,1≤d≤N,N为用户标识总数目。
在一个实施例中,计算各个应用对目标聚类集合中的各个应用聚类的隶属度,组成类转化矩阵包括:通过
Figure PCTCN2018125553-appb-000024
计算第i个应用对目标聚类集合中的第j个应用聚类的隶属度t ij,其中1≤i≤M,1≤j≤q,M为应用的总数目,q为应用聚类的类别总数目;
其中
Figure PCTCN2018125553-appb-000025
其中
Figure PCTCN2018125553-appb-000026
每个聚类G j的大小为s j
在一个实施例中,处理器执行以下步骤:对所述评分矩阵进行归一化处理。
在一个实施例中,处理器执行以下步骤:获取当前用户标识对应的输入的搜索应用;计算搜索应用对应所述各个应用聚类的隶属度;根据隶属度大小确定目标应用聚类,从目标应用聚类中获取对应的第一推荐应用集合;获取当前用户标识对应的当前目标推荐应用;将第一推荐应用集合和当前目标推荐应用推荐至当前用户标识对应的终端。
图3为一个实施例中应用推荐装置的结构框图。如图3所示,一种应用推荐装置,包括评分矩阵获取模块302、扩展评分矩阵模块304、类评分矩阵转化模块306、类关联矩 阵确定模块308、类感兴趣度确定模块310和推荐应用模块312。其中:
评分矩阵获取模块302,用于获取用户标识对应各个应用的评分矩阵。
扩展评分矩阵模块304,用于根据评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将评分矩阵与各个用户标识对应的用户类标签组合形成扩展评分矩阵。
类评分矩阵转化模块306,用于根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵。
类关联矩阵确定模块308,用于根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵。
类感兴趣度确定模块310,用于根据类关联矩阵和类评分矩阵确定各个用户标识对应的类感兴趣度。
推荐应用模块312,用于根据类感兴趣度确定各个用户标识对应的目标推荐应用。
在一个实施例中,如图4所示,类评分矩阵转化模块306包括:
特征模式矩阵形成单元306A,用于根据扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵。
聚类单元306B,用于对特征模式矩阵采用强连通分量算法对各个应用进行聚类,得到目标聚类集合。
类转化矩阵单元306C,用于计算各个应用对目标聚类集合中的各个目标聚类的隶属度,组成类转化矩阵。
类评分矩阵单元306D,用于根据类转化矩阵对评分矩阵进行转化得到类评分矩阵。
在一个实施例中,类关联矩阵确定模块308还用于根据应用聚类对应的类评分计算任意两个应用聚类之间的有向转移度;各个有向转移度组成类关联矩阵。
在一个实施例中,类关联矩阵确定模块308用于通过以下公式计算得到有向转移度:
Figure PCTCN2018125553-appb-000027
Figure PCTCN2018125553-appb-000028
其中w ij表示从i应用聚类转移至j应用聚类的有向转移度,b ki表示第k个用户对i应用聚类的评分,b kj表示第k个用户对j应用聚类的评分,N表示用户总数量,其中a 1、a 2表示变量。
在一个实施例中,类感兴趣度确定模块310还用于确定各个用户标识对应各个应用聚类的初始类感兴趣度,形成各个用户标识对应的初始类感兴趣度向量,根据类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新,直至各个用户标识对应的类感兴趣度向量收敛,得到各个用户标识对应的目标类感兴趣度向量,根据目标类感兴趣度向量得到各个用户标识对应各个应用聚类的类感兴趣度。
在一个实施例中,类感兴趣度确定模块310还用于对任一用户标识u i,1≤i≤N,通过v i(0)=[1/q 1/q … 1/q] T得到用户标识u i对应的初始类感兴趣度向量v i(0),其中q为目标聚类的类别总数目;执行如下迭代步骤,直至v i收敛;V i(t+1)=αWV i(t)+(1-α)B i T,t=0,1,2,…其中t表示迭代次数,为整数,W表示类关联矩阵,B i表示用户 标识u i对应各个应用聚类的类评分组成的应用聚类评分向量,α∈[0,1]是自定义的一个常数。
在一个实施例中,推荐应用模块312还用于根据类转化矩阵确定各个应用x j对目标聚类集合中的各个应用聚类G m的隶属度t jm,其中q为目标聚类的类别总数目,其中1≤m≤q;根据公式
Figure PCTCN2018125553-appb-000029
计算得到用户标识u i对应应用x j的喜好程度S i[j],其中V i[m]表示用户标识u i对应应用聚类m的类感兴趣度;根据S i[j]确定各个用户标识对应的目标推荐应用。
在一个实施例中,特征模式矩阵形成单元306A还用于每个应用p j,1≤j≤M,构造一个特征模式X j=x j1,x j2,…,x jz,其中
Figure PCTCN2018125553-appb-000030
Figure PCTCN2018125553-appb-000031
M为应用的总数目,z为用户标识聚类后的聚类总数,每个特征模式具有z个分量;
Figure PCTCN2018125553-appb-000032
其中y d表示第d个用户标识对应的用户类标签,c k表示对用户标识进行聚类得到的用户类标签,1≤d≤N,N为用户标识总数目。
在一个实施例中,类转化矩阵单元306C还用于通过
Figure PCTCN2018125553-appb-000033
计算第i个应用对目标聚类集合中的第j个应用聚类的隶属度t ij,其中1≤i≤M,1≤j≤q,M为应用的总数目,q为应用聚类的类别总数目;
其中
Figure PCTCN2018125553-appb-000034
其中
Figure PCTCN2018125553-appb-000035
每个聚类G j的大小为s j
在一个实施例中,评分矩阵获取模块302还用于对评分矩阵进行归一化处理。
在一个实施例中,装置还包括:
搜索推荐模块,用于获取当前用户标识对应的输入的搜索应用,计算搜索应用对应各个应用聚类的隶属度;根据隶属度大小确定目标应用聚类,从所述目标应用聚类中获取对应的第一推荐应用集合,获取当前用户标识对应的当前目标推荐应用,将第一推荐应用集合和当前目标推荐应用推荐至当前用户标识对应的终端。
本申请实施例中提供的应用推荐装置中的各个模块的实现可为计算机可读指令的形式。该计算机可读指令可在终端或服务器上运行。该计算机可读指令构成的程序模块可存储在终端或服务器的存储器上。该计算机可读指令被处理器执行时,实现本申请实施例中所描述方法的步骤。
图5为一个实施例中服务器的内部结构示意图。如图5所示,该服务器包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机可读指令。该计算机可读指令可被处理器所执行,以用于实现以上各个实施例 所提供的一种应用推荐方法。内存储器为非易失性存储介质中的操作系统计算机可读指令提供高速缓存的运行环境。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在本申请实施例中,该服务器所包括的处理器执行存储在存储器上的计算机可读指令时实现应用推荐方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可读指令的非易失性计算机可读存储介质,该计算机可读指令被处理器执行时实现以下步骤:获取用户标识对应各个应用的评分矩阵;根据评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将评分矩阵与各个用户标识对应的用户类标签组合形成扩展评分矩阵;根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵;根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;根据类关联矩阵和类评分矩阵确定各个用户标识对应的类感兴趣度;根据类感兴趣度确定各个用户标识对应的目标推荐应用。
在一个实施例中,根据扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵,包括:根据扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵,对特征模式矩阵采用强连通分量算法对各个应用进行聚类,得到目标聚类集合;计算各个应用对目标聚类集合中的各个应用聚类的隶属度,组成类转化矩阵;根据类转化矩阵对评分矩阵进行转化得到类评分矩阵。
在一个实施例中,根据类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵,包括:根据应用聚类对应的类评分计算任意两个应用聚类之间的有向转移度;各个有向转移度组成类关联矩阵。
在一个实施例中,根据应用聚类对应的类评分计算任意两个应用聚类之间的有向转移度通过以下公式计算得到:
Figure PCTCN2018125553-appb-000036
Figure PCTCN2018125553-appb-000037
其中w ij表示从i应用聚类转移至j应用聚类的有向转移度,b ki表示第k个用户对i应用聚类的评分,b kj表示第k个用户对j应用聚类的评分,N表示用户总数量,其中a 1、a 2表示变量。
在一个实施例中,根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度,包括:确定各个用户标识对应各个应用聚类的初始类感兴趣度,形成各个用户标识对应的初始类感兴趣度向量;根据类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新,直至各个用户标识对应的类感兴趣度向量收敛,得到各个用户标识对应的目标类感兴趣度向量;根据目标类感兴趣度向量得到各个用户标识对应各个应用聚类的类感兴趣度。
在一个实施例中,确定各个用户标识对应各个应用聚类的初始类感兴趣度,形成各个用户标识对应的初始类感兴趣度向量,包括:对任一用户标识u i,1≤i≤N,通过 v i(0)=[1/q 1/q … 1/q] T得到用户标识u i对应的初始类感兴趣度向量v i(0),其中q为目标聚类的类别总数目。
根据类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新,直至各个用户标识对应的类感兴趣度向量收敛包括:
执行如下迭代步骤,直至v i收敛;
V i(t+1)=αWV i(t)+(1-α)B i T,t=0,1,2,…其中t表示迭代次数,为整数,W表示类关联矩阵,B i表示用户标识u i对应各个应用聚类的类评分组成的应用聚类评分向量,α∈[0,1]是自定义的一个常数。
在一个实施例中,根据类感兴趣度确定各个用户标识对应的目标推荐应用,包括:根据类转化矩阵确定各个应用x j对目标聚类集合中的各个应用聚类G m的隶属度t jm,其中q为目标聚类的类别总数目,其中1≤m≤q;根据公式
Figure PCTCN2018125553-appb-000038
计算得到用户标识u i对应应用x j的喜好程度S i[j],其中V i[m]表示用户标识u i对应应用聚类m的类感兴趣度;根据S i[j]确定各个用户标识对应的目标推荐应用。
在一个实施例中,根据扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵,包括:每个应用p j,1≤j≤M,构造一个特征模式X j=x j1,x j2,…,x jz,其中
Figure PCTCN2018125553-appb-000039
Figure PCTCN2018125553-appb-000040
M为应用的总数目,z为用户标识聚类后的聚类总数,每个特征模式具有z个分量;
Figure PCTCN2018125553-appb-000041
其中y d表示第d个用户标识对应的用户类标签,c k表示对用户标识进行聚类得到的用户类标签,1≤d≤N,N为用户标识总数目。
在一个实施例中,计算各个应用对目标聚类集合中的各个应用聚类的隶属度,组成类转化矩阵包括:通过
Figure PCTCN2018125553-appb-000042
计算第i个应用对目标聚类集合中的第j个应用聚类的隶属度t ij,其中1≤i≤M,1≤j≤q,M为应用的总数目,q为应用聚类的类别总数目;
其中
Figure PCTCN2018125553-appb-000043
其中
Figure PCTCN2018125553-appb-000044
每个聚类G j的大小为s j
在一个实施例中,该计算机可读指令被处理器执行:对所述评分矩阵进行归一化处理。
在一个实施例中,该计算机可读指令被处理器执行:获取当前用户标识对应的输入的搜索应用;计算搜索应用对应所述各个应用聚类的隶属度;根据隶属度大小确定目标应用聚类,从目标应用聚类中获取对应的第一推荐应用集合;获取当前用户标识对应的当前目标推荐应用;将第一推荐应用集合和当前目标推荐应用推荐至当前用户标识对应的终端。
本申请实施例还提供一种计算机可读指令产品。一种包含指令的计算机可读指令 产品,当其在计算机上运行时,使得计算机执行应用推荐方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

  1. 一种应用推荐方法,其特征在于,包括:
    获取用户标识对应各个应用的评分矩阵;
    根据所述评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将所述评分矩阵与所述各个用户标识对应的用户类标签组合形成扩展评分矩阵;
    根据所述扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将所述对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵;
    根据所述类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;
    根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度;及
    根据所述类感兴趣度确定各个用户标识对应的目标推荐应用。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将所述对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵,包括:
    根据所述扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵;
    对所述特征模式矩阵采用强连通分量算法对各个应用进行聚类,得到目标聚类集合;
    计算各个应用对目标聚类集合中的各个应用聚类的隶属度,组成类转化矩阵;
    根据所述类转化矩阵对所述评分矩阵进行转化得到所述类评分矩阵。
  3. 根据权利要求1所述的方法,其特征在于,所述根据所述类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵,包括:
    根据应用聚类对应的类评分计算任意两个应用聚类之间的有向转移度;
    各个有向转移度组成所述类关联矩阵。
  4. 根据权利要求3所述的方法,其特征在于,所述根据应用聚类对应的类评分计算任意两个应用聚类之间的有向转移度通过以下公式计算得到:
    Figure PCTCN2018125553-appb-100001
    Figure PCTCN2018125553-appb-100002
    其中w ij表示从i应用聚类转移至j应用聚类的有向转移度,b ki表示第k个用户对i应用聚类的评分,b kj表示第k个用户对j应用聚类的评分,N表示用户总数量,其中a 1、a 2表示变量。
  5. 根据权利要求1所述的方法,其特征在于,所述根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度,包括:
    确定各个用户标识对应各个应用聚类的初始类感兴趣度,形成各个用户标识对应的初始类感兴趣度向量;
    根据所述类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新,直至各个用户标识对应的类感兴趣度向量收敛,得到各个用户标识对应的目标类感兴趣度向量;
    根据所述目标类感兴趣度向量得到各个用户标识对应各个应用聚类的类感兴趣度。
  6. 根据权利要求5所述的方法,其特征在于,所述确定各个用户标识对应各个应用聚类的初始类感兴趣度,形成各个用户标识对应的初始类感兴趣度向量,包括:
    对任一用户标识u i,1≤i≤N,通过v i(0)=[1/q 1/q … 1/q] T得到用户标识u i对应的初始类感兴趣度向量v i(0),其中q为目标聚类的类别总数目;
    所述根据所述类评分矩阵和类关联矩阵对各个用户标识对应的初始类感兴趣度向量进行更新,直至各个用户标识对应的类感兴趣度向量收敛包括:
    执行如下迭代步骤,直至v i收敛;
    V i(t+1)=αWV i(t)+(1-α)B i T,t=0,1,2,…其中t表示迭代次数,为整数,W表示类关联矩阵,B i表示用户标识u i对应各个应用聚类的类评分组成的应用聚类评分向量,α∈[0,1]是自定义的一个常数。
  7. 根据权利要求1所述的方法,其特征在于,所述根据所述类感兴趣度确定各个用户标识对应的目标推荐应用,包括:
    根据类转化矩阵确定各个应用x j对目标聚类集合中的各个应用聚类G m的隶属度t jm,其中q为目标聚类的类别总数目,其中1≤m≤q;
    根据公式
    Figure PCTCN2018125553-appb-100003
    计算得到用户标识u i对应应用x j的喜好程度S i[j],其中V i[m]表示用户标识u i对应应用聚类m的类感兴趣度;
    根据S i[j]确定各个用户标识对应的目标推荐应用。
  8. 根据权利要求2所述的方法,其特征在于,所述根据所述扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵,包括:
    每个应用p j,1≤j≤M,构造一个特征模式X j=x j1,x j2,…,x jz,其中
    Figure PCTCN2018125553-appb-100004
    Figure PCTCN2018125553-appb-100005
    M为应用的总数目,z为用户标识聚类后的聚类总数,每个特征模式具有z个分量;
    Figure PCTCN2018125553-appb-100006
    其中y d表示第d个用户标识对应的用户类标签,c k表示对用户标识进行聚类得到的用户类标签,1≤d≤N,N为用户标识总数目。
  9. 根据权利要求8所述的方法,其特征在于,所述计算各个应用对目标聚类集合中的各个应用聚类的隶属度,组成类转化矩阵包括:
    通过
    Figure PCTCN2018125553-appb-100007
    计算第i个应用对目标聚类集合中的第j个应用聚类的隶属度t ij,其中1≤i≤M,1≤j≤q,M为应用的总数目,q为应用聚类的类别总数目;
    其中
    Figure PCTCN2018125553-appb-100008
    其中
    Figure PCTCN2018125553-appb-100009
    每个聚类G j的大小为s j
  10. 根据权利要求1所述的方法,其特征在于,所述获取用户标识对应各个应用的评分矩阵之后,还包括:对所述评分矩阵进行归一化处理。
  11. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    获取当前用户标识对应的输入的搜索应用;
    计算所述搜索应用对应所述各个应用聚类的隶属度;
    根据隶属度大小确定目标应用聚类,从所述目标应用聚类中获取对应的第一推荐应用集合;
    获取所述当前用户标识对应的当前目标推荐应用;
    将所述第一推荐应用集合和所述当前目标推荐应用推荐至所述当前用户标识对应的终端。
  12. 一种应用推荐装置,其特征在于,包括:
    评分矩阵获取模块,用于获取用户标识对应各个应用的评分矩阵;
    扩展评分矩阵模块,用于根据所述评分矩阵利用自构建聚类算法对用户标识进行聚类,得到各个用户标识对应的用户类标签,将所述评分矩阵与所述各个用户标识对应的用户类标签组合形成扩展评分矩阵;
    类评分矩阵转化模块,用于根据所述扩展评分矩阵利用自构建聚类算法对各个应用进行聚类,将所述对应各个应用的评分矩阵转化为对应各个应用聚类的类评分矩阵;
    类关联矩阵确定模块,用于根据所述类评分矩阵计算应用聚类之间的转移关系得到类关联矩阵;
    类感兴趣度确定模块,用于根据所述类关联矩阵和所述类评分矩阵确定各个用户标识对应的类感兴趣度;
    推荐应用模块,用于根据所述类感兴趣度确定各个用户标识对应的目标推荐应用。
  13. 根据权利要求12所述的装置,其特征在于,类评分矩阵转化模块包括:
    特征模式矩阵形成单元,用于根据所述扩展评分矩阵构建各个应用对应的特征模式组成特征模式矩阵;
    聚类单元,用于对所述特征模式矩阵采用强连通分量算法对各个应用进行聚类,得到目标聚类集合;
    类转化矩阵单元,用于计算各个应用对目标聚类集合中的各个目标聚类的隶属度,组成类转化矩阵;
    类评分矩阵单元,用于根据所述类转化矩阵对所述评分矩阵进行转化得到所述类评分矩阵。
  14. 一种服务器,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行权利要求1至11中任一项权利要求所述方法的步骤。
  15. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得所述处理器执行权利要求1至11中任一项权利要求所述方法的步骤。
PCT/CN2018/125553 2018-12-29 2018-12-29 应用推荐方法、装置、服务器和计算机可读存储介质 WO2020133398A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880099097.2A CN112955883B (zh) 2018-12-29 2018-12-29 应用推荐方法、装置、服务器和计算机可读存储介质
PCT/CN2018/125553 WO2020133398A1 (zh) 2018-12-29 2018-12-29 应用推荐方法、装置、服务器和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/125553 WO2020133398A1 (zh) 2018-12-29 2018-12-29 应用推荐方法、装置、服务器和计算机可读存储介质

Publications (1)

Publication Number Publication Date
WO2020133398A1 true WO2020133398A1 (zh) 2020-07-02

Family

ID=71126150

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/125553 WO2020133398A1 (zh) 2018-12-29 2018-12-29 应用推荐方法、装置、服务器和计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN112955883B (zh)
WO (1) WO2020133398A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112633977A (zh) * 2020-12-22 2021-04-09 苏州斐波那契信息技术有限公司 一种基于用户行为的评分方法、装置计算机设备及存储介质
CN113674065A (zh) * 2021-08-30 2021-11-19 中国平安人寿保险股份有限公司 基于服务触点的业务推荐方法、装置、电子设备及介质
CN114417138A (zh) * 2021-12-27 2022-04-29 海信集团控股股份有限公司 一种健康信息推荐方法和设备
CN116089732A (zh) * 2023-04-11 2023-05-09 江西时刻互动科技股份有限公司 基于广告点击数据的用户偏好识别方法及系统
WO2023096501A1 (en) * 2021-11-24 2023-06-01 Xero Limited Methods and systems for building and/or using a graph data structure
CN117078359A (zh) * 2023-10-16 2023-11-17 山东大学 基于用户群分类的产品推荐方法、系统、设备及介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704608A (zh) * 2021-08-26 2021-11-26 武汉卓尔数字传媒科技有限公司 个性化项目推荐方法、装置、电子设备及存储介质
CN114970775B (zh) * 2022-07-29 2023-04-18 国家国防科技工业局军工项目审核中心 基于聚类的军工集团人员信息标签化方法
CN117892010B (zh) * 2024-03-14 2024-05-24 江西省博库信息技术有限公司 一种基于大数据的科普知识精准推送方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140379516A1 (en) * 2013-06-19 2014-12-25 Thomson Licensing Context based recommender system
CN105095477A (zh) * 2015-08-12 2015-11-25 华南理工大学 一种基于多指标评分的推荐算法
CN106326297A (zh) * 2015-07-01 2017-01-11 北京搜狗科技发展有限公司 一种应用程序推荐方法及装置
CN107944485A (zh) * 2017-11-17 2018-04-20 西安电子科技大学 基于聚类群组发现的推荐系统及方法、个性化推荐系统
CN108197285A (zh) * 2018-01-15 2018-06-22 腾讯科技(深圳)有限公司 一种数据推荐方法以及装置
CN108197215A (zh) * 2017-12-28 2018-06-22 努比亚技术有限公司 一种推荐方法、服务器及计算机可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678618B (zh) * 2013-12-17 2017-01-25 南京大学 一种基于社交网络平台的Web服务推荐方法
CN104050258B (zh) * 2014-06-15 2017-02-15 中国传媒大学 一种基于兴趣群组的群体推荐方法
EP2960849A1 (en) * 2014-06-26 2015-12-30 Deutsche Telekom AG Method and system for recommending an item to a user
CN105373597B (zh) * 2015-10-27 2016-11-09 华侨大学 基于k‑medoids项目聚类和局部兴趣融合的用户协同过滤推荐方法
CN108984551A (zh) * 2017-05-31 2018-12-11 广州智慧城市发展研究院 一种基于多类别联合软聚类的推荐方法及系统
CN108647724A (zh) * 2018-05-11 2018-10-12 国网电子商务有限公司 一种基于模拟退火算法的用户推荐方法及装置
CN108776919B (zh) * 2018-05-31 2021-07-20 西安电子科技大学 基于聚类及进化算法构建信息核的物品推荐方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140379516A1 (en) * 2013-06-19 2014-12-25 Thomson Licensing Context based recommender system
CN106326297A (zh) * 2015-07-01 2017-01-11 北京搜狗科技发展有限公司 一种应用程序推荐方法及装置
CN105095477A (zh) * 2015-08-12 2015-11-25 华南理工大学 一种基于多指标评分的推荐算法
CN107944485A (zh) * 2017-11-17 2018-04-20 西安电子科技大学 基于聚类群组发现的推荐系统及方法、个性化推荐系统
CN108197215A (zh) * 2017-12-28 2018-06-22 努比亚技术有限公司 一种推荐方法、服务器及计算机可读存储介质
CN108197285A (zh) * 2018-01-15 2018-06-22 腾讯科技(深圳)有限公司 一种数据推荐方法以及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112633977A (zh) * 2020-12-22 2021-04-09 苏州斐波那契信息技术有限公司 一种基于用户行为的评分方法、装置计算机设备及存储介质
CN113674065A (zh) * 2021-08-30 2021-11-19 中国平安人寿保险股份有限公司 基于服务触点的业务推荐方法、装置、电子设备及介质
CN113674065B (zh) * 2021-08-30 2023-09-22 中国平安人寿保险股份有限公司 基于服务触点的业务推荐方法、装置、电子设备及介质
WO2023096501A1 (en) * 2021-11-24 2023-06-01 Xero Limited Methods and systems for building and/or using a graph data structure
US11960542B2 (en) 2021-11-24 2024-04-16 Xero Limited Methods and systems for building and/or using a graph data structure
CN114417138A (zh) * 2021-12-27 2022-04-29 海信集团控股股份有限公司 一种健康信息推荐方法和设备
CN114417138B (zh) * 2021-12-27 2024-04-02 海信集团控股股份有限公司 一种健康信息推荐方法和设备
CN116089732A (zh) * 2023-04-11 2023-05-09 江西时刻互动科技股份有限公司 基于广告点击数据的用户偏好识别方法及系统
CN117078359A (zh) * 2023-10-16 2023-11-17 山东大学 基于用户群分类的产品推荐方法、系统、设备及介质
CN117078359B (zh) * 2023-10-16 2024-01-12 山东大学 基于用户群分类的产品推荐方法、系统、设备及介质

Also Published As

Publication number Publication date
CN112955883A (zh) 2021-06-11
CN112955883B (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
WO2020133398A1 (zh) 应用推荐方法、装置、服务器和计算机可读存储介质
US10902051B2 (en) Product identification in image with multiple products
CN110866181B (zh) 资源推荐的方法、装置及存储介质
EP4145308A1 (en) Search recommendation model training method, and search result sorting method and device
Wang et al. Unsupervised feature selection via low-rank approximation and structure learning
WO2021262530A1 (en) Systems and methods for deep learning model based product matching using multi modal data
CN108491511B (zh) 基于图数据的数据挖掘方法和装置、模型训练方法和装置
CN110889747B (zh) 商品推荐方法、装置、系统、计算机设备及存储介质
CN111798273A (zh) 产品的购买概率预测模型的训练方法及购买概率预测方法
WO2020192013A1 (zh) 定向广告投放方法和装置、设备及存储介质
CN111178949B (zh) 服务资源匹配参考数据确定方法、装置、设备和存储介质
CN110880006B (zh) 用户分类方法、装置、计算机设备和存储介质
Han et al. Selecting feature subset with sparsity and low redundancy for unsupervised learning
CN105531701A (zh) 个性化趋势图像搜索建议
CN111400615B (zh) 一种资源推荐方法、装置、设备及存储介质
Xuan et al. Prediction of drug–target interactions based on network representation learning and ensemble learning
CN110569349B (zh) 基于大数据的患教文章推送方法、系统、设备及存储介质
CN113032668A (zh) 基于用户画像的产品推荐方法、装置、设备及存储介质
CN111161009B (zh) 信息推送方法、装置、计算机设备和存储介质
Vieira et al. A novel content-based image retrieval system with feature descriptor integration and accuracy noise reduction
US8495070B2 (en) Logic operation system
CN110889748A (zh) 店商平台产品推荐方法、装置、计算机设备以及存储介质
EP4206989A1 (en) Data processing method, neural network training method, and related device
CN110543597B (zh) 一种评分确定方法、装置及电子设备
CN114782125A (zh) 产品配置方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18944791

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 08/11/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18944791

Country of ref document: EP

Kind code of ref document: A1