CN110569422B - Application recommendation method and device based on application vector - Google Patents

Application recommendation method and device based on application vector Download PDF

Info

Publication number
CN110569422B
CN110569422B CN201810273405.0A CN201810273405A CN110569422B CN 110569422 B CN110569422 B CN 110569422B CN 201810273405 A CN201810273405 A CN 201810273405A CN 110569422 B CN110569422 B CN 110569422B
Authority
CN
China
Prior art keywords
user
application
vector
applications
vector space
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201810273405.0A
Other languages
Chinese (zh)
Other versions
CN110569422A (en
Inventor
胡静
施卉
黄振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201810273405.0A priority Critical patent/CN110569422B/en
Publication of CN110569422A publication Critical patent/CN110569422A/en
Application granted granted Critical
Publication of CN110569422B publication Critical patent/CN110569422B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Abstract

The invention provides an application recommendation method and device based on application vectors, wherein the method comprises the following steps: acquiring all application vectors applied to a vector space; calculating a user vector of the user in the vector space, wherein the user vector is the sum of vectors of first applications installed by the user in the vector space; calculating the distance from the vector of the second application which is not installed by the user to the vector of the user; recommending the second application with the distance within a preset range to the user. According to the scheme, automatic matching and personalized application recommendation of the application can be realized, the download conversion rate and the user experience of the user can be effectively improved, and the recommended application list does not need to be manually maintained, so that the working efficiency of operators can be improved.

Description

Application recommendation method and device based on application vector
Technical Field
The invention relates to the field of data analysis, in particular to an application recommendation method and device based on application vectors.
Background
In the application store operation process, applications that may be interested by a user are generally pushed to the user according to an application list that the user has installed, so as to increase the viscosity of the user, improve the activity of the user, and increase the downloading amount of the applications. More often, in the application store home page, it is directly presented in the recommendation column to increase the user experience and enlarge the download volume of the application. In order to make the recommended applications presented to each user more targeted, it is necessary to implement automatic matching of applications, thereby implementing personalized recommendation of applications.
Disclosure of Invention
The invention provides an application recommendation method and device based on application vectors, which are used for realizing automatic matching of applications and carrying out personalized recommendation.
The invention provides an application recommendation method based on an application vector, which comprises the following steps: acquiring all application vectors applied to a vector space; calculating a user vector of the user in the vector space, wherein the user vector is the sum of vectors of first applications installed by the user in the vector space; calculating the distance from the vector of the second application which is not installed by the user to the vector of the user; recommending the second application with the distance within a preset range to the user.
In an implementation manner, the obtaining of the application vectors of all applications in the vector space includes: define all users as
Figure BDA0001613093330000011
Define all applications as
Figure BDA0001613093330000012
Aiming at the ith user, sequencing the applications installed by the user according to the installation sequence of the applications to obtain an installed application list of the ith user
Figure BDA0001613093330000013
Wherein k isijA serial number of an application installed for the user in W; defining m as a dimension of a vector space and defining the context of the jth application of the ith user as a function
Figure BDA0001613093330000021
The context of the jth application of the ith user is c applications installed before and after the jth application of the ith user is installed, and a vector applied to the vector space is defined as a vector
Figure BDA0001613093330000022
Training all user-installed applications using a neural network model to maximize a likelihood function L, and obtaining each vector applied in the vector space when the neural network model converges
Figure BDA0001613093330000023
Wherein the likelihood function
Figure BDA0001613093330000024
Wherein the content of the first and second substances,
Figure BDA0001613093330000025
j application k installed for i userijOf the context of (1) is the sum of the corresponding vectorsIs defined as
Figure BDA0001613093330000026
In an implementable manner, the calculating a user vector of the user in the vector space includes: calculating the user vector of the user in the vector space by using a first formula
Figure BDA0001613093330000027
Wherein s isi∈UIs a user vector.
In an implementable manner, the calculating a distance from a vector of the second application not installed by the user to the user vector in the vector space comprises: calculating said distance by substituting said second applied vector in said vector space and said user vector into a second formula
Figure BDA0001613093330000028
Where d (a, b) is the distance between vector a and vector b.
In an implementable manner, the recommending the second application with the distance within a preset range to the user includes: sequencing the second applications according to the sequence of the distances from small to large; recommending the second application with the top N bits to the user, wherein N is a preset value.
Another aspect of the present invention is to provide an application recommendation apparatus based on an application vector, including: the acquisition module is used for acquiring all application vectors applied to the vector space; the calculation module is used for calculating a user vector of the user in the vector space, wherein the user vector is the sum of vectors of first applications installed by the user in the vector space; the calculation module is further used for calculating the distance from the vector of the second application which is not installed by the user to the user vector in the vector space; and the pushing module is used for recommending the second application with the distance within a preset range to the user.
In an implementable manner, the obtaining module includes: initial unit ofIn defining all users as
Figure BDA0001613093330000029
Define all applications as
Figure BDA00016130933300000210
Aiming at the ith user, sequencing the applications installed by the user according to the installation sequence of the applications to obtain an installed application list of the ith user
Figure BDA00016130933300000211
Wherein k isijA serial number of an application installed for the user in W; the initial unit is further configured to define m as a dimension of a vector space, and define a context of a jth application of an ith user as a function
Figure BDA00016130933300000212
The context of the jth application of the ith user is c applications installed before and after the jth application of the ith user is installed, and a vector applied to the vector space is defined as a vector
Figure BDA0001613093330000031
A training unit for training all the applications installed by the user by using a neural network model to make the likelihood function L maximum, and when the neural network model is converged, obtaining each vector applied to the vector space
Figure BDA0001613093330000032
Wherein the likelihood function
Figure BDA0001613093330000033
Wherein, the first and the second end of the pipe are connected with each other,
Figure BDA0001613093330000034
jth application k installed for ith userijIs defined as the sum of the corresponding vectors of the context of
Figure BDA0001613093330000035
Figure BDA0001613093330000036
In an implementable manner, the calculating module is specifically configured to calculate the user vector of the user in the vector space by using a first formula, where the first formula is
Figure BDA0001613093330000037
Wherein s isi∈UIs a user vector.
In an implementable manner, the calculating module is further specifically configured to calculate the distance by substituting the second application vector in the vector space and the user vector into a second formula, the second formula being
Figure BDA0001613093330000038
Where d (a, b) is the distance between vector a and vector b.
In an implementable manner, the push module comprises: the sorting unit is used for sorting the second application according to the sequence of the distances from small to large; and the pushing unit is used for recommending the second application with the top N bits to the user, wherein N is a preset value.
Yet another aspect of the present invention is to provide an application recommendation apparatus based on an application vector, including at least one processor, a memory, and a communication interface; the at least one processor, the memory and the communication interface are all connected through a bus; the memory stores a computer program; the at least one processor executes the computer program stored in the memory to cause the application vector based application recommendation device to perform the method of any of the preceding embodiments.
Yet another aspect of the present invention is to provide a computer-readable storage medium storing a computer program which, when executed by at least one processor of an application vector based application recommendation apparatus, performs the method of any of the previous embodiments.
Yet another aspect of the present invention is to provide a computer product, which includes a computer program stored in a computer-readable storage medium, the computer program being readable by at least one processor of an application vector based application recommendation device from the computer-readable storage medium, the execution of the instructions by the at least one processor by the computer causing the application vector based application recommendation device to perform the method of any of the previous embodiments.
The application vector-based application recommendation method and device provided by the invention can be used for calculating the mapping from the application and the user to the vector space, analyzing the user characteristics based on the installed application of the user, and analyzing the interest degree of the user in the application based on the distance between the application and the user in the vector space, thereby realizing the automatic matching and personalized application recommendation of the application, effectively improving the download conversion rate and the user experience of the user, and improving the working efficiency of operators without manually maintaining a recommended application list.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a schematic flowchart of an application recommendation method based on application vectors according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of an application recommendation device based on application vectors according to a third embodiment of the present invention;
fig. 3 is a schematic structural diagram of an application recommendation device based on application vectors according to a fifth embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a schematic flowchart of an application vector-based application recommendation method according to an embodiment of the present invention, where the method may be applied to an application vector-based application recommendation device, as shown in fig. 1, and the method includes:
101. acquiring all application vectors applied to a vector space;
102. calculating a user vector of the user in the vector space, wherein the user vector is the sum of vectors of first applications installed by the user in the vector space;
103. calculating the distance from the vector of the second application which is not installed by the user to the vector of the user;
104. recommending the second application with the distance within a preset range to the user.
Specifically, the installed application of the user may be determined by detecting the application currently installed in the user terminal. In practical application, some applications installed in the user terminal are pre-installed applications carried by an installation system of the terminal, and because the applications are carried by the installation system of the user terminal, the interest degree of the user in the applications cannot be effectively reflected. Therefore, in order to further make the personalized application recommendation more accurate and reliable, it is necessary to filter out these applications in the calculation process of the user vector, and accordingly, on the basis of the first embodiment, before 102, the method may further include:
105. removing the system pre-installed application from the user-installed applications.
Optionally, in addition to judging the user's interest level in an application based on whether the user installs the application, the user's demand level and interest level in the application may be further evaluated according to the use frequency of the user, and the application commonly used by the user may reflect user preference characteristics to some extent, and accordingly, on the basis of the first embodiment, before 102, the method may further include:
106. and removing the applications which are not frequently used by the user from the applications which are installed by the user, and reserving the applications which are frequently used by the user.
There are various specific methods for determining the applications frequently used by the user, for example, the applications less frequently used by the user may be determined by the least recently used algorithm, and the applications may be removed from the installed application list.
Taking an actual scene as an example: when application personalized recommendation needs to be performed, firstly, application vectors of all applications in a vector space are obtained, all applications can be applications in an application store, the dimension of the vector space can be preset, then, a user vector of a user in the vector space is obtained by calculating the sum of vectors corresponding to first applications installed by the user, the first applications do not comprise system pre-installed applications, the user vector can reflect the interest and hobby characteristics of the user, then, the distance between a vector corresponding to a second application not installed by the user and the user vector is calculated, the distance between the vectors can reflect the interest degree of the user to the applications, the applications with the closer distance between the vectors can be applications with the greater interest of the user, and therefore, the second applications with the distance in a certain range are recommended to the user.
Optionally, there are various ways to determine the second application with the distance within the preset range, for example, directly setting a threshold, and determining the second application with the distance smaller than the threshold as the application interested by the user and recommending the application to the user, and accordingly, on the basis of the first embodiment, the method 104 may specifically include:
1041. recommending the second application with the distance smaller than a preset threshold value to the user.
Or, the second application may also be ranked and an application before a certain rank is selected as the application in which the user is interested, and accordingly, on the basis of the first embodiment, the 104 specifically may include:
1042. sequencing the second applications according to the sequence of the distances from small to large;
1043. recommending the second application with the top N bits to the user, wherein N is a preset value.
The value of N may be determined as needed, for example, may be determined according to the size of the push interface, or the upper display limit supported by the page. In the embodiment, the applications needing to be recommended to the user are determined based on the sequence, the applications most interested by the user can be selected more accurately, the workload is small, and the processing flow is simple and convenient.
The application vector-based application recommendation method provided by the embodiment calculates mapping from an application and a user to a vector space, analyzes user characteristics based on an installed application of the user, and analyzes the user interest degree of the user in the application based on the distance between the application and the user in the vector space, so that automatic matching and personalized application recommendation of the application are realized, the download conversion rate and the user experience of the user can be effectively improved, a recommended application list does not need to be manually maintained, and the working efficiency of operators can be improved.
An embodiment of the present invention provides an application recommendation method based on an application vector, where on the basis of the embodiment one, 101 specifically includes:
201. define all users as
Figure BDA0001613093330000061
Define all applications as
Figure BDA0001613093330000062
For the ith user, sequencing the applications installed by the user according to the installation sequence of the applications to obtain an installed application list of the ith user
Figure BDA0001613093330000063
Wherein k isijA serial number in W for the application installed by the user;
202. defining m as a dimension of a vector space and defining the context of the jth application of the ith user as a function
Figure BDA0001613093330000064
The context of the jth application of the ith user is c applications installed before and after the jth application of the ith user is installed, and a vector applied to the vector space is defined as a vector
Figure BDA0001613093330000065
203. Training all user-installed applications using a neural network model to maximize a likelihood function L, and obtaining each vector applied in the vector space when the neural network model converges
Figure BDA0001613093330000066
Wherein the likelihood function
Figure BDA0001613093330000067
Wherein the content of the first and second substances,
Figure BDA0001613093330000068
jth application k installed for ith userijIs defined as the sum of the corresponding vectors of the context of
Figure BDA0001613093330000069
Figure BDA0001613093330000071
In this embodiment, a vector applied to a vector space is obtained by training using a neural network model based on some predefined function vectors and the vector space. The influence of the installation sequence of the application on the user vector is considered by combining the algorithm of the application context, and the user vector obtained based on the application vector can reflect the hobbies and the requirements of the user more truly and accurately. In the embodiment, through the calculation, the representation of the application in the vector space in the application list installed by the user is obtained and used for calculating the representation of the user in the vector space, so that the application closest to the user is searched in the whole vector space to serve as the recommendation of the user, and the application personalized matching and recommendation of the user are realized.
Based on the vectors of the applications obtained in the second embodiment, the user vector corresponding to the user may be obtained by calculating a sum of vectors corresponding to the installed applications, and specifically, on the basis of the second embodiment, 102 may specifically include:
204. calculating the user vector of the user in the vector space by using a first formula
Figure BDA0001613093330000072
Wherein s isi∈UIs a user vector.
Through the formula, the user vector of the user in the vector space can be quickly and accurately calculated based on the vector corresponding to the installed application acquired before, and therefore personalized application recommendation is finally carried out based on the distance between the user vector and the application vector.
Specifically, the distance between the user vector and the application vector may reflect the interest level of the user in the application, and accordingly, on the basis of the second embodiment, 103 may include:
205. calculating said distance by substituting said second applied vector in said vector space and said user vector into a second formula
Figure BDA0001613093330000073
Where d (a, b) is the distance between vector a and vector b.
Wherein the second formula is used to calculate the distance between the two vectors. The distance between the two vectors can be found by substituting the applied corresponding vector and the user vector into the second formula.
The application recommendation method based on the application vector provided in this embodiment obtains the vector applied in the vector space by training using the neural network model based on some predefined function vectors and vector space. Through the calculation, the representation of the application in the vector space in the application list installed by the user is obtained and used for calculating the representation of the user in the vector space, so that the application closest to the user is searched in the whole vector space to serve as the recommendation of the user, and the application personalized matching and recommendation of the user are realized.
Fig. 2 is a schematic structural diagram of an application recommendation device based on application vectors according to a third embodiment of the present invention, as shown in fig. 2, the device includes:
an obtaining module 31, configured to obtain all application vectors applied in a vector space;
a calculating module 32, configured to calculate a user vector of the user in the vector space, where the user vector is a sum of vectors of the first application installed by the user in the vector space;
the calculation module 32 is further configured to calculate a distance from a vector of the second application, which is not installed by the user, in the vector space to the user vector;
a pushing module 33, configured to recommend the second application with the distance within a preset range to the user.
In order to further make the personalized application recommendation more accurate and reliable, it is necessary to filter out the applications pre-installed in the system during the calculation of the user vector, and accordingly, on the basis of the third embodiment, the apparatus further includes:
the first filtering module is used for removing the pre-installed applications of the system from the applications installed by the user.
Optionally, in addition to judging the user's interest level in an application based on whether the user installs the application, the user's demand level and interest level in the application may be further evaluated according to the use frequency of the user, and the user's commonly used applications may reflect user preference characteristics to some extent, and accordingly, on the basis of the first embodiment, the apparatus may further include:
and the second filtering module is used for removing the applications which are not frequently used by the user from the applications which are installed by the user and reserving the applications which are frequently used by the user.
There are various specific methods for determining the applications frequently used by the user, for example, the applications less frequently used by the user may be determined by the least recently used algorithm, and the applications may be removed from the installed application list.
Taking an actual scene as an example: when application personalized recommendation needs to be performed, the obtaining module 31 first obtains all application vectors applied to a vector space, the calculating module 32 calculates a sum of vectors corresponding to a first application installed by a user to obtain a user vector of the user in the vector space, then the calculating module 32 calculates a distance from a vector corresponding to a second application not installed by the user to the user vector, and the pushing module 33 recommends the second application with the distance within a certain range to the user.
Optionally, there are multiple ways to determine the second application with the distance within the preset range, for example, a threshold is directly set, the second application with the distance smaller than the threshold is determined as the application that the user is interested in and recommended to the user, and correspondingly, on the basis of the third embodiment, the pushing module 33 is specifically configured to recommend the second application with the distance smaller than the preset threshold to the user.
Or, by sorting the second application and selecting an application before a certain rank as the application in which the user is interested, correspondingly, on the basis of the third embodiment, the pushing module 33 may include:
the sorting unit is used for sorting the second application according to the sequence of the distances from small to large;
and the pushing unit is used for recommending the second application with the top N bits to the user, wherein N is a preset value.
Wherein the value of N can be determined as desired. In the embodiment, the applications needing to be recommended to the user are determined based on the sequence, the applications in most interest to the user can be selected more accurately, the workload is small, and the processing flow is simple and convenient.
The application recommendation device based on the application vector calculates mapping from the application and the user to a vector space, analyzes user characteristics based on the installed application of the user, and analyzes the interest degree of the user in the application based on the distance between the application and the user in the vector space, so that automatic matching and personalized application recommendation of the application are realized, the download conversion rate and the user experience of the user can be effectively improved, a recommended application list does not need to be manually maintained, and the working efficiency of operators can be improved.
An embodiment of the present invention provides an application recommendation device based on an application vector, where on the basis of the third embodiment, the obtaining module 31 includes:
an initial unit for defining all users as
Figure BDA0001613093330000091
Define all applications as
Figure BDA0001613093330000092
For the ith user, sequencing the applications installed by the user according to the installation sequence of the applications to obtain an installed application list of the ith user
Figure BDA0001613093330000093
Wherein k isijA serial number of an application installed for the user in W;
the initial unit is further configured to define m as a dimension of a vector space, and define a context of a jth application of an ith user as a function
Figure BDA0001613093330000094
The context of the jth application of the ith user is c applications installed before and after the jth application of the ith user is installed, and a vector applied to the vector space is defined as a vector
Figure BDA0001613093330000095
A training unit for training all the applications installed by the user by using a neural network model to maximize a likelihood function L, and acquiring each vector applied in the vector space when the neural network model converges
Figure BDA0001613093330000096
Wherein the likelihood function
Figure BDA0001613093330000097
Wherein the content of the first and second substances,
Figure BDA0001613093330000098
jth application k installed for ith userijIs defined as the sum of the corresponding vectors of the context of
Figure BDA0001613093330000099
In this embodiment, the obtaining module 31 obtains a vector applied to the vector space by training using a neural network model based on some predefined function vectors and vector spaces. The influence of the installation sequence of the application on the user vector is considered by combining the algorithm of the application context, and the user vector obtained based on the application vector can reflect the hobbies and the requirements of the user more truly and accurately. In the embodiment, through the calculation, the representation of the application in the vector space in the application list installed by the user is obtained and used for calculating the representation of the user in the vector space, so that the application closest to the user is searched in the whole vector space to serve as the recommendation of the user, and the application personalized matching and recommendation of the user are realized.
Based on the vectors of the four applications obtained in the embodiment, the calculating module 32 may obtain the user vector corresponding to the user by calculating the sum of the vectors corresponding to the installed applications, specifically, based on the fourth embodiment, the calculating module 32 is specifically configured to calculate the user vector of the user in the vector space by using a first formula, where the first formula is
Figure BDA0001613093330000101
Wherein s isi∈UIs a user vector.
Through the formula, the user vector of the user in the vector space can be quickly and accurately calculated based on the vector corresponding to the installed application acquired before, and therefore personalized application recommendation is finally carried out based on the distance between the user vector and the application vector.
Specifically, the distance between the user vector and the application vector may reflect the interest level of the user in the application, and accordingly, based on the fourth embodiment, the user is countedA calculation module, further specifically configured to calculate the distance by substituting the second application vector in the vector space and the user vector into a second formula
Figure BDA0001613093330000102
Where d (a, b) is the distance between vector a and vector b.
Wherein the second formula is used to calculate the distance between the two vectors. The distance between the two vectors can be found by substituting the application-corresponding vector and the user vector into the second formula.
The application recommendation device based on the application vector provided by this embodiment obtains the vector applied in the vector space by training using the neural network model based on some predefined function vectors and vector space. Through the calculation, the representation of the application in the vector space in the application list installed by the user is obtained and used for calculating the representation of the user in the vector space, so that the application closest to the user is searched in the whole vector space to serve as the recommendation of the user, and the application personalized matching and recommendation of the user are realized.
In a specific implementation of the application vector-based application recommendation apparatus in the foregoing embodiments, the obtaining module, the calculating module and the pushing module may be implemented as a processor, and data and program codes may be stored in a memory and controlled by the controller to be executed according to corresponding program instructions.
In the above Specific implementation of the Application recommendation device based on Application vector, it should be understood that the Processor may be a Central Processing Unit (CPU), other general purpose processors, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in the processor.
Fig. 3 is a schematic structural diagram of an application vector-based application recommendation apparatus according to a fifth embodiment of the present invention, and as shown in fig. 3, the application vector-based application recommendation apparatus 300 includes at least one processor 301, a memory 302, and a communication interface 303 all connected via a bus 304; the memory 302 stores computer programs; the at least one processor 301 executes the computer program stored in the memory 302 to cause the application vector based application recommendation device to perform the method of any of the preceding embodiments by data interaction with an external server through the communication interface 303.
The processors 301 of the application vector-based application recommendation device 300 may include processors of different types, or include processors of the same type; the processor may be any of the following: a Central Processing Unit (CPU), an ARM processor, a Field Programmable Gate Array (FPGA), a special processor, and other devices with computing and Processing capabilities. In an alternative embodiment, at least one of the processors may also be integrated as a many-core processor.
The memory 302 in the application vector based application recommendation device 300 may be any one or any combination of the following: random Access Memory (RAM), Read Only Memory (ROM), non-volatile Memory (NVM), Solid State Drive (SSD), mechanical hard disk, magnetic disk, and magnetic disk array.
The communication interface 303 is used for data interaction between the application vector-based application recommendation apparatus 300 and other devices. The communication interface may be any one or any combination of the following: a network interface (e.g., an ethernet interface), a wireless network card, etc. having a network access function.
The bus 304 may include an address bus, a data bus, a control bus, etc., and for ease of illustration, the bus 304 is represented by a thick line in fig. 3. The bus may be any one or any combination of the following: an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended EISA (EISA) bus, and other wired data transmission devices.
The application recommendation device based on the application vector calculates mapping from the application and the user to a vector space, analyzes user characteristics based on the installed application of the user, and analyzes the interest degree of the user in the application based on the distance between the application and the user in the vector space, so that automatic matching and personalized application recommendation of the application are realized, the download conversion rate and the user experience of the user can be effectively improved, a recommended application list does not need to be manually maintained, and the working efficiency of operators can be improved.
The present invention also provides a computer-readable storage medium storing a computer program which, when executed by a processor, implements the method of any of the above embodiments.
The present invention also provides a computer product comprising a computer program stored on a computer-readable storage medium, the computer program being readable from the computer-readable storage medium by at least one processor of an application vector based application recommendation apparatus, the at least one processor executing the computer to perform the method of any of the above embodiments.
It can be clearly understood by those skilled in the art that, for convenience and simplicity of description, the specific working process of the apparatus described above may refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
Those of ordinary skill in the art will understand that: all or a portion of the steps of implementing the above-described method embodiments may be performed by hardware associated with program instructions. The program may be stored in a computer-readable storage medium. When executed, the program performs steps comprising the method embodiments described above; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (12)

1. An application recommendation method based on an application vector is characterized by comprising the following steps:
acquiring all application vectors applied to a vector space;
calculating a user vector of the user in the vector space, wherein the user vector is the sum of vectors of first applications installed by the user in the vector space;
calculating the distance from the vector of the second application which is not installed by the user to the vector of the user;
recommending the second application with the distance within a preset range to the user;
wherein the calculating the user vector of the user in the vector space further comprises:
removing the pre-installed system application from the user-installed applications; or
And removing the application which is not frequently used from the applications which are installed by the user, and reserving the application which is frequently used by the user.
2. The method of claim 1, wherein obtaining the application vectors of all applications in the vector space comprises:
define all users as
Figure FDA0003603122920000011
Define all applications as
Figure FDA0003603122920000012
To is directed atThe ith user sorts the applications installed by the user according to the installation sequence of the applications to obtain an installed application list of the ith user
Figure FDA0003603122920000013
Wherein k isijA serial number of an application installed for the user in W;
defining m as a dimension of a vector space and defining the context of the jth application of the ith user as a function
Figure FDA0003603122920000014
The context of the jth application of the ith user is c applications installed before and after the jth application of the ith user is installed, and a vector applied to the vector space is defined as a vector
Figure FDA0003603122920000021
Training all user-installed applications using a neural network model to maximize a likelihood function L, and obtaining each vector applied in the vector space when the neural network model converges
Figure FDA0003603122920000022
Wherein the likelihood function
Figure FDA0003603122920000023
Wherein the content of the first and second substances,
Figure FDA0003603122920000024
jth application k installed for ith userijIs defined as the sum of the corresponding vectors of the context of
Figure FDA0003603122920000025
3. The method of claim 2, wherein the computing the user vector of the user in the vector space comprises:
calculating the user vector of the user in the vector space by using a first formula
Figure FDA0003603122920000026
Wherein S isi∈UIs a user vector.
4. The method of claim 3, wherein calculating a distance from a vector of the user-uninstalled second application in the vector space to the user vector comprises:
calculating said distance by substituting said second applied vector in said vector space and said user vector into a second formula
Figure FDA0003603122920000027
Where d (a, b) is the distance between vector a and vector b.
5. The method according to any one of claims 1-4, wherein the recommending the second application with the distance within a preset range to the user comprises:
sequencing the second applications according to the sequence of the distances from small to large;
recommending the second application with the top N bits to the user, wherein N is a preset value.
6. An application recommendation device based on an application vector, comprising:
the acquisition module is used for acquiring all application vectors applied to the vector space;
the calculation module is used for calculating a user vector of the user in the vector space, wherein the user vector is the sum of vectors of first applications installed by the user in the vector space;
the calculation module is further used for calculating the distance from the vector of the second application which is not installed by the user to the user vector in the vector space;
the pushing module is used for recommending the second application with the distance within a preset range to the user;
wherein, the application recommendation device based on the application vector further comprises:
the first filtering module is used for removing system preinstalled applications from the applications installed by a user; or
And the second filtering module is used for removing the applications which are not frequently used from the applications which are installed by the user and reserving the applications which are frequently used by the user.
7. The apparatus of claim 6, wherein the obtaining module comprises:
an initial unit for defining all users as
Figure FDA0003603122920000031
Define all applications as
Figure FDA0003603122920000032
For the ith user, sequencing the applications installed by the user according to the installation sequence of the applications to obtain an installed application list of the ith user
Figure FDA0003603122920000033
Wherein k isijA serial number of an application installed for the user in W;
the initial unit is further configured to define m as a dimension of a vector space, and define a context of a jth application of an ith user as a function
Figure FDA0003603122920000034
The context of the jth application of the ith user is c applications installed before and after the jth application of the ith user is installed, and a vector applied to the vector space is defined as a vector
Figure FDA0003603122920000035
Figure FDA0003603122920000036
A training unit for training all the applications installed by the user by using a neural network model to maximize a likelihood function L, and acquiring each vector applied in the vector space when the neural network model converges
Figure FDA0003603122920000041
Wherein the likelihood function
Figure FDA0003603122920000042
Wherein, the first and the second end of the pipe are connected with each other,
Figure FDA0003603122920000043
jth application k installed for ith userijIs defined as the sum of the corresponding vectors of the context of
Figure FDA0003603122920000044
8. The apparatus of claim 7,
the calculating module is specifically configured to calculate a user vector of the user in the vector space by using a first formula, where the first formula is
Figure FDA0003603122920000045
Wherein S isi∈UIs a user vector.
9. The apparatus of claim 8,
the computing module is further specifically configured to calculate the distance by substituting the second application vector in the vector space and the user vector into a second formula
Figure FDA0003603122920000046
Where d (a, b) is the distance between vector a and vector b.
10. The apparatus of any of claims 6-9, wherein the push module comprises:
the sorting unit is used for sorting the second application according to the sequence of the distances from small to large;
and the pushing unit is used for recommending the second application with the top N bits to the user, wherein N is a preset value.
11. An application recommendation device based on application vectors, comprising at least one processor, a memory and a communication interface; the at least one processor, the memory and the communication interface are all connected through a bus; the memory stores a computer program; the at least one processor executes the memory-stored computer program to cause an application vector-based application recommendation device to perform the method of any of claims 1-5.
12. A computer-readable storage medium, in which a computer program is stored, which, when executed by at least one processor of an application vector based application recommendation apparatus, causes the application vector based application recommendation apparatus to perform the method of any of claims 1-5.
CN201810273405.0A 2018-03-29 2018-03-29 Application recommendation method and device based on application vector Active CN110569422B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810273405.0A CN110569422B (en) 2018-03-29 2018-03-29 Application recommendation method and device based on application vector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810273405.0A CN110569422B (en) 2018-03-29 2018-03-29 Application recommendation method and device based on application vector

Publications (2)

Publication Number Publication Date
CN110569422A CN110569422A (en) 2019-12-13
CN110569422B true CN110569422B (en) 2022-06-17

Family

ID=68772446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810273405.0A Active CN110569422B (en) 2018-03-29 2018-03-29 Application recommendation method and device based on application vector

Country Status (1)

Country Link
CN (1) CN110569422B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608180A (en) * 2015-12-22 2016-05-25 北京奇虎科技有限公司 Application recommendation method and system
CN106326369A (en) * 2016-08-12 2017-01-11 广州优视网络科技有限公司 Application special topic recommendation method, application special topic recommendation device and server
CN107832426A (en) * 2017-11-13 2018-03-23 上海交通大学 A kind of APP recommendation method and system based on using sequence context
CN109062963A (en) * 2018-06-27 2018-12-21 广州优视网络科技有限公司 From Media Recommendation Method, device and electronic equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326499A1 (en) * 2012-05-31 2013-12-05 Microsoft Corporation Automatically installing and removing recommended applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608180A (en) * 2015-12-22 2016-05-25 北京奇虎科技有限公司 Application recommendation method and system
CN106326369A (en) * 2016-08-12 2017-01-11 广州优视网络科技有限公司 Application special topic recommendation method, application special topic recommendation device and server
CN107832426A (en) * 2017-11-13 2018-03-23 上海交通大学 A kind of APP recommendation method and system based on using sequence context
CN109062963A (en) * 2018-06-27 2018-12-21 广州优视网络科技有限公司 From Media Recommendation Method, device and electronic equipment

Also Published As

Publication number Publication date
CN110569422A (en) 2019-12-13

Similar Documents

Publication Publication Date Title
US11222285B2 (en) Feature selection method, device and apparatus for constructing machine learning model
CN109885452B (en) Performance monitoring method and device and terminal equipment
CN110211119B (en) Image quality evaluation method and device, electronic equipment and readable storage medium
CN111738408A (en) Method, device and equipment for optimizing loss function and storage medium
CN111078639A (en) Data standardization method and device and electronic equipment
CN114722091A (en) Data processing method, data processing device, storage medium and processor
CN110569422B (en) Application recommendation method and device based on application vector
CN114567396A (en) Wireless communication method, fitting method of nonlinear function, terminal and equipment
CN107562714B (en) Statement similarity calculation method and device
CN109871448B (en) Short text classification method and system
CN112650940A (en) Recommendation method and device of application program, computer equipment and storage medium
CN111798263A (en) Transaction trend prediction method and device
CN110866043A (en) Data preprocessing method and device, storage medium and terminal
CN108243037B (en) Website traffic abnormity determining method and device
CN110781404A (en) Friend relationship chain matching method, system, computer equipment and readable storage medium
CN115422439A (en) Automatic learning resource organization and display method for online education platform
CN115879514A (en) Method and device for improving class correlation prediction, computer equipment and storage medium
CN113076395B (en) Semantic model training and search display method, device, equipment and storage medium
CN110134575B (en) Method and device for calculating service capacity of server cluster
CN110533192B (en) Reinforced learning method and device, computer readable medium and electronic equipment
CN107743094B (en) Route access method and route access device
CN113961797A (en) Resource recommendation method and device, electronic equipment and readable storage medium
KR101663359B1 (en) Method and apparatus for providing updated news contents
CN112800419A (en) Method, apparatus, medium and device for identifying IP group
CN112749214A (en) Updating method, device and medium of interactive content display mode and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200417

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping B radio square 14 storey tower

Applicant before: GUANGZHOU UCWEB COMPUTER TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 554, 5 / F, building 3, 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 310052 room 508, 5th floor, building 4, No. 699 Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Alibaba (China) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant