IP Library › Granted Patent US 12,608,350
Granted Patent B2
US 12,608,350 · App. 18/337,891 · Granted Apr 21, 2026

AI-powered concept-driven visualization authoring

Inventors: Bongshin Lee (Issaquah, WA); Chenglong Wang (Bellevue, WA); John Roger Thompson (Atlanta, GA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/215G06N3/02G06N3/0475
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,608,350
App. No.
18/337,891
Filed
Jun 20, 2023
Granted
Apr 21, 2026
Kind
B2
Examiner
LE, UYEN T
Art Unit
2156
USPC
707/756
Abstract

A method, computer program product, and computing system for processing a request to generate a visualization concerning a plurality of data concepts. A new data concept for the visualization is generated by transforming an existing data concept using a program synthesizer and a generative model. The visualization is rendered by processing a mapping of the new data concept to a visual channel of the visualization.

Claims (26)

1 . A computer-implemented method, executed on a computing device, comprising:

processing a request to generate a visualization concerning a plurality of data concepts, wherein each of the data concepts comprises related portions of data of a data set;

generating a new data concept by transforming an existing data concept from the plurality of data concepts using a program synthesizer and a generative machine learning model, wherein generating the new data concept includes deriving the new data concept from the existing data concept using the generative machine learning model by:

processing a natural language prompt concerning the new data concept using the generative machine learning model;

providing a plurality of candidate data transformations from the generative machine learning model based on at least the natural language prompt and an author interaction history;

generating a sample entry for each candidate data transformation of the plurality of candidate data transformations; and

providing a representation of a process for generating the sample entry of each candidate data transformation by providing a code segment used to generate the sample entry of each candidate data transformation of the plurality of candidate data transformations; and

generating a visualization of the new data concept by processing a mapping of the new data concept to a visual channel of the visualization of the new data concept for rendering.

2 . The computer-implemented method of claim 1 , wherein generating the new data concept for the visualization includes reshaping the existing data concept using one or more of the program synthesizer and the generative machine learning model.

3 . The computer-implemented method of claim 2 , wherein reshaping the existing data concept includes prompting a user to provide an example of the new data concept.

4 . The computer-implemented method of claim 3 , wherein reshaping the existing data concept includes generating a candidate data transformation by processing the example of the new data concept using one or more of the program synthesizer and the generative machine learning model.

5 . A computing system comprising:

a memory; and

a processor configured to process a request to generate a visualization concerning a plurality of data concepts in a table, wherein each of the data concepts comprises related portions of data of a data set, to generate a new data concept from the plurality of data concepts for the visualization by deriving the new data concept from an existing data concept using a generative machine learning model, wherein deriving the new data concept includes: processing a natural language prompt concerning the new data concept using the generative machine learning model, providing a plurality of candidate data transformations from the generative machine learning model in response to processing the natural language prompt, generating a sample entry for each candidate data transformation of the plurality of candidate data transformations, providing a representation of a process for generating the sample entry of each candidate data transformation by providing a code segment used to generate the sample entry of each candidate data transformation of the plurality of candidate data transformations, and generating the new data concept by processing a selection of a candidate data transformation to transform the existing data concept, and to generate a visualization of the new data concept by processing a mapping of the new data concept to a visual channel of the visualization of the new data concept for rendering.

6 . The computing system of claim 5 , wherein the generative machine learning model includes one or more of:

a transformer-based multimodal Large Language Model (LLM); or

a diffusion-based generative multimodal model.

7 . A storage device for storing a computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

processing a request to generate a visualization concerning a plurality of data concepts in a table, wherein each of the data concepts comprises related portions of data of a data set;

generating a new data concept for the visualization by reshaping an existing data concept from the plurality of data concepts using a program synthesizer and a generative machine learning model, wherein generating the new data concept includes deriving the new data concept from the existing data concept using the generative machine learning model by:

processing a natural language prompt concerning the new data concept using the generative machine learning model;

providing a plurality of candidate data transformations from the generative machine learning model based on at least the natural language prompt and an author interaction history;

generating a sample entry for each candidate data transformation of the plurality of candidate data transformations; and

providing a representation of a process for generating the sample entry of each candidate data transformation by providing a code segment used to generate the sample entry of each candidate data transformation of the plurality of candidate data transformations; and

generating a visualization of the new data concept by processing a mapping of the new data concept to a visual channel of the visualization of the new data concept for rendering.

8 . The computer program product of claim 7 , wherein the candidate data transformation includes a candidate data table.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2023
From: LEE, BONGSHIN; WANG, CHENGLONG; THOMPSON, JOHN ROGER
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064314/0580 →
Continuity (1)
Related Publication 20240427745A1 · Dec 26, 2024
References Cited (82)
US 8412747B1 · Harik · 2013 [cited by applicant]
US 10437870B2 · Franceschini · 2019 [cited by examiner]
US 11742092B2 · Murrish · 2023 [cited by examiner]
US 20070203923A1 · Thomas · 2007 [cited by applicant]
US 20080133505A1 · Bayley · 2008 [cited by examiner]
US 20120290988A1 · Sun et al. · 2012 [cited by applicant]
US 20180293517A1 · Browne · 2018 [cited by examiner]
US 20200097602A1 · Ristoski · 2020 [cited by examiner]
US 20210074308A1 · Skordilis · 2021 [cited by examiner]
US 20210264113A1 · Beller · 2021 [cited by examiner]
US 20210406774A1 · Browne · 2021 [cited by examiner]
US 20220365910A1 · He et al. · 2022 [cited by applicant]
US 20230162023A1 · Koike Akino · 2023 [cited by examiner]
US 20230186111A1 · Mohandoss · 2023 [cited by examiner]
DE 102021004562A1 · 2022 [cited by examiner]
WO WO2019044064A1 · 2019 [cited by examiner]
WO WO2019155052A1 · 2019 [cited by examiner]
WO 2021163282A1 · 2021 [cited by applicant]
WO WO2023225891A1 · 2023 [cited by examiner]
Ellis K, et al. Dreamcoder: Bootstrapping inductive program synthesis with wake-sleep library learning. InProceedings of the 42nd acm sigplan international conference on programming language design and implementation Ju… [cited by examiner]
Hu Y, Chapman A, Wen G, Hall DW. What can knowledge bring to machine learning ?—a survey of low-shot learning for structured data. ACM Transactions on Intelligent Systems and Technology (TIST). Mar. 3, 2022;13(3):1-45. … [cited by examiner]
Kozaczynski W, Ning J, Engberts A. Program concept recognition and transformation. IEEE Transactions on Software Engineering. Dec. 1992;18(12):1065-75. (Year: 1992). [cited by examiner]
Tian Y, Wang Y, Gavrilova ML, Ruhe G. A formal knowledge representation system for the cognitive learning engine. InIEEE 10th International Conference on Cognitive Informatics and Cognitive Computing (ICCI-CC'11) Aug. 1… [cited by examiner]
Walker N. Invention Concept Latent Spaces for Analogical Ideation. InIFIP International Conference on Artificial Intelligence Applications and Innovations Jun. 10, 2022 (pp. 313-324). Cham: Springer International Publis… [cited by examiner]
Maceachren, Alan M., Mark Gahegan, and William Pike. “Visualization for constructing and sharing geo-scientific concepts.” Proceedings of the National Academy of Sciences 101.suppl_1 (2004): 5279-5286. (Year: 2004). [cited by examiner]
Datta, Srayan, and Eytan Adar. “A generative model for scientific concept hierarchies.” Plos one 13.2 (2018): e0193331 (Year: 2018). [cited by examiner]
Zong, et al., “Lyra 2: Designing interactive visualizations by demonstration”, In Journal of IEEE Transactions on Visualization and Computer Graphics, vol. 27, Issue 2, Oct. 13, 2020, pp. 1-11. [cited by applicant]
Xiong, et al., “Revealing the semantics of data wrangling scripts with comantics”, In Journal of IEEE Transactions on Visualization and Computer Graphics ( vol. 29, Issue: 1, Jan. 2023, pp. 117-127. [cited by applicant]
Yan, et al., “Auto-Suggest: Learning-to-Recommend Data Preparation Steps using Data Science Notebooks”, In Proceedings of the ACM SIGMOD International Conference on Management of Data, Jun. 11, 2020, pp. 1539-1554. [cited by applicant]
Zhang, et al., “Interpretable Program Synthesis”, In Proceedings of the CHI Conference on Human Factors in Computing Systems, May 8, 2021, 16 Pages. [cited by applicant]
Zong, et al., “Animated Vega-Lite: Unifying Animation with a Grammar of Interactive Graphics”, In Journal of IEEE Transactions on Visualization and Computer Graphics, vol. 29, Issue: 1, Jan. 2023, pp. 149-159. [cited by applicant]
“Pandas-dev/pandas: Pandas”, Retrieved from: https://zenodo.org/record/7857418#.ZGRqE3ZBw2w, Apr. 24, 2023, 5 Pages. [cited by applicant]
Barke, et al., “Grounded Copilot: How Programmers Interact with Code-Generating Models”, In Repository of arXiv:2206.15000v1, Jun. 30, 2022, 24 Pages. [cited by applicant]
Barman, et al., “Ringer: Web Automation by Demonstration”, In Proceedings of ACM SIGPLAN International conference on Object-Oriented Programming, Systems, Languages, and Applications, Nov. 2, 2016, pp. 748-764. [cited by applicant]
Bartram, et al., “Untidy Data: The Unreasonable Effectiveness of Tables”, In Repository of arXiv:2106.15005v1, Jun. 28, 2021, 11 Pages. [cited by applicant]
Bostock, et al., “D3 Data-Driven Documents”, In Journal of IEEE Transactions on Visualization and Computer Graphics, vol. 17, Issue 12, Dec. 2011, pp. 2301-2309. [cited by applicant]
Bostock, et al., “Protovis: A Graphical Toolkit for Visualization”, In Proceedings of IEEE Transactions on Visualization and Computer Graphics, vol. 15, Issue 6, Nov. 2009, pp. 1121-1128. [cited by applicant]
Chaudhuri, et al., “Neurosymbolic programming”, In Journal of Foundations and Trends® in Programming Languages, vol. 7, Issue 3, Dec. 8, 2021, 86 Page. [cited by applicant]
Chen, et al., “Evaluating Large Language Models Trained on Code”, In Repository of arXiv:2107.03374v1, Jul. 7, 2021, 35 Pages. [cited by applicant]
Chen, et al., “Type-directed synthesis of visualizations from natural language queries”, In Proceedings of the ACM on Programming Languages, vol. 6, Oct. 31, 2022, 28 Pages. [cited by applicant]
Chowdhery, et al., “PaLM: Scaling Language Modeling with Pathways”, In Repository of arXiv:2204.02311v1, Apr. 5, 2022, 83 Pages. [cited by applicant]
Fried, et al., “Incoder: A generative model for code infilling and synthesis”, In Repository of arXiv:2204.05999v1, Apr. 12, 2022, 25 Pages. [cited by applicant]
Gulwani, et al., “Program Synthesis”, In Journal of Foundations and Trends in Programming Languages, vol. 4, Issue 1-2, Jul. 11, 2017, 127 Pages. [cited by applicant]
Hendrycks, et al., “Measuring Coding Challenge Competence With APPS”, In Repository of arXiv:2105.09938v1, May 20, 2021, pp. 1-16. [cited by applicant]
Ji, et al., “Question Selection for Interactive Program Synthesis”, In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, Jun. 15, 2020, pp. 1143-1158. [cited by applicant]
Jin, et al., “Auto-Transform: Learning-to-Transform by Patterns”, In Proceedings of the VLDB Endowment, vol. 13, Issue 12, Jul. 1, 2020, pp. 2368-2381. [cited by applicant]
Jin, et al., “Foofah: Transforming Data by Example”, In Proceedings of the ACM International Conference on Management of Data, May 14, 2017, pp. 683-698. [cited by applicant]
Kandel, et al., “Wrangler: Interactive Visual Specification of Data Transformation Scripts”, In Proceedings of SIGCHI Conference on Human Factors in Computing Systems, May 7, 2011, pp. 3363-3372. [cited by applicant]
Kery, et al., “mage: Fluid Moves Between Code and Graphical Work in Computational Notebooks”, In Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology, Oct. 20, 2020, pp. 140-151. [cited by applicant]
Lai, et al., “Ds-1000: A natural and reliable benchmark for data science code generation”, In Repository of arXiv:2211.11501v1, Nov. 18, 2022, 26 Pages. [cited by applicant]
Lee, et al., “Deconstructing categorization in visualization recommendation: A taxonomy and comparative study”, In Journal of IEEE Transactions on Visualization and Computer Graphics, vol. 28, Issue 12, Dec. 1, 2022, pp… [cited by applicant]
Lee, et al., “Lux: always-on visualization recommendations for exploratory dataframe workflows”, In Repository of arXiv:2105.00121v1, Apr. 30, 2021, 15 Pages. [cited by applicant]
Li, et al., “Competition-level code generation with AlphaCode”, In Journal of Science, vol. 378, Issue 6624, Dec. 8, 2022, 74 Pages. [cited by applicant]
Liu, et al., “Atlas: Grammar-based Procedural Generation of Data Visualizations”, In Proceedings of IEEE Visualization Conference (VIS), Oct. 24, 2021, pp. 171-175. [cited by applicant]
Liu, et al., “Data Illustrator: Augmenting Vector Design Tools with Lazy Data Binding for Expressive Visualization Authoring”, In Proceedings of the CHI Conference on Human Factors in Computing Systems, Apr. 21, 2018, p… [cited by applicant]
Luo, et al., “Natural Language to Visualization by Neural Machine Translation”, In Journal of IEEE Transactions on Visualization and Computer Graphics ( vol. 28, Issue: 1, Jan. 2022, pp. 217-226. [cited by applicant]
Moritz, et al., “Formalizing Visualization Design Knowledge as Constraints: Actionable and Extensible Models in Draco”, In Journal of IEEE Transactions on Visualization and Computer Graphics, vol. 25, Issue 1, Jan. 2019… [cited by applicant]
Ouyang, et al., “Training language models to follow instructions with human feedback”, In Proceedings of 36th Conference on Neural Information Processing Systems, Nov. 28, 2022, 15 Pages. [cited by applicant]
Poesia, et al., “Synchromesh: Reliable code generation from pre-trained language models”, In repository of arXiv:2201.11227v1, Jan. 26, 2022, pp. 1-19. [cited by applicant]
Polozov, et al., “Flashmeta: A framework for inductive program synthesis”, In Proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, Oct. 25, 2015, … [cited by applicant]
Pu, et al., “Semanticon: Specifying content-based semantic conditions for web automation programs”, In Proceedings of the 35th Annual ACM Symposium on User Interface Software and Technology, Oct. 29, 2022, pp. 1-16. [cited by applicant]
Raman, et al., “Potter's wheel: An interactive data cleaning system”, In Proceedings of the 27th International Conference on Very Large Data Bases, Sep. 11, 2001, 10 Pages. [cited by applicant]
Ren, et al., “Charticulator: Interactive Construction of Bespoke Chart Layouts”, In Journal of IEEE transactions on visualization and computer graphics vol. 25, Issue 1, Aug. 20, 2018, pp. 789-799. [cited by applicant]
Ren, et al., “Reflecting on the Evaluation of Visualization Authoring Systems : Position Paper”, In Proceedings of IEEE Evaluation and Beyond—Methodological Approaches for Visualization (BELIV), Oct. 21, 2018, pp. 86-92. [cited by applicant]
Saket, et al., “Visualization by Demonstration: An Interaction Paradigm for Visual Data Exploration”, In Journal of IEEE Transactions on Visualization and Computer Graphics, Jan. 2017, pp. 331-340. [cited by applicant]
Satyanarayan, et al., “Critical Reflections on Visualization Authoring Systems”, In Journal of IEEE Transactions on Visualization and Computer Graphics, vol. 26, Issue 1, Aug. 16, 2019, pp. 461-471. [cited by applicant]
Satyanarayan, et al., “Lyra: An Interactive Visualization Design Environment”, In Computer Graphics Forum, vol. 33, Jul. 12, 2014, 10 Pages. [cited by applicant]
Satyanarayan, et al., “Vega-Lite: A grammar of interactive graphics”, In Journal of IEEE Transactions on Visualization and Computer Graphics, vol. 23, Issue 1, Jan. 2017, pp. 341-350. [cited by applicant]
Shen, et al., “GALVIS: Visualization Construction through Example-Powered Declarative Programming”, In Proceedings of the 31st ACM International Conference on Information & Knowledge Management, Oct. 17, 2022, pp. 4975-… [cited by applicant]
Stolte, et al., “Query, Analysis, and Visualization of Hierarchically Structured Data using Polaris”, In Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining, Jul. 23, 200… [cited by applicant]
Tsandilas, Theophanis, “Structgraphics: Flexible visualization design through dataagnostic and reusable graphical structures”, In Journal of IEEE Transactions on Visualization and Computer Graphics, vol. 27, Issue: 2, F… [cited by applicant]
Vanderplas, et al., “Altair: interactive statistical visualizations for python”, In the Journal of Open Source Software, vol. 3, Issue 32, Dec. 10, 2018, 2 Pages. [cited by applicant]
Wang, et al., “Falx: Synthesis-Powered Visualization Authoring”, In Proceedings of the CHI Conference on Human Factors in Computing Systems, May 8, 2021, 15 Pages. [cited by applicant]
Wang, et al., “Synthesizing highly expressive sql queries from input-output examples”, In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, Jun. 14, 2017, pp. 452-466. [cited by applicant]
Wang, et al., “Visualization by example”, In Proceedings of the ACM on Programming Languages, vol. 4, Issue POPL, Dec. 20, 2019, 28 Pages. [cited by applicant]
Wickham, Hadley, “ggplot2”, In Wiley Interdisciplinary Reviews: Computational Statistics , vol. 3 (2), Mar. 1, 2011, pp. 180-185. [cited by applicant]
Wickham, Hadley, “Tidy Data”, In Journal of Statistical Software vol. 59, Issue 10, Aug. 2014, 23 Pages. [cited by applicant]
Wickham, et al., “Welcome to the tidyverse”, In Journal of Open Source Software, vol. 4, Issue 43, Nov. 21, 2019, pp. 1-6. [cited by applicant]
Wilkinson, Leland, “The Grammar of Graphics, Second Edition”, In Publication of Springer, 2005, 693 Pages. [cited by applicant]
Wongsuphasawat, et al., “Voyager 2: Augmenting Visual Analysis with Partial View Specifications”, In Proceedings of the 2017 Chi Conference on Human Factors in Computing Systems, May 2, 2017, pp. 2648-2659. [cited by applicant]
Wongsuphasawat, et al., “Voyager: Exploratory analysis via faceted browsing of visualization recommendations”, In Journal of IEEE Transactions on Visualization and Computer Graphics, vol. 22, Issue 1, Jan. 31, 2016, 10 … [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/033469, Sep. 23, 2024, 14 pages. [cited by applicant]