Interactive searches based on automatic suggestions, table lookups, with autofill / lookahead typing have become a norm in the modern day. This interactive behavior involves responding to a text query of a user based on keyword(s), before he even completes typing the complete keyword. Typing mistakes and spelling mistakes are often common in such scenarios. The systems usually cannot provide suggestions in advance for these mistakes.In cases where the mistakes are understood by the backend returning the results of the query, the engine can show suggestions for even wrong spellings. The above capability is limited for common names, and common mistakes which can be understood by the backend. Based on a reference corpus, which is limited to the scalability of the backend code resolving the spelling mistakes and needs all engines/backend to implement spell checks and typing errors resolution code. The solution proposed is to Monitor user interaction on the client to understand the mistakes made by the user and to enhance the error word dictionary. It involves client side framework, thus the error correction can happen seamlessly for multiple backends. The concept is independent of pre defined dictionary, thus not limited by the availability of one, and can be used for common nouns, proper nouns, and any random spellings, since the correct/incorrectness of query is determined by the results from the query and not from the language correctness.
A method to detect and adapt to typing errors and near matches during interactive search with autosuggestions or search results
The article below defines:
A method to detect successive or back to back distinct query inputs made by a user by monitoring the input control events. The events include and are not limited to selection events, modify events, keystroke events, mouse events
A method to distinguish corrections to previous query input from an altogether new query input using edit distances between the successive queries
A method to predict possible wrong query inputs by analyzing the corrections made to subsets of the complete word
A method to use the above information to populate a dictionary of synonyms or possible near word matches
A system and method to use the above three information to mediate queries between query client and query backend by automatically replacing potentially wrong queries with the correct spelling or matches of the query
Some details of how the above can be achieved are shown below:
1. Detection and adaptation based on user mistakes
User Types a Query: Wrong Spelling or Typing Error
System returns no results in auto complete
User improvises in the immediate next query by backspace and changing the query spelling System returns multiple results
System monitors subsequent clicks by the user if the user selects one of the returned results, or ignores all (hinting that the query was incorrect)
Keystroke, and query monitor on the client, detects the edit distance between nearly simultaneous (in time) queries
The keystroke and query monitor looks for query correction patterns, where in a pair of queries, a former query returned 0 or less results, while the latter returned many results, one of which the user selected
If edit distance between the two is less than a threshold
This was a scenario of user typing in a wrong query and then following it with a correction System uses this context based information to create a new pair of a near match queries
2. Prediction of possible mistakes based on user actions
User Types a few characters of a wrong query expecting a set of suggestions to appear User avoids typing the complete wrong spelling...