CN104871193B - The computer implemented system and method that application is recommended are generated based on user feedback - Google Patents

The computer implemented system and method that application is recommended are generated based on user feedback Download PDF

Info

Publication number
CN104871193B
CN104871193B CN201280074559.8A CN201280074559A CN104871193B CN 104871193 B CN104871193 B CN 104871193B CN 201280074559 A CN201280074559 A CN 201280074559A CN 104871193 B CN104871193 B CN 104871193B
Authority
CN
China
Prior art keywords
application
suggestion
suggesting
inquiry
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280074559.8A
Other languages
Chinese (zh)
Other versions
CN104871193A (en
Inventor
I·马哈尼奥克
B·梅塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN104871193A publication Critical patent/CN104871193A/en
Application granted granted Critical
Publication of CN104871193B publication Critical patent/CN104871193B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • 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

Landscapes

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

Abstract

It is a kind of to generate the mthods, systems and devices that application is recommended based on user feedback, including the computer program being encoded in computer storage medium, the computer program includes the event data with multiple suggestions association as obtained by application market for receiving search log, the search log;Each suggestion is applied, feedback score is determined based on event data to provide multiple feedback scores;Multiple feedback scores are stored in the index of suggestion application, the suggestion association in the index of the feedback score and suggestion application;It receives to show one or more requests for suggesting application with selected association;The set of suggestion application is identified based on the index of selected application and suggestion application;And instruction is transmitted to suggest the suggestion application in the set applied according to the sequence display scored based on respective feedback to client computing device.

Description

The computer implemented system and method that application is recommended are generated based on user feedback
Technical field
This disclosure relates to selected application proposal one or more application is based in application market.
Background technique
Mobile computing device (or referred to as " mobile device ") various software applications can be run, these software applications expand Showing has capacity of equipment and adds new ability.It usually can get the application of many types, such as answering for acquisition of information With, the application for communication and the application for amusement.Each application can by mobile device manufacturers and/or third party (such as Application developer) it creates, and can be installed in advance by manufacturer, or can be downloaded and be installed by equipment user.
User can by browse useful application catalogue, by new to find with the associated interface in application on site market Using.In addition, usually by advertisement, industry summary, " top ten " and " best " list and by public praise recommendation it is available about The information of new application.Understand it is new in application, user can obtain, install and using the application full release, or The beta release of the accessible application of user, the beta release of the application allow user buying or do not buying the application The case where get off to attempt the application.Finally, user can retain the application, the application is updated (such as from beta release to complete Version), and the application being no longer desired can be deleted.
Summary of the invention
The innovative aspect of theme described in this specification can realize that these methods include following dynamic with method Make: receiving search log, which includes and multiple event numbers for suggesting association as obtained by application market According to;Each suggestion is applied, feedback score is determined based on the event data to provide multiple feedback scores;By multiple feedback Scoring is stored in the index of suggestion application, the suggestion association in the index of feedback score and suggestion application;It receives and uses To show one or more requests for suggesting application with selected association;Index based on selected application and suggestion application To identify the set of suggestion application;And to client computing device transmission instruction according to the sequence to be scored based on respective feedback Show the suggestion application in the set of suggestion application.
Other embodiments in terms of these include the corresponding system of movement for being configured to execute method, device and are counting The computer program encoded in calculation machine storage equipment.
These and other embodiments can respectively optionally include one or more features in following characteristics.For example, right It is based on being determined with the associated event of the respective application in the corresponding feedback score for suggesting application;The event includes answering the suggestion The installation of click and suggestion application;The event is just being provided in the list of suggestion application based on the corresponding suggestion application It is generated;For accordingly suggest application feedback score based on it is corresponding to this suggest association click number and with the phase It should suggest that the installation number of association is determined;The feedback score is also based on installation multiplier, position multiplier and payment applications and multiplies At least one in number is determined;The installation multiplier is applied to the installation number and is greater than one;Determine the corresponding suggestion Using for payment applications, which is provided as the value greater than one, and answer using the payment to the installation number Use multiplier;It determines that the corresponding suggestion application is not paid for applying, which is provided as the value equal to one, Yi Jixiang The installation number applies the payment applications multiplier;For clicking each click in number, which is based on this and accordingly builds View applies the position in the list for suggesting application to be determined;For each installation in the installation number, the position multiplier base The position in the list for suggesting application is applied to be determined in the corresponding suggestion.
The various embodiments of present disclosure can have one or more features in following characteristics.For example, by catching The sequencing table for obtaining the subjective sensation for the correlation for applying two as expressed by user to generate to apply relevant application.Its Data provided by application developer can be considered in his method;And end user's feedback is analyzed to adjust sort algorithm.Therefore, User is easier to find the application that they may like, and generates the installation sum of bigger application.
The one or more embodiments of the detail of theme described in this specification are illustrated in the following drawings and description. According to description, drawings and claims, other possible features, aspects and advantages of theme be will be apparent.
Detailed description of the invention
Fig. 1 describes the example system that can execute the realization of present disclosure.
Fig. 2 describes the example mobile device for showing the application for being identified as suggestion application in view of selected application.
Fig. 3 is to include for one or more application to be identified as the exemplary components that suggestion is applied in view of selected application The block diagram of system.
Fig. 4 is can be according to the realization of present disclosure come the flow chart for the instantiation procedure being performed.
Fig. 5 is flow chart of the diagram for the instantiation procedure of list of application.
Fig. 6 is the process of instantiation procedure of the diagram for showing the application for being identified as suggestion application in view of selected application Figure.
Fig. 7 be include block diagram for the system for identifying the exemplary components of the application for suggestion based on user feedback.
Fig. 8 is the flow chart for illustrating the instantiation procedure for identifying the application for suggestion based on user feedback.
In various figures, similar appended drawing reference indicates similar element.
Specific embodiment
This specification is described for one or more application to be identified as system relevant to selected application in application market System and method.In some implementations, calculating the user of equipment (such as mobile computing device), can search in application market can Application is executed, and can download and install on the computing device these applications.However, user usually can be found that search application Market is very cumbersome to find the other application that can be proposed in view of selected application.
Selected application is based on inquiry log data with the degree of correspondence between target application and applies metadata.If selected It is enough using the degree of correspondence between target application, then suggest (such as user may be interested) mesh in view of selected application Mark application.For example, can be used for the application of same or similar purpose can carry out suggestion in view of other application, even if these apply it Between without other be directly linked (such as identical developer).
In some implementations, user can be by inputting in the inquiry field provided in the user interface to application market Search terms are searched through the available application of application market.Gained inquiry can be transmitted to the application market, this search is available to answer To identify one or more application corresponding with inquiry.The application market can return to one or more application to equipment is calculated List.Then user can select application from calculating in the list shown in equipment.It is selected in response to the user, it can be via It calculates equipment and the related information with selected application is presented to user.In addition, as discussed in further detail below, can also respond The list for the one or more application being proposed in view of selected application is selected and shown to user in the user.The user can be with Start the selected installation applied on the computing device.
Can by information relevant to search inquiry, the application for being used to show details selection, using installation, application Content, using sequence etc. storages in the database.The information can illustrate search inquiry, to the requests of details and multiple set The installation of standby upper multiple users.As discussed in further detail below, it can handle application message to come in view of selected application It is to suggest application by application identities.It can will suggest using the suggestion application being shown as in view of selected application in application market.
As being discussed in further detail herein, the user interface with suggestion application can be monitored so which further to be influenced A little applications are identified as suggestion application in view of selected application.In some implementations, user interface is provided as applying about suggestion End user feedback.In some instances, end user can be fed back and is provided as to the suggestion application in view of selected application List in shown suggestion application click and suggest applying the position in the list that suggestion is applied when clicking It sets.In some instances, end user can be fed back shown by being provided as in the list in view of the suggestion application of selected application Suggestion application installation and start installation when suggest apply suggest application list in position.
Fig. 1 is the figure of the example system 100 for the realization that can execute present disclosure.System 100 includes calculating equipment 102A to 102F, the calculating equipment are communicated each by network 106 with server system 104.Equipment 102A is calculated into 102F Each calculating equipment respectively include associated user 108A to 108F.Network 116 may include connecting any number of movement Calculate equipment, the fixed large computer network for calculating equipment and server system, such as local area network (LAN), wide area network (WAN), internet, cellular network or a combination thereof.Server system 104 includes one or more calculating equipment 110 and one A or multiple machine-readable storages library or database 112.
In example system 100, calculates equipment 102A to 102D and be illustrated as mobile computing device, calculate equipment 102E quilt It is illustrated as desktop computing device and calculates equipment 102F being illustrated as lap-top computing devices.It will be appreciated, however, that calculating Equipment 102A to 102F can respectively include any kind of calculating equipment, such as desktop PC, laptop computer, hand Hold formula computer, personal digital assistant (PDA), cellular phone, network home appliance, camera, smart phone, enhanced general grouping nothing Line service (EGPRS) mobile phone, computation sheet equipment, media player, navigation equipment, electronic mail equipment, game machine or These data processing equipments of person or any two or multiple combinations in other data processing equipments.
Calculating equipment 102A to 102F enables corresponding user 108A to 108F to interact with application market.Sample application Market includes the Google Play (being formerly referred to as Android Market) that Google company provides.In some implementations, this is answered It may include (such as calculating and trustship and being set using calculating on equipment 102A to 102F) in one or more servers with market Standby (such as calculate the website that equipment 102A is accessed to 102F).In some implementations, which may be provided as Equipment is calculated (such as to calculate and execute on equipment 102A to 102F) and from one or more servers (such as server system 104) application of application message is obtained.
Application market can be to can be used for downloading to calculating one or more computer equipments of the equipment 102A into 102F And advertisement is carried out calculating the application that equipment 102A is installed in one or more computer equipments into 102F.For example, meter The user 108A for calculating equipment 102A can be interacted with application market to check and/or find interested application.For example, user 102A can input search inquiry to application market.The search inquiry can be processed (such as by one or more server systems System trustship, or data are provided to application market) to identify one or more application corresponding with search inquiry.With one or more It is a to apply corresponding information that be transferred to calculating equipment 102A for showing to user 108A.As another example, it applies Market can show it is various application (such as nearest application, the application at most downloaded, best free application, best payment applications, Specific application, amusement, productivity, business, education etc.).In response to one or more in selection particular types, with the specific type It is a to apply corresponding information that be transferred to calculating equipment 102A for showing to user 108A.
Continue the examples above, user 108A can from one or more display application in selection specific applications with check with This is using related additional details and/or with to calculating, equipment 102A is downloaded and installation is applied.For example, defeated in response to user Enter, can show with selected using related additional details.The example of additional details may include the description of application, application User's sequence, user comment, application screen screenshot and have been identified as and the related other application of selected application.Such as It is discussed in further detail herein, the realization of present disclosure is related to determining whether two applications are related.
Fig. 2 describes the example mobile device 200 for showing the application for being identified as suggestion application in view of selected application. The mobile device 200 can be corresponding with the calculating equipment 102A to 102D of Fig. 1.Mobile device 200 includes display 202, tracking Ball 204 and navigation button 206a to 206d.Display 202 shows graphic user interface 208.The GUI 208 offer user (such as The interface that the application stored on the memory of user 108A to 108D) and operating system and mobile device 200 interacts.Show Example operating system includes the Android Operating System that Google company provides.User can interact with GUI 208 It is being stored in memory to browse mobile device 200 and in mobile device 200 can be performed application list, with choosing It selects for being performed application, from the processor of mobile device 200 to provide input etc. to application during the execution of application.
The user of mobile device 200 via display 202, tracking ball 204 and navigation button 206a to 206d and/or other Input unit (such as the sense of hearing and/or tactile) browses GUI 208.In some implementations, display 202 is that touch screen is shown Device.Tracking ball 204 controls the cursor that can be used as the part of GUI 208 for selecting item shown on GUI 208.Browsing is pressed Button 206a to 206d depends on the specific operation system stored in mobile device 200 and has various realizations.In some realizations In, navigation button 206a provides " previous " button that the current state of GUI 208 is back to the original state of GUI 208;It is clear The button 206b that lookes at provides menu function;Navigation button 206c provides the main interface function of making GUI 208 enter " main screen ", and Navigation button 206d provides function of search.
Mobile device 200 stores application market application.The application market application may be provided as client side application, should Client side application can be with the application that is provided as (such as executing on one or more server systems) backend application Market is communicated.The application market application, which provides a user, can be used for downloading to mobile device 200 and in mobile device 200 The list of the application of installation.Specifically, user selects application market application by browsing GUI 208.User can pass through shifting Any mode provided by the operating system stored in dynamic equipment 200 selects the application market application (such as to initiate using city Field application is for executing).When user selects application market in application, the application market application can be shown in GUI 208 looks into Ask field.User can be inquired input search terms into inquiry field with generating.The search terms can be gone for user (with Possibility installation including the application in mobile device 200 is relevant) specific application of more information is related.In some realizations In, search terms are related with specific application, search terms " Google such as related with Google Earth Application Earth".In some implementations, search terms can be related with the type of the interested application of user, such as searching including " shopping " Suo Xiang, plurality of application can be related to the search terms.Multiple applications may include for example " Google Shopper " and " Amazon Mobile " etc..
After user inputs search terms into inquiry field, application market is applied to GUI 208 and returns to updated boundary Face.Specifically, in response to inquiry, GUI 208 may include being identified as the list of application corresponding with search terms as search As a result.User can select application from search result.In response to the selection of specific application, which is applied to GUI 208 provide and 209 related updated interfaces of selected application.Specifically, GUI 208 may include application interface 210, this is answered It include 209 specific information of selected application with interface 210.
In some implementations, the list of application can be shown by GUI 208 in response to other users input, and/or can The default list of application is presented.For example, when selecting application market in mobile device 200 in application, welcome screen can be shown Curtain, the welcome screen include the default list of application.The default list of the application may include for example at most search for application or At most installation application.In addition, the list of the application can be shown based on type.For example, user can choose particular types (example Such as news, books, amusement), and the list of application corresponding with selected type can be shown.Using can from application appoint It selects in what list, is otherwise presented on GUI 208.
Application interface 210 includes application head part 212, mark part 214 and content part 216.Head point 212 includes institute 209 specific summary infos are applied in choosing.This may include such as Apply Names 218, application developer using specific information 220, application icon 222, installation condition 224 and sequence 226.Whether installation condition 224 includes currently installing with selected application 209 The related information in mobile device 200.In some implementations, sequence 226 is when selected application 209 is currently or previously mounted It sorts as provided by the user of the mobile device 200 when in mobile device 200.In some implementations, sequence 226 is multiple Sort average value provided by multiple users in mobile device.
Mark part 214 includes for example about label 228, comment label 230 and similar (or suggestion) label 232.It is marking When remembering that the user of the label mobile device 200 of part 214 chooses, content relevant to selected label is displayed on content part In 216.When selected, show in content part 216 and be related to and 209 related descriptions of selected application about label 228 Content.The description is provided by the developer of selected application 209.When selected, comment label 230 shows content part 216 Involved in the content of comment that provides of other users, which, which has, applies 209 using selected in corresponding mobile device Previous experiences.The comment may include text, audio, video etc..In addition, comment may include the sequence of selected application 209. When selected, similar (or suggestion) label 232 shows the suggestion application in content part 216 and in view of selected application 209 The related content of 236 list.Specifically, as discussed in further detail below, the display of similar tags 232 is in view of selected application 209 and be identified as suggestion suggestion apply 236 list 234.List 234 may be provided as scrollable list.Movement is set Standby 200 user can vertically the scroll list 234 so that list 236 is while hiding related application 236 currently shown Show other related application 236.It is recommended that may include each suggest using 236 using specific using 236 list 234 Information, such as Apply Names 238, application developer 240, application icon 242, price 244 and sequence 246.
Fig. 3 is to include for being by the exemplary components that one or more application is identified as suggestion application in view of selected application The block diagram of system 300.The system 300 includes inquiry log database 302, common weight engine 304, application database 306, first number According to engine 308, suggests application engine 310 and suggest application database 312.
Inquiry log database 302 provides information to common weight engine 304 in the form of inquiry log.The common weight Engine 304 handles inquiry log to generate the index (such as degree of correspondence between) of the common weight of application.For every A application, the index of the common weight of application include the list of the common weight for the application being proposed in view of the application.For example, The first application in the index of the common weight of application includes pair of the common weight for the application applied and be proposed in view of first First list is answered, the second application in the index of the common weight of application includes pair for the application applied and be proposed in view of second Answer second list.Inquiry log database 302 includes information related with the inquiry to application market application input.The information can To include such as event.As discussed in further detail below, example event may include clicking or installing.In some realizations In, and for given event, inquiry log can also include indicating that the event is originated from the list for the search result specifically inquired The record of interior position.Inquiry log is processed to generate the click and install first mapping of the inquiry to set of applications of number 305。
Application database 306 stores and can be used for calculating equipment (such as mobile device 200 of Fig. 2) downloading and calculating Installed in equipment using corresponding information.The application database 306 provides in application database 306 to metadata engine 308 The initial list of the application stored and with these apply related information.The metadata engine 308 handle this information with Associated metadata corresponding with each application is provided.The metadata may include for example Apply Names, developer's title, sequence, Price, type, using whether belonging to specific content (such as mature content) etc..Metadata engine 308 to suggest application engine 310 The metadata of these applications is provided.
It is recommended that application engine 310 receives the initial column of the application stored in application database 306 from metadata engine 308 Table and associated metadata and the index that the common weight applied is received from common weight engine 304.In some implementations, it answers The initial list of application is provided to suggestion application engine 310 with database 206.The suggestion application engine 310 is from the initial of application Removal is not based on metadata and is identified as the application of suggestion to the filter list to generate application pair in list.It is such as following into one What step was discussed in detail, which handles the filter list of application pair in view of the index of the common weight of application To generate the index for suggesting application.The suggestion application engine 310 provides the index for suggesting application to suggestion application database 312. The suggestion application database 312 stores the index for suggesting application.The index that the suggestion application database 312 applies suggestion can For application market.
In order to generate application common weight index, common weight engine 304 be based on mentioned from inquiry log database 302 The information of confession determines the common weight using between.As discussed above, it can handle in inquiry log database 302 Information (such as event) with provide with it is each inquiry (Q) to be identified as inquiry search result using (App) it is related First mapping 305.For each application of each corresponding inquiry, the first mapping 305 further includes the click number (C) and peace of application It fills number (I).For example, the inquiry Q of the first mapping 3051Generate, the search result including App1 and App2 it is (i.e. defeated in user Enter to inquire Q1When, App1 and App2 are presented as and inquiry Q1Corresponding search result).App1 includes from as inquiry Q1's The corresponding click number (C that the App1 of search result is obtained1,1) and corresponding installation number (I1,1).Equally, App2 includes from conduct Inquire Q1Search result App2 obtain corresponding click number (C2,1) and corresponding installation number (I2,1).As made herein , click instruction search user and at least applying related more letters with this to obtain using upper click from search result Breath.As used herein, the application that installation instruction search user actually downloads and installs.
Common weight engine 304 generate for first mapping 305 inquiry (Q) in each inquiry Hash with generate from Inquire the second mapping of Hash to application.For each application of each inquiry, common weight engine 304 be based on clicking number and Number is installed to determine the weighting of each application to generate the third mapping from inquiry Hash to application.The common weight engine 304 determine total weighting of each application on each inquiry Hash in inquiry Hash, determine the common weight of each application pair, And the common weight of each application pair is normalized.If the normalization of specific application pair weights more than threshold value, Normalization of the common weight engine 304 in the index of the common weight of application including the specific application pair weights.If specific Using pair normalization weighting be less than threshold value, then common weight engine 304 does not include this in the index of the common weight of application The normalization of specific application pair weights.
The example presented below for generating the first mapping.Common weight engine 304 is based on providing from inquiry log database 302 Information reflected to generate from inquiry (Q) to the first of the application (App) for being provided as in response to inquiring accordingly search result Penetrate (such as first mapping 305).For the purpose for simplifying description, this example includes four inquiry (Q1To Q4);However, example is suitable For any number of inquiry.Specifically, for each unique inquiry (Qn), it generates to the search for being provided as corresponding inquiry As a result the mapping of application (APPm).In this example, inquiry is mapped to using as follows:
First mapping
Q1→App1(C1,1,I1,1), App2 (C2,1,I2,1);
Q2→App1(C1,2,I1,2), App2 (C2,2,I2,2);
Q3→App1(C1,3,I1,3);And
Q4→App1(C1,4,I1,4),App3(C3,4,I3,4)。
It should be appreciated that first mapping provided above is example for illustration purposes only, it can be mapped that value is specific to be looked into The not limited to of the application of inquiry in this article provided by apply example numbers.
For each of being provided in response to inquiry n using m, Cm,nUsing m, in equipment, (such as mobile computing is set for instruction It is standby) on the total degree that is clicked, Im,nIndicate the total degree being mounted in equipment using m.Click or user couple to application The selection of application includes showing to apply related details with " being clicked " to user.
Common weight engine 304 removes the Hash of each inquiry in the inquiry for inquiring and generating the first mapping to provide From inquiry Hash to the second of application the mapping.In some implementations, removing inquiry may include that punctuation mark is removed from inquiry, The search terms of rearrangement inquiry remove the duplicate keys etc. in search inquiry.It continues the examples above, the second mapping can be provided It is as follows:
Second mapping
1 → App1 of Hash (C1,1,I1,1),App2(C2,1,I2,1)
2 → App1 of Hash (C1,2,I1,2),App2(C2,2,I2,2)
3 → App1 of Hash (C1,3,I1,3)
4 → App1 of Hash (C1,4,I1,4),App3(C3,4,I3,4)
Each application for each Hash, common weight engine 304 is determined based on click number and installation number to be added Power is to provide third mapping.Specifically, common weight engine 304 determines the weighting (w of each application (Appm)m,n).In some realities In existing, which can determine according to following relationship:
wm,n=Cm,n+αIm,n
Variable α changes the weighting applied to the installation number of application.In some implementations, the value of α can be greater than one, so that The installation number of application is more gravely weighted than the click number of application.Third mapping can be provided as follows:
Third mapping
Hash 1→App1(w1,1), App2 (w2,1)
Hash 2→App1(w1,2), App2 (w2,2)
Hash 3→App1(w1,3)
Hash 4→App1(w1,4), App3 (w3,4)
Common weight engine 304 determines total weighting of each application on each inquiry Hash in inquiry Hash.This is common Square summation of the weighting engine 304 to each weighting applied on all inquiry Hash.Specifically, total weighting of each application can To be determined based on following relationship:
App1→tw1=(w1,1)2+(w1,2)2+(w1,3)2+(w1,4)2
App2→tw2=(w2,1)2+(w2,2)2
App3→tw3=(w3,4)2
Common weight engine 304 determines the common weight of each application pair.Common weight awx,yIt can be based on following relationship Formula determines:
awx,y=sum (wx,i*wy,i)
Wherein x=1 ..., m;Y=1 ..., m;And i=1 ..., n.As non-limiting example, between App1 and App2 Common weight aw1,2It can be determined as follows:
aw1,2=w1,1*w2,1+w1,2*w2,2+w1,3*w2,3+w1,4*w2,4
However, weighting w in current non-limiting example2,3And w2,4It is zero (that is, not deposited in current non-limiting example In weighting w2,3And w2,4).Therefore, the common weight aw between App1 and App21,2Are as follows:
aw1,2=w1,1*w2,1+w1,2*w2,2
Continue this example, common weight engine 304 determines the common weight of each application as follows:
App1→App2(aw1,2),App3(aw1,3)
App2→App1(aw2,1)
App3→App1(aw3,1)
Common weight engine 304 normalizes the common weight of each application pair.The normalization common weight is as follows:
App1→App2(nw1,2),App3(nw1,3)
App2→App1(nw2,1)
App3→App1(nw3,1)
Wherein nwx,y=(awx,y/(twx+twy)。
In some implementations, normalization weighting is the factor using associated degree that mark applies centering.Each answer With pair normalization weighting be considered scoring, and compared with can normalizing and weight with threshold value.If specific application pair Normalization weighting threshold value normalization weighting more than, then common weight engine 304 output application common weight index in Specific application pair common weight.It is common to add if the normalization of specific application pair, which weights, is less than threshold value normalization weighting The common weight of specific application in the index for the common weight that power engine 304 does not export application.In one example, if nw1,2Greater than threshold value nwTHR, then common weight engine 304 includes common weight nw in the index of the common weight of application1,2.So And if nw1,2Less than threshold value nwTHR, then common weight engine 304 does not include common add in the index of the common weight of application Weigh nw1,2
Common weight engine 304 is added jointly based on the normalization that there is the normalization more than threshold value normalization weighting to weight It weighs to calculate the index of the common weight of application.As discussed above, for each application, the index of the common weight of application The list of common weight including the application more than threshold value normalization weighting.It continues the examples above, App1 will include suggestion and answer The corresponding lists of common weight, the list include the normalization common weight of App2 and App3.App2 will include suggestion and answer The corresponding lists of common weight, the list include the normalization common weight of App1;And App3 will include suggestion application Common weight corresponding lists, which includes the normalization common weight of App1.
It is recommended that application engine 310 receive the initial list of application stored in application database 306 and associated metadata with And the index of the common weight of application.Metadata may include filter metadata and/or scoring metadata.As described in detail below , which includes for the application to the initial list for carrying out self-application to the first number for being filtered (such as removal) According to.As described in detail below, which includes the general comment for determining application pair in conjunction with normalization common weight Divide any application in the application using centering being proposed to identify the selection in view of other application.More specifically, such as with Lower detailed description, which can be used for generating metadata scoring.Certain metadata can be provided as filtering Metadata and scoring metadata (can be used to filter and score both calculating).
In some implementations, it is proposed that application engine 310 carries out the filter metadata of the application in the initial list of application Compare to generate the filter list of application pair.If the filter metadata of the application of specific application centering is corresponding, related application Engine 310 includes the specific application pair in the filter list of application pair.If the mistake filtering element number of the application of specific application centering According to not corresponding to, then related application engine 310 does not include the specific application pair in the filter list of application pair.In addition, as following Detailed description, in some implementations, if the filter metadata of any application of specific application centering not more than threshold value, Then the application pair is removed from the filter list of application pair.
Filter metadata may include such as type metadata, content metadata, title metadata, descriptive metadata, peace Fill metadata, sequence metadata, place metadata and developer's scoring metadata.In some implementations, application can be compared The type metadata of the application of specific application centering in initial list.If it is determined that using with identical type (such as game, joy Happy, education) it is corresponding, then it can be by specific application to including in the filter list of application pair.However, if it is determined that using with phase Do not corresponded to type, then not by specific application to include application pair filter list in.
Content metadata can indicate the particular content of application.In some implementations, application content may include for example at People's content.The application of the specific application centering in the initial list of the application stored in application database 306 can be compared Content metadata.If it is determined that using corresponding with identical content (such as mature content), then can by specific application to include Using pair filter list in.However, if it is determined that do not corresponded to using with identical content, then not by specific application to including answering With pair filter list in.For example, the first of specific application centering the content metadata applied can indicate that the first application includes Mature content, and the content metadata of second application using centering can indicate that related content does not include mature content. As annotation, although application market can exclude include Pornograph application, still can get from application market Application including that can be considered as vulgar content (has for example including content related with sexy underwear and/or with bonkbuster The application of the content of pass).It continues the examples above, the content that application is disclosed to the comparison of the content metadata of application different (i.e. the One application includes mature content and the second application does not include mature content).Therefore, not by application to include application pair mistake It filters in list.
It can handle the title metadata of application.The title metadata includes the title for the application that can be shown to user, Such as Apply Names 218 or 238 shown in figure 2.If it is determined that at least one of the application of specific application centering is answered With including empty title (such as entitled blank), then not by the specific application to including in the filter list of application pair.
It can handle the descriptive metadata of application.The descriptive metadata includes the description with the application that can be shown to user Related information.The descriptive metadata can be provided by the developer applied.If it is determined that in the application of specific application centering At least one application include empty description (such as being described as blank), then not by the specific application to including filtering in application pair In list.
It can handle the installation metadata of application.In some implementations, which includes multiple calculating equipment (examples Such as calculate equipment 102) on the installation total number applied.If it is determined that at least one of application of specific application centering application Number is installed in minimum installation number hereinafter, including then in the filter list of application not by the application.In some implementations, should Installation metadata includes the unloading rate of application.Unloading rate is that the application unloading number of each application installation number (such as is being applied Installation after, user unloads the application).If it is determined that at least one of the application of specific application centering is applied and is unloaded in maximum More than load rate, then not by the application to including in the filter list of application.
It can handle the sequence metadata of application.In some implementations, which includes the sequence number of application. For example, total number of the sequence number for each sequence of association provided by the user (such as user 108) with application. If it is determined that the sequence number of at least one of application of specific application centering application is in minimum sequence number hereinafter, will not then The specific application to include application pair filter list in.In some implementations, sequence metadata includes the average row of application Sequence.The average sequence of application can be in any subset of the user (or all users) of application.If it is determined that specific application The average sequence of at least one of application of centering application is sorted in minimum average B configuration hereinafter, then not by the application to including answering With pair filter list in.
The place metadata of application can be compared.Place metadata instruction and the geographic area that application is supported here Related data.In some implementations, place can indicate the country that application is supported here, such as China or the U.S..? In some realizations, place can be indicated using the language being translated into.For example, given application can be come with German in English It provides.If the Locale information instruction of the application of specific application centering is overlapping, by the application to including in the filtering applied pair In list.Such as, if it is determined that application includes that language overlapping (such as two kinds of applications all provide in English) and/or country are overlapping (such as two kinds of applications all can get in the U.S.), then application is considered as corresponding with identical place and by corresponding application to packet It includes in the filter list of application pair.However, if it is determined that using not corresponding with identical place, then not by corresponding application to packet It includes in the filter list of application pair.
Developer's scoring metadata of application can be compared.Developer scoring can be related to being associated with the developer applied Sequence.For example, developer's sequence can be based on provided by the history sequence applied provided by developer or developer The average sequence of application.If it is determined that developer's scoring of at least one of application of specific application centering application is commented in minimum Point hereinafter, then not by the application to include apply pair filter list in.
In some implementations, it is proposed that the processing of application engine 310 is using the scoring metadata of the application of centering to generate first number According to scoring (ms).Specifically, it is proposed that the scoring metadata of the application of application centering is compared to generate member by application engine 310 Data scoring.As discussed in further detail below, it is proposed that application engine 310 will application centering application metadata scoring with Weighted array is normalized to provide overall score.The scoring metadata may include such as title metadata, descriptive metadata and be permitted It can metadata.
It can handle the title metadata of the application of specific application centering, and corresponding similarity score can be generated. Specifically, the similarity of the text of the title metadata of application is compared to generate title similarity score.
It can handle the descriptive metadata of the application of specific application centering, and can be generated and further beg in detail below The similarity score of opinion.Specifically, the similarity of the text of the descriptive metadata of application is compared similar to generate description Degree scoring.It can handle the title metadata and descriptive metadata of the application of specific application centering, and similarity can be generated Scoring.For example, can handle the title metadata of an application and the descriptive metadata of another application to generate title-description phase It scores like degree.It can handle the license metadata of the application of specific application centering, and corresponding similarity score can be generated. The license metadata may include and access API (application programming circle for calculating equipment (such as mobile device 200) using license Face), the related data of API of such as global positioning system (GPS) API or flash lamp.
As non-limiting example, following relationship can be used to provide each application to first number of (Appu, Appv) According to scoring (ms):
msu,v=[(k1×ConceptSimilarityu,v)×(k2×TitleSimilarityu,v)×(k3× TitleuDescriptionv Similarity)×(k4×TitlevDescriptionuSimilarity)×(k5× DescriptionSimilarityu,v)]×[(k6×PermissionSimilarityu,v)×(k7× TitleSimilarityu,v)]
It will be appreciated, however, that other relational expressions can be used to determine that metadata scores.
ConceptSimilarityu,vIt is commented for the concept similarity based on the text with each association in application Point.For example, can extract with the important word in extensive documentation (such as description of application) to be determined most based on search pattern Similar word.For small-sized document, can directly be extended.It is general that these are defined as the concept similarity scoring of document The weighted sum of thought, wherein the list of each concept word represents.
TitleSimilarityu,vFor the title phase of the similarity of the text based on the title metadata between application u and v It scores like degree.TitleuDescriptionvSimilarity is the text of title metadata and retouching for application v based on application u State title-description similarity scoring of the similarity of the text of metadata.TitlevDescriptionuSimilarity is base It is commented in title-description similarity of the similarity of the text of the descriptive metadata of the text and application u of the title metadata of application v Point.DescriptionSimilarityu,vFor the description of the similarity of the text based on the descriptive metadata between application u and v Similarity score.PermissionSimilarityu,vFor the license of the similarity based on the license metadata between application u and v Similarity score.Variable k1To k7Change to the weighting applied with the scoring of the respective meta-data of the variable association.
In this example, final related application engine 310 makes square phase of metadata scoring (ms) with normalization weighting (nw) Multiplied by the overall score (os) for generating application pair.The overall score can be provided as follows:
osu,v=(nwu,v)2x msu,v
Wherein u=1 ..., m, v=1 ..., m.It will be appreciated, however, that other relational expressions can be used to determine overall score. Metadata scoring (ms) can be any combination of calculated value of metadata scoring (such as title, description, license).
It is recommended that application engine 310 then can be by the overall score and overall score threshold of the application pair in the filter list of application pair Value compares.It is recommended that application engine 310 may then based on overall score determine using centering application whether sufficiently it is similar, make Can in view of suggest application index in the another application using centering select will apply centering application identities for It is recommended that.If overall score is more than overall score threshold value, it is recommended that 310 determination of application engine can be answered in view of using the another of centering It selects and the application identities of centering will be applied to be suggestion.If overall score is less than overall score threshold value, it is recommended that application engine Selecting for the 310 determining another applications in view of application centering cannot will be to suggest using the application identities of centering.In some realities In existing, it is proposed that application engine 310 is based on the application for the overall score having more than overall score threshold value to generating suggestion application Index.
In some implementations, overall score can be used for being ranked up for showing suggestion application.Show as non-limiting Example, it is proposed that application engine 310 is based on os1,2And os1,3Determine that App2 and App3 is identified as suggestion application in view of App1 respectively. In response to the application that user requests display to be proposed in view of App1, App2 and App3 can be according to based on the total of each application pair The collating sequence of scoring is shown.For example, if overall score os1,2Greater than overall score os1,3, then App2 will be according to higher than App3 Collating sequence show.
It is recommended that application engine 310 provides the index for suggesting application to suggestion application database 312.It is recommended that application database The index of application is suggested in 312 storages, is shown as mapping 316.It is recommended that the index that application database 312 enables suggestion to apply is used In application market.
Fig. 4 is the flow chart according to the instantiation procedure 400 that can be executed of the realization of present disclosure.The instantiation procedure 400 can be used one or more calculating equipment to execute.It is, for example, possible to use one or more server systems (such as Fig. 1 Server system 104) execute instantiation procedure 400.
It receives inquiry log (402).Total weighting tw is determined for each application m on all Hashm(404).For example, should Total weighting twmIt can be determined that on all Hash using the quadratic sum of each weighting of m.
For each application to determining common weight awx,y(406).For each application to determining common weight awx,y's Normalization weighting nwx,y(408).Common weight aw based on each application pairx,yTo generate the rope for the common weight that (410) are applied Draw.For example, the index of the common weight of application is based on the application pair with the normalization weighting more than threshold value normalization weighting.
Fig. 5 is flow chart of the diagram for the instantiation procedure 500 of filtration application list.The instantiation procedure 500 can be used One or more calculates equipment to execute.It is, for example, possible to use one or more server systems (such as server systems of Fig. 1 104) system executes instantiation procedure 500.
Receive the list (502) of application.For example, can receive the initial column of the application stored in application database 306 Table.It receives and applies metadata (504).This may include filter metadata and content metadata using metadata.Filter metadata It may include such as type metadata, title metadata, descriptive metadata, installation metadata, sequence metadata, place metadata With developer's scoring metadata.Based on filter metadata come the application in the initial list of filtration application to generate application pair Filter list (506).For each application pair in the filter list of application pair, commented based on scoring metadata to calculate metadata Divide (ms) (508).For each application pair in the filter list of application pair, based on normalization weighting (nw) and metadata scoring (ms) overall score (os) (510) are calculated.
Generate the index (512) for suggesting application.For example, for each application pair in the filter list of application pair, it will be total Scoring is compared with threshold value overall score.If using pair overall score be greater than threshold value overall score, will application centering application include In the index for suggesting application.If using pair overall score be not more than threshold value overall score, by application centering application wrap It includes in the index for suggesting application.
Fig. 6 is the process of instantiation procedure of the diagram for showing the application for being identified as suggestion application in view of selected application Figure.One or more calculating equipment can be used to execute in the instantiation procedure 600.It is, for example, possible to use one or more to service Device system (such as server system 104 of Fig. 1) executes instantiation procedure 600.
It receives search inquiry (602).The search inquiry may include search related with the type of specific application or application ?.It generates search result (604).The search result may include the list of identified application in response to search terms.This is searched Hitch fruit can be transmitted for showing (606).The search result can be in mobile computing device (such as mobile computing device 200) it is shown on.The user for receiving the selection of instruction application from search result inputs (608).It obtains and applies data (610).Example Such as, it obtains in response to user's selection of application using data.It obtains and suggests applying data (612).The suggestion application data with The application for being identified as suggestion in view of selected application corresponds to.Transmitting user data and suggestion application are for showing (614).The number According to can be shown on mobile computing device (such as mobile computing device 200).
The realization of present disclosure is related to one or more suggesting answering in view of identifying based on the selected application of user feedback With.In some instances, the search log in market provides and is clicked application and is mounted using corresponding data.It is corresponding each Using, can determine click or installation whether be originated from the application in view of it is selected apply and be shown as suggestion application.For example, if Click or installation be originated from the application in view of it is selected application and be shown as suggestion application, then search for log in storing data collection simultaneously And the data set may include that application identifier, type of interaction (such as click or install) and the suggestion apply and be in user Position in the list of existing suggestion application.The data can gather each application on all users of application market It closes.
As non-limiting example, the index (such as mapping 316 of Fig. 3) that can provide suggestion application is used for and applies city Field is used together.The accessible application market of user is searched for search for application.Search user can choose application and can be with Request the suggestion application based on selected application.Selected application is used as the input (such as keyword) of the index of suggestion application Suggest applying with the one or more of selected association to identify.Identified suggestion application is shown to search user.? In some examples, and it is as discussed above, it is shown according to collating sequence and suggests application.Suggest if search user clicks Using then corresponding to event data to inquiry log data-base recording.Example event data may include and suggest association Identifier, with suggest association click-through count device or install counter increment and click or install occur when build View applies the position in collating sequence.It is corresponding to inquiry log data-base recording if searching for user installation suggestion application Event data.The event data all suggestions application and user on polymerize so that inquiry log database offer be clicked/ It is mounted the list for suggesting application, and each suggestion is applied, each position in the list for suggesting application provides point Hit and install number.
In some realizations of present disclosure, event data provided in inquiry log database can handle with fixed Justice will show the sequence with the suggestion application of selected association.In some implementations, it can handle and to be provided in search log Possibility index of the event data to modify or more new suggested is applied.In this way, it is proposed that the index of application is considered that thing End user's feedback of part form is such as clicked or is installed.
It in some implementations, can be for suggesting each application provided in application references to generation feedback score (fs).In some instances, which is used to define the sequence that show with the suggestion application of selected association.One In a little examples, whether which may be used to determine will answer in view of an application using centering using the another of centering With being maintained suggestion application.In some instances, feedback score can be used to modify previously determined overall score (os) and (be used to Another application is identified as suggestion application in view of an application), and whether modified overall score may be used to determine and reflect In an application of application centering suggestion application will be maintained using the another application of centering.
In some implementations, feedback score is based on clicking number, installation data, installation multiplier, payment applications multiplier, position Multiplier and/or installation number are determined with the ratio between number rate is clicked.In some instances, will installation number multiplied by installation multiplier with The weighting bigger than clicking number (for example, installation multiplier is > 1) is provided to installation number.In some instances, installation number is multiplied With payment applications multiplier to provide the bigger weighting of application than user charges to mounted application.In some instances, it pays Take and be equal to one for free application using multiplier, and for payment applications is > 1.It can be to (such as using begging for above After the multiplier modification of opinion) click number and installation number summation, and it can be by summation multiplied by position multiplier and above-mentioned ratio Both rates.In some instances, position multiplier is used to provide the column than applying when event is generated in suggestion to suggestion application Bigger weighting is applied in lower position in table.In this way, it may be considered that be rolled to suggestion application to less user The fact that the bottom of list.
In some instances, multiple clicks-position multiplier can be provided.Each click-position multiplier can be answered with suggestion Corresponding position association in list.For example, the first click-position multiplier can be associated with first position, the second click-position Setting multiplier can be associated with the second position, and so on.Each click-position multiplier can based on top (such as highest arrange Tagmeme is set) it associated click number and is determined with the associated click number in corresponding position.In some instances, each click- Position multiplier can be determined that with the associated click number of top position and the ratio between with the associated click number in corresponding position.Example Such as, with the associated click number of top position it is 10 and is 8 with the associated click number in corresponding position, then is closed with corresponding position The click of connection-position multiplier is 1.25 (such as 10/8).
Similar to click-position multiplier, in some instances, multiple installations-position multiplier can be provided.Each installation- Position multiplier can be associated with the corresponding position in the list for suggesting application.For example, the first installation-position multiplier can be with first Position association, the second installation-position multiplier can be associated with the second position, and so on.Each installation-position multiplier can be with base In determining with top (such as highest sorting position) associated installation number and with the associated installation number in corresponding position.One In a little examples, each installation-position multiplier can be determined that with the associated installation number of top position and close with corresponding position The ratio between installation number of connection.For example, with the associated installation number of top position be 10 and with the associated installation number in corresponding position Mesh is 5, then is 2 (such as 10/5) with the associated installation in corresponding position-position multiplier.
In some implementations, feedback score is stored in the index of suggestion application and to show to user for defining Suggestion application sequence.For example, the search accessible application market of user is to search for application.Search user can choose application And suggestion application can be requested based on selected application.Selected application is used as the input (example of the index of suggestion application Such as keyword) suggest applying with the one or more of selected association to identify.The suggestion identified is applied according to based on building The sequence that the respective feedback of view application scores and defines to show to search user.In some instances, this is sequentially provided as The descending of feedback score.
Fig. 7 be include for identify based on user feedback suggestion application exemplary components system 700 block diagram.This shows Example component includes inquiry log database 302, feedback score (fs) engine 710 and suggestion application database 312.These components can Computer is performed to be implemented as one or more computer-readable memories and one or more processing can be used Executable program.
Program log database 302 provides search log 702, which includes and in view of the one of selected application A or multiple event datas for suggesting association.For example, as being discussed in detail above, previously by App2 and App3 in view of App1 is identified as suggestion application, and App2 and App3 is provided in the index (mapping 316 of Fig. 3) for suggesting application.Search for day Will 702 includes the event data with each suggestion association in suggestion application, which has been based on user feedback It generates.In discribed example, event data include hits mesh (C), installation number (I) and with click number and installation The associated position data of number (P).In some instances, suggest application in view of the one or more of selected application (such as App1) (such as App2) can have one or more values for clicking number, installation number and location data.For example, depending on meter Calculate equipment 102A to 102F and generate the time of current mapping 316, App2 can have unused position data, and with it is each The click number and installation number of the related App2 of position data can be stored in search log by inquiry log database 302 In 702.In some instances, position data instruction association when generating correlating event is suggested applying in the list for suggesting application Position.
Feedback score engine 710 obtains search daily record data and for suggestion application provided in search log 702 In each suggestion application generate feedback score.The feedback score engine 710 provides feedback to suggestion application database 312 and comments Point so that each feedback score store and to suggest apply index in corresponding suggestion association, such as map 316'.It is recommended that application database 312 makes mapping 316 ' can be used for application market.
Fig. 8 is the flow chart of instantiation procedure 800 of the diagram for identifying the suggestion application based on user feedback.The example mistake One or more calculating equipment can be used to execute in journey 800.It is, for example, possible to use one or more server systems (such as The server system 104 of Fig. 1) execute instantiation procedure 800.
Receive search log (802).For example, the feedback score engine 710 of Fig. 7 is searched from the reception of inquiry log database 302 Suo Zhi.It generates feedback score (804).For example, the event number provided in the processing search log of feedback score engine 710 of Fig. 7 Feedback score, each feedback score and suggestion association are generated accordingly.Feedback score is stored to the index for suggesting application (806)。
The realization of present disclosure and all feature operations provided herein with Fundamental Digital Circuit or can use tricks Calculation machine software, firmware or hardware, including disclosed in this specification and its structural equivalents structure or one of those Or multiple combination is realized.The realization of present disclosure can be implemented as one or more computer program products, that is, count One or more modules of the computer program instructions encoded on calculation machine readable medium, these instructions are held by data processing equipment The capable or operation to control data processing equipment.The computer-readable medium can be machine readable storage device, machine Readable storage substrate, memory devices, the composition or one or more group for influencing machine readable transmitting signal It closes.Term " data processing equipment " covers all devices, equipment and the machine for handling data, including for example programmable processing Device, computer or multiple processors or computer.In addition to hardware, the apparatus may include the computer journeys to be discussed Sequence create performing environment code, such as constitute processor firmware, protocol stack, data base management system, operating system or its One or more of combined code.
Computer program (also referred to as program, software, software application, script or code) can use any type of programming language (including compiler language or interpretative code) is sayed to write, and computer program can be disposed with any form, including conduct Stand-alone program as module, component, subroutine or is suitble to other units for using in a computing environment.Computer program Not necessarily correspond to the file in file system.Program, which can store, is keeping other programs or data (such as markup language The one or more scripts stored in document) file part in, be stored in the single text for being exclusively used in discussed program In part, either it is stored in multiple coordinated files and (such as stores the text of the part of one or more modules, subprogram or code Part) in.Computer program can be deployed on a computer to execute, or be located at a website or be distributed in At multiple websites and pass through interconnection of telecommunication network multiple computers on execute.
Process described in present disclosure and logic flow can be by one of the one or more computer programs of execution Or multiple programmable processors are executed to pass through operation input data and generate output and execute function.The process and logic Stream can also be executed by dedicated logic circuit, and device also can be implemented as the dedicated logic circuit, special logic electricity Road is, for example, FPGA (field programmable gate array) or ASIC (specific integrated circuit).
The processor for being suitably executed computer program includes both for example general and special microprocessors and any type Digital computer any one or more processors.In general, processor is from read-only memory or random access memory Or the two receives instruction and data.The element of computer may include processor for executing instruction and refer to for storing Enable one or more memory devices with data.In general, computer will also include one or more mass memory units so as to Storing data or the computer are operationally coupled to receive from mass memory unit or transmit data to mass memory unit Perhaps the two mass memory unit is, for example, disk, magneto-optic disk or CD.However, computer is not needed with such Equipment.In addition, computer can be embedded in another equipment, which is, for example, mobile phone, personal digital assistant (PDA), Mobile audio player, global positioning system (GPS) receiver etc..It is suitble to storage computer program instructions and data Computer-readable medium includes the nonvolatile memory, medium and memory devices of form of ownership, including for example: semiconductor is deposited Storage device, such as EPROM, EEPROM and flash memory device;Disk, such as built-in hard disk or removable disk;Magneto-optic disk;And CD ROM With DVD-ROM disk.The processor and memory can be supplemented or are incorporated in the dedicated logic circuit with dedicated logic circuit.
In order to provide the interaction with user, realizing for present disclosure can have for showing the aobvious of information to user Show equipment (such as CRT (cathode-ray tube) or LCD (liquid crystal display) monitor) and keyboard and pointing device (such as mouse Or tracking ball, input can be provided to computer by its user) computer on realize.Also it can be used other kinds of Equipment provides the interaction with user;For example, the feedback provided a user may be any type of sense feedback, such as vision Feedback, audio feedback or touch feedback;And input from the user can receive in any form, including the sense of hearing, language Sound or tactile input.
Although present disclosure includes some details, these details should not be interpreted as to present disclosure or The limitation of the range of claimed content, but should be understood as retouching to the feature of the example implementation of present disclosure It states.Certain features described in the situation being implemented separately can also be combined with single realization to provide in present disclosure.Phase Instead, each feature described in the situation individually realized can also provide in multiple realizations or in any conjunction respectively It is provided in suitable sub-portfolio.Although in addition, can describe feature as executing and even initial in some combination above It requires to protect in this way, however can remove from combination in some cases from claimed combined one or more Feature, and claimed combination can be related to the variation of sub-portfolio or sub-portfolio.
Similarly, although describing operation according to particular order in the accompanying drawings, this is understood not to require this The operation of sample particular order shown in perhaps executes or requires all illustrated operations all to be held according to sequential order Row, to realize desired result.In some circumstances, multitask and parallel processing may be advantageous.In addition, described above The separation of various system units in realization is understood not to require such separation in all realizations, and should Understanding, described program element and system usually can integrate or be packaged into single software product multiple Software product.
Therefore, it has been described that the specific implementation of present disclosure.Other are realized in the range of following claims.Example Such as, the movement recorded in claim can execute in a different order, and these movements still may be implemented it is expected Result.A large amount of realizations have been described.It will be appreciated, however, that can be in the spirit and scope without departing from present disclosure In the case of make various modifications.It is, for example, possible to use each forms of process illustrated above, and wherein step can be arranged again Sequence, addition or removal.Therefore, other are realized in the range of following claims.

Claims (20)

1. a kind of computer implemented system, comprising:
One or more computers;And
It is coupled to the computer-readable medium of one or more of computers, there is the instruction being stored thereon, described instruction One or more of computers are made to execute operation when being executed by one or more of computers, the operation includes:
Receive search log, described search log include inquiry and with multiple associations as obtained by application market Event data;
For each inquiry, the weighting of each application is determined based on the event data;
For each application, total weighting of the application is determined based on the weighting of the application of each inquiry;
Total weighting based on each application, for each application in the application to determining common weight;
For each application pair in the multiple application, the index of common weight is generated;
It receives to one or more requests for suggesting application with selected association, the multiple application includes that the suggestion is answered With with selected application;
The set of suggestion application is identified based on the index of selected application and the common weight;
For each suggestion application in the set for suggesting application, the suggestion application is determined based on the event data Feedback score;And
Based on the index and ii of the i) common weight) it is each suggest application the feedback score come generate suggestion application rope Draw.
2. system according to claim 1, wherein for accordingly suggesting that the feedback score of application is based on corresponding answering to described It is determined with associated event.
3. system according to claim 2, wherein the event package is included to the click and the suggestion for suggesting application The installation of application.
4. system according to claim 2, wherein the event, which is based on the corresponding suggestion application, is just provided at suggestion It is generated in the list of application.
5. system according to claim 1, wherein for accordingly suggesting that the feedback score of application is based on corresponding building to described It discusses the click number of association and is determined to the corresponding installation number for suggesting association.
6. system according to claim 5 is answered wherein the feedback score is also based on installation multiplier, position multiplier and payment It is determined at least one in multiplier.
7. system according to claim 6, wherein the installation multiplier is applied to the installation number and is greater than one.
8. system according to claim 6, wherein operating further include:
Determine that the corresponding suggestion application is payment applications;
The payment applications multiplier is provided as the value greater than one;And
The payment applications multiplier is applied to the installation number.
9. system according to claim 6, wherein operating further include:
Determine that the corresponding suggestion application is not paid for applying;
The payment applications multiplier is provided as the value equal to one;And
The payment applications multiplier is applied to the installation number.
10. system according to claim 6, wherein for each click in the click number, the position multiplier The position in the list for suggesting application is applied to be determined based on the corresponding suggestion.
11. system according to claim 6, wherein for each installation in the installation number, the position multiplier The position in the list for suggesting application is applied to be determined based on the corresponding suggestion.
12. a kind of encode the computer storage medium for having computer program, described program includes instruction, and described instruction is by one Or multiple computers make one or more of computers execute operation when executing, the operation includes:
Receive search log, described search log include inquiry and with multiple associations as obtained by application market Event data;
For each inquiry, the weighting of each application is determined based on the event data;
For each application, total weighting of the application is determined based on the weighting of the application of each inquiry;
Total weighting based on each application, for each application in the application to determining common weight;
For each application pair in the multiple application, the index of common weight is generated;
It receives to one or more requests for suggesting application with selected association, the multiple application includes that the suggestion is answered With with selected application;
The set of suggestion application is identified based on the index of selected application and the common weight;
For each suggestion application in the set for suggesting application, the suggestion application is determined based on the event data Feedback score;And
Based on the index and ii of the i) common weight) it is each suggest application the feedback score come generate suggestion application rope Draw.
13. computer storage medium according to claim 12, wherein for accordingly suggesting that the feedback score of application is based on It is determined with the associated event of the respective application.
14. computer storage medium according to claim 13, wherein the event package is included to the point for suggesting application It hits and the installation for suggesting application.
15. computer storage medium according to claim 13, wherein the event is being based on the corresponding suggestion application just It is provided in the list of suggestion application and is generated.
16. computer storage medium according to claim 12, wherein for accordingly suggesting that the feedback score of application is based on It is determined to the corresponding click number for suggesting association and with the corresponding installation number for suggesting association.
17. a method of computer implementation, comprising:
Search log is received, described search log includes inquiry and closes with the application of multiple suggestions as obtained by application market The event data of connection;
For each inquiry, the weighting of each application is determined based on the event data;
For each application, total weighting of the application is determined based on the weighting of the application of each inquiry;
Total weighting based on each application, for each application in the application to determining common weight;
For each application pair in the multiple application, the index of common weight is generated;
It receives to one or more requests for suggesting application with selected association, the multiple application includes that the suggestion is answered With with selected application;
The set of suggestion application is identified based on the index of selected application and the common weight;
For each suggestion application in the set for suggesting application, the suggestion application is determined based on the event data Feedback score;And
Based on the index and ii of the i) common weight) it is each suggest application the feedback score come generate suggestion application rope Draw.
18. computer implemented method according to claim 17, wherein the feedback score base for accordingly suggesting application It is determined in the associated event of the respective application.
19. computer implemented method according to claim 18, wherein the event package is included to the suggestion application It clicks and the installation for suggesting application.
20. computer implemented method according to claim 18, wherein the event is based on the corresponding suggestion application It is just being provided in the list of suggestion application and is being generated.
CN201280074559.8A 2012-05-09 2012-05-09 The computer implemented system and method that application is recommended are generated based on user feedback Active CN104871193B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/037122 WO2013169245A2 (en) 2012-05-09 2012-05-09 Generating application recommendations based on user feedback

Publications (2)

Publication Number Publication Date
CN104871193A CN104871193A (en) 2015-08-26
CN104871193B true CN104871193B (en) 2019-01-04

Family

ID=46124762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280074559.8A Active CN104871193B (en) 2012-05-09 2012-05-09 The computer implemented system and method that application is recommended are generated based on user feedback

Country Status (3)

Country Link
EP (1) EP2864945A4 (en)
CN (1) CN104871193B (en)
WO (1) WO2013169245A2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012154848A1 (en) 2011-05-09 2012-11-15 Google Inc. Recommending applications for mobile devices based on installation histories
WO2012154856A1 (en) 2011-05-09 2012-11-15 Google Inc. Identifying applications of interest based on application metadata
WO2012154838A2 (en) 2011-05-09 2012-11-15 Google Inc. Generating application recommendations based on user installed applications
US9832504B2 (en) * 2015-09-15 2017-11-28 Google Inc. Event-based content distribution
CN105373887B (en) * 2015-11-12 2020-12-01 腾讯科技(深圳)有限公司 Quality evaluation method and system for terminal application
CN106878041B (en) * 2015-12-11 2020-11-20 阿里巴巴(中国)有限公司 Log information processing method, device and system
US11538095B2 (en) 2016-03-22 2022-12-27 Tupl Inc. Virtual marketplace for distributed tools in an enterprise environment
US10929912B2 (en) 2016-03-22 2021-02-23 Tupl Inc. Virtual marketplace for distributed tools in an enterprise environment
CN107563679B (en) * 2017-10-17 2020-05-22 广东小天才科技有限公司 Application software detection method and service equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101828185A (en) * 2007-10-18 2010-09-08 微软公司 Ranking and providing search results based in part on a number of click-through features
EP2230605A1 (en) * 2009-03-16 2010-09-22 Apple Inc. Accessory and mobile computing device communication using an application communication protocol
US20110087975A1 (en) * 2009-10-13 2011-04-14 Sony Ericsson Mobile Communications Ab Method and arrangement in a data
US20110320307A1 (en) * 2010-06-18 2011-12-29 Google Inc. Context-influenced application recommendations
US20110320441A1 (en) * 2010-06-25 2011-12-29 Microsoft Corporation Adjusting search results based on user social profiles

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523099B1 (en) * 2004-12-30 2009-04-21 Google Inc. Category suggestions relating to a search

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101828185A (en) * 2007-10-18 2010-09-08 微软公司 Ranking and providing search results based in part on a number of click-through features
EP2230605A1 (en) * 2009-03-16 2010-09-22 Apple Inc. Accessory and mobile computing device communication using an application communication protocol
US20110087975A1 (en) * 2009-10-13 2011-04-14 Sony Ericsson Mobile Communications Ab Method and arrangement in a data
US20110320307A1 (en) * 2010-06-18 2011-12-29 Google Inc. Context-influenced application recommendations
US20110320441A1 (en) * 2010-06-25 2011-12-29 Microsoft Corporation Adjusting search results based on user social profiles

Also Published As

Publication number Publication date
EP2864945A4 (en) 2016-04-20
WO2013169245A2 (en) 2013-11-14
WO2013169245A3 (en) 2015-03-19
EP2864945A2 (en) 2015-04-29
CN104871193A (en) 2015-08-26

Similar Documents

Publication Publication Date Title
CN104871193B (en) The computer implemented system and method that application is recommended are generated based on user feedback
US8819025B2 (en) Recommending applications for mobile devices based on installation histories
US8825663B2 (en) Using application metadata to identify applications of interest
US8566173B2 (en) Using application market log data to identify applications of interest
US20220269741A1 (en) Generating sequential segments with pre-sequence or post-sequence analytics data
US9626443B2 (en) Searching and accessing application functionality
US8924955B2 (en) Generating application recommendations based on user installed applications
US11295339B1 (en) Tracking user conversions across mobile applications and browsers
WO2015175384A1 (en) Query categorizer
WO2010114790A1 (en) Multi-strategy generation of product recommendations
US20070282670A1 (en) Providing a rating for a software product based on weighted user feedback
US9032392B2 (en) Similarity engine for facilitating re-creation of an application collection of a source computing device on a destination computing device
JP6564034B2 (en) Item map for app store app
US20160253744A1 (en) Information processing system, information processing system control method, information processing device, information processing device control method, program, and information storage medium
EP2700026A1 (en) Method and apparatus for providing feature-based collaborative filtering
US8990700B2 (en) Rating and review interface
JP5551030B2 (en) Application distribution apparatus and application distribution method
WO2015116337A1 (en) Clustered browse history
US10387934B1 (en) Method medium and system for category prediction for a changed shopping mission
CN106033312A (en) An application program sharing method and an electronic apparatus
KR20130057446A (en) System and method of participation search service for providing contents of interest
US20160379258A1 (en) Bid Based Search System
JPWO2016017001A1 (en) SEARCH DEVICE, SEARCH METHOD, RECORDING MEDIUM, AND PROGRAM

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant