IP Library Granted Patent US 12675709
Granted Patent B2
US 12675709 · App. 18/338,329 · Granted Jul 7, 2026

Filtering counterfactual conditionals

Inventors: Samuel Sharpe (Cambridge, MA); Christopher Bayan Bruss (Washington, DC); Brian Barr (Schenectady, NY)
Assignee: Capital One Services, LLC
G06N5/025G06N3/0475G06N5/045G06N20/00
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 12675709
App. No.
18/338,329
Granted
Jul 7, 2026
Kind
B2
Abstract

A method and related system operations include determining a predicted category by providing a prediction model with a set of input feature values and generating a plurality of conditionals based on the set of input feature values for a set of features and the predicted category. The method also includes filtering the plurality of conditionals based on a knowledge base to obtain a selected conditional by generating a set of sub-conditional paths by providing, as an input for a prompt generator model, a candidate conditional of the plurality of conditionals to the prompt generator model and selecting the candidate conditional as the selected conditional based on a determination that the set of sub-conditional paths satisfies a set of criteria associated with a set of sequences of the knowledge base. The method further includes storing the selected conditional in a data structure in association with the set of input feature values.

Claims (79)

1 . A system for generating conditionals corresponding with an input feature value set by using a prompt generator model, the system comprising one or more processors and a memory storing program instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

predicting a category representing a decision system output by providing a prediction model with a set of input feature values provided by a user via a user interface;

generating a plurality of conditionals based on the set of input feature values for a set of features and the predicted category, wherein the plurality of conditionals represents combinations of feature values associated with categories different from the predicted category;

filtering the plurality of conditionals based on a knowledge base to obtain a selected conditional by:

generating a plurality of sub-conditional paths by providing, as an input, a candidate conditional of the plurality of conditionals to a prompt generator model;

retrieving a set of sequences of the knowledge base based on the plurality of sub-conditional paths; and

selecting the candidate conditional as the selected conditional based on a detected match between at least one sequence of the set of sequences and the plurality of sub-conditional paths;

storing the selected conditional in a data structure, wherein the selected conditional is stored in association with the set of input feature values; and

causing an update to the user interface to present the selected conditional to the user.

2 . A method comprising:

determining a predicted category by providing a prediction model with a set of input feature values;

generating a plurality of conditionals based on the set of input feature values for a set of features and the predicted category;

filtering the plurality of conditionals based on a knowledge base to obtain a selected conditional by:

generating a plurality of sub-conditional paths by providing, as an input, a candidate conditional of the plurality of conditionals to a prompt generator model;

retrieving a set of sequences of the knowledge base based on the plurality of sub-conditional paths; and

selecting the candidate conditional as the selected conditional based on a result indicating whether a sequence of the set of sequences matches with a path of the plurality of sub-conditional paths;

storing the selected conditional in a data structure in association with the set of input feature values; and

causing an update to a user interface to present the selected conditional.

3 . The method of claim 2 , wherein filtering the plurality of conditionals comprises determining a plurality of selected conditionals, wherein the plurality of selected conditionals comprises the selected conditional.

4 . The method of claim 3 , wherein:

the candidate conditional is a first candidate conditional;

the selected conditional is a first selected conditional;

filtering the plurality of conditionals further comprises generating a second plurality of sub-conditional paths by providing, as another input for the prompt generator model, a second candidate conditional of the plurality of conditionals to the prompt generator model; and

determining the plurality of selected conditionals comprises determining the plurality of selected conditionals without including the second candidate conditional based on a detected mismatch between the set of sequences and the second plurality of sub-conditional paths.

5 . The method of claim 2 , further comprising updating the knowledge base based on the selected conditional.

6 . The method of claim 2 , further comprising selecting the knowledge base of a plurality of data stores based on the set of features.

7 . The method of claim 2 , wherein the predicted category is a first predicted category, and wherein generating the plurality of conditionals comprises:

generating a modified set of input feature values by modifying a feature value of the set of input feature values;

providing the modified feature value to the prediction model to generate a second predicted category; and

generating a conditional of the plurality of conditionals based on a comparison between the second predicted category and the first predicted category.

8 . The method of claim 7 , wherein modifying the feature value comprises:

generating a plurality of candidate feature value sets based on the set of input feature values;

determining a plurality of distance metrics by determining distances between the set of input feature values and the plurality of candidate feature value sets;

determining a target distribution based on the plurality of distance metrics; and

selecting the modified set of input feature values from the plurality of candidate feature value sets based on the target distribution.

9 . The method of claim 7 , wherein modifying the feature value comprises:

generating a set of local explainability weights associated with features of the set of input feature values;

selecting a target feature for modification based on the set of local explainability weights, wherein the feature value corresponds with the target feature; and

modifying the set of input feature values by modifying the feature value of the set of input feature values corresponding with the target feature.

10 . The method of claim 2 , wherein retrieving the set of sequences comprises:

obtaining a user-provided value that was selected with the user interface; and

selecting a portion of the knowledge base based on the user-provided value, wherein at least one sequence of the set of sequences is stored in the portion of the knowledge base.

11 . The method of claim 2 , wherein generating the plurality of conditionals comprises:

obtaining a plurality of previously provided input feature sets comprising the set of input feature values and a set of predicted categories associated with the plurality of previously provided input feature sets, wherein the set of predicted categories comprises the predicted category;

determining a set of likelihood values, wherein each likelihood value of the set of likelihood values indicates a likelihood of a predicted category value based on a feature value of the plurality of previously provided input feature sets;

generating a plurality of combinations of feature values indicated to satisfy a target prediction likelihood threshold based on the set of likelihood values; and

generating the plurality of conditionals based on the plurality of combinations of feature values.

12 . A set of non-transitory, machine-readable media storing program instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

determining a predicted category by providing a prediction model with a set of input feature values;

generating a plurality of conditionals based on the set of input feature values for a set of features and the predicted category;

filtering the plurality of conditionals based on a knowledge base to obtain a selected conditional by:

generating a set of sub-conditional paths by providing, as an input for a prompt generator model, a candidate conditional of the plurality of conditionals to the prompt generator model; and

selecting the candidate conditional as the selected conditional based on a determination that the set of sub-conditional paths satisfies a set of criteria associated with a set of sequences of the knowledge base; and

storing the selected conditional in a data structure in association with the set of input feature values.

13 . The set of non-transitory, machine-readable media of claim 12 , wherein:

generating the plurality of conditionals comprises generating at least three conditionals; and

filtering the plurality of conditionals comprises determining a plurality of selected conditionals, wherein the plurality of selected conditionals does not comprise at least one conditional of the plurality of conditionals.

14 . The set of non-transitory, machine-readable media of claim 12 , further comprising:

obtaining, from a user, a user-entered conditional; and

updating the plurality of conditionals to comprise the user-entered conditional.

15 . The set of non-transitory, machine-readable media of claim 12 , wherein a first sequence of the set of sequences indicates a maximum difference threshold for a feature of the set of input feature values.

16 . The set of non-transitory, machine-readable media of claim 12 , wherein:

the knowledge base is associated with a plurality of weights, wherein each respective sequence of the set of sequences is associated with a respective weight of the plurality of weights;

determining a score based on whether the set of sub-conditional paths satisfies the set of criteria;

updating the score based on the plurality of weights; and

selecting the candidate conditional as the selected conditional based on a determination that the score satisfies a score threshold.

17 . The set of non-transitory, machine-readable media of claim 12 , wherein the set of input feature values comprises an income value, an age, or a geographic location.

18 . The set of non-transitory, machine-readable media of claim 12 , the operations further comprising obtaining a value of the set of input feature values from a client computing device.

19 . The set of non-transitory, machine-readable media of claim 12 , wherein the knowledge base comprises a text document, and wherein a first sequence of the set of sequences comprises a token sequence of the text document.

20 . The set of non-transitory, machine-readable media of claim 12 , wherein:

the set of sequences comprises a first sequence;

the set of sub-conditional paths is a first set of sub-conditional paths;

the first sequence is associated with a first category;

the candidate conditional is a first candidate conditional;

filtering the plurality of conditionals comprises:

generating a second set of sub-conditional paths by providing, as a second input, a second candidate conditional of the plurality of conditionals to the prompt generator model; and

associating the second candidate conditional with the first category based on a determination that the second set of sub-conditional paths does not satisfy a criterion associated with the first sequence; and

the operations further comprise:

updating a user interface to present the second candidate conditional based on an association between the second candidate conditional with the first category.