IP Library Granted Patent US 12,614,542
Granted Patent B1
US 12,614,542 · App. 18/082,687 · Granted Apr 28, 2026

Action prediction

Inventors: Ruhi Sarikaya (Redmond, WA); Chenlei Guo (Redmond, WA); Priti Bisaria (Menlo Park, CA); Vasiliy Radostev (Seattle, WA); Xing Fan (Redmond, WA); Muddu Krishna Chintha (Dublin, CA); Jie Bao (Sammamish, WA); Xiaohu Liu (Bellevue, WA)
Assignee: Amazon Technologies, Inc.
G10L15/16G10L15/22G10L2015/088G10L15/1815G10L2015/223G10L2015/227G10L15/30
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 12,614,542
App. No.
18/082,687
Granted
Apr 28, 2026
Kind
B1
Abstract

A computer-implemented method is disclosed that involves receiving first data representing at least one current contextual state of a first user corresponding to a first user profile, and determining, using the first data and a graph neural network (GNN) that has been trained using graph data representing a graph, that the first user is in a first situational context corresponding to a first one of a plurality of first nodes in the graph, wherein the plurality of first nodes correspond to respective ones of a plurality of possible situational contexts, wherein the graph further includes a second node corresponding to the first user and a first edge connected to the second node, and wherein second data representing a prior contextual state of the first user is associated with the first edge. Based at least in part on the first user being in the first situational context, a first action of a plurality of possible actions to be executed with respect to the first user profile may be determined, and a device corresponding to the first user profile may be caused to take the first action.

Claims (79)

1 . A method performed by a computing system to cause an electronic device to perform an operation corresponding to a first action taken by a first application, the method comprising:

receiving first data representing a contextual state corresponding to a first user associated with a first user profile, wherein the first data is not received contemporaneously with a request by the first user to perform the operation or take the first action;

processing the first data using a machine learning model to determine that the first user is in a first situational context corresponding to at least one of (a) a location of the first user, (b) an activity of the first user, or (c) an occurrence corresponding to the location of the first user;

determining that the first action is associated with the first situational context;

causing the first application to take the first action;

determining that the electronic device corresponds to the first user profile; and

sending, from the computing system to the electronic device via a network, at least one instruction that causes the electronic device to perform the operation.

2 . The method of claim 1 , further comprising:

determining graph data representing a plurality of situational contexts, the graph data including first node data representing a first node corresponding to the first user, and second node data representing a second node corresponding to the first situational context of the plurality of situational contexts;

wherein processing the first data using the machine learning model includes:

using the first data to determine a value corresponding to a strength of a connection between the first node and the second node, and

determining that the first user is in the first situational context based at least in part on the value.

3 . The method of claim 2 , wherein using the first data to determine the value comprises:

using the graph data and the first data to traverse from the first node to the second node.

4 . The method of claim 3 , wherein the graph data further includes third node data representing a third node corresponding to the first action, and determining the first action comprises:

using the graph data and the first data to traverse from the second node to the third node.

5 . The method of claim 4 , further comprising:

receiving, by at least one component, second data representing processing of the first data with respect to the third node data;

determining, by the at least one component and based at least in part on the second data, to cause the electronic device to output data requesting user input; and

receiving input data indicating that the first user has confirmed that the first action is to be executed;

wherein the at least one instruction is sent to the electronic device based at least in part on the input data.

6 . The method of claim 5 , further comprising:

determining updated graph data based at least in part on the input data.

7 . The method of claim 4 , further comprising:

receiving, by at least one component, second data representing processing of the first data with respect to the third node data; and

determining, by the at least one component and based at least in part on the second data, to send the at least one instruction to the electronic device without requiring further input from the first user.

8 . The method of claim 2 , wherein:

the graph data further includes:

third node data representing a third node corresponding to a second situational context of the plurality of situational contexts, and

fourth node data representing a fourth node corresponding to a second action; and

the method further comprises, after receiving the first data:

receiving second data representing a second contextual state of the first user,

determining, using the second data and the graph data, that the first user is in the second situational context,

based at least in part on the first user being in the second situational context, determining that the second action is to be taken by a second application system with respect to the first user profile,

causing the electronic device to output data requesting user input,

receiving input data indicating that the first user has indicated that the second action is not to be executed, and

based at least in part on the input data, refraining from causing the second application system from taking the second action.

9 . The method of claim 8 , further comprising:

determining updated graph data based at least in part on the input data.

10 . A system for causing an electronic device to perform an operation corresponding to a first action taken by a first application, comprising:

at least one processor; and

at least one computer-readable medium encoded with instructions which, when executed by the at least one processor, cause the system to:

receive first data representing a contextual state corresponding to a first user associated with a first user profile, wherein the first data is not received contemporaneously with a request by the first user to perform the operation or take the first action;

process the first data using a machine learning model to determine that the first user is in a first situational context corresponding to at least one of (a) a location of the first user, (b) an activity of the first user, or (c) an occurrence corresponding to the location of the first user;

determine that the first action is associated with the first situational context;

cause the first application to take the first action;

determine that the electronic device corresponds to the first user profile; and

send, from the system to the electronic device via a network, at least one instruction that causes the electronic device to perform the operation.

11 . The system of claim 10 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

determine graph data representing a plurality of situational contexts, the graph data including first node data representing a first node corresponding to the first user, and second node data representing a second node corresponding to the first situational context of the plurality of situational contexts; and process the first data using the machine learning model at least in part by:

using the first data to determine a value corresponding to a strength of a connection between the first node and the second node, and

determining that the first user is in the first situational context based at least in part on the value.

12 . The system of claim 11 , wherein the instructions that cause the system to use the first data to determine the value comprise instructions that, when executed by the at least one processor, cause the system to:

use the graph data and the first data to traverse from the first node to the second node.

13 . The system of claim 11 , wherein the graph data further includes third node data representing a third node corresponding to the first action and wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to determine the first action at least in part by:

using the graph data and the first data to traverse from the second node to the third node.

14 . The system of claim 13 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

receive, by at least one component, second data representing processing of the first data with respect to the third node data;

determine, by the at least one component and based at least in part on the second data, to cause the electronic device to output data requesting user input;

receive input data indicating that the first user has confirmed that the first action is to be executed; and

send the at least one instruction to the electronic device based at least in part on input data.

15 . The system of claim 14 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

determine updated graph data based at least in part on the input data.

16 . The system of claim 13 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

receive, by at least one component, second data representing processing of the first data with respect to the third node data; and

determine, by the at least one component and based at least in part on the second data, to send the at least one instruction to the electronic device without requiring further input from the first user.

17 . The system of claim 11 , wherein:

the graph data further includes:

third node data representing a third node corresponding to a second situational context of the plurality of situational contexts, and

fourth node data representing a fourth node corresponding to a second action; and

the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to, after receipt of the first data:

receive second data representing a second contextual state of the first user,

determine, using the second data and the graph data, that the first user is in the second situational context,

based at least in part on the first user being in the second situational context, determine the second action is to be taken by a second application system with respect to the first user profile,

cause the electronic device to output data requesting user input,

receive input data indicating that the first user has indicated that the second action is not to be executed, and

based at least in part on the input data, refrain from causing the second application system from taking the second action.

18 . The system of claim 17 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the system to:

determine updated graph data based at least in part on the input data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2025
From: SARIKAYA, RUHI; GUO, CHENLEI; BISARIA, PRITI; RADOSTEV, VASILIY; FAN, XING; CHINTHA, MUDDU KRISHNA; BAO, JIE; LIU, XIAOHU
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 069871/0332 →
References Cited (19)
US 9986394B1 · Taylor · 2018 [cited by examiner]
US 10276170B2 · Gruber · 2019 [cited by examiner]
US 10482885B1 · Moniz · 2019 [cited by examiner]
US 11081099B2 · Lewis · 2021 [cited by examiner]
US 11380304B1 · Ponnusamy · 2022 [cited by examiner]
US 11501781B2 · Tukka · 2022 [cited by examiner]
US 12051428B1 · Petrochuk · 2024 [cited by examiner]
US 20130275164A1 · Gruber · 2013 [cited by examiner]
US 20190182261A1 · Carbune · 2019 [cited by examiner]
US 20190266999A1 · Chandrasekaran · 2019 [cited by examiner]
US 20190378500A1 · Miller · 2019 [cited by examiner]
US 20190385615A1 · Sharifi · 2019 [cited by examiner]
US 20200380972A1 · Carrigan · 2020 [cited by examiner]
US 20200380980A1 · Shum · 2020 [cited by examiner]
US 20210012779A1 · Mixter · 2021 [cited by examiner]
US 20220013129A1 · Carbune · 2022 [cited by examiner]
US 20220020363A1 · Vasquez · 2022 [cited by examiner]
US 20220189470A1 · Sharifi · 2022 [cited by examiner]
US 20230119954A1 · Madwed · 2023 [cited by examiner]