IP Library Granted Patent US 12675812
Granted Patent B2
US 12675812 · App. 18/830,875 · Granted Jul 7, 2026

Multi-item search

Inventors: Matthew Christopher Bruer (Seattle, WA); Philip Douglass Willcox (Brooklyn, NY); Rumit Jayantkumar Patel (Edison, NJ); Wayne Anthony Ledgister (Jersey City, NJ)
Assignee: Walmart Apollo, LLC
G06Q30/0627G06N20/20G06Q30/0603G06Q30/0643H04L51/02
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 12675812
App. No.
18/830,875
Granted
Jul 7, 2026
Kind
B2
Abstract

Systems and methods for multi-item searching for limited-channel interfaces are disclosed. In some embodiments, a disclosed method includes: receiving an input message from a requesting device via a limited-communication channel; identifying, via a first trained natural language model, a plurality of queries in the input message; implementing a plurality of search threads, wherein each of the plurality of search threads is configured to generate search results for a corresponding one of the plurality of queries; generating a responsive message comprising at least a portion of the search results for each of the corresponding one of the plurality of queries; and transmitting the responsive message to the requesting device.

Claims (97)

1 . A system, comprising:

a processor; and

a non-transitory memory storing instructions, that when executed, cause the processor to:

receive, from a database, training data comprising a plurality of input messages and corresponding search results;

iteratively train a natural language model based on the training data to iteratively adjust parameters and generate a first trained natural language model;

receive an input message from a requesting device via a limited-communication channel;

identify, via the first trained natural language model, a plurality of queries in the input message;

implement a plurality of search threads, wherein each of the plurality of search threads is configured to generate search results for a corresponding one of the plurality of queries;

input each of the plurality of queries into a corresponding one of the plurality of search threads and generate the corresponding search results;

generate a responsive message comprising at least a portion of the search results for each of the corresponding one of the plurality of queries; and

transmit the responsive message to the requesting device.

2 . The system of claim 1 , wherein:

the input message comprises the plurality of queries and an operation identification; and

the operation identification includes at least one of:

an express operation identification expressly indicating a multi-item search operation, or

an implied operation identification implying a multi-item search operation based on interoperations between the system and the requesting device.

3 . The system of claim 1 , wherein:

each of the plurality of queries includes a query string representing at least one of: a respective item type, a respective item category, or a respective item name;

the input message includes a feature string for at least one of the plurality of queries; and

the feature string modifies the at least one of the plurality of queries based on: brand, flavor, size, color, quantity, and/or ingredient.

4 . The system of claim 1 , wherein the plurality of queries are identified based on:

identifying semantic elements within the input message;

generating embeddings for each of the semantic elements, wherein each of the embeddings includes a respective vector representation in a same vector space;

identifying the plurality of queries based on an embedding comparison between each semantic element and known queries in the same vector space; and

identifying separation characters separating the plurality of queries in the input message.

5 . The system of claim 1 , wherein the processor is configured to:

generate a confirmation message in response to an identification of the plurality of queries, wherein the confirmation message includes an indication that the input message has been received and a multi-item search operation is being conducted; and

transmit the confirmation message to the requesting device before implementing the plurality of search threads.

6 . The system of claim 5 , wherein:

the input message is received via a first protocol associated with one of: a short message/messaging service (SMS), a multimedia messaging service (MMS), a rich communications service (RCS), or an encrypted messaging service; and

the confirmation message is transmitted via a second protocol different from the first protocol.

7 . The system of claim 1 , wherein:

the plurality of search threads are implemented using a trained search model;

the trained search model includes at least one of: a regression model, an Extreme Gradient Boosting (XGBoost) model, or a lambdaRank and Multiple Additive Regression Trees (lambdaRankMART) model; and

the first trained natural language model includes at least one of: a bidirectional encoder representations from transformers (BERT) model, a Robustly Optimized BERT Pretraining Approach (ROBERTa) model, or a large language model.

8 . The system of claim 1 , wherein:

each of the plurality of search threads is executed in parallel; and

the plurality of search threads are executed in an asynchronous manner.

9 . The system of claim 1 , wherein the responsive message is generated based on:

filtering the search results for all of the plurality of queries to generate a filtered search result set for each query, according to at least one of: a search-specific criteria, a user-specific criteria, or a system-specific criteria;

ranking items in each filtered search result set to generate a corresponding ranked search result set for each query, based on historical user interactions and/or user defined preferences; and

generating the responsive message based on a predetermined number of top-ranked items selected from each ranked search result set.

10 . The system of claim 1 , wherein the first trained natural language model is trained based on:

normalizing a training dataset;

executing an iterative training process to generate the first trained natural language model based on the normalized training dataset, by iteratively adjusting parameters of a selected model framework to minimize a cost value for the selected model framework, wherein the first trained natural language model is updated using at least one of: a reinforcement learning mechanism, a feedback learning mechanism, or a retraining process; and

evaluating the first trained natural language model based on an evaluation process.

11 . A computer-implemented method, comprising:

receiving, from a database, training data comprising a plurality of input messages and corresponding search results;

iteratively training a natural language model based on the training data to iteratively adjust parameters and generate a first trained natural language model;

receiving an input message from a requesting device via a limited-communication channel;

identifying, via the first trained natural language model, a plurality of queries in the input message;

implementing a plurality of search threads, wherein each of the plurality of search threads is configured to generate search results for a corresponding one of the plurality of queries;

inputting each of the plurality of queries into a corresponding one of the plurality of search threads and generate the corresponding search results;

generating a responsive message comprising at least a portion of the search results for each of the corresponding one of the plurality of queries; and

transmitting the responsive message to the requesting device.

12 . The computer-implemented method of claim 11 , wherein:

the input message comprises the plurality of queries and an operation identification; and

the operation identification includes at least one of:

an express operation identification expressly indicating a multi-item search operation, or

an implied operation identification implying a multi-item search operation based on interoperations between the system and the requesting device.

13 . The computer-implemented method of claim 11 , wherein:

each of the plurality of queries includes a query string representing at least one of: a respective item type, a respective item category, or a respective item name;

the input message includes a feature string for at least one of the plurality of queries; and

the feature string modifies the at least one of the plurality of queries based on: brand, flavor, size, color, quantity, and/or ingredient.

14 . The computer-implemented method of claim 11 , wherein identifying the plurality of queries comprises:

identifying semantic elements within the input message;

generating embeddings for each of the semantic elements, wherein each of the embeddings includes a respective vector representation in a same vector space;

identifying the plurality of queries based on an embedding comparison between each semantic element and known queries in the same vector space; and

identifying separation characters separating the plurality of queries in the input message.

15 . The computer-implemented method of claim 11 , further comprising:

generating a confirmation message in response to an identification of the plurality of queries, wherein the confirmation message includes an indication that the input message has been received and a multi-item search operation is being conducted; and

transmitting the confirmation message to the requesting device before implementing the plurality of search threads, wherein:

the input message is received via a first protocol associated with one of: a short message/messaging service (SMS), a multimedia messaging service (MMS), a rich communications service (RCS), or an encrypted messaging service, and

the confirmation message is transmitted via a second protocol different from the first protocol.

16 . The computer-implemented method of claim 11 , wherein:

the plurality of search threads are implemented using a trained search model;

the trained search model includes at least one of: a regression model, an Extreme Gradient Boosting (XGBoost) model, or a lambdaRank and Multiple Additive Regression Trees (lambdaRankMART) model; and

the first trained natural language model includes at least one of: a bidirectional encoder representations from transformers (BERT) model, a Robustly Optimized BERT Pretraining Approach (ROBERTa) model, or a large language model.

17 . The computer-implemented method of claim 11 , wherein:

each of the plurality of search threads is executed in parallel; and

the plurality of search threads are executed in an asynchronous manner.

18 . The computer-implemented method of claim 11 , wherein generating the responsive message comprises:

filtering the search results for all of the plurality of queries to generate a filtered search result set for each query, according to at least one of: a search-specific criteria, a user-specific criteria, or a system-specific criteria;

ranking items in each filtered search result set to generate a corresponding ranked search result set for each query, based on historical user interactions and/or user defined preferences; and

generating the responsive message based on a predetermined number of top-ranked items selected from each ranked search result set.

19 . The computer-implemented method of claim 11 , further comprising:

normalizing a training dataset;

executing an iterative training process to generate the first trained natural language model based on the normalized training dataset, by iteratively adjusting parameters of a selected model framework to minimize a cost value for the selected model framework, wherein the first trained natural language model is updated using at least one of: a reinforcement learning mechanism, a feedback learning mechanism, or a retraining process; and

evaluating the first trained natural language model based on an evaluation process.

20 . A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by at least one processor, cause at least one device to:

receive, from a database, training data comprising a plurality of input messages and corresponding search results;

iteratively train a natural language model based on the training data to iteratively adjust parameters and generate a first trained natural language model;

receive an input message from a requesting device via a limited-communication channel;

identify, via the first trained natural language model, a plurality of queries in the input message;

implement a plurality of search threads, wherein each of the plurality of search threads is configured to generate search results for a corresponding one of the plurality of queries;

input each of the plurality of queries into a corresponding one of the plurality of search threads and generate the corresponding search results;

generate a responsive message comprising at least a portion of the search results for each of the corresponding one of the plurality of queries; and transmitting the responsive message to the requesting device.