IP Library Granted Patent US 12705425
Granted Patent B1
US 12705425 · App. 18/902,598 · Granted Aug 11, 2026

Systems and methods for the detection and disambiguation of entities in natural language conversation

Inventors: Ronen Reouveni (Phoenix, AZ); Robert Piro (Ellensburg, WA); Crispin Conrad Vaughan Claude Andrew (Tacoma, WA); Jonathan Wiggs (Seattle, WA)
Assignee: Outbound AI Inc.
G06F40/289G06F16/3344
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 12705425
App. No.
18/902,598
Granted
Aug 11, 2026
Kind
B1
Abstract

A system and associated methods for implementing a methodology for performing a disambiguation of extracted data, such as entities in a textual version of a conversation. The method enables a general-purpose entity extractor to be adapted for use with contextual information such as a domain specific field and to be able to do so without additional retraining. This enables a user to extract data and associate it with a label, field name, or other indicator of context or meaning. The association of the extracted data to the indicator of context or meaning may assist in the processing of a conversation, navigation of conversation, interpretation of a field value, or another similar task.

Claims (50)

1 . A method of processing text, comprising:

obtaining a set of configuration parameters, wherein the set of configuration parameters comprise one or more keywords, and one or more of a Levenshtein distance value, a proximity distance value, an extraction direction, a context size, and an entity type;

obtaining a set of text for processing;

performing a search over the set of text using one or more of Levenshtein and proximity distance search to identify at least one of the one or more keywords, wherein the Levenshtein distance value parameter is applied if Levenshtein distance search is used, and the proximity distance value parameter is applied if proximity distance search is used;

if a keyword is found, then sending a block of text containing the keyword and the number of words specified by the context size configuration parameter in a direction from the keyword specified by the extraction direction parameter to an entity extractor; and

using an entity extracted by the entity extractor and the block of text to perform an operation, wherein the operation is one of routing a request or statement represented by the block or set of text to a customer service representative, assisting a user to navigate through one or more branches or prompts of an interactive voice response system, or initiating an event or process.

2 . The method of claim 1 , wherein the set of configuration parameters is determined at least in part by:

determining an alphanumeric string of interest in an example of text;

determining a keyword or keywords of interest in the alphanumeric string; and

setting one or more configuration parameters for entity identification and extraction based on the keywords and their location in the example of text.

3 . The method of claim 1 , further comprising converting a segment of speech into the set of text prior to obtaining the set of text for processing.

4 . The method of claim 2 , wherein the example of text is obtained, and the set of configuration parameters are determined from text that is obtained prior to obtaining the set of text for processing.

5 . The method of claim 2 , wherein the example of text and the set of text for processing are obtained from a same text or audio session.

6 . The method of claim 1 , wherein the set of configuration parameters are determined by one or more of a user and a trained model.

7 . The method of claim 1 , wherein the extraction direction is one of forward, backward, or both forward and backward.

8 . The method of claim 1 , further comprising processing the output of the entity extractor to provide an extracted entity by one or more of:

concluding the processing found the entity matching the type established in the configuration parameters if a single entity is found matching the type established in the configuration parameters;

continuing to search if no entities are found matching the type established in the configuration parameters;

reducing multiple entities to an entity closest to the keyword or keywords if multiple entries are found matching the type established in the configuration parameters; or

determining that an entity that is closest to a location of a keyword or keywords is an entity matching the type established in the configuration parameters.

9 . The method of claim 1 , further comprising extracting a plurality of entities and associated blocks of text and using those as training data for a model, wherein the extracted entity is used as a label for the associated block of text.

10 . The method of claim 1 , wherein the configuration parameters further comprise one or more of a Normalization type instructing how to normalize an entity and an instruction to skip the entity extraction processing and instead extract content found between a first and a second keyword or between a first and a second set of keywords.

11 . A system, comprising:

one or more electronic processors configured to execute a set of computer-executable instructions; and

one or more non-transitory electronic data storage media containing the set of computer-executable instructions, wherein when executed, the instructions cause the one or more electronic processors to

obtain a set of configuration parameters, wherein the set of configuration parameters comprise one or more keywords, and one or more of a Levenshtein distance value, a proximity distance value, an extraction direction, a context size, and an entity type;

obtain a set of text for processing;

perform a search over the set of text using one or more of Levenshtein and proximity distance search to identify at least one of the one or more keywords, wherein the Levenshtein distance value parameter is applied if Levenshtein distance search is used, and the proximity distance value parameter is applied if proximity distance search is used;

if a keyword is found, then send a block of text containing the keyword and the number of words specified by the context size configuration parameter in a direction from the keyword specified by the extraction direction parameter to an entity extractor; and

use an entity extracted by the entity extractor and the block of text to perform an operation, wherein the operation is one of routing a request or statement represented by the block or set of text to a customer service representative, assisting a user to navigate through one or more branches or prompts of an interactive voice response system, or initiating an event or process.

12 . The system of claim 11 , wherein the set of configuration parameters is determined at least in part by:

determining an alphanumeric string of interest in an example of text;

determining a keyword or keywords of interest in the alphanumeric string; and

setting one or more configuration parameters for entity identification and extraction based on the keywords and their location in the example of text.

13 . The system of claim 11 , wherein the instructions further cause the one or more processors to convert a segment of speech into the set of text prior to obtaining the set of text for processing.

14 . The system of claim 12 , wherein the example of text is obtained, and the set of configuration parameters are determined from text that is obtained prior to obtaining the set of text for processing.

15 . The system of claim 12 , wherein the example of text and the set of text for processing are obtained from a same text or audio session.

16 . The system of claim 11 , wherein the set of configuration parameters are determined by one or more of a user and a trained model.

17 . The system of claim 11 , wherein the extraction direction is one of forward, backward, or both forward and backward.

18 . The system of claim 11 , wherein the instructions further cause the one or more processors to extract a plurality of entities and associated blocks of text and use those as training data for a model, wherein the extracted entity is used as a label for the associated block of text.

19 . One or more non-transitory computer-readable media comprising a set of computer-executable instructions that when executed by one or more programmed electronic processors, cause the processors to:

obtain a set of configuration parameters, wherein the set of configuration parameters comprise one or more keywords, and one or more of a Levenshtein distance value, a proximity distance value, an extraction direction, a context size, and an entity type;

obtain a set of text for processing;

perform a search over the set of text using one or more of Levenshtein and proximity distance search to identify at least one of the one or more keywords, wherein the Levenshtein distance value parameter is applied if Levenshtein distance search is used, and the proximity distance value parameter is applied if proximity distance search is used;

if a keyword is found, then send a block of text containing the keyword and the number of words specified by the context size configuration parameter in a direction from the keyword specified by the extraction direction parameter to an entity extractor; and

use an entity extracted by the entity extractor and the block of text to perform an operation, wherein the operation is one of routing a request or statement represented by the block or set of text to a customer service representative, assisting a user to navigate through one or more branches or prompts of an interactive voice response system, or initiating an event or process.

20 . The one or more non-transitory computer-readable media of claim 19 , wherein the set of configuration parameters is determined at least in part by:

determining an alphanumeric string of interest in an example of text;

determining a keyword or keywords of interest in the alphanumeric string; and

setting one or more configuration parameters for entity identification and extraction based on the keywords and their location in the example of text.