WO2018050022A1 - 应用程序的推荐方法及服务器 - Google Patents

应用程序的推荐方法及服务器 Download PDF

Info

Publication number
WO2018050022A1
WO2018050022A1 PCT/CN2017/100989 CN2017100989W WO2018050022A1 WO 2018050022 A1 WO2018050022 A1 WO 2018050022A1 CN 2017100989 W CN2017100989 W CN 2017100989W WO 2018050022 A1 WO2018050022 A1 WO 2018050022A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
recommended
historical
search term
historical search
Prior art date
Application number
PCT/CN2017/100989
Other languages
English (en)
French (fr)
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
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2018050022A1 publication Critical patent/WO2018050022A1/zh
Priority to US16/194,629 priority Critical patent/US11157956B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • G06Q30/0256User search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • G06Q30/0627Directed, with specific intent or strategy using item specifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Definitions

  • the present application relates to the field of Internet technologies, and in particular, to a method and a server for recommending an application.
  • the present application provides a recommendation method and a server for an application, which can improve the mining effect of the application and the resource utilization of the client.
  • the application provides a recommended method for an application, including:
  • the application also provides a server comprising: a processor and a memory, wherein the memory stores instructions executable by the processor, when the instruction is executed, the processor is configured to:
  • 1a is a schematic structural diagram of a recommendation system of an application according to an embodiment of the present application.
  • 1b is a schematic flowchart of a method for recommending an application according to an embodiment of the present application
  • FIG. 2 is a schematic flow chart of a method for mining a recommendation word according to an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a method for recommending an advertisement application according to another embodiment of the present application.
  • FIG. 4 is a schematic diagram of an interface for displaying an application according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a server according to an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a server according to another embodiment of the present application.
  • the recommended application has a promotion function, such as an advertisement APP provided by an advertiser to promote the advertiser's product, or a promotion APP for public welfare purposes, for example, a second-hand product.
  • a promotion function such as an advertisement APP provided by an advertiser to promote the advertiser's product, or a promotion APP for public welfare purposes, for example, a second-hand product.
  • FIG. 1a is a schematic structural diagram of a recommendation system of an application according to an embodiment of the invention.
  • the recommendation system 100 of the application includes a server 110, a network 120, a terminal device 130, and a user 140.
  • the server 110 includes a processor and a memory, and the method embodiments of the present invention are executed by the processor executing instructions stored in the memory.
  • the server 110 includes a search database 111, an application database 112, and a recommendation processing unit 113.
  • a client 130-1 is installed on the terminal device 130.
  • the client 130-1 serves as a client of the application publishing platform (for example, an application APP), and provides the user 140 with a search function of the application.
  • the application publishing platform for example, an application APP
  • the client 130-1 When the user 140 searches for the desired application on the client 130-1, one or more current search words are input, and the client 130-1 simultaneously pushes one or more when returning the normal APP corresponding to the current search term.
  • the search database 111 stores historical search data of each application and updates in real time; the application database 112 stores related information of multiple applications to be recommended, and the application to be recommended includes common APP and advertising app, promotion app.
  • the recommendation processing unit 113 is configured to read the historical search data stored in the search database 111 and the feature data of the application to be recommended in the application database 112, and after receiving the current search term input by the user 140 from the client 130-1, determine the current search term. At least one application to be displayed. Then, the server 110 sends the determined application to be displayed to the client 130-1 in the terminal device 130, and the client 130-1 recommends the application to the user 140.
  • the server 110 can be a server, or a server cluster composed of several servers, or a cloud computing service center.
  • the network 120 can connect the server 110 and the terminal device 130 in a wireless or wired form.
  • the terminal device 130 can be a smart terminal, including a smart phone, a tablet computer, a laptop portable computer, and the like.
  • FIG. 1b is a schematic flowchart of a method for recommending an application according to an embodiment of the present application. This method is applied to the server. Referring to Figure 1b, the method includes:
  • Step 101 Acquire historical search data of the application, and determine, according to the historical search data, at least one historical search term and a history application that the corresponding user has visited.
  • the server obtains historical search data of the application from the search log.
  • the historical search data includes historical search information input by each user for a certain period of time, and one or more historical applications that are accessed later.
  • the access here refers to the web link of the user clicking through an application, or the user downloading an installation package of an application.
  • the historical search information input by the user includes some redundant information, for example, including the description vocabulary specified by the user, and extracting historical search information input by the user when searching for the application from the historical search data, segmenting the historical search information, At least one keyword is extracted from it as a historical search term.
  • the historical search information input by the user has "fun run”, “latest cool run”, “2016 cool run”, after the word segmentation of the above three historical search information, the keyword is extracted as "cool running”. ", use it as a historical search term. "Fun”, “latest”, “2016” are ignored as redundant information.
  • the sorting process can be performed when determining each of the historical applications that the user corresponding to each of the historical search words has visited. Specifically, for each historical search term, determining a plurality of historical applications corresponding to the historical search term from the historical search data, and counting the number of times each historical application has been accessed by the user within a predetermined time period, according to the number of times The plurality of history applications are sorted, and the top L history applications are taken as the history applications according to the sort result, wherein L is a positive integer.
  • a historical search term is “Cool Run”.
  • Step 102 Acquire feature data of each historical search term, each history application, and each application to be recommended.
  • the feature data of the historical search term may be represented by a metric or rating that characterizes the degree of correlation between the search term and the user search. Considering that each historical search term is related to the input user, the proportions in all historical search terms are different.
  • a metric or rating that characterizes the degree of correlation between the search term and the user search.
  • the number of times the historical search term "cool run” is entered within six months is used as the characteristic data of "cool run”. and / or,
  • the length of the historical search term refers to the number of words or characters included. and / or,
  • the collection of all historical search words is referred to as a word bag, and the frequency at which each historical search word appears in the word bag is called a word frequency (Tf), which is used to characterize the sparseness or importance of the historical search word.
  • Tf word frequency
  • a historical search term appears more frequently in the word bag then the historical search term is less important. That is, the importance of a historical search term is inversely proportional to the frequency of its occurrence. For example, a historical search term "cool run” is less frequent than another historical search term "game”, indicating that the word "cool run” is more scarce and then more important.
  • the feature data of the application can be characterized by the type to which the application belongs or by different forms of textual description information.
  • the acquired feature data includes but is not limited to the following four metrics:
  • Each application has its own function and can be attributed to different types, including: social, tools, security, navigation, shooting, beautification, reading, and more. and / or,
  • Each application corresponds to a text description information.
  • the text description information of the application “jumping ninja” is “jumping ninja game”, and the word segmentation is obtained, and the description words: “jump”, “shuttle”, “ Ninja” and “game” can use these descriptors as the feature data of the application “jumping ninja”. and / or,
  • LDA implicit Dirichlet distribution
  • a topic model LDA can be used to identify the subject information hidden in the text description information and give it in the form of probability distribution. and / or,
  • the word2vec tool can represent the word as a real-value vector, and use deep learning to simplify the text content into a vector in the K-dimensional vector space.
  • Step 103 Train the feature data to mine at least one recommended word corresponding to each application to be recommended.
  • the mining model mainly adopts a machine learning technique, and generates each historical search term, historical application, and application to be recommended according to the feature data acquired in step 102.
  • the feature vector of the program that is, the feature vector is composed of the acquired plurality of feature data
  • the training samples are generated according to the feature vectors for training, and then at least one recommended word corresponding to each application to be recommended is mined.
  • the gradient lifting decision tree (GBDT) algorithm can be used for training.
  • the GBDT algorithm can refer to the processing method in the prior art.
  • Step 104 When receiving a current search term input by the user from the client, determining, according to the current search term and the at least one recommendation word, at least one application to be displayed from the application to be recommended, and sending at least one to be displayed to the client. Show notification messages for the app.
  • the current search term is matched with at least one recommended word of a to-be-recommended application, and if it is completely matched or partially matched, the application to be recommended is used as an application to be displayed.
  • the core search term may also be extracted from the current search term, if the core search term and at least one recommendation word of a to-be recommended application If the match is partially matched or partially matched, the application to be recommended is used as the application to be displayed.
  • each historical search term, each history application, and feature data of each to-be-recommended application are respectively acquired by determining at least one historical search term and a history application that the corresponding user has visited. And training the feature data to mine at least one recommendation word corresponding to each application to be recommended.
  • the application is to be recommended according to the current search term and the at least one recommendation word.
  • the recommendation method is only based on the text information of the application, enriching the mining channels of the recommendation words, and expanding the basis of the recommended application. It solves the problem of reduced recommendation efficiency caused by sparse text information when recommending applications. Combined with the user's historical search behavior, it can recommend appropriate and high-quality applications to users, realize personalized application recommendation, and improve customers. Resource utilization.
  • FIG. 2 is a schematic flowchart of a method for mining a recommended word according to an embodiment of the present application. Referring to Figure 2, the method includes:
  • Step 201 Determine, for each historical search term, whether the historical search term is a valid search term according to the feature data of the historical search term.
  • step 102 when the feature data is the entropy described in (A1), the smaller the value, the more concentrated the user click behavior. Then, an entropy threshold is set, and a historical search term whose entropy value is lower than the entropy threshold is determined as a valid search term.
  • the feature data is the QV described in (A2)
  • a QV threshold is set, and the QV value is higher than the historical search of the QV threshold.
  • the word is determined to be a valid search term.
  • the feature data is the QL described in (A3)
  • the length is longer, indicating that the historical search term is not a common word
  • a QL threshold is set, and the QL value is lower than the historical search of the QL threshold.
  • the word is determined to be a valid search term.
  • the search term determines the valid search term.
  • Step 202 For each to-be-recommended application, determine at least one history application similar to the to-be-recommended application according to the feature data of the to-be-recommended application and the feature data of each historical application.
  • This step is used to evaluate the similarity between the application to be recommended and the historical application. Specifically, as described in step 102,
  • Step 203 The valid search term corresponding to the determined at least one historical application is used as the recommended word corresponding to the to-be-recommended application.
  • Each historical application corresponds to a search term.
  • the determined search words corresponding to the at least one historical application are valid search words
  • the valid search words are used as the recommended words corresponding to the to-be-recommended application.
  • the recommended application is “Nike Cool Run”, which is an advertising app. Similar historical applications include “Everyday Run”, “Temple Escape” and “Crazy Grandma”. Among them, the effective search term corresponding to "everyday cool running” is “cool running”, the effective search words corresponding to "the temple escape” are “cool running” and “limit”, and the effective search words corresponding to "crazy grandmother” include The recommended words for "Cool Run” and “Entertainment” to get the "Nike Run” of the app to be recommended are “Cool Run”, “Limit” and “Entertainment”.
  • the above process of mining the recommendation word is obtained by associating the historical search term with the history application and the history application being similar to the application to be recommended.
  • the recommended words obtained are those effective search words in the historical search words, that is, the most representative historical search words.
  • FIG. 3 is a schematic flowchart of a method for recommending an advertisement application according to another embodiment of the present application, when the application to be recommended is an advertisement application. As shown in Figure 3, the following steps are included:
  • Step 300 Obtain historical search data of the application.
  • Step 301 Determine, according to the historical search data, at least one historical search term and a history application that the corresponding user has visited.
  • Steps 300 and 301 can refer to the description of step 101.
  • a historical search term may correspond to a plurality of historical applications, which may be ordinary applications, or may also include an advertising application.
  • Step 302 Acquire feature data of each historical search term.
  • Step 303 Acquire feature data of each history application and each advertisement application.
  • Step 304 Train the feature data to mine the at least one recommendation word corresponding to each advertisement application and the confidence level with each recommendation word.
  • step 103 when the GBDT algorithm is used for training, at least one recommendation word is mined for each advertisement application, and the confidence between the advertisement application and each recommendation word is also output, and the value is Between 0 and 1, used to characterize the credibility of the recommendation word.
  • the value of the confidence depends on the historical application similar to the advertisement application. The similarity between the factors, as well as the number of visits to the corresponding historical application when the recommendation word is used as a historical search term.
  • Step 305 When receiving the current search term input by the user from the client, determining, according to the confidence of the current search term and the at least one recommendation word, the at least one application to be displayed.
  • the current search term matches the recommendation word corresponding to an ad application or partially Matching, using the advertising application as an alternate application; sorting all the alternate applications according to the confidence of the recommended words on the matching, and extracting the first M standby applications as at least one advertising application according to the sorting result, wherein, M Is a positive integer.
  • the current search word is matched with each recommendation word in turn, and when the one of the recommendation words completely matches or partially matches, the advertisement application is used as an alternate application. .
  • step 104 extract the core search term as "cool run”, and the recommended word that completely matches the core search term is "cool run”, which corresponds to 3 advertising applications: “Nike Cool Run” (involving Nike's cool running products), “Running Angry Leopard” (involving a certain sports products company's products) and “the most beautiful crazy” (involving sports body suits)
  • Step 306 Send a notification message to the client that shows at least one application to be displayed.
  • the application displayed on the client is an advertising application.
  • the application displayed to the customer includes two types: a normal application (ie, a non-advertising application) and an advertising application, and the recommended methods based on both can adopt the method described in the above embodiments.
  • FIG. 4 is a schematic diagram of an interface for displaying an application according to an embodiment of the present application.
  • the user inputs the current search term as "the hottest cool run” in the search box 401, and the server returns to the client two common applications “everyday cool run” and “the temple” according to the current search term. Escape, while pushing 2 ad applications “Nike cool run” and “the most beautiful run” to the client, so that the client is displayed to the user.
  • the icons, names, download links, and recommended information of the common application are respectively given, “the world's most popular cool running game”;
  • the icon, name, download link and recommendation information of the general application “Temple Escape” are respectively given, “the most dazzling temple style, the adventure runs cool!”;
  • the icon, name, download link and recommendation information of the advertising application “Nike Cool Run” are respectively given "the most advantageous weapon to help you run the first!; respectively, given in boxes 440-443
  • the "most beautiful running” icon, name, download link, and recommendation information for the ad application "You are also beautiful in the run!” and, in order to distinguish between the normal application and the advertising application, identify in block 434 and block 444.
  • the application to be displayed includes a normal application and an advertisement application
  • the top display, that is, the advertisement application is preferentially displayed before all the normal applications, which is not specifically limited in this application.
  • FIG. 5 is a schematic structural diagram of a server according to an embodiment of the present application. As shown in FIG. 5, the server 500 includes:
  • the obtaining module 510 is configured to acquire historical search data of the application
  • the determining module 520 is configured to determine, according to the historical search data obtained by the obtaining module 510, at least one historical search term and a historical application that the corresponding user has visited;
  • the mining module 530 is configured to separately acquire feature data of each historical search term, each history application, and each application to be recommended obtained by the determining module 520, and perform training on the feature data to mine each application to be recommended. At least one recommendation word;
  • a recommendation module 540 configured to: when the current search term input by the user is received from the client, determine at least one application to be displayed from the to-be-recommended application according to the current search term and the at least one recommendation word obtained by the mining module 530; ,
  • the sending module 550 is configured to send, to the client, a notification message that displays at least one application to be displayed obtained by the recommendation module 540.
  • the determining module 520 is configured to obtain the user from the historical search data.
  • a program counting the number of times each historical application has been accessed by the user within a predetermined time period, sorting the plurality of historical applications according to the number of times, and extracting the first L historical applications as the determined historical application according to the sorting result Program, where L is a positive integer.
  • the mining module 530 includes a first mining unit 531 and a second mining unit 532, wherein
  • the first mining unit 531 is configured to determine, for each historical search term, the degree to which the historical search term is collectively input by the user as feature data; and/or, the number of times the historical search term is input within a predetermined time period as Feature data; and/or, the length of the historical search term is taken as feature data; and/or the frequency at which the historical search term appears in all historical search words is used as feature data;
  • the second mining unit 530 is configured to: for each historical application and each application to be recommended, the type to which the application belongs, as feature data; and/or, obtain text description information of the application, and describe the text
  • the information is segmented, at least one descriptor is obtained as feature data; and/or the text description information is identified, the subject word of the application is obtained as feature data; and/or the text description information is converted into a real value, As feature data.
  • the mining module 530 is configured to determine, according to the feature data of the historical search term, whether the historical search term is a valid search term for each historical search term; for each to-be-recommended application, according to the to-be-recommended Determining at least one historical application similar to the to-be-recommended application by determining the feature data of the application and the feature data of each historical application, and determining the valid search term corresponding to the at least one historical application as the to-be-recommended The recommended word for the application.
  • the recommendation module 540 is configured to: extract a core search term from the current search term; and when the core search term completely matches or partially matches at least one recommended word of the application to be recommended, the candidate is to be recommended
  • the application acts as an application to be displayed.
  • the mining module 530 is further configured to: determine, for each application to be recommended, a confidence level between the recommended application and each recommended word corresponding thereto;
  • the recommendation module 540 is configured to: when the current search term and the recommendation word corresponding to the to-be-recommended application completely match or partially match, use the to-be-recommended application as an alternate application; according to the confidence of the matching recommendation word, all the backups are used.
  • the application sorts, and according to the sorting result, the first M standby applications are taken as at least one application to be displayed, where M is a positive integer.
  • FIG. 6 is a schematic structural diagram of a server according to another embodiment of the present application.
  • the server 600 includes a processor 610, a memory 620, a port 630, and a bus 640.
  • Processor 610 and memory 620 are interconnected by a bus 640.
  • Processor 610 can receive and transmit data through port 630. among them,
  • the processor 610 is configured to execute a machine readable instruction module stored by the memory 620.
  • Memory 620 stores machine readable instruction modules executable by processor 610.
  • the instruction module executable by the processor 610 includes an acquisition module 621, a determination module 622, a mining module 623, a recommendation module 624, and a transmission module 625. among them,
  • the obtaining module 621 When the obtaining module 621 is executed by the processor 610, it may be: acquiring historical search data of the application;
  • the method may be: determining, according to the historical search data obtained by the obtaining module 621, at least one historical search term and a history application that the corresponding user has visited;
  • each of the historical search words obtained by the determining module 622, each historical application, and each application to be recommended may be acquired separately. Collecting data, training the feature data, and mining at least one recommended word corresponding to each application to be recommended;
  • the recommendation module 624 is executed by the processor 610, when the current search term input by the user is received from the client, at least one recommended word obtained from the current search term and the mining module 623 is determined from the to-be-recommended application.
  • the sending module 625 When the sending module 625 is executed by the processor 610, the notification message of the at least one application to be displayed obtained by the recommendation module 624 may be sent to the client.
  • each functional module in each embodiment of the present application may be integrated into one processing unit, or each module may exist physically separately, or two or more modules may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • each of the embodiments of the present application can be implemented by a data processing program executed by a data processing device such as a computer.
  • the data processing program constitutes the present application.
  • a data processing program usually stored in a storage medium is executed by directly reading a program out of a storage medium or by installing or copying the program to a storage device (such as a hard disk and or a memory) of the data processing device. Therefore, such a storage medium also constitutes the present application.
  • the storage medium can use any type of recording method, such as paper storage medium (such as paper tape, etc.), magnetic storage medium (such as floppy disk, hard disk, flash memory, etc.), optical storage medium (such as CD-ROM, etc.), magneto-optical storage medium (such as MO, etc.).
  • paper storage medium such as paper tape, etc.
  • magnetic storage medium such as floppy disk, hard disk, flash memory, etc.
  • optical storage medium such as CD-ROM, etc.
  • magneto-optical storage medium Such as MO, etc.
  • the present application also discloses a storage medium in which a data processing program is stored,
  • the data processing program is for performing any of the embodiments of the above methods of the present application.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种应用程序的推荐方法及服务器(110),该方法包括:获取应用程序的历史搜索数据,根据历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序(101);分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据(102),对特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词(103);及,当从客户端接收到用户输入的当前搜索词时,根据当前搜索词和至少一个推荐词从待推荐应用程序中确定出至少一个待展示应用程序,并向客户端发送展示至少一个待展示应用程序的通知消息(104)。

Description

应用程序的推荐方法及服务器
本申请要求于2016年9月13日提交中国专利局、申请号为201610821406.5、申请名称为“应用程序的推荐方法及服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及互联网技术领域,尤其涉及一种应用程序的推荐方法及服务器。
发明背景
基于智能终端的飞速发展,用户可以在智能终端上搜索、下载所需的应用程序。为了便于用户搜索和查找,目前有一类作为应用程序发布平台的客户端,在向用户提供所搜索的应用程序时,还可以同时展示一个或多个广告/推广类的应用程序。
发明内容
有鉴于此,本申请提供了一种应用程序的推荐方法及服务器,能够提高应用程序的挖掘效果以及客户端的资源利用率。
本申请的技术方案是这样实现的:
本申请提供了一种应用程序的推荐方法,包括:
获取应用程序的历史搜索数据,根据所述历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序;
分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据,对所述特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词;及,
当从客户端接收到用户输入的当前搜索词时,根据所述当前搜索词和所述至少一个推荐词从所述待推荐应用程序中确定出至少一个待展示应用程序,并向所述客户端发送展示所述至少一个待展示应用程序的通知消息。
本申请还提供了一种服务器,包括:处理器和存储器,所述存储器中存储可被所述处理器执行的指令,当执行所述指令时,所述处理器用于:
获取应用程序的历史搜索数据;
根据所述历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序;
分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据,对所述特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词;
当从客户端接收到用户输入的当前搜索词时,根据所述当前搜索词和所述至少一个推荐词从所述待推荐应用程序中确定出至少一个待展示应用程序;及,
向所述客户端发送展示所述至少一个待展示应用程序的通知消息。
附图简要说明
为了更清楚的说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,
图1a为依据本申请一实施例的应用程序的推荐系统的结构示意图;
图1b为依据本申请一实施例的应用程序的推荐方法的流程示意图;
图2为依据本申请一实施例的推荐词的挖掘方法的流程示意图
图3为依据本申请另一实施例的广告应用程序的推荐方法的流程示意图;
图4为依据本申请一实施例的展示应用程序的界面示意图;
图5为依据本申请一实施例的服务器的结构示意图;
图6为依据本申请另一实施例的服务器的结构示意图。
实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,在用户输入搜索信息之后,通常是基于应用程序的文本信息确定向用户推荐哪个应用程序。但是,由于在应用程序搜索场景下应用程序的文本信息较为稀疏,因此,这种基于文本信息的推荐方法难以获得与用户需求比较匹配的应用程序,导致推荐效率较低,降低了应用程序的挖掘效果以及客户端的资源利用率。
本申请中,所推荐的应用程序(APP)具备推广的功能,例如为由广告主提供的广告APP,目的是推广该广告主的产品;或者是以公益为目的推广类APP,例如关于二手用品处理的APP。
图1a为依据本发明一实施例的应用程序的推荐系统的结构示意图。如图1a所示,应用程序的推荐系统100包括服务器110、网络120、终端设备130以及用户140。其中,服务器110包括处理器和存储器,本发明中的方法实施例由处理器执行存储在存储器中的指令来执行。具体 地,服务器110包括搜索数据库111、应用程序数据库112和推荐处理单元113。终端设备130上安装有客户端130-1。客户端130-1作为应用程序发布平台的客户端(例如,应用宝APP),向用户140提供应用程序的搜索功能。当用户140在客户端130-1上搜索想要的应用程序时,输入一个或多个当前搜索词,客户端130-1在返回该当前搜索词对应的普通APP时,还同时推送一个或多个广告APP或推广类APP,供用户140选择、下载。
在本发明的实施例中,搜索数据库111中存储有各个应用程序的历史搜索数据,并实时更新;应用程序数据库112中存储待推荐的多个应用程序的相关信息,待推荐的应用程序包括普通APP以及广告APP、推广类APP。推荐处理单元113用于读取搜索数据库111中存储的历史搜索数据以及应用程序数据库112中待推荐应用程序的特征数据,从客户端130-1接收到用户140输入的当前搜索词后,确定出至少一个待展示应用程序。然后,服务器110将确定出的待展示应用程序发送给终端设备130中的客户端130-1,客户端130-1向用户140推荐展示该应用程序。
其中,服务器110可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。网络120可以为无线或有线的形式将服务器110和终端设备130进行相连。终端设备130可以为智能终端,包括智能手机、平板电脑、膝上型便携计算机等。
图1b为依据本申请一实施例的应用程序的推荐方法的流程示意图。该方法应用于服务器。参见图1b,该方法包括:
步骤101、获取应用程序的历史搜索数据,根据历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序。
本步骤中,服务器从搜索日志中获取应用程序的历史搜索数据。该 历史搜索数据包括在一定时间段内每个用户输入的历史搜索信息,以及之后所访问的一个或多个历史应用程序。这里的访问是指用户点击过一应用程序的网页链接,或者用户下载过一应用程序的安装包。
考虑到用户输入的历史搜索信息包含某些冗余信息,例如包括用户自身特定的描述词汇,从历史搜索数据中获取用户在搜索应用程序时输入的历史搜索信息后,对历史搜索信息进行分词,从中抽取出至少一个关键词作为历史搜索词。例如,用户输入的历史搜索信息有“好玩的酷跑”、“最新的酷跑”、“2016酷跑”,对上述三个历史搜索信息进行分词后,抽取出其中的关键词为“酷跑”,将其作为历史搜索词。而“好玩的”、“最新的”、“2016”作为冗余信息被忽略掉。
由于一个历史搜索词可以对应多个历史应用程序,因此在确定每个历史搜索词各自对应的用户已访问过的各个历史应用程序时,可执行排序处理。具体为,对于每个历史搜索词,从历史搜索数据中确定该历史搜索词对应的多个历史应用程序,统计在预定时间段内每个历史应用程序被用户访问过的次数,根据次数对这多个历史应用程序进行排序,根据该排序结果取出前L个历史应用程序作为所述各历史应用程序,其中,L为正整数。
例如,一历史搜索词为“酷跑”,在历史搜索数据中确定出“酷跑”一词对应了4个历史应用程序,分别为:“天天酷跑”、“神庙大逃亡”、“跳跃忍者”和“疯狂的老奶奶”,然后统计在例如半年或者一年内每个APP的访问次数,根据访问次数对这4个历史应用程序进行排序。若L=3,则确定出前3个历史应用程序为与“酷跑”一词对应的历史应用程序:“天天酷跑”、“神庙大逃亡”和“疯狂的老奶奶”。
步骤102、分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据。
在本申请的实施例中,历史搜索词的特征数据可以采用表征搜索词与用户搜索之间相关程度的度量或评级来表示。考虑到每个历史搜索词和输入的用户有关,在所有历史搜索词中的比重不同,在获取各个历史搜索词的特征数据时,包括但不限于以下四种度量:
(A1)确定该历史搜索词被用户集中输入的程度,作为所述特征数据。
首先,确定在一定时间段内输入该历史搜索词的所有用户以及输入的时刻,作为基础数据,通过计算这些基础数据的熵(entropy)来表征用户输入行为的集中度。其中该熵的数值越大,表示用户点击行为越松散;数值越小,表示用户点击行为越集中。和/或,
(A2)将该历史搜索词在预定时间段内被输入的次数(QV)作为所述特征数据。
例如,统计在半年内输入历史搜索词“酷跑”的次数,作为“酷跑”的特征数据。和/或,
(A3)将该历史搜索词的长度(QL)作为所述特征数据。
这里,历史搜索词的长度是指所包含的字数或者字符数。和/或,
(A4)将该历史搜索词在所有历史搜索词中出现的频率(Tf)作为所述特征数据。
这里,将所有历史搜索词的集合称为词袋,每个历史搜索词在词袋中出现的频率被称为词频(Tf),用来表征该历史搜索词的稀疏程度或者重要性。若一个历史搜索词在词袋中出现的频率越高,那么该历史搜索词的重要性越低。即一个历史搜索词的重要性和其出现的频率成反比。例如,一历史搜索词“酷跑”比另一历史搜索词“游戏”出现的频率低,表明“酷跑”一词更稀缺,那么重要性就更高。
对每个历史应用程序和每个待推荐应用程序提取特征数据的方法可 以是相同的。应用程序的特征数据可以用该应用程序所属的类型或者不同形式的文本描述信息来表征。具体而言,针对每个历史应用程序或每个待推荐应用程序,所获取的特征数据包括但不限于以下四种度量:
(B1)将该应用程序所属的类型,作为所述特征数据。
每个应用程序具备各自的功能,可以归属于不同的类型,例如包括:社交、工具、安全、导航、拍摄、美化、阅读等。和/或,
(B2)获取该应用程序的文本描述信息,将文本描述信息进行分词,获得至少一个描述词,作为所述特征数据。
每个应用程序对应一个文本描述信息,例如,应用程序“跳跃忍者”的文本描述信息为“跳跃穿梭的忍者游戏”,对其进行分词,可以获得描述词:“跳跃”、“穿梭”、“忍者”和“游戏”,可以将这些描述词作为该应用程序“跳跃忍者”的特征数据。和/或,
(B3)对文本描述信息进行识别,获得该应用程序的主题词,作为所述特征数据。
例如,在具体实现时,可以使用隐含狄利克雷分布(LDA)进行识别。LDA作为一种主题模型,可用来识别文本描述信息中潜藏的主题信息,并按照概率分布的形式给出。和/或,
(B4)将所述文本描述信息转换为实数值,作为所述特征数据。
例如,在具体实现时,可以使用word2vec工具进行转换,这种工具能够将词表征为实数值向量,利用深度学习将文本内容简化为K维向量空间中的向量。
步骤103、对特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词。
本步骤中,挖掘模型主要采用机器学习技术,根据步骤102中获取到的特征数据,分别生成每个历史搜索词、历史应用程序和待推荐应用 程序的特征向量,即特征向量由所获取的多个特征数据组成,根据这些特征向量生成训练样本进行训练,然后挖掘出每个待推荐应用程序对应的至少一个推荐词。
在实际应用时,考虑到这些特征向量是由非线性可分的特征组成,可以采用梯度提升决策树(GBDT)算法进行训练。其中,GBDT算法可以参考现有技术中的处理方法。
步骤104、当从客户端接收到用户输入的当前搜索词时,根据当前搜索词和至少一个推荐词从待推荐应用程序中确定出至少一个待展示应用程序,并向客户端发送展示至少一个待展示应用程序的通知消息。
在一实施例中,将当前搜索词和一待推荐应用程序的至少一个推荐词进行匹配,若完全匹配或者部分匹配上,则将该待推荐应用程序作为待展示应用程序。
在另一实施例中,考虑到用户输入的当前搜索词中包括冗余信息,还可以从当前搜索词中提取出核心搜索词,若该核心搜索词和一待推荐应用程序的至少一个推荐词完全匹配或者部分匹配,则将该待推荐应用程序作为待展示应用程序。
在上述实施例中,通过确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序,分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据,对特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词,当从客户端接收到用户输入的当前搜索词时,根据当前搜索词和至少一个推荐词从待推荐应用程序中确定出至少一个待展示应用程序,可见,在推荐应用程序时所依据的推荐词是综合考虑历史搜索词、历史应用程序和待推荐应用程序的特征数据而挖掘出来的,相比于现有技术中仅根据应用程序的文本信息进行推荐的方式,丰富了推荐词的挖掘渠道,拓展了推荐应用程序的依据, 解决了在推荐应用程序时由于文本信息稀疏而导致的推荐效率降低的问题,结合用户的历史搜索行为能够向用户推荐合适、优质的应用程序,实现了个性化应用程序的推荐,并提高了客户端的资源利用率。
在上述步骤103中挖掘每个待推荐应用程序对应的至少一个推荐词时,图2为依据本申请一实施例的推荐词的挖掘方法的流程示意图。参见图2,该方法包括:
步骤201,针对每个历史搜索词,根据该历史搜索词的特征数据判断该历史搜索词是否为有效搜索词。
如步骤102中所述,当特征数据为(A1)中所述的熵时,若数值越小,表示用户点击行为越集中。那么,设置一熵阈值,将熵的数值低于该熵阈值的历史搜索词确定为有效搜索词。
又如,当特征数据为(A2)中所述的QV时,若次数越大,表明该历史搜索词为常用关键词,那么设置一QV阈值,将QV的数值高于该QV阈值的历史搜索词确定为有效搜索词。
又如,当特征数据为(A3)中所述的QL时,若长度越长,表明该历史搜索词并非常用词,那么,设置一QL阈值,将QL的数值低于该QL阈值的历史搜索词确定为有效搜索词。
又如,当特征数据为(A4)中所述的Tf时,若词频越大,表明该历史搜索词重要性越低,那么,设置一Tf阈值,将Tf的数值低于该Tf阈值的历史搜索词确定有效搜索词。
步骤202,对于每个待推荐应用程序,根据该待推荐应用程序的特征数据和每个历史应用程序的特征数据,确定出与该待推荐应用程序相似的至少一个历史应用程序。
该步骤用来评估待推荐应用程序和历史应用程序的相似度。具体而言,如步骤102中所述,
当特征数据为(B1)中所述的类型时,若一推荐应用程序和一历史应用程序的类型相同,则认为二者“类型相似”;
当特征数据为(B2)中所述的描述词时,若一推荐应用程序和一历史应用程序的描述词完全相同,或者当分别有多个描述词时部分描述词是相同的,则认为二者“文本相似”;
当特征数据为(B3)中所述的主题词时,若一推荐应用程序和一历史应用程序的LDA分布相同或者非常接近(如两个分布的偏差在预设范围内),则认为二者“主题相似”;
当特征数据为(B4)中所述的实数值时,若一推荐应用程序和一历史应用程序的Word2vec向量相同,则认为二者“数值相似”。
步骤203,将确定出的至少一个历史应用程序所对应的有效搜索词作为该待推荐应用程序对应的推荐词。
每个历史应用程序与一搜索词相对应,当确定出的至少一个历史应用程序所对应的搜索词为有效搜索词时,则将这些有效搜索词作为该待推荐应用程序对应的推荐词。
例如,待推荐应用程序为“耐克酷跑”,此为一广告APP,与其相似的历史应用程序包括“天天酷跑”、“神庙大逃亡”和“疯狂的老奶奶”。其中,“天天酷跑”对应的有效搜索词为“酷跑”,“神庙大逃亡”对应的有效搜索词为“酷跑”和“极限”,“疯狂的老奶奶”对应的有效搜索词包括“酷跑”和“娱乐”,从而得到待推荐应用程序的“耐克酷跑”的推荐词有“酷跑”、“极限”和“娱乐”。
可见,上述挖掘推荐词的过程是通过将历史搜索词与历史应用程序相对应,历史应用程序与待推荐应用程序相似而关联起来得到的。得到的推荐词为历史搜索词中的那些有效搜索词,即最具有代表性的历史搜索词。
当待推荐应用程序为广告应用程序时,图3为依据本申请另一实施例的广告应用程序的推荐方法的流程示意图。如图3所示,包括如下步骤:
步骤300、获取应用程序的历史搜索数据。
步骤301、根据历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序。
步骤300和301可参照步骤101的描述。其中,一个历史搜索词可以对应多个历史应用程序,这些历史应用程序可以为普通的应用程序,或者也可以包括广告应用程序。
步骤302、获取每个历史搜索词的特征数据。
如步骤102中给出的4个度量(A1)~(A4)。
步骤303、获取每个历史应用程序和每个广告应用程序的特征数据。
如步骤102中给出的4个度量(B1)~(B4)。
步骤304、对特征数据进行训练,挖掘出每个广告应用程序对应的至少一个推荐词以及与每个推荐词之间的置信度。
参照步骤103所述,当采用GBDT算法进行训练时,在为每个广告应用程序挖掘出至少一个推荐词的同时,还输出该广告应用程序与每个推荐词之间的置信度,取值在0~1之间,用于表征该推荐词的可信程度。
考虑到挖掘推荐词的过程是通过将历史搜索词与历史应用程序相对应,历史应用程序与广告应用程序相似而关联起来得到的,置信度的数值依赖于该广告应用程序与其相似的历史应用程序之间的相似度,以及该推荐词作为历史搜索词时相应的历史应用程序的访问次数等因素。
步骤305、当从客户端接收到用户输入的当前搜索词时,根据当前搜索词和至少一个推荐词的置信度确定出至少一个待展示应用程序。
若当前搜索词和一广告应用程序对应的推荐词完全匹配或者部分匹 配,将该广告应用程序作为备用应用程序;根据匹配上的推荐词的置信度对所有备用应用程序进行排序,根据该排序结果取出前M个备用应用程序作为至少一个广告应用程序,其中,M为正整数。当一广告应用程序对应了多个推荐词时,则将当前搜索词与每个推荐词轮流进行匹配,当和其中的一个推荐词完全匹配或者部分匹配时,将该广告应用程序作为备用应用程序。
若用户输入当前搜索词为“最热门的酷跑”,参照步骤104,从中提取出核心搜索词为“酷跑”,与该核心搜索词完全匹配的推荐词为“酷跑”,其对应了3个广告应用程序:“耐克酷跑”(涉及耐克公司的酷跑产品)、“狂奔的怒豹”(涉及某极限运动产品公司的产品)和“最美狂奔”(涉及运动塑身服的产品),其与推荐词“酷跑”之间的置信度分别为0.8、0.5和0.7。若M=2,则确定出“耐克酷跑”和“最美狂奔”为展示给用户的广告应用程序。
步骤306、向客户端发送展示至少一个待展示应用程序的通知消息。
这样,在客户端展示的应用程序为广告应用程序。在实际应用时,向客户展示的应用程序包括两类:普通应用程序(即非广告类应用程序)和广告应用程序,二者所基于的推荐方法都可以采用上述实施例所述的方法。
图4为依据本申请一实施例的展示应用程序的界面示意图。如图4所示,用户在搜索框401中输入当前搜索词为“最热门的酷跑”,服务器根据该当前搜索词返回给客户端2个普通应用程序“天天酷跑”和“神庙大逃亡”,同时向客户端推送2个广告应用程序“耐克酷跑”和“最美狂奔”,使得客户端一并展示给用户。
具体地,在方框410-413中分别给出了普通应用程序“天天酷跑”的图标、名称、下载链接和推荐信息“全球最多人玩的酷跑游戏”;在 方框420-423中分别给出了普通应用程序“神庙大逃亡”的图标、名称、下载链接和推荐信息“最炫神庙风,冒险酷跑决高下!”;在方框430-433中分别给出了广告应用程序“耐克酷跑”的图标、名称、下载链接和推荐信息“最有利的武器,助您酷跑第一!”;在方框440-443中分别给出了广告应用程序“最美奔跑”的图标、名称、下载链接和推荐信息“奔跑中的你也要美美的!”并且,为了区分普通应用程序和广告应用程序,在方框434和方框444中标识有“推广”字样。
此外,当待展示应用程序包括普通应用程序和广告应用程序时,在客户端中展示广告应用程序的位置可以有多种,除了图4中插在普通应用程序之间进行展示之外,还可以置顶展示,即在所有普通应用程序之前优先展示广告应用程序,本申请对此不做具体限定。
图5为依据本申请一实施例的服务器的结构示意图。如图5所示,服务器500包括:
获取模块510,用于获取应用程序的历史搜索数据;
确定模块520,用于根据获取模块510得到的历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序;
挖掘模块530,用于分别获取确定模块520得到的每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据,对特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词;
推荐模块540,用于当从客户端接收到用户输入的当前搜索词时,根据当前搜索词和挖掘模块530得到的至少一个推荐词从待推荐应用程序中确定出至少一个待展示应用程序;及,
发送模块550,用于向客户端发送展示推荐模块540得到的至少一个待展示应用程序的通知消息。
在一实施例中,确定模块520用于,从历史搜索数据中获取用户在 搜索应用程序时输入的历史搜索信息,对历史搜索信息进行分词,从中抽取出关键词作为历史搜索词;对于每个历史搜索词,从历史搜索数据中确定该历史搜索词对应的多个历史应用程序,统计在预定时间段内每个历史应用程序被用户访问过的次数,根据次数对该多个历史应用程序进行排序,根据该排序结果取出前L个历史应用程序作为所确定出的历史应用程序,其中,L为正整数。
在一实施例中,挖掘模块530包括第一挖掘单元531和第二挖掘单元532,其中,
第一挖掘单元531用于,针对每个历史搜索词,确定该历史搜索词被用户集中输入的程度,作为特征数据;和/或,将该历史搜索词在预定时间段内被输入的次数作为特征数据;和/或,将该历史搜索词的长度作为特征数据;和/或,将该历史搜索词在所有历史搜索词中出现的频率作为特征数据;
第二挖掘单元530用于,针对每个历史应用程序和每个待推荐应用程序,将该应用程序所属的类型,作为特征数据;和/或,获取该应用程序的文本描述信息,将文本描述信息进行分词,获得至少一个描述词,作为特征数据;和/或,对文本描述信息进行识别,获得该应用程序的主题词,作为特征数据;和/或,将文本描述信息转换为实数值,作为特征数据。
在一实施例中,挖掘模块530用于,针对每个历史搜索词,根据该历史搜索词的特征数据判断该历史搜索词是否为有效搜索词;对于每个待推荐应用程序,根据该待推荐应用程序的特征数据和每个历史应用程序的特征数据,确定出与该待推荐应用程序相似的至少一个历史应用程序,将确定出的至少一个历史应用程序所对应的有效搜索词作为该待推荐应用程序对应的推荐词。
在一实施例中,推荐模块540用于,从当前搜索词中提取出核心搜索词;当核心搜索词和一个待推荐应用程序的至少一个推荐词完全匹配或者部分匹配时,则将该待推荐应用程序作为待展示应用程序。
在一实施例中,挖掘模块530进一步用于,对于每个待推荐应用程序,确定该待推荐应用程序与其对应的每个推荐词之间的置信度;
推荐模块540用于,当当前搜索词和一个待推荐应用程序对应的推荐词完全匹配或者部分匹配时,将该待推荐应用程序作为备用应用程序;根据匹配上的推荐词的置信度对所有备用应用程序进行排序,根据该排序结果取出前M个备用应用程序作为至少一个待展示应用程序,其中,M为正整数。
图6为依据本申请另一实施例的服务器的结构示意图。该服务器600包括:处理器610、存储器620、端口630以及总线640。处理器610和存储器620通过总线640互联。处理器610可通过端口630接收和发送数据。其中,
处理器610用于执行存储器620存储的机器可读指令模块。
存储器620存储有处理器610可执行的机器可读指令模块。处理器610可执行的指令模块包括:获取模块621、确定模块622、挖掘模块623、推荐模块624和发送模块625。其中,
获取模块621被处理器610执行时可以为:获取应用程序的历史搜索数据;
确定模块622被处理器610执行时可以为:根据获取模块621得到的历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序;
挖掘模块623被处理器610执行时可以为:分别获取确定模块622得到的每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特 征数据,对特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词;
推荐模块624被处理器610执行时可以为:当从客户端接收到用户输入的当前搜索词时,根据当前搜索词和挖掘模块623得到的至少一个推荐词从待推荐应用程序中确定出至少一个待展示应用程序;
发送模块625被处理器610执行时可以为:向客户端发送展示推荐模块624得到的至少一个待展示应用程序的通知消息。
由此可以看出,当存储在存储器620中的指令模块被处理器610执行时,可实现前述各个实施例中获取模块、确定模块、挖掘模块、推荐模块和发送模块的各种功能。
上述服务器实施例中,各个模块及单元实现自身功能的具体方法在方法实施例中均有描述,这里不再赘述。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
另外,本申请的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请。存储介质可以使用任何类别的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此,本申请还公开了一种存储介质,其中存储有数据处理程序, 该数据处理程序用于执行本申请上述方法的任何一种实施例。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (19)

  1. 一种应用程序的推荐方法,其特征在于,应用于服务器,包括:
    获取应用程序的历史搜索数据,根据所述历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序;
    分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据,对所述特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词;及,
    当从客户端接收到用户输入的当前搜索词时,根据所述当前搜索词和所述至少一个推荐词从所述待推荐应用程序中确定出至少一个待展示应用程序,并向所述客户端发送展示所述至少一个待展示应用程序的通知消息。
  2. 根据权利要求1所述的方法,其中,所述根据所述历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序包括:
    从所述历史搜索数据中获取用户在搜索应用程序时输入的历史搜索信息,对所述历史搜索信息进行分词,从中抽取出关键词作为所述历史搜索词;
    对于每个历史搜索词,从所述历史搜索数据中确定该历史搜索词对应的多个历史应用程序,统计在预定时间段内每个历史应用程序被用户访问过的次数,根据所述次数对该多个历史应用程序进行排序,根据该排序结果取出前L个历史应用程序作为所确定出的历史应用程序,其中,L为正整数。
  3. 根据权利要求1所述的方法,其中,所述分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据包括:
    针对每个历史搜索词,确定该历史搜索词被用户集中输入的程度,作为所述特征数据。
  4. 根据权利要求1所述的方法,其中,所述分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据包括:
    针对每个历史搜索词,将该历史搜索词在预定时间段内被输入的次数作为所述特征数据。
  5. 根据权利要求1所述的方法,其中,所述分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据包括:
    针对每个历史搜索词,将该历史搜索词的长度作为所述特征数据。
  6. 根据权利要求1所述的方法,其中,所述分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据包括:
    针对每个历史搜索词,将该历史搜索词在所有历史搜索词中出现的频率作为所述特征数据。
  7. 根据权利要求1所述的方法,其中,所述分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据包括:
    针对每个历史应用程序或每个待推荐应用程序,将该应用程序所属的类型作为所述特征数据。
  8. 根据权利要求1所述的方法,其中,所述分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据包括:
    针对每个历史应用程序或每个待推荐应用程序,获取该应用程序的文本描述信息,将所述文本描述信息进行分词,获得至少一个描述词,作为所述特征数据。
  9. 根据权利要求1所述的方法,其中,所述分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据包括:
    针对每个历史应用程序或每个待推荐应用程序,对所述文本描述信 息进行识别,获得该应用程序的主题词,作为所述特征数据。
  10. 根据权利要求1所述的方法,其中,所述分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据包括:
    针对每个历史应用程序或每个待推荐应用程序,将所述文本描述信息转换为实数值,作为所述特征数据。
  11. 根据权利要求1所述的方法,其中,所述对所述特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词包括:
    针对每个历史搜索词,根据该历史搜索词的特征数据判断该历史搜索词是否为有效搜索词;
    对于每个待推荐应用程序,根据该待推荐应用程序的特征数据和每个历史应用程序的特征数据,确定出与该待推荐应用程序相似的至少一个历史应用程序,将确定出的至少一个历史应用程序所对应的有效搜索词作为该待推荐应用程序对应的所述推荐词。
  12. 根据权利要求1所述的方法,其中,所述根据所述当前搜索词和所述至少一个推荐词从所述待推荐应用程序中确定出至少一个待展示应用程序包括:
    从所述当前搜索词中提取出核心搜索词;
    当所述核心搜索词和一个待推荐应用程序对应的至少一个推荐词完全匹配或者部分匹配时,则将该待推荐应用程序作为所述待展示应用程序。
  13. 根据权利要求1至12中任一项所述的方法,进一步包括:
    对于每个待推荐应用程序,确定该待推荐应用程序与其对应的每个推荐词之间的置信度;
    所述根据所述当前搜索词和所述至少一个推荐词从所述待推荐应用程序中确定出至少一个待展示应用程序包括:
    当所述当前搜索词和一个待推荐应用程序对应的推荐词完全匹配或者部分匹配时,将该待推荐应用程序作为备用应用程序;
    根据匹配上的推荐词的所述置信度对所有备用应用程序进行排序,根据该排序结果取出前M个备用应用程序作为所述至少一个待展示应用程序,其中,M为正整数。
  14. 一种服务器,其特征在于,包括处理器和存储器,所述存储器中存储可被所述处理器执行的指令,当执行所述指令时,所述处理器用于:
    获取应用程序的历史搜索数据;
    根据所述历史搜索数据,确定至少一个历史搜索词及其各自对应的用户已访问过的历史应用程序;
    分别获取每个历史搜索词、每个历史应用程序和每个待推荐应用程序的特征数据,对所述特征数据进行训练,挖掘出每个待推荐应用程序对应的至少一个推荐词;
    当从客户端接收到用户输入的当前搜索词时,根据所述当前搜索词和所述至少一个推荐词从所述待推荐应用程序中确定出至少一个待展示应用程序;及,
    向所述客户端发送展示所述至少一个待展示应用程序的通知消息。
  15. 根据权利要求14所述的服务器,其中,当执行所述指令时,所述处理器进一步用于:从所述历史搜索数据中获取用户在搜索应用程序时输入的历史搜索信息,对所述历史搜索信息进行分词,从中抽取出关键词作为所述历史搜索词;对于每个历史搜索词,从所述历史搜索数据中确定该历史搜索词对应的多个历史应用程序,统计在预定时间段内每个历史应用程序被用户访问过的次数,根据所述次数对该多个历史应用程序进行排序,根据该排序结果取出前L个历史应用程序作为所确定出 的历史应用程序,其中,L为正整数。
  16. 根据权利要求14所述的服务器,其中,当执行所述指令时,所述处理器进一步用于:针对每个历史搜索词,根据该历史搜索词的特征数据判断该历史搜索词是否为有效搜索词;对于每个待推荐应用程序,根据该待推荐应用程序的特征数据和每个历史应用程序的特征数据,确定出与该待推荐应用程序相似的至少一个历史应用程序,将确定出的至少一个历史应用程序所对应的有效搜索词作为该待推荐应用程序对应的所述推荐词。
  17. 根据权利要求14所述的服务器,其中,当执行所述指令时,所述处理器进一步用于:从所述当前搜索词中提取出核心搜索词;当所述核心搜索词和一个待推荐应用程序对应的至少一个推荐词完全匹配或者部分匹配时,则将该待推荐应用程序作为所述待展示应用程序。
  18. 根据权利要求14至17中任一项所述的服务器,其中,当执行所述指令时,所述处理器进一步用于:对于每个待推荐应用程序,确定该待推荐应用程序与其对应的每个推荐词之间的置信度;
    当所述当前搜索词和一个待推荐应用程序对应的推荐词完全匹配或者部分匹配时,将该待推荐应用程序作为备用应用程序;根据匹配上的推荐词的所述置信度对所有备用应用程序进行排序,根据该排序结果取出前M个备用应用程序作为所述至少一个待展示应用程序,其中,M为正整数。
  19. 一种计算机可读存储介质,其特征在于,存储有计算机可读指令,可以使至少一个处理器执行如权利要求1至13任一项所述的方法。
PCT/CN2017/100989 2016-09-13 2017-09-08 应用程序的推荐方法及服务器 WO2018050022A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/194,629 US11157956B2 (en) 2016-09-13 2018-11-19 Application recommendation method and server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610821406.5 2016-09-13
CN201610821406.5A CN107818105B (zh) 2016-09-13 2016-09-13 应用程序的推荐方法及服务器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/194,629 Continuation US11157956B2 (en) 2016-09-13 2018-11-19 Application recommendation method and server

Publications (1)

Publication Number Publication Date
WO2018050022A1 true WO2018050022A1 (zh) 2018-03-22

Family

ID=61601156

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/100989 WO2018050022A1 (zh) 2016-09-13 2017-09-08 应用程序的推荐方法及服务器

Country Status (3)

Country Link
US (1) US11157956B2 (zh)
CN (1) CN107818105B (zh)
WO (1) WO2018050022A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182460A (zh) * 2019-07-04 2021-01-05 腾讯科技(北京)有限公司 资源的推送方法和装置、存储介质及电子装置
CN112632384A (zh) * 2020-12-25 2021-04-09 北京百度网讯科技有限公司 针对应用程序的数据处理方法、装置、电子设备和介质
CN117884816A (zh) * 2024-03-18 2024-04-16 苏芯物联技术(南京)有限公司 一种基于历史焊接电流工艺区间的快速工艺推荐方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196833B (zh) * 2018-03-22 2023-06-09 腾讯科技(深圳)有限公司 应用程序的搜索方法、装置、终端及存储介质
CN108763362B (zh) * 2018-05-17 2020-10-09 浙江工业大学 基于随机锚点对选择的局部模型加权融合Top-N电影推荐方法
CN111782912B (zh) * 2019-04-04 2023-08-15 百度在线网络技术(北京)有限公司 词推荐方法、装置、服务器和介质
CN110083774B (zh) * 2019-05-10 2023-11-03 腾讯科技(深圳)有限公司 应用推荐列表的确定方法、装置、计算机设备及存储介质
CN110234133B (zh) * 2019-05-13 2023-04-07 中国联合网络通信集团有限公司 一种网络控制方法和装置
CN111861622B (zh) * 2019-12-28 2024-08-06 北京嘀嘀无限科技发展有限公司 一种确定上车点推荐模型的方法和系统
US11416245B2 (en) 2019-12-04 2022-08-16 At&T Intellectual Property I, L.P. System and method for syntax comparison and analysis of software code
CN111258673A (zh) * 2020-01-10 2020-06-09 聚好看科技股份有限公司 快应用显示方法及终端设备
CN111241401B (zh) * 2020-01-14 2023-04-14 北京字节跳动网络技术有限公司 一种搜索请求处理方法及装置
CN111292164B (zh) * 2020-01-21 2023-08-25 上海风秩科技有限公司 一种商品推荐方法、装置、电子设备及可读存储介质
CN111597469B (zh) * 2020-05-19 2022-05-20 北京字节跳动网络技术有限公司 展示位置的确定方法、确定装置、电子设备及存储介质
CN112036572B (zh) * 2020-08-28 2024-03-12 上海冰鉴信息科技有限公司 基于文本列表的用户特征提取方法及装置
CN112801191B (zh) * 2021-02-02 2023-11-21 中国石油大学(北京) 管道事故处置的智能推荐方法、装置及设备
CN114995661A (zh) * 2021-02-20 2022-09-02 花瓣云科技有限公司 一种联想词展示方法、终端设备及计算机存储介质
US11625446B2 (en) * 2021-05-03 2023-04-11 Oracle International Corporation Composing human-readable explanations for user navigational recommendations
CN113326416A (zh) * 2021-06-15 2021-08-31 北京百度网讯科技有限公司 检索数据的方法、向客户端发送检索数据的方法及装置
CN113449188A (zh) * 2021-06-30 2021-09-28 东莞市小精灵教育软件有限公司 应用推荐方法、装置、电子设备及可读存储介质
CN113434186A (zh) * 2021-07-13 2021-09-24 支付宝(杭州)信息技术有限公司 用于推荐应用程序的方法和装置
CN114265777B (zh) * 2021-12-23 2023-01-10 北京百度网讯科技有限公司 应用程序的测试方法、装置、电子设备及存储介质
EP4322030A1 (en) * 2022-08-12 2024-02-14 Apple Inc. Online meta-learning for scalable item-to-item relationships
CN116883048B (zh) * 2023-07-12 2024-03-15 卓盛科技(广州)有限公司 基于人工智能的客户数据处理方法、装置及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514191A (zh) * 2012-06-20 2014-01-15 百度在线网络技术(北京)有限公司 用于确定目标推广信息的关键词匹配模式的方法和设备
CN103942279A (zh) * 2014-04-01 2014-07-23 百度(中国)有限公司 搜索结果的展现方法和装置
CN104123332A (zh) * 2014-01-24 2014-10-29 腾讯科技(深圳)有限公司 搜索结果的显示方法及装置
CN105574030A (zh) * 2014-10-16 2016-05-11 腾讯科技(深圳)有限公司 一种信息搜索方法及装置
CN105808685A (zh) * 2016-03-02 2016-07-27 腾讯科技(深圳)有限公司 推广信息的推送方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2109048A1 (en) * 2002-08-30 2009-10-14 Sony Deutschland Gmbh Methods to create a user profile and to specify a suggestion for a next selection of a user
US20080162537A1 (en) * 2006-12-29 2008-07-03 Ebay Inc. Method and system for utilizing profiles
US20090248486A1 (en) * 2008-03-31 2009-10-01 Yahoo! Inc. System for suggesting categories of mobile keywords to revenue generators
US20090282023A1 (en) * 2008-05-12 2009-11-12 Bennett James D Search engine using prior search terms, results and prior interaction to construct current search term results
US8954413B2 (en) * 2010-04-12 2015-02-10 Thermopylae Sciences and Technology Methods and apparatus for adaptively harvesting pertinent data
CN101859425B (zh) * 2010-06-02 2014-11-05 中兴通讯股份有限公司 一种提供应用列表的方法及装置
US8396759B2 (en) * 2010-06-18 2013-03-12 Google Inc. Context-influenced application recommendations
US8600968B2 (en) * 2011-04-19 2013-12-03 Microsoft Corporation Predictively suggesting websites
US20150242470A1 (en) * 2011-05-27 2015-08-27 AVG Netherlands B.V. Systems and methods for recommending software applications
US8918387B1 (en) * 2012-04-04 2014-12-23 Symantec Corporation Systems and methods for classifying applications configured for cloud-based platforms
US9489636B2 (en) * 2012-04-18 2016-11-08 Tagasauris, Inc. Task-agnostic integration of human and machine intelligence
CN103810192A (zh) * 2012-11-09 2014-05-21 腾讯科技(深圳)有限公司 一种用户的兴趣推荐方法和装置
KR20210068622A (ko) * 2012-11-29 2021-06-09 파세토, 인크. 여러 애플리케이션들을 디스플레이하기 위한 시스템 및 방법
CN103647800B (zh) * 2013-11-19 2017-12-12 乐视致新电子科技(天津)有限公司 推荐应用资源的方法及系统
CN103927354A (zh) * 2014-04-11 2014-07-16 百度在线网络技术(北京)有限公司 交互式搜索及推荐方法和装置
CN103914552B (zh) * 2014-04-14 2017-06-20 百度在线网络技术(北京)有限公司 应用检索方法和装置
RU2604999C2 (ru) * 2014-05-29 2016-12-20 Общество С Ограниченной Ответственностью "Яндекс" Способ и система выработки рекомендаций по приложениям для пользователя
CN105335391B (zh) * 2014-07-09 2019-02-15 阿里巴巴集团控股有限公司 基于搜索引擎的搜索请求的处理方法和装置
US20160188671A1 (en) * 2014-12-29 2016-06-30 Facebook, Inc. Methods and Systems for Recommending Applications
CN105117440A (zh) * 2015-08-11 2015-12-02 北京奇虎科技有限公司 确定待推荐应用app的方法及装置
US9952848B2 (en) * 2015-12-21 2018-04-24 Samsung Electronics Co., Ltd. Dependency-aware transformation of multi-function applications for on-demand execution
US10318562B2 (en) * 2016-07-27 2019-06-11 Google Llc Triggering application information
US10846350B2 (en) * 2016-10-18 2020-11-24 Facebook, Inc. Systems and methods for providing service directory predictive search recommendations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514191A (zh) * 2012-06-20 2014-01-15 百度在线网络技术(北京)有限公司 用于确定目标推广信息的关键词匹配模式的方法和设备
CN104123332A (zh) * 2014-01-24 2014-10-29 腾讯科技(深圳)有限公司 搜索结果的显示方法及装置
CN103942279A (zh) * 2014-04-01 2014-07-23 百度(中国)有限公司 搜索结果的展现方法和装置
CN105574030A (zh) * 2014-10-16 2016-05-11 腾讯科技(深圳)有限公司 一种信息搜索方法及装置
CN105808685A (zh) * 2016-03-02 2016-07-27 腾讯科技(深圳)有限公司 推广信息的推送方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182460A (zh) * 2019-07-04 2021-01-05 腾讯科技(北京)有限公司 资源的推送方法和装置、存储介质及电子装置
CN112182460B (zh) * 2019-07-04 2024-03-15 深圳市雅阅科技有限公司 资源的推送方法和装置、存储介质及电子装置
CN112632384A (zh) * 2020-12-25 2021-04-09 北京百度网讯科技有限公司 针对应用程序的数据处理方法、装置、电子设备和介质
CN117884816A (zh) * 2024-03-18 2024-04-16 苏芯物联技术(南京)有限公司 一种基于历史焊接电流工艺区间的快速工艺推荐方法
CN117884816B (zh) * 2024-03-18 2024-05-17 苏芯物联技术(南京)有限公司 一种基于历史焊接电流工艺区间的快速工艺推荐方法

Also Published As

Publication number Publication date
CN107818105A (zh) 2018-03-20
US20190114668A1 (en) 2019-04-18
CN107818105B (zh) 2021-04-09
US11157956B2 (en) 2021-10-26

Similar Documents

Publication Publication Date Title
WO2018050022A1 (zh) 应用程序的推荐方法及服务器
CN107862027B (zh) 检索意图识别方法、装置、电子设备及可读存储介质
CN111144723B (zh) 人岗匹配推荐方法及系统、存储介质
EP3779841B1 (en) Method, apparatus and system for sending information, and computer-readable storage medium
US11361243B2 (en) Recommending machine learning techniques, features, and feature relevance scores
CN108009228B (zh) 一种内容标签的设置方法、装置及存储介质
CN110020422B (zh) 特征词的确定方法、装置和服务器
WO2019218514A1 (zh) 网页目标信息的提取方法、装置及存储介质
CN107193962B (zh) 一种互联网推广信息的智能配图方法及装置
CN111105209B (zh) 适用于人岗匹配推荐系统的职位简历匹配方法及装置
CN107704503A (zh) 用户关键词提取装置、方法及计算机可读存储介质
CN111104526A (zh) 一种基于关键词语义的金融标签提取方法及系统
JP6428795B2 (ja) モデル生成方法、単語重み付け方法、モデル生成装置、単語重み付け装置、デバイス、コンピュータプログラム及びコンピュータ記憶媒体
CN109471978B (zh) 一种电子资源推荐方法及装置
CN115002200B (zh) 基于用户画像的消息推送方法、装置、设备及存储介质
CN103853722A (zh) 一种基于检索串的关键词扩展方法、装置和系统
TWI662495B (zh) 推廣資訊的處理方法、裝置及系統
CN111309910A (zh) 文本信息挖掘方法及装置
CN110287314B (zh) 基于无监督聚类的长文本可信度评估方法及系统
CN104915399A (zh) 基于新闻标题的推荐数据处理方法及系统
CN103218368B (zh) 一种挖掘热词的方法与装置
CN113934941A (zh) 一种基于多维度信息的用户推荐系统及方法
CN104077327A (zh) 核心词重要性识别方法和设备及搜索结果排序方法和设备
CN109753646B (zh) 一种文章属性识别方法以及电子设备
CN113704623A (zh) 一种数据推荐方法、装置、设备及存储介质

Legal Events

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

Ref document number: 17850224

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17850224

Country of ref document: EP

Kind code of ref document: A1