Client-Side ML Model for Search Result Prefetching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current search engine technologies face inefficiencies in displaying search results quickly, especially on slower data connections and devices with limited computing power, due to unnecessary prefetching of results that do not match the final query, increasing the workload on both the search system and user device.
Innovation Solution
A user-specific trained machine learning model is employed to predict desired search results by analyzing query prefixes, user history, and local information, allowing for selective prefetching only when the confidence level exceeds a threshold, reducing incorrect prefetches and optimizing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If search results are prefetched in advance, then display time is reduced, but incorrect prefetches increase system workload
Solution Approach 1:
The system performs preliminary actions by prefetching search results in advance before the user actually submits the complete query. The browser predicts potential search queries based on typed characters and prefetches corresponding results, so that when the user completes the query, results are already available locally, reducing display time.
Solution Approach 2:
The system implements feedback mechanisms by monitoring whether prefetched results are actually used. When a prefetch is incorrect (the user submits a different query), the system learns from this feedback and adjusts future prefetching behavior. The system tracks usage patterns and refines its prediction accuracy based on actual user behavior, reducing incorrect prefetches over time.
2Speed
If prefetching is performed on user devices, then display speed improves, but computing power requirements increase
Solution Approach 1:
The system segments the prefetching workload by dividing it into different components handled at different locations. The browser on the user device handles lightweight prediction tasks (analyzing typed characters and local history), while the search engine server handles the computationally intensive tasks of actually searching and retrieving results. This segmentation allows fast local decision-making without overburdening the user device.
Solution Approach 2:
The system introduces an intermediary mechanism where the browser acts as a local predictor that makes intelligent decisions about what to prefetch based on limited local computation. The browser analyzes query prefixes and user history locally to make prediction decisions, then delegates the actual result retrieval to the search engine server, balancing local speed improvements with server-side computational power.
3Reliability
If more results are prefetched, then match probability increases, but bandwidth consumption increases
Solution Approach 1:
The system dynamically changes parameters based on context by adjusting prefetching behavior according to confidence levels. When the browser has high confidence in a predicted query (based on matching patterns in user history and current input), it performs prefetching. When confidence is low, it avoids prefetching to save bandwidth. This parameter-based approach optimizes the balance between match probability and resource consumption.
Data Source
AI summary
Representative embodiments disclose mechanisms to improve the perceived responsiveness of a search engine. As a user types a query prefix into a browser or other interface to the search engine, the search engine returns query completion suggestions to the browser. The query completion suggestions, user history, user favorites and/or other information are presented to a trained machine learning model on the client device to predict a desired location that the user is attempting to navigate to. When the confidence level of the predicted location surpasses a threshold, content from the desired location is preloaded into a hidden tab in the browser. When the user submits a query, the browser submits feedback to a system responsible for updating and refining the machine learning model. Updated machine learning model coefficients can be received by the browser from the system to make predictions more accurate.


