IP Library Granted Patent US 9,104,982
Granted Patent B2
US 9,104,982 · App. 13/840,381 · Granted Aug 11, 2015

Prevention of invalid selections based on machine learning of user-specific latency

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,104,982
App. No.
13/840,381
Granted
Aug 11, 2015
Kind
B2
Abstract

The specification relates to a client device utilizing an unintentional-selection module that disambiguates selection events for temporally proximate content. The client device records time stamps indicating a time a dynamic list is first presented and instances when the dynamic list is updated. An input selection indicating that a suggested search query has been chosen from the dynamic list of search suggestions is received and a time stamp for the input selection is recorded. A determination is made to see if the input selection is an unintentional selection. The input selection is determined as the unintentional selection when a difference between a time stamp for presenting a most recent dynamic list update and the time stamp of the input selection satisfies a user-specific threshold. The user-specific threshold is calculated with a machine learning system using user-specific latency times as training data.

Claims (66)

1. A method comprising the steps of:

recording time stamps indicating a time a dynamic list of search suggestions is first presented and instances when the dynamic list is updated;

receiving an input selection, the input selection indicating that a suggested search query has been chosen from the dynamic list of search suggestions;

recording a time stamp for the input selection; and

determining whether or not the input selection is an invalid selection, the input selection being determined as the invalid selection whenever a difference between a time stamp for presenting a most recent dynamic list update and the time stamp of the input selection satisfies a user-specific threshold, the user-specific threshold being calculated with a machine learning system trained using user-specific latency times as training data, wherein each user-specific latency time is a difference between a time stamp of a respective previous most recent dynamic list update before a respective corresponding input selection and a time stamp of the respective corresponding user input selection.

2. The method of claim 1 further comprising the step of:

if the selection was invalid, replacing the suggested search query with a previously suggested search query.

3. The method of claim 1 wherein the user-specific threshold is calculated using device-specific latency times as training data.

4. The method of claim 1 further comprising the step of:

if the selection is indeterminable, presenting the suggested search query and a previously suggested search query.

5. The method of claim 1 wherein the user-specific threshold is a function of time versus a probability of being invalid.

6. A system comprising:

one or more processors;

one or more non-transitory computer-readable storage mediums containing instructions configured to cause the one or more processors to perform operations including:

recording time stamps indicating a time a dynamic list of search suggestions is first presented and instances when the dynamic list is updated;

receiving an input selection, the input selection indicating that a suggested search query has been chosen from the dynamic list of search suggestions;

recording a time stamp for the input selection; and

determining whether or not the input selection is an invalid selection, the input selection being determined as the invalid selection whenever a difference between a time stamp for presenting a most recent dynamic list update and the time stamp of the input selection satisfies a user-specific threshold, the user-specific threshold being calculated with a machine learning system trained using user-specific latency times as training data, wherein each user-specific latency time is a difference between a time stamp of a respective previous most recent dynamic list update before a respective corresponding input selection and a time stamp of the respective corresponding user input selection.

7. The system of claim 6 including the step of:

if the selection was invalid, replacing the suggested search query with a previously suggested search query.

8. The system of claim 6 wherein the user-specific threshold is calculated using device-specific latency times as training data.

9. The system of claim 6 including the step of:

if the selection is indeterminable, presenting the suggested search query and a previously suggested search query.

10. The system of claim 6 wherein the user-specific threshold is a function of time versus a probability of being invalid.

11. A computer-program product, the product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to:

record time stamps indicating a time a dynamic list of search suggestions is first presented and instances when the dynamic list is updated;

receive an input selection, the input selection indicating that a suggested search query has been chosen from the dynamic list of search suggestions;

record a time stamp for the input selection; and

determine whether or not the input selection is an invalid selection, the input selection being determined as the invalid selection whenever a difference between a time stamp for presenting a most recent dynamic list update and the time stamp of the input selection satisfies a user-specific threshold, the user-specific threshold being calculated with a machine learning system trained using user-specific latency times as training data, wherein each user-specific latency time is a difference between a time stamp of a respective previous most recent dynamic list update before a respective corresponding input selection and a time stamp of the respective corresponding user input selection.

12. The computer-program product of claim 11 , further including instructions configured to cause a data processing apparatus to:

if the selection was invalid, replace the suggested search query with a previously suggested search query.

13. The computer-program product of claim 11 wherein the user-specific threshold is calculated using device-specific latency times as training data.

14. The computer-program product of claim 11 , further including instructions configured to cause a data processing apparatus to:

if the selection is indeterminable, present the suggested search query and a previously suggested search query.

15. A method comprising the steps of:

establishing a user profile in connection with a specific client device;

receiving a plurality of time stamps indicating times between updates for every dynamic list of search suggestions as received by the specific client device;

receiving a plurality of time stamps indicating each time a link is chosen from the dynamic list of search suggestions;

receiving a plurality of time stamps indicating each time an action signifying an invalid selection is performed after the link is chosen from the dynamic list of search suggestions;

using a computer-implemented learning system to determine a user-specific threshold for an invalid selection, the user-specific threshold for the invalid selection being a function of time versus a probability of being invalid, the function of time being a difference between a time stamp for presenting a most recent dynamic list update and a time stamp for an input selecting a search suggestion, the input being invalid when the difference satisfies the user-specific threshold;

establishing an invalid-selection module based upon attributes learned by the system, the module determining a probability a selection is invalid; and

sending the invalid-selection module to the specific client device.

16. The method of claim 15 further comprising the step of:

receiving at least one of a user's age, a type of device, a type of connection, a network carrier, a user location, and a signal strength.

17. A system comprising:

one or more processors;

one or more non-transitory computer-readable storage mediums containing instructions configured to cause the one or more processors to perform operations including:

establishing a user profile in connection with a specific client device;

receiving a plurality of time stamps indicating times between updates for every dynamic list of search suggestions as received by the specific client device;

receiving a plurality of time stamps indicating each time a link is chosen from the dynamic list of search suggestions;

receiving a plurality of time stamps indicating each time an action signifying an invalid selection is performed after the link is chosen from the dynamic list of search suggestions;

using a computer-implemented learning system to determine a user-specific threshold for an invalid selection, the user-specific threshold for the invalid selection being a function of time versus a probability of being invalid, the function of time being a difference between a time stamp for presenting a most recent dynamic list update and a time stamp for an input selecting a search suggestion, the input being invalid when the difference satisfies the user-specific threshold;

establishing an invalid-selection module based upon attributes learned by the system, the module determining a probability a selection is invalid; and

sending the invalid-selection module to the specific client device.

18. The system of claim 17 the operations further comprising:

receiving at least one of a user's age, a type of device, a type of connection, a network carrier, a user location, and a signal strength.

19. A computer-program product, the product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to:

establish a user profile in connection with a specific client device;

receive a plurality of time stamps indicating times between updates for every dynamic list of search suggestions as received by the specific client device;

receive a plurality of time stamps indicating each time a link is chosen from the dynamic list of search suggestions;

receive a plurality of time stamps indicating each time an action signifying an invalid selection is performed after the link is chosen from the dynamic list of search suggestions;

use a computer-implemented learning system to determine a user-specific threshold for an invalid selection, the user-specific threshold for the invalid selection being a function of time versus a probability of being invalid, the function of time being a difference between a time stamp for presenting a most recent dynamic list update and a time stamp for an input selecting a search suggestion, the input being invalid when the difference satisfies the user-specific threshold;

establish an invalid-selection module based upon attributes learned by the system, the module determining a probability a selection is invalid; and

send the invalid-selection module to the specific client device.

20. The computer-program product of claim 19 , further including instructions configured to cause a data processing apparatus to:

receive at least one of a user's age, a type of device, a type of connection, a network carrier, a user location, and a signal strength.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2014
From: PRICE, THOMAS GRAHAM
To: GOOGLE INC.
Reel/Frame 033377/0825 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2013
From: PRICE, THOMAS
To: GOOGLE INC.
Reel/Frame 030020/0569 →