US2022365939A1PendingUtilityA1

Methods and systems for client side search ranking improvements

Assignee: APPLE INCPriority: Sep 29, 2017Filed: Mar 31, 2022Published: Nov 17, 2022
Est. expirySep 29, 2037(~11.2 yrs left)· nominal 20-yr term from priority
G06F 16/24578G06F 16/2471G06F 16/9535
61
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and systems for client side search ranking improvements are disclosed. In one example, a search query is received from a user on a client device. The local search results are filtered based on the received search query and one or more local ranking rules. Features for each filtered local search result are computed. The computed features of each filtered local search result are input to one or more machine learning (ML) models. Each ML model can generate a score for each filtered local search result. The filtered local search results are ranked based on the generated score within a category. In one example, local search results and remote server search results are obtained. The local search results and remote server search results are ranked using at least one machine learning (ML) ranking model. The ranked local search results and remote server search results are displayed on the client device by category.

Claims

exact text as granted — not AI-modified
1 - 32 . (canceled) 
     
     
         33 . A computer-implemented method comprising:
 receiving a search query from a user on a client device;   filtering local search results based on the received search query and one or more local ranking rules;   computing features for each filtered local search result, wherein computing features for the filtered local search results includes computing values for the computed features to anonymize user data;   inputting the computed features of each filtered local search result to one or more machine learning (ML) models, each ML model generating a score for each filtered local search result;   ranking the filtered local search results based on the generated score within a category; and   ranking a plurality of categories for the filtered local search results based on at least one generated score of the filtered local search results within each category from the plurality.   
     
     
         34 . The method of  claim 33 , wherein filtering the local search results comprises:
 applying the one or more ranking rules to each local search result to generate a bit vector including individual bits representing applicable ranking rules and one or more fixed combination of bits representing one or more count values;   comparing the one or more count values of each bit vector to rank the local search results based on the comparison; and   identifying a set of top ranked local search results as the filtered local search results.   
     
     
         35 . The method of  claim 34 , wherein the one or more count values in each bit vector of at least indicates a number of ranking rules applicable to each local search result. 
     
     
         36 . The method of  claim 35 , wherein identifying the set of top ranked local search results as the filtered local search results includes ranking higher local search results with bit vectors having count values with higher numbers than local search results with bit vectors having count values with lower numbers. 
     
     
         37 . The method of  claim 36 , wherein identifying the set of top ranked local search results includes selecting a subset of higher ranked local search results. 
     
     
         38 . The method of  claim 33 , further comprising:
 transforming the computed features of the filtered local search results for processing by the one or more ML models; and   inputting the transformed computed features of the filtered local search results to the one or more machine learning (ML) models, each ML model generating a score for each filtered local search result.   
     
     
         39 . The method of  claim 38 , wherein transforming the computed features uses feature dependent transformation operations. 
     
     
         40 . The method of  claim 38 , wherein inputting the transformed computed features of the filtered local search results including inputting a first set of transformed computed features to a first ML model and a second set of computed features to a second ML model, the first ML model generating a first score and the second ML model generating a second score, and combining the first score with the second score to rank the filtered local search results. 
     
     
         41 . The method of  claim 40 , wherein the first set and second set include different computed features. 
     
     
         42 . The method of  claim 33 , further comprising:
 obtaining local search results and remote server search results;   ranking the obtained local search results and remote server search results using at least one machine learning (ML) ranking model; and   displaying the ranked local search results and remote server search results on the client device by category.   
     
     
         43 . The method of  claim 42 , further comprising:
 selecting a first processing path or a second processing path to rank the obtained local search results and remote server search results.   
     
     
         44 . The method of  claim 42 , wherein if the first processing path is selected, the method further comprises:
 computing additional features for the remote server search results;   inputting the additional computed features for the remote server search results and computed features of top ranked local search results to a first machine learning (ML) ranking model;   generating a score for each of the local search results and remote server search results by the first ML ranking model; and   displaying the ranked local search results and remote server search results by category.   
     
     
         45 . The method of  claim 42 , wherein if the second processing path is selected, the method further comprises:
 computing a subset of features for top ranked local search results;   obtaining features of remote server search results;   inputting computed subset of features for top ranked local search results and features of remote server search results to a second machine learning (ML) ranking model;   generating a score for each of the local search results and remote server search results by the second ML ranking model;   ranking the local search results and remote server search based on the generated score; and   displaying the ranked local search results and remote server search results by category.   
     
     
         46 . The method of  claim 43 , further comprising:
 computing additional features for the remote server search results;   inputting the additional computed features for the remote server search results and computed features of top ranked local search results to a third machine learning (ML) ranking model;   generating a score for each of the local search results and remote server search results by the third ML ranking model;   computing a subset of features for top ranked local search results;   obtaining features of remote server search results;   inputting computed subset of features for top ranked local search results and features of remote server search results to a fourth machine learning (ML) ranking model;   generating a score for each of the local search results and remote server search results by the fourth ML ranking model;   combining the scores of the third and fourth ML ranking models; and   ranking the local search results and remote server search based on the combined scores; and   displaying the ranked local search results and remote server search results by category.   
     
     
         47 . A computing device comprising:
 a memory programmed with executable instructions; and   a processing system coupled to the memory to execute the executable instructions and to receive a search query from a user on a client device;
 filter local search results based on the received search query and one or more local ranking rules; 
 compute features for each filtered local search result, wherein computing features for the filtered local search results includes computing values for the computed features to anonymize user data; 
 input the computed features of each filtered local search result to one or more machine learning (ML) models, each ML model generating a score for each filtered local search result; 
 rank the filtered local search results based on the generated score within a category; and 
 rank a plurality of categories for of the filtered local search results based on at least one generated score of the filtered local search results within each category from the plurality. 
   
     
     
         48 . The computing device of  claim 47 , wherein the processing system is to
 apply the one or more ranking rules to each local search result to generate a bit vector including individual bits representing applicable ranking rules and one or more fixed combination of bits representing one or more count values;   compare the one or more count values of each bit vector to rank the local search results based on the comparison; and   identify a set of top ranked local search results as the filtered local search results.   
     
     
         49 . The computing device of  claim 48 , wherein the one or more count values in each bit vector at least indicates a number of ranking rules applicable to each local search result. 
     
     
         50 . The computing device of  claim 47 , wherein the processing system is to rank higher local search results with bit vectors having count values with higher numbers than local search results with bit vectors having count values with lower numbers. 
     
     
         51 . The computing device of  claim 49 , wherein the processing system is to identify the set of top ranked local search results includes selecting a subset of higher ranked local search results. 
     
     
         52 . The computing device of  claim 47 , wherein the processing system is to transform the computed features of the filtered local search results for processing by the one or more ML models, and input the transformed computed features of the filtered local search results to the one or more machine learning (ML) models, each ML model generating a score for each filtered local search result of each category. 
     
     
         53 . The computing device of  claim 47 , wherein the processing system is to use feature dependent transformation operations to transform the computed features. 
     
     
         54 . The computing device of  claim 47 , wherein the processing system is to input a first set of transformed computed features to a first ML model and second set of computed features to a second ML model, the first ML model generating a first score and the second ML model generating a second score, and combine the first score and the second score to rank the filtered local search results, and wherein the first set and second set include different computed features. 
     
     
         55 . The computing device of  claim 47 , wherein the processing system is to obtain local search results and remote server search results, rank the obtained local search results and remote server search results using at least one machine learning (ML) ranking model, display the ranked local search results and remote server search results on the client device by category. 
     
     
         56 . A non-transitory machine-readable medium programmed with instructions that, when executed by a computing device, cause the computing device to perform operations comprising:
 receiving a search query from a user on a client device;   filtering local search results based on the received search query and one or more local ranking rules;   computing features for each filtered local search result, wherein computing features for the filtered local search results includes computing values for the computed features to anonymize user data;   inputting the computed features of each filtered local search result to one or more machine learning (ML) models, each ML model generating a score for each filtered local search result;   ranking the filtered local search results based on the generated score within a category; and   ranking a plurality of categories for of the filtered local search results based on at least one generated score of the filtered local search results within each category from the plurality.   
     
     
         57 . The non-transitory machine-readable medium of  claim 56 , to cause the computing device to perform operations comprising:
 applying the one or more ranking rules to each local search result to generate a bit vector including individual bits representing applicable ranking rules and one or more fixed combination of bits representing one or more count values;   comparing the one or more count values of each bit vector to rank the local search results based on the comparison; and   identifying a set of top ranked local search results as the filtered local search results.   
     
     
         58 . The non-transitory machine-readable medium of  claim 57 , to cause the computing device to perform operations comprising:
 ranking higher local search results with bit vectors having count values with higher numbers than local search results with bit vectors having count values with lower numbers; and   selecting a subset of higher ranked local search results.   
     
     
         59 . The non-transitory machine-readable medium of  claim 57 , to cause the computing device to perform operations comprising:
 transforming the computed features of the filtered local search results for processing by the one or more ML models; and   inputting the transformed computed features of the filtered local search results to the one or more machine learning (ML) models, each ML model generating a score for each filtered local search result.   
     
     
         60 . The non-transitory machine-readable medium of  claim 58 , to cause the computing device to perform operations comprising:
 inputting a first set of transformed computed features to a first ML model and a second set of computed features to a second ML model, the first ML model generating a first score and the second ML model generating a second score; and   combining the first score with the second score to rank the filtered local search results.   
     
     
         61 . The non-transitory machine-readable medium of  claim 59 , to cause the computing device to perform operations comprising:
 obtaining local search results and remote server search results;   ranking the obtained local search results and remote server search results using at least one machine learning (ML) ranking model; and   displaying the ranked local search results and remote server search results on the client device by category.

Join the waitlist — get patent alerts

Track US2022365939A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.