IP Library › Granted Patent US 12,737,392
Granted Patent B2
US 12,737,392 · App. 19/234,920 · Granted Sep 15, 2026

Generating machine learning model prompts for analyzing collections of unstructured data

Inventors: Jeremy Stanley (Croton on Hudson, NY); Viktoriya Andonova (Lisbon, PT); Chukwuemeka Ezekwe (Stone Mountain, GA); Daniel Walcoff (San Anselmo, CA); Kristian Ferjas Cailer (Arlington, VA); Timothy John Marshall (Austin, TX); Kristen Marie Hauser (Lakewood, OH); Elliot Shmukler (Burlingame, CA)
Assignee: Anomalo, Inc.
G06F16/332G06F16/35G06F40/226
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,737,392
App. No.
19/234,920
Granted
Sep 15, 2026
Kind
B2
Abstract

In a general aspect, data quality monitoring and reporting are described. In some implementations, a system receives input identifying: a set of characteristic attributes to extract from unstructured data in a plurality of documents, and a set of issue attributes to identify in the unstructured data in the plurality of documents. The system instantiates characteristic attribute classes for the set of characteristic attributes and instantiates issue attribute classes for the set of issue attributes. The system constructs a prompt that includes instructions for a machine learning (ML) model to analyze the unstructured data in the plurality of documents, wherein constructing the prompt includes combining prompt strings for instantiated characteristic attribute classes and instantiated issue attribute classes. The system provides the prompt to the ML model and causes the ML model to analyze the unstructured data in the plurality of documents according to the prompt.

Claims (96)

1 . A method performed by a computing system, the method comprising:

receiving user input indicating:

a set of characteristic attributes to extract from unstructured data in a plurality of documents; and

a set of issue attributes to identify in the unstructured data in the plurality of documents;

for each characteristic attribute of the set of characteristic attributes, instantiating a characteristic attribute class that includes information defining the respective characteristic attribute;

for each issue attribute of the set of issue attributes, instantiating an issue attribute class that includes information defining the respective issue attribute;

constructing a prompt that includes instructions for an ML model to analyze the unstructured data in the plurality of documents, wherein constructing the prompt includes:

for each instantiated characteristic attribute class, generating a prompt string that includes instructions for extracting the respective characteristic attribute based on the information defining the respective characteristic attribute;

for each instantiated issue attribute class, generating a prompt string that includes instructions for identifying the respective issue attribute based on the information defining the respective issue attribute; and

combining the generated prompt strings to form the prompt;

providing the prompt to the ML model and causing the ML model to analyze the unstructured data in the plurality of documents according to the prompt; and

receiving, from the ML model, results in response to the prompt, the results comprising a representation of documents that are determined to be relevant to the prompt based on a score calculated from one or more of the following:

one or more characteristic attributes extracted from the respective document, or presence of one or more issue attributes identified in the respective document.

2 . The method of claim 1 , comprising:

after causing the ML model to analyze the unstructured data in the plurality of documents according to the prompt, and in response to a request to perform another analysis of the unstructured data in the plurality of documents:

instantiating a second set of characteristic attribute classes including, for each characteristic attribute in a second set of characteristic attributes, instantiating a characteristic attribute class that includes information defining the respective characteristic attribute;

instantiating a second set of issue attribute classes including, for each issue attribute in a second set of issue attributes, instantiating an issue attribute class that includes information defining the respective issue attribute;

constructing a second prompt that includes instructions for the ML model to analyze the unstructured data in the plurality of documents, the second prompt constructed based on the instantiated second set of characteristic attribute classes and the instantiated second set of issue attribute classes; and

providing the second prompt to the ML model and causing the ML model to analyze the unstructured data in the plurality of documents according to the second prompt.

3 . The method of claim 1 , wherein the prompt includes one or more filtering criteria, wherein the filtering criteria indicates a set of criteria for including or excluding documents, of the plurality of documents, from at least a portion of analysis according to the prompt.

4 . The method of claim 1 , wherein:

the input includes attribute information defining one or more characteristic attributes, one or more issue attributes, or a combination of both; and

the method includes creating one or more new attribute classes, based on the attribute information, that are instantiated when constructing the prompt.

5 . The method of claim 1 , wherein the prompt includes instructions to return results for each characteristic attribute in the set of characteristic attributes, the results for each characteristic attribute including, for each document in the plurality of documents, one or more of the following: a category represented by a respective document and determined by the ML model, an integer representing a count associated with the respective document and determined by the ML model, or a string describing the respective document and determined by the ML model.

6 . The method of claim 1 , wherein the prompt includes instructions to return results for each issue attribute in the set of issue attributes, the results for each issue attribute including, for each document in the plurality of documents, one or more of the following: a Boolean value representing presence of the issue attribute in a respective document and determined by the ML model, or a representation of unstructured content from the respective document that caused the issue attribute to be identified as present by the ML model.

7 . The method of claim 6 , wherein the prompt includes instructions to return, in a structured output field of the results, the representation of unstructured content from the respective document that caused the issue attribute to be identified as present by the ML model.

8 . The method of claim 1 , wherein the set of characteristic attributes includes one or more of the following characteristic attributes: a topic of a target set of documents, a sentiment of a target set of documents, a summary of a target set of documents, a tone of a target set of documents, a language of a target set of documents, a quality grade of a target set of documents, or a category of a target set of documents.

9 . The method of claim 1 , wherein the set of issue attributes include one or more of the following issue attributes: presence of personally identifiable information (PII) in a document, presence of abusive language in a document, presence of sensitive information in a document, or presence of duplicate documents.

10 . The method of claim 1 , wherein the prompt includes instructions to format results returned by the ML model in a structured format.

11 . The method of claim 10 , comprising:

validating the results returned by the ML model including determining whether a format of the results returned by the ML model complies with formatting instructions in the prompt.

12 . The method of claim 11 , comprising, in response to a determination that the format of the results does not comply with the formatting instructions in the prompt, prompting the ML model to fix a non-compliant portion of the results.

13 . The method of claim 1 , wherein the prompt includes instructions for calculating a score for each document in the plurality of documents, the score determined by the ML model based on one or more of the following:

one or more characteristic attributes extracted from the respective document, or presence of one or more issue attributes identified in the respective document.

14 . The method of claim 1 , comprising receiving input specifying the ML model to use for analyzing the unstructured data in the plurality of documents.

15 . The method of claim 1 , comprising modifying the plurality of documents based on results returned by the ML model, wherein modifying the plurality of documents includes one or more of the following:

removing one or more documents from the plurality of documents based on identified presence of one or more issue attributes;

altering content within one or more documents based on presence of one or more issue attributes;

annotating content within one or more documents based on presence of one or more issue attributes;

highlighting content within one or more documents based on presence of one or more issue attributes;

removing content within one or more documents based on presence of one or more issue attributes;

replacing content within one or more documents based on presence of one or more issue attributes; or

redacting content within one or more documents based on presence of one or more issue attributes.

16 . A system comprising:

one or more processors; and

a computer-readable medium storing instructions that are operable when executed by the one or more processors to perform operations comprising:

receiving user input indicating:

a set of characteristic attributes to extract from unstructured data in a plurality of documents; and

a set of issue attributes to identify in the unstructured data in the plurality of documents;

for each characteristic attribute of the set of characteristic attributes, instantiating a characteristic attribute class that includes information defining the respective characteristic attribute;

for each issue attribute of the set of issue attributes, instantiating an issue attribute class that includes information defining the respective issue attribute;

constructing a prompt that includes instructions for an ML model to analyze the unstructured data in the plurality of documents, wherein constructing the prompt includes:

for each instantiated characteristic attribute class, generating a prompt string that includes instructions for extracting the respective characteristic attribute based on the information defining the respective characteristic attribute;

for each instantiated issue attribute class, generating a prompt string that includes instructions for identifying the respective issue attribute based on the information defining the respective issue attribute; and

combining the generated prompt strings to form the prompt;

providing the prompt to the ML model and causing the ML model to analyze the unstructured data in the plurality of documents according to the prompt; and

receiving, from the ML model, results in response to the prompt, the results comprising a representation of documents that are determined to be relevant to the prompt based on a score calculated from one or more of the following:

one or more characteristic attributes extracted from the respective document, or presence of one or more issue attributes identified in the respective document.

17 . The system of claim 16 , the computer-readable medium storing instructions that are operable when executed by the one or more processors to perform operations comprising:

after causing the ML model to analyze the unstructured data in the plurality of documents according to the prompt, and in response to a request to perform another analysis of the unstructured data in the plurality of documents:

instantiating a second set of characteristic attribute classes including, for each characteristic attribute in a second set of characteristic attributes, instantiating a characteristic attribute class that includes information defining the respective characteristic attribute;

instantiating a second set of issue attribute classes including, for each issue attribute in a second set of issue attributes, instantiating an issue attribute class that includes information defining the respective issue attribute;

constructing a second prompt that includes instructions for the ML model to analyze the unstructured data in the plurality of documents, the second prompt constructed based on the instantiated second set of characteristic attribute classes and the instantiated second set of issue attribute classes; and

providing the second prompt to the ML model and causing the ML model to analyze the unstructured data in the plurality of documents according to the second prompt.

18 . The system of claim 16 , wherein the prompt includes one or more filtering criteria, wherein the filtering criteria indicates a set of criteria for including or excluding documents, of the plurality of documents, from at least a portion of analysis according to the prompt.

19 . The system of claim 16 , wherein:

the input includes attribute information defining one or more characteristic attributes, one or more issue attributes, or a combination of both; and

the computer-readable medium storing instructions that are operable when executed by the one or more processors to perform operations comprising creating one or more new attribute classes, based on the attribute information, that are instantiated when constructing the prompt.

20 . The system of claim 16 , wherein the prompt includes instructions to return results for each characteristic attribute in the set of characteristic attributes, the results for each characteristic attribute including, for each document in the plurality of documents, one or more of the following: a category represented by a respective document and determined by the ML model, an integer representing a count associated with the respective document and determined by the ML model, or a string describing the respective document and determined by the ML model.

21 . The system of claim 16 , wherein the prompt includes instructions to return results for each issue attribute in the set of issue attributes, the results for each issue attribute including, for each document in the plurality of documents, one or more of the following: a Boolean value representing presence of the issue attribute in a respective document and determined by the ML model, or a representation of unstructured content from the respective document that caused the issue attribute to be identified as present by the ML model.

22 . The system of claim 16 , wherein the set of characteristic attributes includes one or more of the following characteristic attributes: a topic of a target set of documents, a sentiment of a target set of documents, a summary of a target set of documents, a tone of a target set of documents, a language of a target set of documents, a quality grade of a target set of documents, or a category of a target set of documents.

23 . The system of claim 16 , wherein the set of issue attributes include one or more of the following issue attributes: presence of personally identifiable information (PII) in a document, presence of abusive language in a document, presence of sensitive information in a document, or presence of duplicate documents.

24 . The system of claim 16 , wherein the prompt includes instructions to format results returned by the ML model in a structured format.

25 . A non-transitory computer-readable medium storing instructions that are operable when executed by a data-processing apparatus to perform operations comprising:

receiving user input indicating:

a set of characteristic attributes to extract from unstructured data in a plurality of documents; and

a set of issue attributes to identify in the unstructured data in the plurality of documents;

for each characteristic attribute of the set of characteristic attributes, instantiating a characteristic attribute class that includes information defining the respective characteristic attribute;

for each issue attribute of the set of issue attributes, instantiating an issue attribute class that includes information defining the respective issue attribute;

constructing a prompt that includes instructions for an ML model to analyze the unstructured data in the plurality of documents, wherein constructing the prompt includes:

for each instantiated characteristic attribute class, generating a prompt string that includes instructions for extracting the respective characteristic attribute based on the information defining the respective characteristic attribute;

for each instantiated issue attribute class, generating a prompt string that includes instructions for identifying the respective issue attribute based on the information defining the respective issue attribute; and

combining the generated prompt strings to form the prompt;

providing the prompt to the ML model and causing the ML model to analyze the unstructured data in the plurality of documents according to the prompt; and

receiving, from the ML model, results in response to the prompt, the results comprising a representation of documents that are determined to be relevant to the prompt based on a score calculated from one or more of the following:

one or more characteristic attributes extracted from the respective document, or presence of one or more issue attributes identified in the respective document.

26 . The non-transitory computer-readable medium of claim 25 , the non-transitory computer-readable medium storing instructions that are operable when executed by the data-processing apparatus to perform operations comprising:

after causing the ML model to analyze the unstructured data in the plurality of documents according to the prompt, and in response to a request to perform another analysis of the unstructured data in the plurality of documents:

instantiating a second set of characteristic attribute classes including, for each characteristic attribute in a second set of characteristic attributes, instantiating a characteristic attribute class that includes information defining the respective characteristic attribute;

instantiating a second set of issue attribute classes including, for each issue attribute in a second set of issue attributes, instantiating an issue attribute class that includes information defining the respective issue attribute;

constructing a second prompt that includes instructions for the ML model to analyze the unstructured data in the plurality of documents, the second prompt constructed based on the instantiated second set of characteristic attribute classes and the instantiated second set of issue attribute classes; and

providing the second prompt to the ML model and causing the ML model to analyze the unstructured data in the plurality of documents according to the second prompt.

27 . The non-transitory computer-readable medium of claim 25 , wherein the prompt includes one or more filtering criteria, wherein the filtering criteria indicates a set of criteria for including or excluding documents, of the plurality of documents, from at least a portion of analysis according to the prompt.

28 . The non-transitory computer-readable medium of claim 25 , wherein the prompt includes instructions to return results for each characteristic attribute in the set of characteristic attributes, the results for each characteristic attribute including, for each document in the plurality of documents, one or more of the following: a category represented by a respective document and determined by the ML model, an integer representing a count associated with the respective document and determined by the ML model, or a string describing the respective document and determined by the ML model.

29 . The non-transitory computer-readable medium of claim 25 , wherein the prompt includes instructions to return results for each issue attribute in the set of issue attributes, the results for each issue attribute including, for each document in the plurality of documents, one or more of the following: a Boolean value representing presence of the issue attribute in a respective document and determined by the ML model, or a representation of unstructured content from the respective document that caused the issue attribute to be identified as present by the ML model.

30 . The non-transitory computer-readable medium of claim 25 , wherein the prompt includes instructions to format results returned by the ML model in a structured format.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2025
From: STANLEY, JEREMY; ANDONOVA, VIKTORIYA; EZEKWE, CHUKWUEMEKA; WALCOFF, DANIEL; CAILER, KRISTIAN; MARSHALL, TIM; HAUSER, KRISTEN; SHMUKLER, ELLIOT
To: ANOMALO, INC.
Reel/Frame 071801/0449 →
Continuity (4)
Provisional Application 63801419 · May 7, 2025
Provisional Application 63671957 · Jul 16, 2024
Provisional Application 63658612 · Jun 11, 2024
Related Publication 20250378090A1 · Dec 11, 2025
References Cited (33)
US 10268711B1 · Chappell · 2019 [cited by examiner]
US 11675823B2 · Kanagovi · 2023 [cited by examiner]
US 11709854B2 · Saraswat et al. · 2023 [cited by applicant]
US 11847408B2 · Religa et al. · 2023 [cited by applicant]
US 12056443B1 · Jaiswal et al. · 2024 [cited by applicant]
US 12073930B1 · Alperin · 2024 [cited by examiner]
US 20150149461A1 · Aguilar · 2015 [cited by applicant]
US 20180365588A1 · Gu et al. · 2018 [cited by applicant]
US 20200380417A1 · Briancon · 2020 [cited by applicant]
US 20210081819A1 · Polleri et al. · 2021 [cited by applicant]
US 20210157856A1 · Tsuzuku · 2021 [cited by examiner]
US 20220114490A1 · Das · 2022 [cited by examiner]
US 20230078263A1 · Seledkin · 2023 [cited by applicant]
US 20230082729A1 · Religa · 2023 [cited by applicant]
US 20240128420A1 · Pai · 2024 [cited by applicant]
US 20240160900A1 · Smith · 2024 [cited by applicant]
US 20240281472A1 · Larhette et al. · 2024 [cited by applicant]
US 20240338395A1 · Zhong · 2024 [cited by applicant]
US 20250053835A1 · Stephan · 2025 [cited by examiner]
WO 2025259773 · 2025 [cited by applicant]
WO 2025259776 · 2025 [cited by applicant]
“Anomalo's Unstructured Data Monitoring: Private Beta”, Anomalo, Product Launch: Anomalo Unstructured Data Monitoring is GA!, https://www.anomalo.com/blog/announcing-anomalos-unstructured-data-monitoring-capability-in-p… [cited by examiner]
Bizer et al. “Linked Data—The Story So Far”, https://eprints.soton.ac.uk/271285/1/bizer-heath-berners-lee-ijswis-linked-data.pdf, 2023. [cited by examiner]
U.S. Appl. No. 18/899,161, filed Sep. 27, 2024, first named inventor Jeremy Stanley, 106 pages. [cited by applicant]
“Anomalo's Unstructured Data Monitoring: Private Beta”, Anomalo, Product Launch: Anomalo Unstructured Data Monitoring is GA!, https://www.anomalo.com/blog/announcing-anomalos-unstructured-data-monitoring-capability-in-p… [cited by applicant]
“Unstructured Data Monitoring AI-ready quality and insights for every document in your enterprise”, Anomalo, Product Launch: Anomalo Unstructured Data Monitoring is GA!, https://www.anomalo.com/product-overview/unstruct… [cited by applicant]
Andonova, Vicky, “The Future is Unstructured: Introducing Unstructured Data Monitoring for the Gen AI Era”, Anomalo, Product Launch: Anomalo Unstructured Data Monitoring is GA!, https://www.anomalo.com/blog/unstructured… [cited by applicant]
Karon, Jonathan, “The Future Is Unstructured: How Anomalo + Snowflake Cortex Make Unstructured Data Ready for AI”, Anomalo, Product Launch: Anomalo Unstructured Data Monitoring is GA!, https://www.anomalo.com/blog/how-a… [cited by applicant]
USPTO, Non-Final Office Action issued in U.S. Appl. No. 19/234,880 on Aug. 12, 2025, 23 pages. [cited by applicant]
ISA, International Search Report and Written Opinion issued in Application No. PCT/US2025/033181 on Oct. 10, 2025, 10 pages. [cited by applicant]
ISA, International Search Report and Written Opinion issued in Application No. PCT/US2025/033186 on Oct. 10, 2025, 10 pages. [cited by applicant]
Saeed, et al., “Querying Large Language Models with SQL”, arXiv:2304.00472v1, Apr. 2, 2023, 7 pages. [cited by applicant]
USPTO, Non-Final Office Action issued in U.S. Appl. No. 19/234,880 on Feb. 5, 2026, 35 pages. [cited by applicant]