IP Library Granted Patent US 11,481,457
Granted Patent B2
US 11,481,457 · App. 16/201,762 · Granted Oct 25, 2022

Menu personalization

Inventors: Ali Haghighat Kashani (San Francisco, CA); Bastian Lehmann (San Francisco, CA); Sean Plaice (San Francisco, CA); Oren Shklarsky (Vancouver, CA)
Assignee: UBER TECHNOLOGIES, INC.
G06F16/9535G06F3/0482G06F16/24578G06F16/9537G06F16/9538G06N20/00G06Q30/0261G06Q30/0271
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 11,481,457
App. No.
16/201,762
Granted
Oct 25, 2022
Kind
B2
Abstract

Provided are systems, methods, and computer-program products for generating a personalized item list. In various examples, a server computer on a network can receive a request that includes a user identifier. The computer can use the user identifier to look up a data model associated with the user identifier. The computer can further determine a geolocation, and use the geolocation to determine a list of items associated with an eatery at or near the geolocation. The computer can input the item list into the data model, for the data model to output a probability for each item, the probability indicating a likelihood that the user will select the item. The probabilities can be used to generate a personalized item list, which can be output onto the network for receipt by a computing device.

Claims (63)

1. A method implemented by a server computer on a network, comprising:

receiving, over the network, input corresponding to a request for a personalized item list, wherein the input includes a user identifier associated with a user, and wherein the input is associated with a computing device on the network;

reading a data store using the user identifier, the data store storing a plurality of data models associated with a plurality of user identifiers, each data model being customized based on data associated with a respective user identifier, wherein reading the data store results in obtaining a particular data model associated with the user identifier;

determining a geolocation associated with the user identifier;

determining, using the geolocation, a list of menu items associated with an eatery, wherein the eatery is associated with the geolocation;

inputting the list of menu items associated with the eatery including a listing of edible ingredients of each menu item into the data model, wherein the data model generates and outputs a selection probability value for each menu item in the list of menu items, the selection probability indicating a likelihood of the user selecting a corresponding menu item based on the user's preference of the edible ingredients of the menu item;

sorting the list of menu items according to the selection probability value associated with each menu item;

generating the personalized item list based on the sorted list of menu items, the personalized item list including one or more of the menu items and corresponding edible ingredients;

associating numerical scores with each of the one or more menu items in the personalized item list;

determining a current time;

modifying the numerical scores according to the current time;

re-sorting the personalized item list according to the modified numerical scores; and

outputting the re-sorted personalized item list including the one or more menu items and corresponding edible ingredients onto the network for receipt by the computing device.

2. The method of claim 1 , wherein the user's preference is based on a time of day or a day of week.

3. The method of claim 1 , further comprising:

determining a recent item selection associated with the user identifier, wherein the recent item selection is determined from within a pre-determined time period preceding receipt of the input; and

modifying the numerical scores according to the recent item selection.

4. The method of claim 1 , further comprising:

reducing numerical scores for successive similar items in the personalized item list.

5. The method of claim 1 , wherein determining the geolocation and generating the personalized item list occurs at a point in time prior to receiving the input, such that receiving the input results in outputting of the personalized item list.

6. The method of claim 1 , wherein menu items that do not meet the user's dietary restriction are excluded from the personalized item list.

7. The method of claim 1 , wherein the list of menu items is associated with a particular eatery within a pre-determined distance from the geolocation.

8. The method of claim 1 , wherein each of the plurality of data models is trained using a machine learning method.

9. The method of claim 1 , further comprising:

receiving input corresponding to an item selection; and

adding the item selection to the data model.

10. The method of claim 1 , further comprising:

receiving input corresponding to a value associated with an item from the personalized item list, wherein the value is a positive value or a negative value; and

adding the value to the data model.

11. A server computer on a network, comprising: one or more processors; and

a non-transitory computer-readable medium including instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:

receiving, over the network, input corresponding to a request for a personalized item list, wherein the input includes a user identifier associated with a user, and wherein the input is associated with a computing device on the network;

reading a data store using the user identifier, the data store storing a plurality of data models associated with a plurality of user identifiers, each data model being customized based on data associated with a respective user identifier, wherein reading the data store results in obtaining a particular data model associated with the user identifier;

determining a geolocation associated with the user identifier;

determining, using the geolocation, a list of menu items associated with an eatery, wherein the eatery is associated with the geolocation;

inputting the list of menu items associated with the eatery including a listing of edible ingredients of each menu item into the data model, wherein the data model generates and outputs a selection probability value for each menu item in the list of menu items, the selection probability value indicating a likelihood of the user selecting a corresponding menu item based on the user's preference of the edible ingredients of the menu item;

sorting the list of menu items according to the selection probability value associated with each menu item;

generating the personalized item list based on the sorted list of menu items, the personalized item list including one or more of the menu items and corresponding edible ingredients;

associating numerical scores with each of the one or more menu items in the personalized item list;

determining a current time;

modifying the numerical scores according to the current time;

re-sorting the personalized item list according to the modified numerical scores; and

outputting the re-sorted personalized item list including the one or more menu items and corresponding edible ingredients onto the network for receipt by the computing device.

12. The server computer of claim 11 , wherein the user's preference is based on a time of day or a day of week.

13. The server computer of claim 11 , wherein the operations further include:

associating numerical scores with each item in the personalized item list; and

re-sorting the personalized item list according to the numerical scores.

14. The server computer of claim 11 , wherein determining the geolocation and generating the personalized item list occurs at a point in time prior to receiving the input, such that receiving the input results in outputting of the personalized item list.

15. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions that, when executed by one or more processors of a computing device on a network, cause the one or more processors to:

receive, over the network, input corresponding to a request for a personalized item list, wherein the input includes a user identifier associated with a user, and wherein the input is associated with a computing device on the network;

read a data store using the user identifier, the data store storing a plurality of data models associated with a plurality of user identifiers, each data model being customized based on data associated with a respective user identifier, wherein reading the data store results in obtaining a particular data model associated with the user identifier;

determine a geolocation associated with the user identifier;

determine, using the geolocation, a list of menu items associated with an eatery, wherein the eatery is associated with the geolocation;

input the list of menu items associated with the eatery including a listing of edible ingredients of each menu item into the data model, wherein the data model generates and outputs a selection probability value for each menu item in the list of menu items, the selection probability value indicating a likelihood of the user selecting a corresponding menu item based on the user's preference of the edible ingredients of the menu item;

sort the list of menu items according to the selection probability value associated with each menu item;

generate the personalized item list based on the sorted list of menu items, the personalized item list including one or more of the menu items and corresponding edible ingredients;

associate numerical scores with each of the one or more menu items in the personalized item list;

determine a current time;

modify the numerical scores according to the current time;

re-sort the personalized item list according to the modified numerical scores; and

output the re-sorted personalized item list including the one or more menu items and corresponding edible ingredients onto the network for receipt by the computing device.

16. The computer-program product of claim 15 , wherein the user's preference is based on a time of day or a day of week.

17. The computer-program product of claim 15 , wherein menu items that do not meet the user's dietary restriction are excluded from the personalized item list.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2022
From: POSTMATES, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 059742/0740 →
MERGER Recorded Mar 16, 2021
From: POSTMATES INC.
To: NEWS MERGER COMPANY LLC
Reel/Frame 055611/0807 →
CHANGE OF NAME Recorded Mar 16, 2021
From: NEWS MERGER COMPANY LLC
To: POSTMATES, LLC
Reel/Frame 055611/0847 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT TERMINATION OF REEL/FRAME NO. 054019/0074 Recorded Dec 1, 2020
From: HERCULES CAPITAL, INC., AS COLLATERAL AND ADMINISTRATIVE AGENT
To: POSTMATES, INC.
Reel/Frame 054555/0862 →
SECURITY INTEREST Recorded Oct 9, 2020
From: POSTMATES INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 054019/0074 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2019
From: LEHMANN, BASTIAN
To: POSTMATES INC.
Reel/Frame 051372/0116 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2018
From: HAGHIGHAT KASHANI, ALI; LEHMAN, BASTIAN; PLAICE, SEAN; SHKLARSKY, OREN
To: POSTMATES INC.
Reel/Frame 047596/0230 →
Continuity (2)
Provisional Application 62591726 · Nov 28, 2017
Related Publication 20190163710A1 · May 30, 2019