IP Library Granted Patent US 12,579,115
Granted Patent B2
US 12,579,115 · App. 18/374,991 · Granted Mar 17, 2026

Data health evaluation using generative language models

Inventors: Victor Chukwuma Dibia (Santa Clara, CA); Chenglong Wang (Bellevue, WA); Bongshin Lee (Issaquah, WA); Jeevana Priya Inala (Redmond, WA); John Thompson (Atlanta, GA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/215
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,579,115
App. No.
18/374,991
Granted
Mar 17, 2026
Kind
B2
Abstract

The disclosed concepts relate to leveraging a language model to identify data health issues in a data set. One example method involves accessing a data set. The example method also involves, using an automated evaluation planning agent, inputting a prompt to generate a data evaluation plan for the data set to a generative language model, the prompt including context describing the data set. The example method also involves receiving the data evaluation plan generated by the generative language model and identifying one or more data health issues in the data set by performing the data evaluation plan using an automated evaluation plan execution agent.

Claims (58)

1 . A method performed on a computing device, the method comprising:

accessing a data set;

by an automated evaluation planning agent:

generating a prompt requesting generation of a data evaluation plan for the data set, the prompt having context describing the data set;

invoking an application programming interface that provides the prompt to a generative language model; and

receiving, via the application programming interface, the data evaluation plan generated by the generative language model;

invoking the application programming interface with another prompt instructing the generative language model to write code to implement one or more data evaluation actions of the data evaluation plan;

receiving the code from the generative language model; and

executing the code to implement the data evaluation plan, the executing identifying one or more data health issues in the data set by performing the one or more data evaluation actions.

2 . The method of claim 1 , wherein the one or more data health issues include one or more of invalid values in the data set, inconsistent formats in the data set, inconsistent semantic types in the data set, missing values in the data set, outliers in the data set, duplicate unique values in the data set, or inconsistent units in the data set.

3 . The method of claim 2 , further comprising:

invoking the application programming interface with another prompt instructing the generative language model to generate a summary of the data set; and

inputting the summary of the data set to the generative language model as the context describing the data set.

4 . The method of claim 3 , further comprising, by an automated summarization agent:

invoking the application programming interface with a further prompt instructing the generative language model to generate one or more annotations for the data set using a name of the data set, a name of a field of the data set, or values in the data set as context;

receiving the one or more annotations for the data set from the generative language model; and

including the one or more annotations in the summary, wherein the one or more annotations produced by the generative language model are employed as the context for generating the data evaluation plan.

5 . The method of claim 4 , the annotations including a semantic description of the data set produced by the generative language model, semantic types of fields of the data set produced by the generative language model, and textual descriptions of the fields produced by the generative language model.

6 . The method of claim 1 , further comprising:

by an automated aggregation and scoring agent, determining a data health score for the data set based at least on the one or more data health issues.

7 . The method of claim 6 , the data health score being determined by the automated aggregation and scoring agent using at least one of a severity dictionary or a regression model.

8 . The method of claim 1 , wherein the code written by the generative language model obtains samples from the data set and performs the one or more data evaluation actions of the data evaluation plan on the samples.

9 . The method of claim 8 , wherein the code performs one or more data cleaning actions on the data set.

10 . The method of claim 9 , wherein the one or more data cleaning actions include removing values from the data set or changing values in the data set.

11 . The method of claim 10 , further comprising, by the automated evaluation plan execution agent:

invoking the application programming interface with a further prompt instructing the generative language model to determine whether the one or more data cleaning actions improve data quality of the data set; and

responsive to a response from the generative language model indicating that a particular data cleaning action does not improve the data quality of the data set, performing a different data cleaning action on the data set.

12 . The method of claim 1 , wherein the generative language model comprises a transformer decoder neural network.

13 . The method of claim 12 , further comprising:

performing pruning or distillation on another generative language model having another transformer decoder neural network to obtain the generative language model,

the generative language model having fewer parameters than the another generative language model.

14 . A system comprising:

a hardware processing unit; and

a storage resource storing computer-readable instructions which, when executed by the hardware processing unit, cause the system to:

access a data set;

generate a prompt requesting a generative language model to generate a data evaluation plan for the data set, the prompt including a summary of the data set as context;

invoke an application programming interface that provides the prompt to the generative language model;

receive the data evaluation plan from the generative language model, the data evaluation plan including one or more data evaluation actions;

invoke the application programming interface with another prompt instructing the generative language model to write code to implement the one or more data evaluation actions of the data evaluation plan;

receive the code from the generative language model; and

execute the code, wherein the code, when executed, implements the data evaluation plan by performing the one or more data evaluation actions, the one or more data evaluation actions identifying one or more data health issues in the data set.

15 . The system of claim 14 , wherein the computer-readable instructions, when executed by the hardware processing unit, cause the system to:

invoke the application programming interface with another prompt instructing the generative language model to generate annotations of the data set; and

provide the annotations as context to the generative language model for generation of the data evaluation plan.

16 . The system of claim 15 , wherein the annotations include a semantic description of the data set produced by the generative language model, semantic types of fields of the data set produced by the generative language model, and textual descriptions of the fields produced by the generative language model.

17 . The system of claim 16 , wherein the computer-readable instructions, when executed by the hardware processing unit, cause the system to:

include, in the prompt, at least:

data types of fields of the data set, and

statistics for a particular field of the data set.

18 . The system of claim 17 , wherein the statistics include a minimum value, maximum value, and number of unique values of the particular field.

19 . A computer-readable storage medium storing computer-readable instructions which, when executed by a processing unit, cause the processing unit to perform acts comprising:

accessing a data set;

generating a prompt instructing a generative language model to generate a data evaluation plan for the data set, the prompt including context describing the data set;

invoking an application programming interface that provides the prompt to the generative language model;

receiving the data evaluation plan produced by the generative language model;

invoking the application programming interface with another prompt instructing the generative language model to write code to implement one or more data evaluation actions of the data evaluation plan;

receiving the code from the generative language model; and

executing the code to implement the data evaluation plan, the executing of the code identifying one or more data health issues in the data set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2024
From: DIBIA, VICTOR CHUKWUMA; WANG, CHENGLONG; LEE, BONGSHIN; INALA, JEEVANA PRIYA; THOMPSON, JOHN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 066247/0649 →
Continuity (1)
Related Publication 20250110934A1 · Apr 3, 2025
References Cited (26)
US 10811139B1 · Wang · 2020 [cited by examiner]
US 10923233B1 · Wang · 2021 [cited by examiner]
US 12278740B2 · Joshi · 2025 [cited by examiner]
US 20100114745A1 · R · 2010 [cited by examiner]
US 20240153026A1 · Fields · 2024 [cited by examiner]
US 20240345914A1 · Selvaraj · 2024 [cited by examiner]
US 20240370595A1 · Vierra · 2024 [cited by examiner]
US 20240403567A1 · Dressler, II · 2024 [cited by examiner]
US 20250005288A1 · Amatriain-Rubio · 2025 [cited by examiner]
US 20250036434A1 · Madison · 2025 [cited by examiner]
US 20250110934A1 · Dibia · 2025 [cited by examiner]
US 20250251989A1 · Yang · 2025 [cited by examiner]
US 20250322476A1 · Kharytonenka · 2025 [cited by examiner]
Evaluation Agent: Efficient and Promptable Evaluation Framework (Year: 2024). [cited by examiner]
Planning with Large Language Models via Corrective Re-prompting (Year: 2022). [cited by examiner]
LaMDA: Language Models for Dialog Applications (Year: 2022). [cited by examiner]
Radford, et al., “Improving Language Understanding by Generative Pre-Training,” available at https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf, Jun. 11, 2018, 12 pages. [cited by applicant]
“How to Automate Data Cleaning in Python?”, Retrieved from the Internet URL: https://www.geeksforgeeks.org/how-to-automate-data-cleaning-in-python/, May 31, 2023, 13 pages. [cited by applicant]
Amy Steier, “Comprehensive Data Cleaning for AI and ML Learn to Prepare Tabular Data for AI and ML With an End-to-End Data Cleaning Work Ow”, Jul. 24, 2023, 15 pages. [cited by applicant]
Huang, et al., “When to Finish? Optimal Beam Search for Neural Text Generation (modulo beam size)”, arXiv:1809.00069v1, Aug. 31, 2018, 6 pages. [cited by applicant]
International Search Report Received in PCT Application No. PCT/US2024/043122, mailed on Nov. 28, 2024, 13 pages. [cited by applicant]
Jason Weill, “Generative AI in Jupyter”, Retrieved from the Internet URL: https://blog.jupyter.org/generative-ai-in-jupyter-3f7174824862, Aug. 2, 2023, 17 pages. [cited by applicant]
Kanwal Mehreen, “Data Cleaning with Pandas”, Retrieved from the Internet URL: https://www.kdnuggets.com/data-cleaning-with-pandas, Sep. 5, 2023, 10 pages. [cited by applicant]
Miao, et al., “Online Hybrid CTC/Attention End-to-End Automatic Speech Recognition Architecture”, IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 28, Apr. 2020, pp. 1452-1465, 14 pages. [cited by applicant]
Watanabe, et al., “Hybrid CTC/Attention Architecture for End-to-End Speech Recognition”, IEEE Journal of Selected Topics in Signal Processing, vol. 11, No. 8, Dec. 2017, pp. 1240-1253, 14 pages. [cited by applicant]
Lewis et al., “How to scale document question answering using LLMs,” retrieved from the internet archive at https://web.archive.org/web/20231130182242/https:/www.sensible.so/blog/llm-document-extraction, dated Oct. 16, … [cited by applicant]