WO2018024222A1 - Application recommendation method, device, and server - Google Patents

Application recommendation method, device, and server Download PDF

Info

Publication number
WO2018024222A1
WO2018024222A1 PCT/CN2017/095712 CN2017095712W WO2018024222A1 WO 2018024222 A1 WO2018024222 A1 WO 2018024222A1 CN 2017095712 W CN2017095712 W CN 2017095712W WO 2018024222 A1 WO2018024222 A1 WO 2018024222A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
user
area
recommended
users
Prior art date
Application number
PCT/CN2017/095712
Other languages
French (fr)
Chinese (zh)
Inventor
黄振
Original Assignee
广州优视网络科技有限公司
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
Priority claimed from CN201610640122.6A external-priority patent/CN106250532A/en
Priority claimed from CN201610654324.6A external-priority patent/CN106250546A/en
Application filed by 广州优视网络科技有限公司 filed Critical 广州优视网络科技有限公司
Publication of WO2018024222A1 publication Critical patent/WO2018024222A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to the field of Internet technologies, and in particular, to an application recommendation method, apparatus, and server.
  • the method of recommending an app by an app store is usually to calculate the download amount of each app in the entire store, sort the app by the download amount, and then recommend the top-ranked app to the user, that is, the app recommendation based on the leaderboard.
  • this method will recommend the same application to all users or a certain type of user.
  • the application recommended by each user is the same, not necessarily what the user really wants, ignoring the individual differences of different users' application requirements.
  • the accuracy of the application recommendation is not high, and the user's satisfaction with the recommended application is not high, thereby affecting the software download amount and the user experience.
  • an object of the embodiments of the present invention is to provide an application recommendation method, apparatus, and server to solve the above problems.
  • an embodiment of the present invention provides an application recommendation method, where the method includes: acquiring an application list of each user and an area where each user is located; and according to the application list of each user and the area where each user is located And respectively calculating the uniqueness indicator values corresponding to the respective applications in the respective regions; determining the to-be-recommended applications based on the uniqueness indicator values of the respective applications in the respective regions.
  • an embodiment of the present invention provides an application recommendation device, where the device includes: a first acquisition module, configured to acquire an application list of each user and an area where each user is located; and a calculation module, configured to Determining, by the application list of each user, the uniqueness indicator value corresponding to each application in each area, and determining a module, configured to determine, according to the uniqueness indicator value of each application in each area, each area Recommended application.
  • an embodiment of the present invention provides a server, where the server includes a memory and a processor, the memory is coupled to the processor, and the memory stores an instruction when the When the instructions are executed by the processor, the processor is configured to: the first obtaining module is configured to obtain an application list of each user and an area where the respective users are located; and a computing module, configured to be used according to the application of each user The list and the area where the user is located respectively calculate the uniqueness indicator values corresponding to the respective applications in the respective areas; and the determining module is configured to determine the to-be-recommended application based on the uniqueness indicator value of each application in the respective areas.
  • an embodiment of the present invention provides an application recommendation method, where the method includes:
  • a recommendation application sequence of the user is generated based on a feature vector of the user and a prediction model of the respective tags.
  • an embodiment of the present invention provides an application recommendation device, where the device includes:
  • a feature vector generating module configured to calculate a feature vector of the user according to a historical application list of the user
  • a prediction model generating module configured to train, according to a plurality of feature vectors of the user, a prediction model of each tag corresponding to the application;
  • a recommendation application sequence generation module is configured to generate a recommended application sequence of the user based on a feature vector of the user and a prediction model of the respective tags.
  • an embodiment of the present invention provides a server, including a memory, a processor, and an application recommendation device.
  • the application recommendation device is installed or stored in the memory, and the processor controls execution of each functional module of the application recommendation device.
  • an application recommendation method, device, and server provided by the embodiments of the present invention calculate the uniqueness index values corresponding to each application in each area, and according to the ranking results of the uniqueness index values, respectively
  • the area selects a preset number of applications as the recommended application corresponding to each area, so that the recommended application corresponding to the area where the user to be recommended is located is returned to the user terminal of the user to be recommended by obtaining the area where the user to be recommended is located.
  • This method can automatically and effectively screen the most unique applications in each region without manual intervention, and realize personalized recommendations based on geographic location, which is more in line with user needs.
  • the application recommendation method and apparatus construct a feature vector of the user based on the usage habit of the user; and generate a recommended application sequence of the user by using the feature vector of the user.
  • the user's recommended application sequence is generated, the user's previous usage habits are considered.
  • the application recommendation is made, the application that has a high correlation with the user's previous usage habits is recommended to the user, thereby implementing personalized recommendation of the application between different users, and the recommendation is accurate.
  • the high rate helps to increase the number of app downloads and enhance the user experience.
  • FIG. 1 is a schematic diagram of a user terminal interacting with a server according to an embodiment of the present invention.
  • FIG. 2 is a schematic structural diagram of a server according to an embodiment of the present invention.
  • FIG. 2b is another schematic structural diagram of a server according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of an application recommendation method according to an embodiment of the present invention.
  • FIG. 4 is a detailed flowchart of step S500 in an application recommendation method according to an embodiment of the present invention.
  • FIG. 5 is a detailed flowchart of step S600 of an application recommendation method according to an embodiment of the present invention.
  • FIG. 6 is a detailed flowchart of step S620 of an application recommendation method according to an embodiment of the present invention.
  • FIG. 7 is a partial flowchart of an application recommendation method according to an embodiment of the present invention.
  • FIG. 8 is a structural block diagram of an application recommendation apparatus according to an embodiment of the present invention.
  • FIG. 9 is a functional block diagram of the application recommendation apparatus shown in FIG. 2b according to an embodiment of the present invention.
  • FIG. 10 is a block diagram of another functional module of the application recommendation device shown in FIG. 2b according to an embodiment of the present invention.
  • FIG. 11 is a specific flowchart of an application recommendation method according to an embodiment of the present invention.
  • FIG. 12 is a schematic flow chart of the sub-steps included in step S1130 in FIG. 11.
  • FIG. 13 is a specific flowchart of another application recommendation method according to an embodiment of the present invention.
  • FIG. 1 is a schematic diagram of interaction between a server 200 and a user terminal 100 according to an embodiment of the present invention.
  • the server 200 is in communication with one or more user terminals 100 over a network 300 for data communication or interaction.
  • the server 200 can be a web server, a database server, or the like.
  • the user terminal 100 may be a personal computer (PC), a tablet computer, a smart phone, a personal digital assistant (PDA), an in-vehicle device, a wearable device, or the like.
  • the network 300 can be, but is not limited to, a wired network or a wireless network.
  • the server 200 includes a memory 201, a processor 202, and a network module 203.
  • the memory 201 can be used to store software programs and modules, such as the application recommendation method and the program instructions/modules corresponding to the device in the embodiment of the present invention.
  • the processor 202 performs various function applications and data processing by executing software programs and modules stored in the memory 201, that is, implementing the application recommendation method in the embodiment of the present invention.
  • Memory 201 can include high speed random access memory and can also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
  • the software program and the module in the foregoing memory 201 may further include an operating system 221 and a service module 222.
  • the operating system 221 which may be LINUX, UNIX, WINDOWS, may include various software components and/or drivers for managing system tasks (eg, memory management, storage device control, power management, etc.), and may be associated with various hardware or Software components communicate with one another to provide an operating environment for other software components.
  • the service module 222 runs on the basis of the operating system 221, and listens for requests from the network through the network service of the operating system 221, completes corresponding data processing according to the request, and returns the processing result to the client. That is, the service module 222 is configured to provide network services to the client.
  • the network module 203 is configured to receive and transmit network signals.
  • the above network signal may include a wireless signal or a wired signal.
  • FIG. 2b is another block diagram of the server 200 shown in FIG. 1.
  • the server 200 includes an application recommendation device 210, a memory 211, a processor 212, and a communication unit 213.
  • the components of the memory 211, the processor 212, and the communication unit 213 are electrically connected directly or indirectly to each other to implement data transmission or interaction.
  • the components can be electrically connected to one another via one or more communication buses or signal lines.
  • the memory 211 may be, but not limited to, a random access memory (Random). Access Memory, RAM, Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electric Erasable Programmable Read-Only Memory (EEPROM), etc.
  • the memory 211 is used to store a program, and the processor 212 executes the program after receiving an execution instruction.
  • the communication unit 213 is configured to establish a communication connection between the server 200 and the user terminal 100 through the network 300, and is used to receive and send data through the network 300.
  • the application recommendation device 210 includes at least one software function module that can be stored in the memory 211 or is solidified in an operating system (OS) of the server 200 in the form of software or firmware.
  • the processor 212 is configured to execute an executable module stored in the memory 211, such as a software function module, a computer program, and the like included in the application recommendation device 210.
  • the application recommendation device 210 provides the server 200 with a personalized application recommendation service for different users, and the specific method is described in detail later.
  • the structure shown in Fig. 2a or Fig. 2b is merely illustrative, and the server 200 may further include more or less components than those shown in Fig. 2a or Fig. 2b, or have the same as shown in Fig. 2a or Fig. 2b.
  • the components shown in Figure 2a or Figure 2b can be implemented in hardware, software, or a combination thereof.
  • the server in the embodiment of the present invention may further include multiple servers with different functions.
  • the client terminal 100 is installed with a client, and the client may be a third-party application software, which corresponds to the server (Server) and follows the same set of data protocols, so that the server and the client can mutually Analyze the data of the other party and provide the user with the application recommendation service.
  • server server
  • FIG. 3 is a flowchart of an application recommendation method according to an embodiment of the present invention. Referring to FIG. 3, this embodiment describes a process flow of a server, where the method includes:
  • Step S400 Obtain an application list of each user and an area where the respective users are located.
  • the user's application list may be implemented in various ways, such as an application download category, an application installation list, an application browsing list, or an application update list, but is not limited to the embodiment.
  • the user's application list can be recorded in the user log.
  • the user's area can be the city where the user is located, or the province where the user is located.
  • the area where the user is located can be obtained through the location information of the user terminal of the user.
  • an application installation list of the user's most recent time may be collected from the user log, such as an application installation list for the most recent week or the most recent month.
  • the system pre-installed application can be excluded from the application installation list, the user-defined installation application is obtained, and the user is The custom installed app serves as a list of user action apps. Then, the user's current city is obtained through the location information of the user terminal of the user, and the user, the city, and the application triplet are obtained, as shown in Table 1.
  • Step S500 Calculate, according to the application list of each user and the area where each user is located, a uniqueness indicator value corresponding to each application in each area.
  • the implementation manners of calculating the uniqueness indicator values corresponding to the respective applications in the respective areas may be various according to the application list of the respective users and the area of the respective users, and one of the embodiments is described below. However, it will be understood that it is not limited to such an embodiment.
  • step S500 may include:
  • step S510 the standard deviation of each application in all areas is calculated according to the number of users of each application in each area and the average number of users of each application in all areas.
  • the number of users of each application in each area may be calculated according to the application list of each user and the area where each user is located.
  • the number of users of each application in each area is represented by u i,j , where i represents a city and j represents an application. Then the value of i is (Guangzhou, Beijing), and the value of j is (Application 1, Application 2, Application 3).
  • the number of users for each application in each region is as follows:
  • the average number of users in each area is: Where N is the number of regions.
  • N 2, respectively, Guangzhou and Beijing, the value of i is (Guangzhou, Beijing), and the value of j is (Application 1, Application 2, Application 3), then each application is in all areas.
  • the average number of users is as follows:
  • the standard deviation of each application in all areas can be calculated according to the following formula:
  • u i,j is the number of users of each application in each area
  • i is the city
  • j is the application
  • ⁇ j is the average number of users in each area
  • N is the number of areas.
  • step S520 the uniqueness index values corresponding to the respective applications in the respective regions are respectively calculated according to the number of users of each application in the respective regions and the standard deviation of the respective applications in all regions.
  • the uniqueness indicator value corresponding to each application in each area is a ratio of the number of users of each application in the respective areas to the standard deviation of the respective applications in all areas. That is, the uniqueness index value can be calculated according to the following formula:
  • u i, j is the number of users in each area of each application, i denotes the city, j represents the application, ⁇ j for each application a standard deviation of all regions.
  • the standard deviation ⁇ of the distribution reflects the degree of concentration of the distribution, that is, the more concentrated the distribution, the smaller the ⁇ . Therefore, the uniqueness indicator For the same city, the larger the value of S, the more unique the application. That is, the app is the most commonly used app for users in the city and is a unique application for the city.
  • step S600 is continued.
  • Step S600 Determine an application to be recommended for each area based on a uniqueness indicator value of each application in each of the areas.
  • the step S600 may include:
  • Step S610 Sort each application in each area according to the uniqueness indicator value to obtain a candidate application set to be recommended for each area.
  • the uniqueness indicators S i,j of all the applications j are sorted in descending order, and the top K applications ranked in the respective regions are selected as the recommended applications corresponding to each region.
  • each application in each region is sorted according to the uniqueness indicator value, as shown in Table 3 below:
  • Step S620 Determine a to-be-recommended application of each area from the to-be-recommended application candidate set of each area.
  • the step S620 may include:
  • Step S621 Calculate the number of users corresponding to each application in the to-be-recommended application set corresponding to each area.
  • the number of install/download users per application may be calculated based on log data of the installed/downloaded application of the user; the application of the set of applications to be recommended for each region is associated with the number of install/download users of each application , the data after the association, as shown in Table 5 below:
  • step S622 the applications in the application group to be recommended corresponding to each area are sorted according to the number of users, and the application to be recommended for each area is obtained.
  • the application in the to-be-recommended application set corresponding to each area may be sorted in descending order according to the number of users, and the first second preset number application ranked in the previous area is selected as the recommended application for each area.
  • the second preset number may be less than or equal to the first preset number.
  • the applications recommended to users in Guangzhou are Application 3 and Application 2
  • the applications recommended to users in Beijing are Application 4 and Application 3.
  • the method may further include the following steps:
  • Step S700 obtaining an area where the user to be recommended is located
  • Step S800 Query the recommended application corresponding to the area where the user to be recommended is located;
  • Step S900 Return, to the user terminal of the user to be recommended, a recommended application corresponding to the area where the user to be recommended is located.
  • An application recommendation method calculates a uniqueness indicator value corresponding to each application in each area, and selects a preset number of applications for each area according to the ranking result of the uniqueness indicator value.
  • the recommended application corresponding to the area so that the recommended application corresponding to the area where the user to be recommended is located is returned to the user terminal of the user to be recommended.
  • This method can automatically and effectively screen the most unique applications in each region without manual intervention, and realize personalized recommendation based on geographic location, thereby enhancing the big data perception of the product.
  • the recommended application combines the geographic location of the user, the user download amount can be increased to some extent.
  • the application according to the application group to be recommended is sorted according to the number of users, and the second preset number of applications are selected for each region as the recommended application corresponding to each region.
  • the recommendation application of each region is filtered by the uniqueness index and the number of users of the application, so that the recommended application corresponding to each region finally selected is more accurate.
  • FIG. 8 is a schematic diagram of functional modules of an application recommendation device 210 according to an embodiment of the present invention.
  • the application recommendation device 210 includes a first acquisition module 211, a calculation module 212, and a determination module 213.
  • the first obtaining module 211 is configured to obtain an application list of each user and an area where the respective users are located.
  • the calculation module 212 is configured to calculate, according to the application list of each user and the area where each user is located, a uniqueness indicator value corresponding to each application in each area.
  • the calculation module 212 includes a first calculation sub-module 2121 and a second calculation sub-module 2122.
  • the first calculation sub-module 2121 is configured to calculate a standard deviation of each application in all areas according to the number of users of each application in each area and the average number of users in each area in each area; the second calculation The sub-module 2122 is configured to separately calculate the uniqueness indicator values corresponding to the respective applications in the respective regions according to the number of users of each application in the respective regions and the standard deviation of the respective applications in all regions.
  • the uniqueness indicator values corresponding to the respective applications in the respective regions are the ratio of the number of users of each application in the respective regions to the standard deviation of the respective applications in all regions.
  • the determining module 213 is configured to determine, according to the uniqueness indicator value of each application in the respective regions, an application to be recommended for each region.
  • the determining module 213 includes a sorting sub-module 2131 and a selected sub-module 2132.
  • the sorting sub-module 2131 is configured to sort each application in each area according to the uniqueness index value to obtain a candidate application candidate set for each area; the selected sub-module 2132 is configured to use each The candidate application candidates to be recommended in the region determine the application to be recommended for each region.
  • the selected sub-module 2132 is configured to calculate a number of users corresponding to each application in the to-be-recommended application set corresponding to each area, and apply the application to the recommended application set corresponding to each area according to the user. Sort the numbers to get the recommended application for each area.
  • the device further includes a second obtaining module 214, a query module 215 and a return module 216.
  • the second obtaining module 214 is configured to obtain an area where the user to be recommended is located;
  • the querying module 215 is configured to query a recommended application corresponding to the area where the user to be recommended is located;
  • the returning module 216 is configured to The user terminal that describes the recommended user returns the recommended application corresponding to the area where the user to be recommended is located.
  • Each of the above modules may be implemented by software code.
  • each of the above modules may be stored in the memory 201 of the server 200 shown in FIG. 2a.
  • the above modules can also be implemented by hardware such as an integrated circuit chip.
  • FIG. 9 is a functional block diagram of the application recommendation device 210 shown in FIG. 2b according to a preferred embodiment of the present invention.
  • the application recommendation device 210 includes a feature vector generation module 901, a prediction model generation module 902, and a recommendation application sequence generation module 903.
  • the feature vector generation module 901 is configured to calculate a feature vector of the user according to a history application list of the user.
  • the history application list may include an installed application list of the user terminal 100, a download application list in a preset time (for example, a recent time period), and a preset.
  • a list of browsing applications and a list of updated applications within a preset time for example, a recent time period.
  • the process of the feature vector generation module 901 calculating the feature vector of the user according to the history application list of the user is specifically described below.
  • the feature vector generation module 901 calculates a score of each application in the history application list.
  • the feature vector generation module 901 acquires a list of installed applications for each user, a list of downloaded applications within a preset time, a list of browsing applications within a preset time, and an updated application list within a preset time. Calculate the scores for all the apps in each app list.
  • the score calculation method is as follows:
  • the applied score is:
  • Update_app_score i update_app i ⁇ w update ;
  • View_app_score i view_app i ⁇ w viewe ;
  • the applied score is:
  • Download_app_score i download_app i ⁇ w download ;
  • Install_app_score i install_app i ⁇ w instadll .
  • update_app i , view_app i , download_app i and install_app i respectively represent the number of updates, browsing times, download times and installation times of the application i;
  • w update , w view , w download and w install respectively indicate the weight of the update times and the number of views
  • the weight, the weight of the downloads, and the weight of the number of installs can be preset.
  • the score distribution of the application of user i refers to Table 7.
  • the feature vector generation module 901 assigns a label to each application in the history application list.
  • the feature vector generation module 901 queries the label corresponding to the application from the mapping table of the application and the label, and expands the table 7, and labels each application to obtain the table 8.
  • the feature vector generation module 901 calculates a probability distribution value of a tag of a single user.
  • the feature vector generation module 901 sums the application scores under the same label of each user, and obtains various types of label scores for each user. Please refer to Table 9.
  • Each type of tag score of each user is normalized to obtain a tag probability distribution of the user, and the probability distribution value of the tag j of the user i is represented as p(c j
  • the feature vector generation module 901 calculates a probability distribution value of tags of all users.
  • the feature vector generation module 901 sums and counts each tag score for all users, and normalizes to a tag probability distribution value of all users, and the probability distribution value of each tag j of all users is represented as p(c j ), please refer to Table 11 for details.
  • the feature vector generation module 901 obtains a feature vector of the user according to a probability distribution value of the label of the single user and a probability distribution value of the labels of all users.
  • N represents the number of labels.
  • the method re-obtains a new feature vector to characterize the characteristics of user i.
  • the prediction model generating module 902 is configured to train, according to the feature vectors of the plurality of users, a prediction model of each tag corresponding to the application.
  • the prediction model generation module 902 first generates a training sample set applied under each label, and the training sample set generation method is as follows.
  • the last dimension is the training goal.
  • a training sample is generated for all users to obtain a training sample set ⁇ S i ⁇ including all user training samples.
  • the prediction model generation module 902 trains the training sample set ⁇ S i ⁇ of all users under the label L by using a decision tree model to obtain a decision tree prediction model M L for the label L.
  • the prediction model generation module 902 then trains all the tags using the above method to obtain a prediction model set ⁇ M L ⁇ of the prediction models including all tags.
  • the recommended application sequence generating module 903 is configured to generate a recommended application sequence of the user based on a feature vector of the user and a prediction model of the respective tags.
  • the recommended application sequence generation module 903 may include a tag sequence generation submodule 9031 and a recommendation application sequence generation submodule 9032.
  • the specific manner of generating the recommended application sequence of the user may be implemented by using the foregoing sub-module, and the specific implementation manner is as follows.
  • the tag sequence generation sub-module 9031 is configured to input the feature vectors of the user into the prediction models of the respective tags to obtain the predicted tag sequence of the user.
  • the tag sequence generation sub-module 9031 generates a tag sequence set including a prediction tag sequence of all users according to a prediction tag sequence of each user.
  • the recommended application sequence generation sub-module 9032 is configured to generate a recommended application sequence of the user according to the predicted tag sequence and an application under the predictive tag.
  • the recommended application sequence generation sub-module 9032 sorts the user's predicted tag sequence.
  • each tag in the predicted tag sequence is sorted according to the user's Gini value (gini value) of the tag. Specifically, the order can be sorted from small to large according to the Gini value.
  • the recommended application sequence generation sub-module 9032 sorts all applications under the label to obtain a recommendation sequence applied under the label.
  • all the applications under the label are sorted according to the number of downloads in the preset time, and specifically, the number of downloads applied in the recommended sequence may be sorted from large to small.
  • the recommended application sequence generation sub-module 9032 obtains a recommended application sequence for each user according to the sequence number of each tag in each user's predicted tag sequence and the recommended sequence number applied under each tag.
  • the recommended application sequence generation submodule 9032 sorts each tag in the predicted tag sequence; and sorts all applications under each tag.
  • a recommended application sequence for each user is calculated according to the ordering of each tag in each user's predicted tag sequence and the ordering of applications under each tag.
  • the recommended application sequence generation sub-module 9032 calculates a recommended application sequence of each user by: serializing each serial number of each label in each user's prediction label sequence. The recommended serial number of the application under the label is multiplied, and the application is sorted according to the product (such as sorting in ascending order) to obtain the recommended application sequence of the user.
  • the recommended application sequence generation sub-module 9032 further generates a recommended application sequence set including a recommended application sequence of all users according to the recommended application sequence of each user.
  • the application recommendation device 210 may further include an application sequence recommendation module 904, where the application sequence recommendation module 904 is configured to use the recommended application of the user when the user accesses the application store. The application in the sequence is recommended to the user.
  • the application sequence recommendation module 904 may recommend an application ranked first (eg, the top three) in the recommended application sequence to the user for the user to select to download.
  • FIG. 11 is a flowchart of an information copying method applied to the server 200 shown in FIG. 2b according to a preferred embodiment of the present invention.
  • the method steps of the process-related process definitions may be implemented by the processor 212.
  • the specific flow shown in FIG. 11 will be described in detail below.
  • Step S1110 Calculate a feature vector of the user according to a history application list of the user.
  • the historical application list includes an installed application list, a downloaded application list within a preset time, a browsing application list within a preset time, and an updated application list within a preset time.
  • the step S1110 includes: calculating a score of each application in the history application list;
  • the distribution value gets the feature vector of the user.
  • step S1110 can be performed and implemented by the feature vector generation module 901.
  • Step S1120 The prediction model of each tag corresponding to the application is obtained according to the feature vectors of the plurality of users.
  • step S1120 includes: generating a training sample set applied under each label.
  • the training sample set is trained using a decision tree model to obtain a prediction model for each tag, and a prediction model set including prediction models of all tags is generated according to the prediction model of each tag.
  • step S1120 can be performed and implemented by the predictive model generation module 902.
  • Step S1130 Generate a recommended application sequence of the user based on the feature vector of the user and the prediction model of each tag.
  • the step S1130 may include sub-step S1131 and sub-step S1132.
  • Sub-step S1131 the feature vectors of the users are respectively input into a prediction model of each tag to obtain a predicted tag sequence of the user.
  • Sub-step S1132 generating a recommended application sequence of the user according to the prediction tag sequence and an application under the prediction tag.
  • the sub-step S1132 includes: sorting each label in the predicted label sequence; sorting all applications under each label; and sorting each label in each of the user's predicted label sequences and under each label
  • the ordering of the applications is calculated to get the recommended application sequence for each user.
  • the label in the predicted label sequence is sorted according to the size of the user's Gini value of the label.
  • the step of calculating the recommended application sequence of each user may include: obtaining a recommended application sequence of each user according to the serial number of each label in each predicted label sequence of each user and the recommended serial number applied under each label.
  • the application recommendation method may further include step S1140.
  • step S1140 when the user accesses the application store, the application in the recommended application sequence of the user is recommended to the user.
  • the server 200 may recommend an application ranked in the top of the recommended application sequence (for example, the top three) to the user for the user to select to download.
  • step S1140 can be performed and implemented by the application sequence recommendation module 904.
  • the application recommendation method and apparatus construct a feature vector of the user based on the user's usage habits, and train the label corresponding to the application by using the feature vector of the user to obtain a prediction model set of the label. And then obtaining a prediction tag sequence set according to the feature vector of the user and the prediction model set of the tag; and finally generating a recommended application sequence set of all users according to the prediction tag sequence set.
  • the user's recommended application sequence is generated, the user's previous usage habits are taken into consideration.
  • the application recommendation is made, the application that has a high correlation with the user's previous usage habits is recommended to the user, thereby implementing personalized recommendation of the application between different users, and recommending High accuracy, help increase app downloads and improve user experience.
  • the embodiment of the present invention further provides an application recommendation method, which is applied to a server, and the method includes: calculating a feature vector of the user according to a historical application list of the user; and obtaining an application corresponding according to the feature vector of the plurality of users a prediction model for each of the tags; and a user-based feature vector and a prediction model for the respective tags to generate a recommended application sequence for the user.
  • the step of generating the recommended application sequence of the user based on the user-based feature vector and the prediction model of each tag comprises: inputting the feature vector of the user into a prediction model of each tag And obtaining a predicted tag sequence of the user; and generating a recommended application sequence of the user according to the predicted tag sequence and an application under the predictive tag.
  • the step of generating the recommended application sequence of the user according to the prediction label sequence and the application under the prediction label comprises: sorting each label in the prediction label sequence; All applications under each label are sorted; and the recommended application sequence of each user is calculated according to the ordering of each label in each user's predicted label sequence and the ordering of applications under each label.
  • each of the labels in the predicted tag sequence is sorted according to the size of the user's Gini value of the tag.
  • the step of calculating a recommended application sequence of each user according to the ordering of each label in each user's predicted label sequence and the ordering of applications under each label comprises: according to each user The sequence number of each tag in the tag sequence and the recommended sequence number applied under each tag are predicted to obtain a recommended application sequence for each user.
  • the method further comprises: recommending an application in the user's recommended application sequence to the user when the user accesses the application store.
  • the step of calculating the feature vector of the user according to the history application list of the user comprises: calculating a score of each application in the history application list; and assigning each application in the history application list a label; a probability distribution value of a label of a single user; a probability distribution value of a label of all users; and a feature vector of the user according to a probability distribution value of the label of the single user and a probability distribution value of the labels of all users.
  • the historical application list includes an installed application list, a downloaded application list within a preset time, a browsing application list within a preset time, and an updated application list within a preset time.
  • the step of training the prediction models of the respective tags corresponding to the application according to the feature vectors of the plurality of users comprises: generating a training sample set applied under each tag; and the training sample set
  • the decision tree model is used to train to obtain a prediction model for each tag, and a prediction model set including prediction models of all tags is generated according to the prediction model of each tag.
  • the embodiment of the present invention further provides an application recommendation device, which is applied to a server, and the device includes: a feature vector generation module, configured to calculate a feature vector of the user according to a history application list of the user; and a prediction model generation module, configured to: And predicting a prediction model of each label corresponding to the application according to the feature vector of the plurality of users; and a recommendation application sequence generation module, configured to generate the recommended application of the user based on the feature vector of the user and the prediction model of each label sequence.
  • a feature vector generation module configured to calculate a feature vector of the user according to a history application list of the user
  • a prediction model generation module configured to: And predicting a prediction model of each label corresponding to the application according to the feature vector of the plurality of users
  • a recommendation application sequence generation module configured to generate the recommended application of the user based on the feature vector of the user and the prediction model of each label sequence.
  • the recommended application sequence generating module includes: a tag sequence generating submodule, configured to input the feature vectors of the user into the prediction models of the respective tags to obtain the predicted tag sequence of the user. And a recommendation application sequence generation submodule, configured to generate the recommended application sequence of the user according to the predicted tag sequence and an application under the prediction tag.
  • the recommended application sequence generation sub-module obtains a recommended application sequence of each user by: sorting each label in the prediction label sequence; and sorting all applications under each label; And according to the ordering of each label in each user's predicted label sequence and the ordering of the applications under each label, the recommended application sequence of each user is calculated.
  • the recommended application sequence generating sub-module sorts each tag in the predicted tag sequence according to the user's Gini value size of the tag.
  • the recommended application sequence generation sub-module obtains a recommended application sequence of each user according to a sequence number of each tag in each user's predicted tag sequence and a recommended sequence number applied under each tag.
  • the device further includes: an application sequence recommendation module, configured to recommend an application in the recommended application sequence of the user to the user when the user accesses the application store.
  • an application sequence recommendation module configured to recommend an application in the recommended application sequence of the user to the user when the user accesses the application store.
  • the feature vector generation module obtains a feature vector of the user by: calculating a score of each application in the history application list; assigning a label to each application in the history application list; a probability distribution value of a label of a single user; calculating a probability distribution value of labels of all users; and obtaining a feature vector of the user according to a probability distribution value of the label of the single user and a probability distribution value of labels of all users.
  • the historical application list includes an installed application list, a downloaded application list within a preset time, a browsing application list within a preset time, and an updated application list within a preset time.
  • the prediction model generation module obtains a prediction model by: generating a training sample set applied under each label; and using the decision tree model for training the training sample set to obtain a prediction of each label A model, and a prediction model set including a prediction model of all tags is generated based on the prediction model of each tag.
  • An embodiment of the present invention further provides a server, including: a memory; a processor; and an application recommendation device, the device being installed in the memory and including one or more software function modules executed by the processor,
  • the device includes: a feature vector generating module, and calculating a feature vector of the user according to a history application list of the user; and a prediction model generating module, configured to: according to the feature vectors of the plurality of users, obtain a prediction model of each tag corresponding to the application And a recommendation application sequence generation module for generating a recommended application sequence of the user based on the user's feature vector and the prediction model of the respective tags.
  • each block of the flowchart or block diagram can represent a module, a program segment, or a portion of code that includes one or more of the Executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the blocks may also occur in a different order than those illustrated in the drawings.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or function. Or it can be implemented by a combination of dedicated hardware and computer instructions.
  • each functional module in each embodiment of the present invention may be integrated to form a separate part, or each module may exist separately, or two or more modules may be integrated to form a separate part.
  • the functions, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

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

Abstract

An application recommendation method, device, and server. The method comprises: acquiring an application list of each of users and an area where each of the users is located (S400); computing, according to the application list of each of the users and the area where each of the users is located, a uniqueness indication corresponding to each of applications in each area (S500); and determining, on the basis of the uniqueness indication corresponding to each of the applications in each area, an application to be recommended with respect to each area. The method is adopted to automatically and effectively select an application most unique in each area without manual intervention, implementing geographical location-based personalized recommendation, more closely meeting needs of users.

Description

应用推荐方法、装置及服务器Application recommendation method, device and server 技术领域Technical field
本发明涉及互联网技术领域,具体而言,涉及一种应用推荐方法、装置及服务器。The present invention relates to the field of Internet technologies, and in particular, to an application recommendation method, apparatus, and server.
背景技术Background technique
随着移动终端技术及网络技术的飞速发展,越来越多的用户选择在手机或平板电脑等移动终端上下载应用软件,各种专为移动终端用户打造的应用获取平台,例如应用商店也应运而生。With the rapid development of mobile terminal technology and network technology, more and more users choose to download application software on mobile terminals such as mobile phones or tablet computers, and various application acquisition platforms designed for mobile terminal users, such as application stores, should also be shipped. Born.
目前,应用商店推荐应用的方法通常是通过计算整个商店每个应用的下载量,并按下载量进行应用排序,然后把排序靠前的应用推荐给用户,即基于排行榜的应用推荐。但是这种方法会对所有用户或者某一类用户推荐相同的应用,每个用户推荐的应用都是一样的,不一定是用户真正想要的,忽视了不同用户对应用需求的个体差异。造成应用推荐准确度不高,用户对推荐的应用满意度不高,从而影响软件的下载量及用户的使用体验。Currently, the method of recommending an app by an app store is usually to calculate the download amount of each app in the entire store, sort the app by the download amount, and then recommend the top-ranked app to the user, that is, the app recommendation based on the leaderboard. However, this method will recommend the same application to all users or a certain type of user. The application recommended by each user is the same, not necessarily what the user really wants, ignoring the individual differences of different users' application requirements. The accuracy of the application recommendation is not high, and the user's satisfaction with the recommended application is not high, thereby affecting the software download amount and the user experience.
发明内容Summary of the invention
有鉴于此,本发明实施例的目的在于提供一种应用推荐方法、装置及服务器,以解决上述问题。In view of this, an object of the embodiments of the present invention is to provide an application recommendation method, apparatus, and server to solve the above problems.
为了实现上述目的,本发明实施例采用的技术方案如下:In order to achieve the above object, the technical solution adopted by the embodiment of the present invention is as follows:
第一方面,本发明实施例提供了一种应用推荐方法,所述方法包括:获取各个用户的应用列表以及所述各个用户所在区域;根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值;基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。In a first aspect, an embodiment of the present invention provides an application recommendation method, where the method includes: acquiring an application list of each user and an area where each user is located; and according to the application list of each user and the area where each user is located And respectively calculating the uniqueness indicator values corresponding to the respective applications in the respective regions; determining the to-be-recommended applications based on the uniqueness indicator values of the respective applications in the respective regions.
第二方面,本发明实施例提供了一种应用推荐装置,所述装置包括:第一获取模块,用于获取各个用户的应用列表以及所述各个用户所在区域;计算模块,用于根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值;确定模块,用于基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。In a second aspect, an embodiment of the present invention provides an application recommendation device, where the device includes: a first acquisition module, configured to acquire an application list of each user and an area where each user is located; and a calculation module, configured to Determining, by the application list of each user, the uniqueness indicator value corresponding to each application in each area, and determining a module, configured to determine, according to the uniqueness indicator value of each application in each area, each area Recommended application.
第三方面,本发明实施例提供了一种服务器,所述服务器包括存储器及处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述 指令由所述处理器执行时使所述处理器执行以下操作:第一获取模块,用于获取各个用户的应用列表以及所述各个用户所在区域;计算模块,用于根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值;确定模块,用于基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。In a third aspect, an embodiment of the present invention provides a server, where the server includes a memory and a processor, the memory is coupled to the processor, and the memory stores an instruction when the When the instructions are executed by the processor, the processor is configured to: the first obtaining module is configured to obtain an application list of each user and an area where the respective users are located; and a computing module, configured to be used according to the application of each user The list and the area where the user is located respectively calculate the uniqueness indicator values corresponding to the respective applications in the respective areas; and the determining module is configured to determine the to-be-recommended application based on the uniqueness indicator value of each application in the respective areas.
第四方面,本发明实施例提供了一种应用推荐方法,所述方法包括:In a fourth aspect, an embodiment of the present invention provides an application recommendation method, where the method includes:
根据所述历史应用列表得到所述用户的特征向量;Obtaining a feature vector of the user according to the historical application list;
根据多个所述用户的特征向量训练得到应用对应的各个标签的预测模型;及And predicting a prediction model of each label corresponding to the application according to the feature vectors of the plurality of users; and
基于用户的特征向量以及所述各个标签的预测模型生成所述用户的推荐应用序列。A recommendation application sequence of the user is generated based on a feature vector of the user and a prediction model of the respective tags.
第五方面,本发明实施例提供了一种应用推荐装置,所述装置包括:In a fifth aspect, an embodiment of the present invention provides an application recommendation device, where the device includes:
特征向量生成模块,用于根据用户的历史应用列表计算得到所述用户的特征向量;及a feature vector generating module, configured to calculate a feature vector of the user according to a historical application list of the user; and
预测模型生成模块,用于根据多个所述用户的特征向量训练得到应用对应的各个标签的预测模型;及a prediction model generating module, configured to train, according to a plurality of feature vectors of the user, a prediction model of each tag corresponding to the application; and
推荐应用序列生成模块,用于基于用户的特征向量以及所述各个标签的预测模型生成所述用户的推荐应用序列。A recommendation application sequence generation module is configured to generate a recommended application sequence of the user based on a feature vector of the user and a prediction model of the respective tags.
第六方面,本发明实施例提供了一种服务器,包括存储器、处理器以及应用推荐装置。所述应用推荐装置安装或存储于所述存储器由所述处理器控制应用推荐装置各功能模块的执行。In a sixth aspect, an embodiment of the present invention provides a server, including a memory, a processor, and an application recommendation device. The application recommendation device is installed or stored in the memory, and the processor controls execution of each functional module of the application recommendation device.
与现有技术相比,本发明实施例提供的一种应用推荐方法、装置及服务器,通过计算各个区域中各个应用对应的独特性指标值,根据独特性指标值的排序结果,分别为每个区域选择预设个数的应用作为每个区域对应的推荐应用,从而可以通过获取待推荐用户所在区域,向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。这种方式能够在不需要人工干预的情况下,自动、有效地筛选各区域最具独特性的应用,实现基于地理位置的个性化推荐,更符合用户的需求。Compared with the prior art, an application recommendation method, device, and server provided by the embodiments of the present invention calculate the uniqueness index values corresponding to each application in each area, and according to the ranking results of the uniqueness index values, respectively The area selects a preset number of applications as the recommended application corresponding to each area, so that the recommended application corresponding to the area where the user to be recommended is located is returned to the user terminal of the user to be recommended by obtaining the area where the user to be recommended is located. This method can automatically and effectively screen the most unique applications in each region without manual intervention, and realize personalized recommendations based on geographic location, which is more in line with user needs.
与现有技术相比,本发明实施例提供的应用推荐方法及装置,基于用户的使用习惯构建用户的特征向量;并通过采用用户的特征向量生成所述用户的推荐应用序列。在生成用户的推荐应用序列时考虑用户之前的使用习惯,在进行应用推荐时会将与用户之前使用习惯相关性大的应用推荐给用户,从而实现不同用户之间应用的个性化推荐,推荐准确率高,有助于提高应用下载量,提升用户的使用体验。Compared with the prior art, the application recommendation method and apparatus provided by the embodiments of the present invention construct a feature vector of the user based on the usage habit of the user; and generate a recommended application sequence of the user by using the feature vector of the user. When the user's recommended application sequence is generated, the user's previous usage habits are considered. When the application recommendation is made, the application that has a high correlation with the user's previous usage habits is recommended to the user, thereby implementing personalized recommendation of the application between different users, and the recommendation is accurate. The high rate helps to increase the number of app downloads and enhance the user experience.
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实 施例,并配合所附附图,作详细说明如下。In order to make the above objects, features and advantages of the present invention more comprehensible, The embodiment and the accompanying drawings are described in detail below.
附图说明DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the embodiments will be briefly described below. It should be understood that the following drawings show only certain embodiments of the present invention, and therefore It should be seen as a limitation on the scope, and those skilled in the art can obtain other related drawings according to these drawings without any creative work.
图1是本发明实施例提供的用户终端与服务器进行交互的示意图。FIG. 1 is a schematic diagram of a user terminal interacting with a server according to an embodiment of the present invention.
图2a是本发明实施例提供的服务器的结构示意图。FIG. 2 is a schematic structural diagram of a server according to an embodiment of the present invention.
图2b是本发明实施例提供的服务器的另一种结构示意图。FIG. 2b is another schematic structural diagram of a server according to an embodiment of the present invention.
图3是本发明实施例提供的一种应用推荐方法的流程图。FIG. 3 is a flowchart of an application recommendation method according to an embodiment of the present invention.
图4是本发明实施例提供的一种应用推荐方法中的步骤S500的详细流程图。FIG. 4 is a detailed flowchart of step S500 in an application recommendation method according to an embodiment of the present invention.
图5是本发明实施例提供的一种应用推荐方法的步骤S600的详细流程图。FIG. 5 is a detailed flowchart of step S600 of an application recommendation method according to an embodiment of the present invention.
图6是本发明实施例提供的一种应用推荐方法的步骤S620的详细流程图。FIG. 6 is a detailed flowchart of step S620 of an application recommendation method according to an embodiment of the present invention.
图7是本发明实施例提供的一种应用推荐方法的部分流程图。FIG. 7 is a partial flowchart of an application recommendation method according to an embodiment of the present invention.
图8是本发明实施例提供的一种应用推荐装置的结构框图。FIG. 8 is a structural block diagram of an application recommendation apparatus according to an embodiment of the present invention.
图9是本发明实施例提供的图2b中所示的应用推荐装置的一种功能模块框图。FIG. 9 is a functional block diagram of the application recommendation apparatus shown in FIG. 2b according to an embodiment of the present invention.
图10是本发明实施例提供的图2b中所示的应用推荐装置的另一种功能模块框图。FIG. 10 is a block diagram of another functional module of the application recommendation device shown in FIG. 2b according to an embodiment of the present invention.
图11是本发明实施例提供的一种应用推荐方法的具体流程图。FIG. 11 is a specific flowchart of an application recommendation method according to an embodiment of the present invention.
图12是图11中步骤S1130包括的子步骤流程示意图。FIG. 12 is a schematic flow chart of the sub-steps included in step S1130 in FIG. 11.
图13是本发明实施例提供的另一种应用推荐方法的具体流程图。FIG. 13 is a specific flowchart of another application recommendation method according to an embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护 的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. The components of the embodiments of the invention, which are generally described and illustrated in the figures herein, may be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the invention in the claims All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are protected by the present invention. The scope.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。It should be noted that similar reference numerals and letters indicate similar items in the following figures, and therefore, once an item is defined in a drawing, it is not necessary to further define and explain it in the subsequent drawings. Also, in the description of the present invention, the terms "first", "second", and the like are used merely to distinguish a description, and are not to be construed as indicating or implying a relative importance.
图1示出了本发明实施例提供的服务器200与用户终端100进行交互的示意图。所述服务器200通过网络300与一个或多个用户终端100进行通信连接,以进行数据通信或交互。所述服务器200可以是网络服务器、数据库服务器等。所述用户终端100可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)、车载设备、穿戴设备等。所述网络300可以是,但不限于,有线网络或无线网络。FIG. 1 is a schematic diagram of interaction between a server 200 and a user terminal 100 according to an embodiment of the present invention. The server 200 is in communication with one or more user terminals 100 over a network 300 for data communication or interaction. The server 200 can be a web server, a database server, or the like. The user terminal 100 may be a personal computer (PC), a tablet computer, a smart phone, a personal digital assistant (PDA), an in-vehicle device, a wearable device, or the like. The network 300 can be, but is not limited to, a wired network or a wireless network.
如图2a所示,是所述服务器200的方框示意图。所述服务器200包括存储器201、处理器202以及网络模块203。As shown in FIG. 2a, it is a block schematic diagram of the server 200. The server 200 includes a memory 201, a processor 202, and a network module 203.
存储器201可用于存储软件程序以及模块,如本发明实施例中的应用推荐方法及装置对应的程序指令/模块。处理器202通过运行存储在存储器201内的软件程序以及模块,执行各种功能应用以及数据处理,即实现本发明实施例中的应用推荐方法。存储器201可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。进一步地,上述存储器201内的软件程序以及模块还可包括:操作系统221以及服务模块222。操作系统221,可为LINUX、UNIX、WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块222运行在操作系统221的基础上,并通过操作系统221的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块222用于向客户端提供网络服务。The memory 201 can be used to store software programs and modules, such as the application recommendation method and the program instructions/modules corresponding to the device in the embodiment of the present invention. The processor 202 performs various function applications and data processing by executing software programs and modules stored in the memory 201, that is, implementing the application recommendation method in the embodiment of the present invention. Memory 201 can include high speed random access memory and can also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory. Further, the software program and the module in the foregoing memory 201 may further include an operating system 221 and a service module 222. The operating system 221, which may be LINUX, UNIX, WINDOWS, may include various software components and/or drivers for managing system tasks (eg, memory management, storage device control, power management, etc.), and may be associated with various hardware or Software components communicate with one another to provide an operating environment for other software components. The service module 222 runs on the basis of the operating system 221, and listens for requests from the network through the network service of the operating system 221, completes corresponding data processing according to the request, and returns the processing result to the client. That is, the service module 222 is configured to provide network services to the client.
网络模块203用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。The network module 203 is configured to receive and transmit network signals. The above network signal may include a wireless signal or a wired signal.
请参照图2b,是图1所示的服务器200的另一种方框示意图。所述服务器200包括应用推荐装置210、存储器211、处理器212及通信单元213。Please refer to FIG. 2b, which is another block diagram of the server 200 shown in FIG. 1. The server 200 includes an application recommendation device 210, a memory 211, a processor 212, and a communication unit 213.
所述存储器211、处理器212及通信单元213的各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。The components of the memory 211, the processor 212, and the communication unit 213 are electrically connected directly or indirectly to each other to implement data transmission or interaction. For example, the components can be electrically connected to one another via one or more communication buses or signal lines.
其中,所述存储器211可以是,但不限于,随机存取存储器(Random  Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器211用于存储程序,所述处理器212在接收到执行指令后,执行所述程序。所述通信单元213用于通过所述网络300建立所述服务器200与所述用户终端100之间的通信连接,并用于通过所述网络300接收和发送数据。The memory 211 may be, but not limited to, a random access memory (Random). Access Memory, RAM, Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electric Erasable Programmable Read-Only Memory (EEPROM), etc. The memory 211 is used to store a program, and the processor 212 executes the program after receiving an execution instruction. The communication unit 213 is configured to establish a communication connection between the server 200 and the user terminal 100 through the network 300, and is used to receive and send data through the network 300.
所述应用推荐装置210包括至少一个可以软件或固件(firmware)的形式存储于所述存储器211中或固化在所述服务器200的操作系统(operating system,OS)中的软件功能模块。所述处理器212用于执行所述存储器211中存储的可执行模块,例如应用推荐装置210所包括的软件功能模块及计算机程序等。本实施例中,所述应用推荐装置210为服务器200提供针对不同用户的个性化应用推荐服务,具体的方法在后续进行详细说明。The application recommendation device 210 includes at least one software function module that can be stored in the memory 211 or is solidified in an operating system (OS) of the server 200 in the form of software or firmware. The processor 212 is configured to execute an executable module stored in the memory 211, such as a software function module, a computer program, and the like included in the application recommendation device 210. In this embodiment, the application recommendation device 210 provides the server 200 with a personalized application recommendation service for different users, and the specific method is described in detail later.
可以理解,图2a或图2b所示的结构仅为示意,所述服务器200还可包括比图2a或图2b中所示更多或者更少的组件,或者具有与图2a或图2b所示不同的配置。图2a或图2b中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。It will be understood that the structure shown in Fig. 2a or Fig. 2b is merely illustrative, and the server 200 may further include more or less components than those shown in Fig. 2a or Fig. 2b, or have the same as shown in Fig. 2a or Fig. 2b. Different configurations. The components shown in Figure 2a or Figure 2b can be implemented in hardware, software, or a combination thereof. In addition, the server in the embodiment of the present invention may further include multiple servers with different functions.
于本发明实施例中,用户终端100中安装有客户端,该客户端可以是第三方应用软件,与服务器(Server)端相对应,共同遵循同一套数据协议,使得服务端跟客户端能够互相解析出对方的数据,为用户提供应用专题推荐服务。In the embodiment of the present invention, the client terminal 100 is installed with a client, and the client may be a third-party application software, which corresponds to the server (Server) and follows the same set of data protocols, so that the server and the client can mutually Analyze the data of the other party and provide the user with the application recommendation service.
图3示出了本发明实施例提供的一种应用推荐方法的流程图,请参阅图3,本实施例描述的是服务器的处理流程,所述方法包括:FIG. 3 is a flowchart of an application recommendation method according to an embodiment of the present invention. Referring to FIG. 3, this embodiment describes a process flow of a server, where the method includes:
步骤S400,获取各个用户的应用列表以及所述各个用户所在区域。Step S400: Obtain an application list of each user and an area where the respective users are located.
在一个例子中,用户的应用列表的实施方法可以有多种,例如应用下载类别、应用安装列表、应用浏览列表、或者应用更新列表,但并不局限于所述实施方式。用户的应用列表可以记录在用户日志中。用户所在区域可以是用户所在的城市,也可以是用户所在的省份等。用户所在的区域可以通过用户的用户终端的位置信息来获取。In one example, the user's application list may be implemented in various ways, such as an application download category, an application installation list, an application browsing list, or an application update list, but is not limited to the embodiment. The user's application list can be recorded in the user log. The user's area can be the city where the user is located, or the province where the user is located. The area where the user is located can be obtained through the location information of the user terminal of the user.
例如,可以首先从用户日志中收集用户最近一段时间的应用安装列表,例如最近一周或者最近一个月的应用安装列表。优选的,可以从应用安装列表中排除系统预安装应用,得到用户自定义安装的应用,并将用户 自定义安装的应用作为用户的操作应用列表。然后通过用户的用户终端的位置信息获取用户当前所在城市,得到用户、城市、应用三元组,如表1所示。For example, an application installation list of the user's most recent time may be collected from the user log, such as an application installation list for the most recent week or the most recent month. Preferably, the system pre-installed application can be excluded from the application installation list, the user-defined installation application is obtained, and the user is The custom installed app serves as a list of user action apps. Then, the user's current city is obtained through the location information of the user terminal of the user, and the user, the city, and the application triplet are obtained, as shown in Table 1.
表1Table 1
用户user 城市city 应用名Application name
AA 广州Guangzhou 应用1Application 1
AA 广州Guangzhou 应用2Application 2
AA 广州Guangzhou 应用3Application 3
AA 广州Guangzhou 应用4Application 4
BB 北京Beijing 应用1Application 1
BB 北京Beijing 应用5Application 5
步骤S500,根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值。Step S500: Calculate, according to the application list of each user and the area where each user is located, a uniqueness indicator value corresponding to each application in each area.
在一个例子中,根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值的实施方式可以有多种,下面介绍其中一种实施方式,但是可以理解的是,并不局限于这种实施方式。In an example, the implementation manners of calculating the uniqueness indicator values corresponding to the respective applications in the respective areas may be various according to the application list of the respective users and the area of the respective users, and one of the embodiments is described below. However, it will be understood that it is not limited to such an embodiment.
请参阅图4,步骤S500可以包括:Referring to FIG. 4, step S500 may include:
步骤S510,根据各个区域中各个应用的用户数以及各个应用在所有区域中的平均用户数,分别计算各个应用在所有区域的标准差。In step S510, the standard deviation of each application in all areas is calculated according to the number of users of each application in each area and the average number of users of each application in all areas.
在一个例子中,可以根据各个用户的应用列表以及各个用户所在区域进行计算,分别计算各个区域中各个应用的用户数。In an example, the number of users of each application in each area may be calculated according to the application list of each user and the area where each user is located.
例如,假设获取到各个用户的应用列表以及所述各个用户所在区域如下表2所示:For example, suppose that the application list of each user is obtained and the area of each user is as shown in Table 2 below:
表2Table 2
用户user 城市city 应用名Application name
AA 广州Guangzhou 应用1Application 1
AA 广州Guangzhou 应用2Application 2
BB 广州Guangzhou 应用1Application 1
BB 广州Guangzhou 应用3Application 3
CC 北京Beijing 应用1Application 1
CC 北京Beijing 应用3Application 3
用ui,j来表示各个区域中各个应用的用户数,其中i表示城市,j表示应用。则i的取值为(广州,北京),j的取值为(应用1,应用2,应用3)。 则各个区域中各个应用的用户数如下:The number of users of each application in each area is represented by u i,j , where i represents a city and j represents an application. Then the value of i is (Guangzhou, Beijing), and the value of j is (Application 1, Application 2, Application 3). The number of users for each application in each region is as follows:
u(广州,应用1)=2;u (Guangzhou, application 1) = 2;
u(广州,应用2)=1;u (Guangzhou, application 2) = 1;
u(广州,应用3)=1;u (Guangzhou, application 3)=1;
u(北京,应用1)=1;u (Beijing, application 1) = 1;
u(北京,应用2)=0;u (Beijing, application 2) = 0;
u(北京,应用3)=1。u (Beijing, application 3)=1.
接着,分别计算各个应用在所有区域中的平均用户数。Next, the average number of users for each application in all regions is calculated separately.
若各个区域中各个应用的用户数为ui,j,其中i表示城市,j表示应用,则各个应用在所有区域中的平均用户数为:
Figure PCTCN2017095712-appb-000001
其中N为区域个数。
If the number of users of each application in each area is u i,j , where i is the city and j is the application, the average number of users in each area is:
Figure PCTCN2017095712-appb-000001
Where N is the number of regions.
接上例,此时N=2,分别为广州和北京,i的取值为(广州,北京),j的取值为(应用1,应用2,应用3),则各个应用在所有区域中的平均用户数如下:In the example above, N=2, respectively, Guangzhou and Beijing, the value of i is (Guangzhou, Beijing), and the value of j is (Application 1, Application 2, Application 3), then each application is in all areas. The average number of users is as follows:
应用1=[u(广州,应用1)+u(北京,应用1)]/2=(2+1)/2=1.5;Application 1 = [u (Guangzhou, Application 1) + u (Beijing, Application 1)] / 2 = (2 + 1) / 2 = 1.5;
应用2=[u(广州,应用2)+u(北京,应用2)]/2=(1+0)/2=0.5;Application 2 = [u (Guangzhou, Application 2) + u (Beijing, Application 2)] / 2 = (1 + 0) / 2 = 0.5;
应用2=[u(广州,应用3)+u(北京,应用3)]/2=(1+1)/2=1。Application 2 = [u (Guangzhou, Application 3) + u (Beijing, Application 3)] / 2 = (1 + 1) / 2 = 1.
当计算出各个区域中各个应用的用户数以及各个应用在所有区域中的平均用户数,可以根据如下公式计算各个应用在所有区域的标准差:When calculating the number of users of each application in each area and the average number of users in each area in each area, the standard deviation of each application in all areas can be calculated according to the following formula:
Figure PCTCN2017095712-appb-000002
Figure PCTCN2017095712-appb-000002
其中,ui,j为各个区域中各个应用的用户数,i表示城市,j表示应用,μj为各个应用在所有区域中的平均用户数,N为区域个数。Where u i,j is the number of users of each application in each area, i is the city, j is the application, μ j is the average number of users in each area, and N is the number of areas.
步骤S520,根据所述各个区域中各个应用的用户数以及所述各个应用在所有区域的标准差,分别计算各个区域中各个应用对应的独特性指标值。In step S520, the uniqueness index values corresponding to the respective applications in the respective regions are respectively calculated according to the number of users of each application in the respective regions and the standard deviation of the respective applications in all regions.
优选的,所述各个区域中各个应用对应的独特性指标值为所述各个区域中各个应用的用户数与所述各个应用在所有区域的标准差的比值。即所述独特性指标值可以按照如下公式进行计算:Preferably, the uniqueness indicator value corresponding to each application in each area is a ratio of the number of users of each application in the respective areas to the standard deviation of the respective applications in all areas. That is, the uniqueness index value can be calculated according to the following formula:
Figure PCTCN2017095712-appb-000003
Figure PCTCN2017095712-appb-000003
其中,ui,j为各个区域中各个应用的用户数,i表示城市,j表示应用,σj为各个应用在所有区域的标准差。 Wherein, u i, j is the number of users in each area of each application, i denotes the city, j represents the application, σ j for each application a standard deviation of all regions.
可以理解的是,一个应用在各个城市的用户数分布,近似成高斯分布, 如下式:It can be understood that the distribution of the number of users in an application is approximately Gaussian. The following formula:
Figure PCTCN2017095712-appb-000004
Figure PCTCN2017095712-appb-000004
高斯分布中,该分布的标准差σ反映了分布的集中程度,即分布越集中,σ越小。因此,独特性指标
Figure PCTCN2017095712-appb-000005
对同一个城市而言,S的值越大,说明该应用越独特。即该应用是该城市用户最常用的应用,也是该城市的独特应用。
In the Gaussian distribution, the standard deviation σ of the distribution reflects the degree of concentration of the distribution, that is, the more concentrated the distribution, the smaller the σ. Therefore, the uniqueness indicator
Figure PCTCN2017095712-appb-000005
For the same city, the larger the value of S, the more unique the application. That is, the app is the most commonly used app for users in the city and is a unique application for the city.
请参阅图3,执行完步骤S500后,继续执行步骤S600。Referring to FIG. 3, after step S500 is performed, step S600 is continued.
步骤S600,基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。Step S600: Determine an application to be recommended for each area based on a uniqueness indicator value of each application in each of the areas.
作为一种实施方式,请参阅图5,所述步骤S600可以包括:As an implementation manner, referring to FIG. 5, the step S600 may include:
步骤S610,将各个区域中各个应用按照独特性指标值进行排序,得到每个区域的待推荐应用候选集。Step S610: Sort each application in each area according to the uniqueness indicator value to obtain a candidate application set to be recommended for each area.
对于城市i,将其所有应用j的独特性指标Si,j按照降序排序,选取各个区域中排序靠前的前K个应用作为每个区域对应的推荐应用。For the city i, the uniqueness indicators S i,j of all the applications j are sorted in descending order, and the top K applications ranked in the respective regions are selected as the recommended applications corresponding to each region.
例如,假设将各个区域中各个应用按照独特性指标值进行排序后,得到如下表3所示:For example, suppose that each application in each region is sorted according to the uniqueness indicator value, as shown in Table 3 below:
表3table 3
城市city 应用名Application name 独特性指标Uniqueness index
广州Guangzhou 应用1Application 1 1.002943992611.00294399261
广州Guangzhou 应用2Application 2 1.002837538721.00283753872
广州Guangzhou 应用3Application 3 1.002815961841.00281596184
广州Guangzhou 应用4Application 4 1.002815723421.00281572342
广州Guangzhou 应用5Application 5 1.002808928491.00280892849
北京Beijing 应用2Application 2 1.002673268321.00267326832
北京Beijing 应用3Application 3 1.002664208411.00266420841
北京Beijing 应用4Application 4 1.002611637121.00261163712
北京Beijing 应用5Application 5 1.002593159681.00259315968
北京Beijing 应用1Application 1 1.002489686011.00248968601
假设第一预设个数为3,则分别为每个区域选择3个应用作为每个区域对应的待推荐应用集合。每个区域的待推荐应用集合如下表4所示: Assuming that the first preset number is 3, three applications are selected for each region as the to-be-recommended application set corresponding to each region. The set of applications to be recommended for each region is shown in Table 4 below:
表4Table 4
城市city 应用名Application name 独特性指标Uniqueness index
广州Guangzhou 应用1Application 1 1.002943992611.00294399261
广州Guangzhou 应用2Application 2 1.002837538721.00283753872
广州Guangzhou 应用3Application 3 1.002815961841.00281596184
北京Beijing 应用2Application 2 1.002673268321.00267326832
北京Beijing 应用3Application 3 1.002664208411.00266420841
北京Beijing 应用4Application 4 1.002611637121.00261163712
步骤S620,从所述每个区域的待推荐应用候选集中确定每个区域的待推荐应用。Step S620: Determine a to-be-recommended application of each area from the to-be-recommended application candidate set of each area.
优选的,请参见图6,所述步骤S620可以包括:Preferably, referring to FIG. 6, the step S620 may include:
步骤S621,计算所述每个区域对应的待推荐应用集合中各个应用对应的用户数。Step S621: Calculate the number of users corresponding to each application in the to-be-recommended application set corresponding to each area.
可以基于用户已安装/已下载应用的日志数据,计算每个应用的安装/下载用户数;将对每个区域的待推荐应用集合的应用与所述每个应用的安装/下载用户数关联起来,关联之后的数据,如下表5所示:The number of install/download users per application may be calculated based on log data of the installed/downloaded application of the user; the application of the set of applications to be recommended for each region is associated with the number of install/download users of each application , the data after the association, as shown in Table 5 below:
表5table 5
城市city 应用名Application name 独特性指标Uniqueness index 用户数User number
广州Guangzhou 应用1Application 1 1.002943992611.00294399261 1000010000
广州Guangzhou 应用2Application 2 1.002837538721.00283753872 88888888
广州Guangzhou 应用3Application 3 1.002815961841.00281596184 1524715247
北京Beijing 应用2Application 2 1.002673268321.00267326832 98569856
北京Beijing 应用3Application 3 1.002664208411.00266420841 1200312003
北京Beijing 应用4Application 4 1.002611637121.00261163712 1003610036
步骤S622,分别将所述每个区域对应的待推荐应用集合中应用按照用户数进行排序,得到每个区域的待推荐应用。In step S622, the applications in the application group to be recommended corresponding to each area are sorted according to the number of users, and the application to be recommended for each area is obtained.
可以将所述每个区域对应的待推荐应用集合中的应用按照用户数进行降序排序,选取各个区域中排序靠前的前第二预设个数应用作为每个区域对应推荐应用。其中,第二预设个数可以小于或等于第一预设个数。The application in the to-be-recommended application set corresponding to each area may be sorted in descending order according to the number of users, and the first second preset number application ranked in the previous area is selected as the recommended application for each area. The second preset number may be less than or equal to the first preset number.
接上例,重新排序后,得到每个区域对应推荐应用列表如下表6所示: In the example above, after reordering, the list of recommended applications for each area is shown in Table 6 below:
表6Table 6
城市city 应用名Application name 推荐序列Recommended sequence
广州Guangzhou 应用3Application 3 11
广州Guangzhou 应用1Application 1 22
广州Guangzhou 应用2Application 2 33
北京Beijing 应用4Application 4 11
北京Beijing 应用3Application 3 22
北京Beijing 应用2Application 2 33
若第二预设个数为2,则向广州的用户推荐的应用为应用3和应用2,向北京的用户推荐的为应用4和应用3。If the second preset number is 2, the applications recommended to users in Guangzhou are Application 3 and Application 2, and the applications recommended to users in Beijing are Application 4 and Application 3.
可以理解的是,为每个区域选择出对应的推荐应用后,可以分别向不同区域用户推荐不同的应用。It can be understood that after selecting the corresponding recommended application for each area, different applications can be recommended to different regional users respectively.
请参见图7,在步骤S600之后,所述方法还可以包括以下步骤:Referring to FIG. 7, after step S600, the method may further include the following steps:
步骤S700,获取待推荐用户所在区域;Step S700, obtaining an area where the user to be recommended is located;
步骤S800,查询所述待推荐用户所在区域对应的推荐应用;Step S800: Query the recommended application corresponding to the area where the user to be recommended is located;
步骤S900,向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。Step S900: Return, to the user terminal of the user to be recommended, a recommended application corresponding to the area where the user to be recommended is located.
本发明实施例提供的一种应用推荐方法,通过计算各个区域中各个应用对应的独特性指标值,根据独特性指标值的排序结果,分别为每个区域选择预设个数的应用作为每个区域对应的推荐应用,从而可以通过获取待推荐用户所在区域,向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。这种方式能够在不需要人工干预的情况下,自动、有效地筛选各区域最具独特性的应用,实现基于地理位置的个性化推荐,从而增强产品的大数据感知力度。此外,因为推荐的应用结合了用户所在的地理位置,所以能够在一定程度上增加用户下载量。进一步的,按照独特性指标值排序后,再根据待推荐应用集合中的应用按照用户数进行排序,分别为每个区域选择第二预设个数的应用作为每个区域对应的推荐应用。这种方式通过独特性指标以及应用的用户数这两种指标进行各个区域的推荐应用的筛选,使得最终选出的每个区域对应的推荐应用更加准确。An application recommendation method provided by an embodiment of the present invention calculates a uniqueness indicator value corresponding to each application in each area, and selects a preset number of applications for each area according to the ranking result of the uniqueness indicator value. The recommended application corresponding to the area, so that the recommended application corresponding to the area where the user to be recommended is located is returned to the user terminal of the user to be recommended. This method can automatically and effectively screen the most unique applications in each region without manual intervention, and realize personalized recommendation based on geographic location, thereby enhancing the big data perception of the product. In addition, because the recommended application combines the geographic location of the user, the user download amount can be increased to some extent. Further, after sorting according to the uniqueness index value, the application according to the application group to be recommended is sorted according to the number of users, and the second preset number of applications are selected for each region as the recommended application corresponding to each region. In this way, the recommendation application of each region is filtered by the uniqueness index and the number of users of the application, so that the recommended application corresponding to each region finally selected is more accurate.
请参阅图8,是本发明实施例提供的应用推荐装置210的功能模块示意图。所述应用推荐装置210包括第一获取模块211,计算模块212,确定模块213。FIG. 8 is a schematic diagram of functional modules of an application recommendation device 210 according to an embodiment of the present invention. The application recommendation device 210 includes a first acquisition module 211, a calculation module 212, and a determination module 213.
所述第一获取模块211,用于获取各个用户的应用列表以及所述各个用户所在区域。 The first obtaining module 211 is configured to obtain an application list of each user and an area where the respective users are located.
所述计算模块212,用于根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值。The calculation module 212 is configured to calculate, according to the application list of each user and the area where each user is located, a uniqueness indicator value corresponding to each application in each area.
优选的,所述计算模块212包括第一计算子模块2121以及第二计算子模块2122。其中,所述第一计算子模块2121,用于根据各个区域中各个应用的用户数以及各个应用在所有区域中的平均用户数,分别计算各个应用在所有区域的标准差;所述第二计算子模块2122,用于根据所述各个区域中各个应用的用户数以及所述各个应用在所有区域的标准差,分别计算各个区域中各个应用对应的独特性指标值。Preferably, the calculation module 212 includes a first calculation sub-module 2121 and a second calculation sub-module 2122. The first calculation sub-module 2121 is configured to calculate a standard deviation of each application in all areas according to the number of users of each application in each area and the average number of users in each area in each area; the second calculation The sub-module 2122 is configured to separately calculate the uniqueness indicator values corresponding to the respective applications in the respective regions according to the number of users of each application in the respective regions and the standard deviation of the respective applications in all regions.
在一个例子中,各个区域中各个应用对应的独特性指标值为所述各个区域中各个应用的用户数与所述各个应用在所有区域的标准差的比值。In one example, the uniqueness indicator values corresponding to the respective applications in the respective regions are the ratio of the number of users of each application in the respective regions to the standard deviation of the respective applications in all regions.
所述确定模块213,用于基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。The determining module 213 is configured to determine, according to the uniqueness indicator value of each application in the respective regions, an application to be recommended for each region.
优选的,所述确定模块213包括排序子模块2131以及选中子模块2132。其中,所述排序子模块2131,用于将各个区域中各个应用按照独特性指标值进行排序,得到每个区域的待推荐应用候选集;所述选中子模块2132,用于从所述每个区域的待推荐应用候选集中确定每个区域的待推荐应用。Preferably, the determining module 213 includes a sorting sub-module 2131 and a selected sub-module 2132. The sorting sub-module 2131 is configured to sort each application in each area according to the uniqueness index value to obtain a candidate application candidate set for each area; the selected sub-module 2132 is configured to use each The candidate application candidates to be recommended in the region determine the application to be recommended for each region.
优选的,所述选中子模块2132,具体用于计算所述每个区域对应的待推荐应用集合中各个应用对应的用户数;分别将所述每个区域对应的待推荐应用集合中应用按照用户数进行排序,得到每个区域的待推荐应用。Preferably, the selected sub-module 2132 is configured to calculate a number of users corresponding to each application in the to-be-recommended application set corresponding to each area, and apply the application to the recommended application set corresponding to each area according to the user. Sort the numbers to get the recommended application for each area.
优选的,所述装置还包括第二获取模块214,查询模块215以及返回模块216。其中,所述第二获取模块214,用于获取待推荐用户所在区域;所述查询模块215,用于查询所述待推荐用户所在区域对应的推荐应用;所述返回模块216,用于向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。Preferably, the device further includes a second obtaining module 214, a query module 215 and a return module 216. The second obtaining module 214 is configured to obtain an area where the user to be recommended is located; the querying module 215 is configured to query a recommended application corresponding to the area where the user to be recommended is located; and the returning module 216 is configured to The user terminal that describes the recommended user returns the recommended application corresponding to the area where the user to be recommended is located.
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于图2a示出的服务器200的存储器201内。以上各模块同样可以由硬件例如集成电路芯片实现。Each of the above modules may be implemented by software code. In this case, each of the above modules may be stored in the memory 201 of the server 200 shown in FIG. 2a. The above modules can also be implemented by hardware such as an integrated circuit chip.
请参照图9,是本发明较佳实施例提供的图2b所示应用推荐装置210的功能模块框图。所述应用推荐装置210包括特征向量生成模块901、预测模型生成模块902及推荐应用序列生成模块903。Please refer to FIG. 9, which is a functional block diagram of the application recommendation device 210 shown in FIG. 2b according to a preferred embodiment of the present invention. The application recommendation device 210 includes a feature vector generation module 901, a prediction model generation module 902, and a recommendation application sequence generation module 903.
所述特征向量生成模块901,用于根据用户的历史应用列表计算得到所述用户的特征向量。The feature vector generation module 901 is configured to calculate a feature vector of the user according to a history application list of the user.
在本实施例中,所述历史应用列表可以包括所述用户终端100的已安装应用列表、预设时间内(比如,最近一段时间)的下载应用列表、预设 时间内的浏览应用列表及预设时间内的更新应用列表。In this embodiment, the history application list may include an installed application list of the user terminal 100, a download application list in a preset time (for example, a recent time period), and a preset. A list of browsing applications and a list of updated applications within a preset time.
下面具体介绍所述特征向量生成模块901根据用户的历史应用列表计算得到所述用户的特征向量的过程。The process of the feature vector generation module 901 calculating the feature vector of the user according to the history application list of the user is specifically described below.
首先,所述特征向量生成模块901计算得到历史应用列表中每个应用的分值。First, the feature vector generation module 901 calculates a score of each application in the history application list.
所述特征向量生成模块901获取每个用户已安装应用列表、预设时间内的下载应用列表、预设时间内的浏览应用列表及预设时间内的更新应用列表。对每个应用列表中的所有应用的分值进行计算。分值计算方法如下:The feature vector generation module 901 acquires a list of installed applications for each user, a list of downloaded applications within a preset time, a list of browsing applications within a preset time, and an updated application list within a preset time. Calculate the scores for all the apps in each app list. The score calculation method is as follows:
针对更新应用列表,应用的分值为:For the updated app list, the applied score is:
update_app_scorei=update_appi×wupdateUpdate_app_score i =update_app i ×w update ;
针对浏览应用列表,应用的分值为:For browsing the list of apps, the app’s score is:
view_app_scorei=view_appi×wvieweView_app_score i =view_app i ×w viewe ;
针对下载应用列表,应用的分值为:For the list of downloaded apps, the applied score is:
download_app_scorei=download_appi×wdownloadDownload_app_score i =download_app i ×w download ;
针对安装应用列表,应用的分值为:For the list of installed apps, the app’s score is:
install_app_scorei=install_appi×winstadllInstall_app_score i =install_app i ×w instadll .
其中,update_appi、view_appi、download_appi和install_appi分别表示应用i的更新次数、浏览次数、下载次数和安装次数;wupdate、wview、wdownload和winstall分别表示更新次数的权重、浏览次数的权重、下载次数的权重和安装次数的权重,可为预设值。Among them, update_app i , view_app i , download_app i and install_app i respectively represent the number of updates, browsing times, download times and installation times of the application i; w update , w view , w download and w install respectively indicate the weight of the update times and the number of views The weight, the weight of the downloads, and the weight of the number of installs can be preset.
以用户i为例,用户i的应用的分值分布参照表7。Taking user i as an example, the score distribution of the application of user i refers to Table 7.
表7Table 7
Figure PCTCN2017095712-appb-000006
Figure PCTCN2017095712-appb-000006
所述特征向量生成模块901为历史应用列表中每个应用赋予标签。The feature vector generation module 901 assigns a label to each application in the history application list.
具体地,所述特征向量生成模块901从应用与标签的映射表中查询应用所对应的标签,并扩展表7,为每个应用带上标签从而得到表8。 Specifically, the feature vector generation module 901 queries the label corresponding to the application from the mapping table of the application and the label, and expands the table 7, and labels each application to obtain the table 8.
表8Table 8
Figure PCTCN2017095712-appb-000007
Figure PCTCN2017095712-appb-000007
所述特征向量生成模块901计算单个用户的标签的概率分布值。The feature vector generation module 901 calculates a probability distribution value of a tag of a single user.
具体地,所述特征向量生成模块901对每个用户同一标签下的应用分值进行求和,得到每一用户的各类标签分值,请参照表9。Specifically, the feature vector generation module 901 sums the application scores under the same label of each user, and obtains various types of label scores for each user. Please refer to Table 9.
表9Table 9
Figure PCTCN2017095712-appb-000008
Figure PCTCN2017095712-appb-000008
对每一用户的各类标签分值进行归一化,得到该用户的标签概率分布,用户i的标签j的概率分布值表示为p(cj|ui),请参照表10。Each type of tag score of each user is normalized to obtain a tag probability distribution of the user, and the probability distribution value of the tag j of the user i is represented as p(c j |u i ), refer to Table 10.
表10Table 10
Figure PCTCN2017095712-appb-000009
Figure PCTCN2017095712-appb-000009
所述特征向量生成模块901计算所有用户的标签的概率分布值。The feature vector generation module 901 calculates a probability distribution value of tags of all users.
具体地,所述特征向量生成模块901对所有用户求和统计各个标签分值,并进行归一化为所有用户的标签概率分布值,所有用户的各个标签j的概率分布值表示为p(cj),具体请参照表11。 Specifically, the feature vector generation module 901 sums and counts each tag score for all users, and normalizes to a tag probability distribution value of all users, and the probability distribution value of each tag j of all users is represented as p(c j ), please refer to Table 11 for details.
表11Table 11
标签label p(cj)p(c j )
音乐播放play music 3.03%3.03%
网购Online shopping 16.16%16.16%
社交Social 15.29%15.29%
.............. 0.15%0.15%
.............. 0.42%0.42%
.............. 0.09%0.09%
.............. 0.30%0.30%
.............. 0.54%0.54%
所述特征向量生成模块901根据所述单个用户的标签的概率分布值及所有用户的标签的概率分布值得到用户的特征向量。The feature vector generation module 901 obtains a feature vector of the user according to a probability distribution value of the label of the single user and a probability distribution value of the labels of all users.
具体地,所述特征向量生成模块901计算每个用户的特征向量,计算用户i的特征向量的公式为:Vi=[vi,1,vi,2,...,vi,j,...,vi,N],其中:
Figure PCTCN2017095712-appb-000010
N代表标签的数量。用户i的特征向量中的特征值vi,j与标签关系请参照表12。
Specifically, the feature vector generation module 901 calculates a feature vector of each user, and the formula for calculating the feature vector of the user i is: V i =[v i,1 , v i,2 , . . . , v i,j ,...,v i,N ], where:
Figure PCTCN2017095712-appb-000010
N represents the number of labels. Refer to Table 12 for the relationship between the feature values v i,j and the tags in the feature vector of the user i.
表12Table 12
标签label vi,j v i,j
社交Social 2.182.18
网购Online shopping 2.062.06
音乐播放play music 11.0011.00
在本实施例中,也可以基于用户i的特征向量Vi=[vi,1,vi,2,...,vi,j,...,vi,N],采用机器学习的方法重新获得新的特征向量来表征用户i的特征。In this embodiment, machine learning can also be adopted based on the feature vector V i =[v i,1 , v i,2 , . . . , v i,j , . . . , v i,N ] of the user i. The method re-obtains a new feature vector to characterize the characteristics of user i.
所述预测模型生成模块902,用于根据多个所述用户的特征向量训练得到应用对应的各个标签的预测模型。The prediction model generating module 902 is configured to train, according to the feature vectors of the plurality of users, a prediction model of each tag corresponding to the application.
在本实施例中,所述预测模型生成模块902首先生成每个标签下应用的训练样本集,所述训练样本集生成的方法如下。In this embodiment, the prediction model generation module 902 first generates a training sample set applied under each label, and the training sample set generation method is as follows.
若在t天内生成的用户i的特征向量为Vi=[vi,1,vi,2,...,vi,j,...,vi,N],且在第t+1天下载了标签为L的应用,则该用户的训练样本数据为Si=[vi,1,vi,2,...,vi,j,...,vi,N,1];否则,记为Si=[vi,1,vi,2,...,vi,j,...,vi,N,0]。其中,最后一个维度为训练目标。对所有用户生成训练样本,得到包括所 有用户训练样本的训练样本集{Si}。If the feature vector of user i generated in t days is V i =[v i,1 , v i,2 ,...,v i,j ,...,v i,N ], and at t+ After downloading the application labeled L for 1 day, the training sample data of the user is S i =[v i,1 ,v i,2 ,...,v i,j ,...,v i,N , 1]; otherwise, it is denoted as S i =[v i,1 ,v i,2 ,...,v i,j ,...,v i,N ,0]. Among them, the last dimension is the training goal. A training sample is generated for all users to obtain a training sample set {S i } including all user training samples.
所述预测模型生成模块902采用决策树模型对所有用户在标签L下的训练样本集{Si}进行训练,得到针对标签L的决策树预测模型MLThe prediction model generation module 902 trains the training sample set {S i } of all users under the label L by using a decision tree model to obtain a decision tree prediction model M L for the label L.
所述预测模型生成模块902再针对所有标签采用上述方法进行训练,得到包括所有标签的预测模型的预测模型集{ML}。The prediction model generation module 902 then trains all the tags using the above method to obtain a prediction model set {M L } of the prediction models including all tags.
所述推荐应用序列生成模块903用于基于用户的特征向量以及所述各个标签的预测模型生成所述用户的推荐应用序列。The recommended application sequence generating module 903 is configured to generate a recommended application sequence of the user based on a feature vector of the user and a prediction model of the respective tags.
请参照图10,在本实施例中,所述推荐应用序列生成模块903可以包括标签序列生成子模块9031及推荐应用序列生成子模块9032。Referring to FIG. 10, in the embodiment, the recommended application sequence generation module 903 may include a tag sequence generation submodule 9031 and a recommendation application sequence generation submodule 9032.
生成所述用户的推荐应用序列的具体方式可以通过上述子模块实现,具体实现方式如下。The specific manner of generating the recommended application sequence of the user may be implemented by using the foregoing sub-module, and the specific implementation manner is as follows.
所述标签序列生成子模块9031用于将所述用户的特征向量分别输入到各个标签的预测模型中,得到所述用户的预测标签序列。The tag sequence generation sub-module 9031 is configured to input the feature vectors of the user into the prediction models of the respective tags to obtain the predicted tag sequence of the user.
所述标签序列生成子模块9031将每个用户的特征向量输入到各个标签的预测模型中,得到每个用户的预测标签序列Ui={Lj}。The tag sequence generation sub-module 9031 inputs the feature vector of each user into the prediction model of each tag to obtain a prediction tag sequence U i ={L j } for each user.
所述标签序列生成子模块9031根据每个用户的预测标签序列生成包括所有用户的预测标签序列的标签序列集。The tag sequence generation sub-module 9031 generates a tag sequence set including a prediction tag sequence of all users according to a prediction tag sequence of each user.
所述推荐应用序列生成子模块9032,用于根据所述预测标签序列与所述预测标签下的应用生成所述用户的推荐应用序列。The recommended application sequence generation sub-module 9032 is configured to generate a recommended application sequence of the user according to the predicted tag sequence and an application under the predictive tag.
所述推荐应用序列生成子模块9032对用户的预测标签序列进行排序。在本实施例中,按照用户对标签的基尼值(gini值)大小对该预测标签序列中的各个标签进行排序。具体地,可以按照基尼值从小到大进行排序。The recommended application sequence generation sub-module 9032 sorts the user's predicted tag sequence. In this embodiment, each tag in the predicted tag sequence is sorted according to the user's Gini value (gini value) of the tag. Specifically, the order can be sorted from small to large according to the Gini value.
所述推荐应用序列生成子模块9032对标签下所有应用进行排序,得到该标签下应用的推荐序列。在本实施例中,对标签下所有应用按照在预设时间内的下载次数进行排序,具体地可以按照推荐序列中应用的下载次数从大到小进行排序。The recommended application sequence generation sub-module 9032 sorts all applications under the label to obtain a recommendation sequence applied under the label. In this embodiment, all the applications under the label are sorted according to the number of downloads in the preset time, and specifically, the number of downloads applied in the recommended sequence may be sorted from large to small.
所述推荐应用序列生成子模块9032根据每个用户的预测标签序列中各标签的序列号及各标签下应用的推荐序列号,得到每个用户的推荐应用序列。The recommended application sequence generation sub-module 9032 obtains a recommended application sequence for each user according to the sequence number of each tag in each user's predicted tag sequence and the recommended sequence number applied under each tag.
在本实施例中,所述推荐应用序列生成子模块9032对所述预测标签序列中的各个标签进行排序;和对各个标签下所有应用进行排序。根据每个用户的预测标签序列中各个标签的排序及各个标签下的应用的排序,计算得到每个用户的推荐应用序列。In this embodiment, the recommended application sequence generation submodule 9032 sorts each tag in the predicted tag sequence; and sorts all applications under each tag. A recommended application sequence for each user is calculated according to the ordering of each tag in each user's predicted tag sequence and the ordering of applications under each tag.
具体地,所述推荐应用序列生成子模块9032计算得到每个用户的推荐应用序列的方式为:将每个用户的预测标签序列中各标签的序列号及各 标签下应用的推荐序列号相乘,并根据乘积对应用排序(如采用升序方式进行排序),得到该用户的推荐应用序列。Specifically, the recommended application sequence generation sub-module 9032 calculates a recommended application sequence of each user by: serializing each serial number of each label in each user's prediction label sequence. The recommended serial number of the application under the label is multiplied, and the application is sorted according to the product (such as sorting in ascending order) to obtain the recommended application sequence of the user.
所述推荐应用序列生成子模块9032还根据每个用户的推荐应用序列生成包括所有用户的推荐应用序列的推荐应用序列集。The recommended application sequence generation sub-module 9032 further generates a recommended application sequence set including a recommended application sequence of all users according to the recommended application sequence of each user.
请再次参照图10,在本实施例中,所述应用推荐装置210还可以包括应用序列推荐模块904,所述应用序列推荐模块904用于在用户访问应用商店时,将所述用户的推荐应用序列中的应用推荐给所述用户。Referring to FIG. 10 again, in the embodiment, the application recommendation device 210 may further include an application sequence recommendation module 904, where the application sequence recommendation module 904 is configured to use the recommended application of the user when the user accesses the application store. The application in the sequence is recommended to the user.
具体地,应用序列推荐模块904可以将所述推荐应用序列中排列靠前(比如,排名前三)的应用推荐给用户,以供用户进行选择下载。Specifically, the application sequence recommendation module 904 may recommend an application ranked first (eg, the top three) in the recommended application sequence to the user for the user to select to download.
请参照图11,是本发明较佳实施例提供的应用于图2b所示服务器200的信息复制方法的流程图。所述方法相关的流程定义的方法步骤可以由所述处理器212实现。下面对图11所示的具体流程进行详细阐述。Please refer to FIG. 11, which is a flowchart of an information copying method applied to the server 200 shown in FIG. 2b according to a preferred embodiment of the present invention. The method steps of the process-related process definitions may be implemented by the processor 212. The specific flow shown in FIG. 11 will be described in detail below.
步骤S1110,根据用户的历史应用列表计算得到所述用户的特征向量。Step S1110: Calculate a feature vector of the user according to a history application list of the user.
在本实施例中,所述历史应用列表包括已安装应用列表、预设时间内的下载应用列表、预设时间内的浏览应用列表及预设时间内的更新应用列表。In this embodiment, the historical application list includes an installed application list, a downloaded application list within a preset time, a browsing application list within a preset time, and an updated application list within a preset time.
所述步骤S1110包括:计算得到历史应用列表中每个应用的分值;The step S1110 includes: calculating a score of each application in the history application list;
为历史应用列表中每个应用赋予标签;计算单个用户的标签的概率分布值;计算所有用户的标签的概率分布值;及根据所述单个用户的标签的概率分布值及所有用户的标签的概率分布值得到用户的特征向量。Assigning a label to each application in the history application list; calculating a probability distribution value of the label of the individual user; calculating a probability distribution value of the label of all users; and a probability distribution value according to the label of the single user and a probability of labeling of all users The distribution value gets the feature vector of the user.
上述步骤S1110所描述的过程可以由特征向量生成模块901执行并实现。The process described in the above step S1110 can be performed and implemented by the feature vector generation module 901.
步骤S1120,根据多个所述用户的特征向量训练得到应用对应的各个标签的预测模型。Step S1120: The prediction model of each tag corresponding to the application is obtained according to the feature vectors of the plurality of users.
具体地,步骤S1120包括:生成每个标签下应用的训练样本集。对所述训练样本集采用决策树模型进行训练得到每个标签的预测模型,并根据每个标签的预测模型生成包括所有标签的预测模型的预测模型集。Specifically, step S1120 includes: generating a training sample set applied under each label. The training sample set is trained using a decision tree model to obtain a prediction model for each tag, and a prediction model set including prediction models of all tags is generated according to the prediction model of each tag.
上述步骤S1120所描述的过程可以由预测模型生成模块902执行并实现。The process described in the above step S1120 can be performed and implemented by the predictive model generation module 902.
步骤S1130,基于用户的特征向量以及所述各个标签的预测模型生成所述用户的推荐应用序列。Step S1130: Generate a recommended application sequence of the user based on the feature vector of the user and the prediction model of each tag.
请参照图12,在本实施例中,所述步骤S1130可以包括子步骤S1131及子步骤S1132。Referring to FIG. 12, in the embodiment, the step S1130 may include sub-step S1131 and sub-step S1132.
子步骤S1131,将所述用户的特征向量分别输入到各个标签的预测模型中,得到所述用户的预测标签序列。 Sub-step S1131, the feature vectors of the users are respectively input into a prediction model of each tag to obtain a predicted tag sequence of the user.
上述子步骤S1131所描述的过程可以由标签序列生成子模块9031执行并实现。The process described in the above sub-step S1131 can be performed and implemented by the tag sequence generation sub-module 9031.
子步骤S1132,根据所述预测标签序列与所述预测标签下的应用生成所述用户的推荐应用序列。Sub-step S1132, generating a recommended application sequence of the user according to the prediction tag sequence and an application under the prediction tag.
具体地,所述子步骤S1132包括:对所述预测标签序列中的各个标签进行排序;对各个标签下所有应用进行排序;及根据每个用户的预测标签序列中各个标签的排序及各个标签下的应用的排序,计算得到每个用户的推荐应用序列。其中,在所述预测标签序列中标签按照所述用户对标签的基尼值大小进行排序。Specifically, the sub-step S1132 includes: sorting each label in the predicted label sequence; sorting all applications under each label; and sorting each label in each of the user's predicted label sequences and under each label The ordering of the applications is calculated to get the recommended application sequence for each user. The label in the predicted label sequence is sorted according to the size of the user's Gini value of the label.
其中,计算得到每个用户的推荐应用序列的步骤可以包括:根据每个用户的预测标签序列中各标签的序列号及各标签下应用的推荐序列号,得到每个用户的推荐应用序列。The step of calculating the recommended application sequence of each user may include: obtaining a recommended application sequence of each user according to the serial number of each label in each predicted label sequence of each user and the recommended serial number applied under each label.
上述子步骤S1132所描述的过程可以由推荐应用序列生成子模块9032执行并实现。The process described in the above sub-step S1132 can be performed and implemented by the recommended application sequence generation sub-module 9032.
请参照图13,在本实施例中,所述应用推荐方法还可以包括步骤S1140。Referring to FIG. 13, in the embodiment, the application recommendation method may further include step S1140.
步骤S1140,在用户访问应用商店时,将所述用户的推荐应用序列中的应用推荐给所述用户。In step S1140, when the user accesses the application store, the application in the recommended application sequence of the user is recommended to the user.
具体地,服务器200可以将所述推荐应用序列中排列靠前(比如,排名前三)的应用推荐给用户,以供用户进行选择下载。Specifically, the server 200 may recommend an application ranked in the top of the recommended application sequence (for example, the top three) to the user for the user to select to download.
上述步骤S1140所描述的过程可以由应用序列推荐模块904执行并实现。The process described in the above step S1140 can be performed and implemented by the application sequence recommendation module 904.
综上所述,本发明实施例提供的应用推荐方法及装置,基于用户的使用习惯构建用户的特征向量;并通过采用用户的特征向量对应用所对应的标签进行训练,得到标签的预测模型集;再根据所述用户的特征向量和标签的预测模型集得到预测标签序列集;最后根据预测标签序列集生成所有用户的推荐应用序列集。在生成用户的推荐应用序列时考虑了用户之前的使用习惯,在进行应用推荐时会将与用户之前使用习惯相关性大的应用推荐给用户,从而实现不同用户之间应用的个性化推荐,推荐准确率高,有助于提高应用下载量,提升用户的使用体验。In summary, the application recommendation method and apparatus provided by the embodiments of the present invention construct a feature vector of the user based on the user's usage habits, and train the label corresponding to the application by using the feature vector of the user to obtain a prediction model set of the label. And then obtaining a prediction tag sequence set according to the feature vector of the user and the prediction model set of the tag; and finally generating a recommended application sequence set of all users according to the prediction tag sequence set. When the user's recommended application sequence is generated, the user's previous usage habits are taken into consideration. When the application recommendation is made, the application that has a high correlation with the user's previous usage habits is recommended to the user, thereby implementing personalized recommendation of the application between different users, and recommending High accuracy, help increase app downloads and improve user experience.
本发明实施例还提供了一种应用推荐方法,应用于服务器,所述方法包括:根据用户的历史应用列表计算得到所述用户的特征向量;根据多个所述用户的特征向量训练得到应用对应的各个标签的预测模型;及基于用户的特征向量以及所述各个标签的预测模型生成所述用户的推荐应用序列。 The embodiment of the present invention further provides an application recommendation method, which is applied to a server, and the method includes: calculating a feature vector of the user according to a historical application list of the user; and obtaining an application corresponding according to the feature vector of the plurality of users a prediction model for each of the tags; and a user-based feature vector and a prediction model for the respective tags to generate a recommended application sequence for the user.
可选地或另选地,所述基于用户的特征向量以及所述各个标签的预测模型生成所述用户的推荐应用序列的步骤包括:将所述用户的特征向量分别输入到各个标签的预测模型中,得到所述用户的预测标签序列;及根据所述预测标签序列与所述预测标签下的应用生成所述用户的推荐应用序列。Optionally or alternatively, the step of generating the recommended application sequence of the user based on the user-based feature vector and the prediction model of each tag comprises: inputting the feature vector of the user into a prediction model of each tag And obtaining a predicted tag sequence of the user; and generating a recommended application sequence of the user according to the predicted tag sequence and an application under the predictive tag.
可选地或另选地,所述根据所述预测标签序列与所述预测标签下的应用生成所述用户的推荐应用序列的步骤包括:对所述预测标签序列中的各个标签进行排序;对各个标签下所有应用进行排序;及根据每个用户的预测标签序列中各个标签的排序及各个标签下的应用的排序,计算得到每个用户的推荐应用序列。Optionally or alternatively, the step of generating the recommended application sequence of the user according to the prediction label sequence and the application under the prediction label comprises: sorting each label in the prediction label sequence; All applications under each label are sorted; and the recommended application sequence of each user is calculated according to the ordering of each label in each user's predicted label sequence and the ordering of applications under each label.
可选地或另选地,对所述预测标签序列中的各个标签按照所述用户对标签的基尼值大小进行排序。Optionally or alternatively, each of the labels in the predicted tag sequence is sorted according to the size of the user's Gini value of the tag.
可选地或另选地,所述根据每个用户的预测标签序列中各个标签的排序及各个标签下的应用的排序,计算得到每个用户的推荐应用序列的步骤包括:根据每个用户的预测标签序列中各标签的序列号及各标签下应用的推荐序列号,得到每个用户的推荐应用序列。Optionally or alternatively, the step of calculating a recommended application sequence of each user according to the ordering of each label in each user's predicted label sequence and the ordering of applications under each label comprises: according to each user The sequence number of each tag in the tag sequence and the recommended sequence number applied under each tag are predicted to obtain a recommended application sequence for each user.
可选地或另选地,所述方法还包括:在用户访问应用商店时,将所述用户的推荐应用序列中的应用推荐给所述用户。Optionally or alternatively, the method further comprises: recommending an application in the user's recommended application sequence to the user when the user accesses the application store.
可选地或另选地,所述根据用户的历史应用列表计算得到所述用户的特征向量的步骤包括:计算得到历史应用列表中每个应用的分值;为历史应用列表中每个应用赋予标签;计算单个用户的标签的概率分布值;计算所有用户的标签的概率分布值;及根据所述单个用户的标签的概率分布值及所有用户的标签的概率分布值得到用户的特征向量。Optionally or alternatively, the step of calculating the feature vector of the user according to the history application list of the user comprises: calculating a score of each application in the history application list; and assigning each application in the history application list a label; a probability distribution value of a label of a single user; a probability distribution value of a label of all users; and a feature vector of the user according to a probability distribution value of the label of the single user and a probability distribution value of the labels of all users.
可选地或另选地,所述历史应用列表包括已安装应用列表、预设时间内的下载应用列表、预设时间内的浏览应用列表及预设时间内的更新应用列表。Optionally or alternatively, the historical application list includes an installed application list, a downloaded application list within a preset time, a browsing application list within a preset time, and an updated application list within a preset time.
可选地或另选地,所述根据多个所述用户的特征向量训练得到应用对应的各个标签的预测模型的步骤包括:生成每个标签下应用的训练样本集;对所述训练样本集采用决策树模型进行训练得到每个标签的预测模型,并根据每个标签的预测模型生成包括所有标签的预测模型的预测模型集。Optionally or alternatively, the step of training the prediction models of the respective tags corresponding to the application according to the feature vectors of the plurality of users comprises: generating a training sample set applied under each tag; and the training sample set The decision tree model is used to train to obtain a prediction model for each tag, and a prediction model set including prediction models of all tags is generated according to the prediction model of each tag.
本发明实施例还提供一种应用推荐装置,应用于服务器,所述装置包括:特征向量生成模块,用于根据用户的历史应用列表计算得到所述用户的特征向量;预测模型生成模块,用于根据多个所述用户的特征向量训练得到应用对应的各个标签的预测模型;及推荐应用序列生成模块,用于基于用户的特征向量以及所述各个标签的预测模型生成所述用户的推荐应用 序列。The embodiment of the present invention further provides an application recommendation device, which is applied to a server, and the device includes: a feature vector generation module, configured to calculate a feature vector of the user according to a history application list of the user; and a prediction model generation module, configured to: And predicting a prediction model of each label corresponding to the application according to the feature vector of the plurality of users; and a recommendation application sequence generation module, configured to generate the recommended application of the user based on the feature vector of the user and the prediction model of each label sequence.
可选地或另选地,所述推荐应用序列生成模块包括:标签序列生成子模块,用于将所述用户的特征向量分别输入到各个标签的预测模型中,得到所述用户的预测标签序列;及推荐应用序列生成子模块,用于根据所述预测标签序列与所述预测标签下的应用生成所述用户的推荐应用序列。Optionally or alternatively, the recommended application sequence generating module includes: a tag sequence generating submodule, configured to input the feature vectors of the user into the prediction models of the respective tags to obtain the predicted tag sequence of the user. And a recommendation application sequence generation submodule, configured to generate the recommended application sequence of the user according to the predicted tag sequence and an application under the prediction tag.
可选地或另选地,所述推荐应用序列生成子模块采用以下方法得到每个用户的推荐应用序列:对所述预测标签序列中的各个标签进行排序;对各个标签下所有应用进行排序;及根据每个用户的预测标签序列中各个标签的排序及各个标签下的应用的排序,计算得到每个用户的推荐应用序列。Optionally or alternatively, the recommended application sequence generation sub-module obtains a recommended application sequence of each user by: sorting each label in the prediction label sequence; and sorting all applications under each label; And according to the ordering of each label in each user's predicted label sequence and the ordering of the applications under each label, the recommended application sequence of each user is calculated.
可选地或另选地,所述推荐应用序列生成子模块对所述预测标签序列中的各个标签按照所述用户对标签的基尼值大小进行排序。Optionally or alternatively, the recommended application sequence generating sub-module sorts each tag in the predicted tag sequence according to the user's Gini value size of the tag.
可选地或另选地,所述推荐应用序列生成子模块根据每个用户的预测标签序列中各标签的序列号及各标签下应用的推荐序列号,得到每个用户的推荐应用序列。Optionally or alternatively, the recommended application sequence generation sub-module obtains a recommended application sequence of each user according to a sequence number of each tag in each user's predicted tag sequence and a recommended sequence number applied under each tag.
可选地或另选地,所述装置还包括:应用序列推荐模块,用于在用户访问应用商店时,将所述用户的推荐应用序列中的应用推荐给所述用户。Optionally or alternatively, the device further includes: an application sequence recommendation module, configured to recommend an application in the recommended application sequence of the user to the user when the user accesses the application store.
可选地或另选地,所述特征向量生成模块通过以下方法得到所述用户的特征向量:计算得到历史应用列表中每个应用的分值;为历史应用列表中每个应用赋予标签;计算单个用户的标签的概率分布值;计算所有用户的标签的概率分布值;及根据所述单个用户的标签的概率分布值及所有用户的标签的概率分布值得到用户的特征向量。Optionally or alternatively, the feature vector generation module obtains a feature vector of the user by: calculating a score of each application in the history application list; assigning a label to each application in the history application list; a probability distribution value of a label of a single user; calculating a probability distribution value of labels of all users; and obtaining a feature vector of the user according to a probability distribution value of the label of the single user and a probability distribution value of labels of all users.
可选地或另选地,所述历史应用列表包括已安装应用列表、预设时间内的下载应用列表、预设时间内的浏览应用列表及预设时间内的更新应用列表。Optionally or alternatively, the historical application list includes an installed application list, a downloaded application list within a preset time, a browsing application list within a preset time, and an updated application list within a preset time.
可选地或另选地,所述预测模型生成模块通过以下方法得到预测模型:生成每个标签下应用的训练样本集;对所述训练样本集采用决策树模型进行训练得到每个标签的预测模型,并根据每个标签的预测模型生成包括所有标签的预测模型的预测模型集。Optionally or alternatively, the prediction model generation module obtains a prediction model by: generating a training sample set applied under each label; and using the decision tree model for training the training sample set to obtain a prediction of each label A model, and a prediction model set including a prediction model of all tags is generated based on the prediction model of each tag.
本发明实施例还提供了一种服务器,包括:存储器;处理器;及应用推荐装置,所述装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述装置包括:特征向量生成模块,根据用户的历史应用列表计算得到所述用户的特征向量;预测模型生成模块,用于根据多个所述用户的特征向量训练得到应用对应的各个标签的预测模型;及推荐应用序列生成模块,用于基于用户的特征向量以及所述各个标签的预测模型生成所述用户的推荐应用序列。 An embodiment of the present invention further provides a server, including: a memory; a processor; and an application recommendation device, the device being installed in the memory and including one or more software function modules executed by the processor, The device includes: a feature vector generating module, and calculating a feature vector of the user according to a history application list of the user; and a prediction model generating module, configured to: according to the feature vectors of the plurality of users, obtain a prediction model of each tag corresponding to the application And a recommendation application sequence generation module for generating a recommended application sequence of the user based on the user's feature vector and the prediction model of the respective tags.
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,也可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may also be implemented in other manners. The device embodiments described above are merely illustrative, for example, the flowcharts and block diagrams in the figures illustrate the architecture, functionality, and functionality of possible implementations of devices, methods, and computer program products according to various embodiments of the invention. operating. In this regard, each block of the flowchart or block diagram can represent a module, a program segment, or a portion of code that includes one or more of the Executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the blocks may also occur in a different order than those illustrated in the drawings. For example, two consecutive blocks may be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved. It is also noted that each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts, can be implemented in a dedicated hardware-based system that performs the specified function or function. Or it can be implemented by a combination of dedicated hardware and computer instructions.
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。In addition, each functional module in each embodiment of the present invention may be integrated to form a separate part, or each module may exist separately, or two or more modules may be integrated to form a separate part.
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The functions, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including The instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that, in this context, relational terms such as first and second are used merely to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply such entities or operations. There is any such actual relationship or order between them. Furthermore, the term "comprises" or "comprises" or "comprises" or any other variations thereof is intended to encompass a non-exclusive inclusion, such that a process, method, article, or device that comprises a plurality of elements includes not only those elements but also Other elements, or elements that are inherent to such a process, method, item, or device. An element that is defined by the phrase "comprising a ..." does not exclude the presence of additional equivalent elements in the process, method, item, or device that comprises the element.
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。The above description is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Where in the essence of the invention Any modifications, equivalent substitutions, improvements, etc. made within the principles of God and the principles are intended to be included within the scope of the present invention. It should be noted that similar reference numerals and letters indicate similar items in the following figures, and therefore, once an item is defined in a drawing, it is not necessary to further define and explain it in the subsequent drawings.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。 The above is only a specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope of the present invention. It should be covered by the scope of the present invention. Therefore, the scope of the invention should be determined by the scope of the claims.

Claims (13)

  1. 一种应用推荐方法,其中,所述方法包括:An application recommendation method, wherein the method comprises:
    获取各个用户的应用列表以及所述各个用户所在区域;Obtaining a list of applications of each user and an area where the respective users are located;
    根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值;Determining, according to the application list of each user and the area where each user is located, a uniqueness indicator value corresponding to each application in each area;
    基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。The application to be recommended is determined for each area based on the uniqueness indicator value of each application in the respective areas.
  2. 根据权利要求1所述的方法,其中,所述根据各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值,包括:The method according to claim 1, wherein the calculating the uniqueness indicator value corresponding to each application in each area according to the application list of each user and the area of each user, respectively:
    根据各个区域中各个应用的用户数以及各个应用在所有区域中的平均用户数,分别计算各个应用在所有区域的标准差;Calculate the standard deviation of each application in all areas according to the number of users of each application in each area and the average number of users in each area in each area;
    根据所述各个区域中各个应用的用户数以及所述各个应用在所有区域的标准差,分别计算各个区域中各个应用对应的独特性指标值。The uniqueness indicator values corresponding to the respective applications in the respective regions are respectively calculated according to the number of users of each application in the respective regions and the standard deviation of the respective applications in all regions.
  3. 根据权利要求2所述的方法,其中,所述根据各个区域中各个应用的用户数以及各个应用在所有区域中的平均用户数,分别计算各个应用在所有区域的标准差,包括:The method according to claim 2, wherein the calculating the standard deviation of each application in all areas according to the number of users of each application in each area and the average number of users of each application in all areas, including:
    所述各个区域中各个应用对应的独特性指标值为所述各个区域中各个应用的用户数与所述各个应用在所有区域的标准差的比值。The uniqueness indicator value corresponding to each application in each area is a ratio of the number of users of each application in the respective areas to the standard deviation of the respective applications in all areas.
  4. 根据权利要求1-3任一所述的方法,其中,所述基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用,包括:The method according to any one of claims 1-3, wherein the determining the to-be-recommended application based on the uniqueness indicator value of each application in the respective regions comprises:
    将各个区域中各个应用按照独特性指标值进行排序,得到每个区域的待推荐应用候选集;Sorting each application in each area according to the uniqueness indicator value to obtain a candidate application set to be recommended for each area;
    从所述每个区域的待推荐应用候选集中确定每个区域的待推荐应用。The to-be-recommended application of each area is determined from the to-be-recommended application candidate set of each of the areas.
  5. 根据权利要求4所述的方法,其中,从所述待推荐应用候选集中确定每个区域的待推荐应用,包括:The method according to claim 4, wherein determining the to-be-recommended application of each area from the to-be-recommended application candidate set comprises:
    计算所述每个区域对应的待推荐应用集合中各个应用对应的用户数;Calculating a number of users corresponding to each application in the to-be-recommended application set corresponding to each area;
    分别将所述每个区域对应的待推荐应用集合中应用按照用户数进行排序,得到每个区域的待推荐应用。The applications in the to-be-recommended application set corresponding to each area are sorted according to the number of users, and the to-be-recommended application of each area is obtained.
  6. 根据权利要求1-5任一所述的方法,其中,所述方法还包括:The method of any of claims 1-5, wherein the method further comprises:
    获取待推荐用户所在区域;Obtain the area where the user to be recommended is located;
    查询所述待推荐用户所在区域对应的推荐应用;Querying the recommended application corresponding to the area where the user to be recommended is located;
    向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。 Returning, to the user terminal of the user to be recommended, a recommended application corresponding to the area where the user to be recommended is located.
  7. 一种应用推荐装置,其中,所述装置包括:An application recommendation device, wherein the device comprises:
    第一获取模块,用于获取各个用户的应用列表以及所述各个用户所在区域;a first obtaining module, configured to acquire an application list of each user and an area where each user is located;
    计算模块,用于根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值;a calculation module, configured to calculate, according to the application list of each user and the area where each user is located, a uniqueness indicator value corresponding to each application in each area;
    确定模块,用于基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。a determining module, configured to determine an application to be recommended for each region based on a uniqueness indicator value of each application in the respective regions.
  8. 根据权利要求7所述的装置,其中,所述计算模块包括第一计算子模块以及第二计算子模块,The apparatus of claim 7, wherein the computing module comprises a first computing sub-module and a second computing sub-module,
    所述第一计算子模块,用于根据各个区域中各个应用的用户数以及各个应用在所有区域中的平均用户数,分别计算各个应用在所有区域的标准差;The first calculation sub-module is configured to calculate a standard deviation of each application in all areas according to the number of users of each application in each area and the average number of users of each application in all areas;
    所述第二计算子模块,用于根据所述各个区域中各个应用的用户数以及所述各个应用在所有区域的标准差,分别计算各个区域中各个应用对应的独特性指标值。The second calculation sub-module is configured to calculate, according to the number of users of each application in the respective regions and the standard deviation of the respective applications in all regions, the uniqueness index values corresponding to the respective applications in the respective regions.
  9. 根据权利要求8所述的装置,其中,所述各个区域中各个应用对应的独特性指标值为所述各个区域中各个应用的用户数与所述各个应用在所有区域的标准差的比值。The apparatus according to claim 8, wherein the uniqueness index corresponding to each application in each of the regions is a ratio of a number of users of each application in the respective regions to a standard deviation of the respective applications in all regions.
  10. 根据权利要求7-9任一所述的装置,其中,所述确定模块包括排序子模块,以及选中子模块,The apparatus according to any one of claims 7-9, wherein the determining module comprises a sorting submodule, and the selected submodule,
    所述排序子模块,用于将各个区域中各个应用按照独特性指标值进行排序,得到每个区域的待推荐应用候选集;The sorting sub-module is configured to sort each application in each area according to the uniqueness index value, to obtain a candidate application set to be recommended for each area;
    所述选中子模块,用于从所述每个区域的待推荐应用候选集中确定每个区域的待推荐应用。The selected sub-module is configured to determine, from the candidate to be recommended application set of each area, a to-be-recommended application of each area.
  11. 根据权利要求10所述的装置,其中,所述选中子模块,具体用于计算所述每个区域对应的待推荐应用集合中各个应用对应的用户数;分别将所述每个区域对应的待推荐应用集合中应用按照用户数进行排序,得到每个区域的待推荐应用。The device according to claim 10, wherein the selected sub-module is specifically configured to calculate a number of users corresponding to each application in the to-be-recommended application set corresponding to each area; The application in the recommended application set is sorted according to the number of users, and the application to be recommended for each area is obtained.
  12. 根据权利要求7-11任一所述的装置,其中,所述装置还包括第二获取模块,查询模块以及返回模块,The device according to any one of claims 7-11, wherein the device further comprises a second acquisition module, a query module and a return module,
    所述第二获取模块,用于获取待推荐用户所在区域;The second obtaining module is configured to obtain an area where the user to be recommended is located;
    所述查询模块,用于查询所述待推荐用户所在区域对应的推荐应用;The querying module is configured to query a recommended application corresponding to the area where the user to be recommended is located;
    所述返回模块,用于向所述待推荐用户的用户终端返回所述待推荐用户所在区域对应的推荐应用。The returning module is configured to return a recommended application corresponding to the area where the user to be recommended is located to the user terminal of the user to be recommended.
  13. 一种服务器,其中,所述服务器包括存储器及处理器,所述存储器 耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述处理器执行以下操作:A server, wherein the server includes a memory and a processor, the memory Coupled to the processor, the memory stores instructions that, when executed by the processor, cause the processor to perform the following operations:
    获取各个用户的应用列表以及所述各个用户所在区域;Obtaining a list of applications of each user and an area where the respective users are located;
    根据所述各个用户的应用列表以及所述各个用户所在区域,分别计算各个区域中各个应用对应的独特性指标值;Determining, according to the application list of each user and the area where each user is located, a uniqueness indicator value corresponding to each application in each area;
    基于所述各个区域中各个应用的独特性指标值为每个区域确定待推荐应用。 The application to be recommended is determined for each area based on the uniqueness indicator value of each application in the respective areas.
PCT/CN2017/095712 2016-08-04 2017-08-02 Application recommendation method, device, and server WO2018024222A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201610640122.6A CN106250532A (en) 2016-08-04 2016-08-04 Application recommendation method, device and server
CN201610640122.6 2016-08-04
CN201610654324.6 2016-08-10
CN201610654324.6A CN106250546A (en) 2016-08-10 2016-08-10 Application recommendation method, device and server

Publications (1)

Publication Number Publication Date
WO2018024222A1 true WO2018024222A1 (en) 2018-02-08

Family

ID=61072498

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/095712 WO2018024222A1 (en) 2016-08-04 2017-08-02 Application recommendation method, device, and server

Country Status (1)

Country Link
WO (1) WO2018024222A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026478A (en) * 2019-11-26 2020-04-17 维沃移动通信有限公司 Application program preview method and terminal equipment
CN112422654A (en) * 2020-11-06 2021-02-26 周欢 User management method based on intelligent endowment
CN113495989A (en) * 2020-04-01 2021-10-12 北京达佳互联信息技术有限公司 Object recommendation method and device, computing equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617075A (en) * 2013-12-04 2014-03-05 百度在线网络技术(北京)有限公司 Application program recommending method, system and server
CN104765751A (en) * 2014-01-07 2015-07-08 腾讯科技(深圳)有限公司 Application recommendation method and device
CN105516332A (en) * 2015-12-23 2016-04-20 中山大学深圳研究院 Application recommendation method and system based on geographic position and time
CN105677831A (en) * 2016-01-04 2016-06-15 拉扎斯网络科技(上海)有限公司 Method and device for determining recommended merchants
CN106250546A (en) * 2016-08-10 2016-12-21 广州优视网络科技有限公司 Application recommendation method, device and server

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617075A (en) * 2013-12-04 2014-03-05 百度在线网络技术(北京)有限公司 Application program recommending method, system and server
CN104765751A (en) * 2014-01-07 2015-07-08 腾讯科技(深圳)有限公司 Application recommendation method and device
CN105516332A (en) * 2015-12-23 2016-04-20 中山大学深圳研究院 Application recommendation method and system based on geographic position and time
CN105677831A (en) * 2016-01-04 2016-06-15 拉扎斯网络科技(上海)有限公司 Method and device for determining recommended merchants
CN106250546A (en) * 2016-08-10 2016-12-21 广州优视网络科技有限公司 Application recommendation method, device and server

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026478A (en) * 2019-11-26 2020-04-17 维沃移动通信有限公司 Application program preview method and terminal equipment
CN111026478B (en) * 2019-11-26 2024-01-19 维沃移动通信有限公司 Application program preview method and terminal equipment
CN113495989A (en) * 2020-04-01 2021-10-12 北京达佳互联信息技术有限公司 Object recommendation method and device, computing equipment and storage medium
CN112422654A (en) * 2020-11-06 2021-02-26 周欢 User management method based on intelligent endowment
CN112422654B (en) * 2020-11-06 2022-07-26 东莞市中展实业投资有限公司 User management method based on intelligent old age care

Similar Documents

Publication Publication Date Title
CN109460513B (en) Method and apparatus for generating click rate prediction model
US8447652B2 (en) System and method for targeting advertising to a device based on installed applications
CN106326420B (en) Recommendation method and device for mobile terminal
JP6608957B2 (en) System and method for selecting content based on linked devices
US10331631B2 (en) Apparatus, systems, and methods for analyzing characteristics of entities of interest
CN112307344B (en) Object recommendation model, object recommendation method and device and electronic equipment
US20180349387A1 (en) Computerized system and method for search query auto-completion
US10902445B2 (en) Location evaluation
US20200356572A1 (en) Search ranking method and apparatus, electronic device and storage medium
US11630560B2 (en) Map information display method and apparatus, electronic device, and computer storage medium
CN108182253B (en) Method and apparatus for generating information
US20210304078A1 (en) Utilizing contemporaneous transportation data from a transportation matching system to surface trending destinations in user interfaces
US20190332621A1 (en) Personnel selecting device, personnel selecting system, personnel selecting method, and recording medium
CN110059172B (en) Method and device for recommending answers based on natural language understanding
US20180165708A1 (en) Notification Control based on Location, Activity, and Temporal Prediction
CN113780613A (en) Path recommendation method and device
WO2018024222A1 (en) Application recommendation method, device, and server
CN115033801B (en) Article recommendation method, model training method and electronic equipment
WO2023213137A1 (en) Industrial internet-based data searching method and apparatus, device and storage medium
CN112104505A (en) Application recommendation method and device, server and computer-readable storage medium
CN115687794A (en) Student model training method, device, equipment and medium for recommending articles
WO2022156589A1 (en) Method and device for determining live broadcast click rate
KR20230150239A (en) A method and a device for providing recommendation information for affiliated stores
KR101730647B1 (en) Device, method, and program for providing search service
CN107077475A (en) According to product/user tag and the system and method for common installation diagram recommended products bundle

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: 17836404

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 22.05.2019)

122 Ep: pct application non-entry in european phase

Ref document number: 17836404

Country of ref document: EP

Kind code of ref document: A1