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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search 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
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.
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7523099B1 (en) * | 2004-12-30 | 2009-04-21 | Google Inc. | Category suggestions relating to a search |
-
2012
- 2012-05-09 CN CN201280074559.8A patent/CN104871193B/en active Active
- 2012-05-09 WO PCT/US2012/037122 patent/WO2013169245A2/en active Application Filing
- 2012-05-09 EP EP12722035.8A patent/EP2864945A4/en not_active Withdrawn
Patent Citations (5)
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 |