IP Library › Granted Patent US 12,675,709
Granted Patent B2
US 12,675,709 · 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 12,675,709
App. No.
18/338,329
Filed
Jun 20, 2023
Granted
Jul 7, 2026
Kind
B2
Examiner
LUO, KATE H
Art Unit
6216
USPC
706/47
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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: SHARPE, SAMUEL; BRUSS, CHRISTOPHER BAYAN; BARR, BRIAN
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 064004/0046 →
Continuity (1)
Related Publication 20240428091A1 · Dec 26, 2024
References Cited (7)
US 11475321B2 · Rangarajan · 2022 [cited by examiner]
US 12443879B2 · Giovannini · 2025 [cited by examiner]
US 20210406316A1 · Buckley · 2021 [cited by examiner]
US 20220309359A1 · Zhou · 2022 [cited by examiner]
US 20220366233A1 · Le · 2022 [cited by examiner]
US 20230376829A1 · Giovannini · 2023 [cited by examiner]
He et al. (CPL: Counterfactual Prompt Learning for Vision and Language Models, Proceedings of 2022 Conference on Empirical Methods in Natural Language Processing pp. 3407-3418, Dec. 7-11, 2022) (Year: 2022). [cited by examiner]