IP Library Granted Patent US 12,626,292
Granted Patent B2
US 12,626,292 · App. 18/394,543 · Granted May 12, 2026

Processing queries using reinforcement learning

Inventors: Andrew Stanton (Brooklyn, NY); Arthur Maciejewicz (Brooklyn, NY); Stephen Balogh (Brooklyn, NY)
G06Q30/0631G06Q30/0201
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,626,292
App. No.
18/394,543
Granted
May 12, 2026
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for processing a user query, comprising receiving a user query corresponding to a primary node in the computational graph; processing the user query to determine one or more listing nodes in the computational graph, providing, to the user device, data associated with one or more listing nodes. The processing comprises: determining a first set of random walks starting at the primary node according to a policy, determining a second set of random walks starting at one or more secondary nodes according to the policy, determining a final score for each of a first set of listing nodes reached by the first set of random walks, and determining the one or more listing nodes from the first set of listing nodes based on the final scores.

Claims (56)

1 . A method, comprising:

receiving, from a user device, a user query corresponding to a primary node in a computational graph;

processing the received user query to determine one or more listing nodes in the computational graph for the user query, the processing comprising:

determining a first set of random walks starting at the primary node according to a policy trained using reinforcement learning, wherein the primary node is determined based on text of the user query,

determining a second set of random walks starting at one or more secondary nodes in the computational graph according to the policy, wherein each of the one or more secondary nodes is determined based on context information associated with one or more user activities and is different from the primary node,

generating a final score for each of a first set of listing nodes in the computational graph reached by the first set of random walks based on outputs of the first set of random walks and the second set of random walks, and

identifying the one or more listing nodes from the first set of listing nodes based on the final scores; and

providing, to the user device, data associated with one or more listing nodes that correspond to the user query.

2 . The method of claim 1 , wherein generating the final score for each of the first set of listing nodes in the computational graph comprises:

determining the first set of listing nodes in the computational graph reached by the first set of random walks from the primary node according to the policy;

determining a second set of listing nodes in the computational graph reached by the second set of random walks from the one or more secondary nodes according to the policy; and

generating the final score for each of the first set of listing nodes by updating a score for one or more listing nodes in the first set of listing nodes according to the second set of listing nodes.

3 . The method of claim 1 , wherein updating the score for the one or more listing nodes in the first set of listing nodes comprises:

for each listing node in the first set of listing nodes that is also in the second set of listing nodes, updating the score for the listing node in the first set of listing nodes by adding a modification value.

4 . The method of claim 3 , wherein the modification value is computed based on (i) a value proportional to a total count of reaches at the listing node in the second set of random walks and (ii) a boost value.

5 . The method of claim 4 , wherein the boost value includes a range from zero to one.

6 . The method of claim 3 , wherein the modification value is computed using an exponentiation function with a base proportional to a total count of reaches at the listing node in the second set of random walks and a pre-determined power value.

7 . The method of claim 1 , wherein the first set of random walks and the second set of random walks are performed in parallel using two or more threads using respective random seeds.

8 . A system, comprising:

one or more memory devices storing instructions; and

one or more data processing apparatus that are configured to interact with the one or more memory devices, and upon execution of the instructions, perform operations including:

receiving, from a user device, a user query corresponding to a primary node in a computational graph;

processing the received user query to determine one or more listing nodes in the computational graph for the user query, the processing comprising:

determining a first set of random walks starting at the primary node according to a policy trained using reinforcement learning, wherein the primary node is determined based on text of the user query,

determining a second set of random walks starting at one or more secondary nodes in the computational graph according to the policy, wherein each of the one or more secondary nodes is determined based on context information associated with one or more user activities and is different from the primary node,

generating a final score for each of a first set of listing nodes in the computational graph reached by the first set of random walks based on outputs of the first set of random walks and the second set of random walks, and

identifying the one or more listing nodes from the first set of listing nodes based on the final scores; and

providing, to the user device, data associated with one or more listing nodes that correspond to the user query.

9 . The system of claim 8 , wherein generating the final score for each of the first set of listing nodes in the computational graph comprises:

determining the first set of listing nodes in the computational graph reached by the first set of random walks from the primary node according to the policy;

determining a second set of listing nodes in the computational graph reached by the second set of random walks from the one or more secondary nodes according to the policy; and

generating the final score for each of the first set of listing nodes by updating a score for one or more listing nodes in the first set of listing nodes according to the second set of listing nodes.

10 . The system of claim 8 , wherein updating the score for the one or more listing nodes in the first set of listing nodes comprises:

for each listing node in the first set of listing nodes that is also in the second set of listing nodes, updating the score for the listing node in the first set of listing nodes by adding a modification value.

11 . The system of claim 10 , wherein the modification value is computed based on (i) a value proportional to a total count of reaches at the listing node in the second set of random walks and (ii) a boost value.

12 . The system of claim 11 , wherein the boost value includes a range from zero to one.

13 . The system of claim 10 , wherein the modification value is computed using an exponentiation function with a base proportional to a total count of reaches at the listing node in the second set of random walks and a pre-determined power value.

14 . The system of claim 8 , wherein the first set of random walks and the second set of random walks are performed in parallel using two or more threads using respective random seeds.

15 . One or more non-transitory computer-readable media storing instructions that, when executed by one or more data processing apparatus, cause the one or more data processing apparatus to perform operations comprising:

receiving, from a user device, a user query corresponding to a primary node in a computational graph;

processing the received user query to determine one or more listing nodes in the computational graph for the user query, the processing comprising:

determining a first set of random walks starting at the primary node according to a policy trained using reinforcement learning, wherein the primary node is determined based on text of the user query,

determining a second set of random walks starting at one or more secondary nodes in the computational graph according to the policy, wherein each of the one or more secondary nodes is determined based on context information associated with one or more user activities and is different from the primary node,

generating a final score for each of a first set of listing nodes in the computational graph reached by the first set of random walks based on outputs of the first set of random walks and the second set of random walks, and

identifying the one or more listing nodes from the first set of listing nodes based on the final scores; and

providing, to the user device, data associated with one or more listing nodes that correspond to the user query.

16 . The one or more non-transitory computer-readable media of claim 15 , wherein generating the final score for each of the first set of listing nodes in the computational graph comprises:

determining the first set of listing nodes in the computational graph reached by the first set of random walks from the primary node according to the policy;

determining a second set of listing nodes in the computational graph reached by the second set of random walks from the one or more secondary nodes according to the policy; and

generating the final score for each of the first set of listing nodes by updating a score for one or more listing nodes in the first set of listing nodes according to the second set of listing nodes.

17 . The one or more non-transitory computer-readable media of claim 15 , wherein updating the score for the one or more listing nodes in the first set of listing nodes comprises:

for each listing node in the first set of listing nodes that is also in the second set of listing nodes, updating the score for the listing node in the first set of listing nodes by adding a modification value.

18 . The one or more non-transitory computer-readable media of claim 17 , wherein the modification value is computed based on (i) a value proportional to a total count of reaches at the listing node in the second set of random walks and (ii) a boost value.

19 . The one or more non-transitory computer-readable media of claim 18 , wherein the boost value includes a range from zero to one.

20 . The one or more non-transitory computer-readable media of claim 17 , wherein the modification value is computed using an exponentiation function with a base proportional to a total count of reaches at the listing node in the second set of random walks and a pre-determined power value.

21 . The one or more non-transitory computer-readable media of claim 15 , wherein the first set of random walks and the second set of random walks are performed in parallel using two or more threads using respective random seeds.

Assignments (2)
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Sep 11, 2025
From: ETSY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 072875/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2024
From: STANTON, ANDREW; MACIEJEWICZ, ARTHUR; BALOGH, STEPHEN
To: ETSY, INC.
Reel/Frame 067191/0658 →
Continuity (1)
Related Publication 20250209513A1 · Jun 26, 2025
References Cited (12)
US 9147273B1 · Allen · 2015 [cited by examiner]
US 10671672B1 · Eksombatchai · 2020 [cited by examiner]
US 10771572B1 · Gupta · 2020 [cited by examiner]
US 20150032767A1 · Gao · 2015 [cited by examiner]
US 20160034530A1 · Nguyen et al. · 2016 [cited by applicant]
US 20170091319A1 · Legrand et al. · 2017 [cited by applicant]
US 20250265494A1 · Stanton et al. · 2025 [cited by applicant]
WO WO2023212360A1 · 2023 [cited by applicant]
Das et al., “Go For a Walk and Arrive at the Answer: Reasoning Over Paths in Knowledge Bases Using Reinforcement Learning,” CoRR, submitted on Nov. 2017, arXiv:1711.05851, 18 pages. [cited by applicant]
Extended European Search Report in European Appln No. 24217706.1, dated Jun. 11, 2025, 11 pages. [cited by applicant]
Tong et al., “Combinatorial optimization meets reinforcement learning: effective taxi order dispatching at large-scale,” IEEE Transaction on Knowledge and Data Engineering, Nov. 2021, 35(10):9812-9823. [cited by applicant]
Zhang et al., “Learning-to-Dispatch: Reinforcement Learning Based Flight Planning under Emergency,” CoRR, submitted on Jul. 2021, arXiv:2107.04897, 7 pages. [cited by applicant]