EP-4736032-A1 - NATURAL LANGUAGE TO CUSTOMIZE DATA VISUALIZATION
Abstract
A system, method, and device for generating data visualizations are disclosed. The method includes (i) obtaining a natural language query, (ii) determining an intent for the natural language query, (iii) generating one or more data requests to one or more selected data sources, the one or more data requests being based at least in part on the intent, (iv) abstracting result data to obtain a data abstraction, the result data being responsive to the one or more data requests, and (v) generating a visualization for the result data based at least in part on the data abstraction.
Inventors
- MERCHANT, SAMEER D.
- VOSOUGH, ZANA
- BHAGWAT, RAJESH
Assignees
- Palo Alto Networks, Inc.
Dates
- Publication Date
- 20260506
- Application Date
- 20240614
Claims (15)
- 1. A system for visualizing data, comprising: one or more processors configured to: obtain a natural language query; determine an intent for the natural language query; generate one or more data requests to one or more selected data sources, the one or more data requests being based at least in part on the intent; abstract result data to obtain a data abstraction, the result data being responsive to the one or more data requests; and generate a visualization for the result data based at least in part on the data abstraction; and a memory coupled to the one or more processors and configured to provide the one or more processors with instructions.
- 2. The system of claim 1, wherein determining the intent for the natural language query includes querying a large language model based on the natural language query.
- 3. The system of claim 1, wherein the intent is determined based at least in part on a machine learning model.
- 4. The system of claim 1, wherein abstracting the result data to obtain the data abstraction includes determining one or more statistical properties pertaining to the result data.
- 5. The system of claim 4, wherein the one or more statistical properties comprise one or more of columns, data in the columns, outlier data, and a distribution of numeric values.
- 6. The system of claim 4, wherein the data abstraction is determined based at least in part on the one or more statistical properties.
- 7. The system of claim 1, wherein generating the visualization for the result data based at least in part on the data abstraction comprises determining a type of visualization based at least in part on the data abstraction, and creating the visualization based at least in part on the type of visualization.
- 8. The system of claim 1, wherein the data abstraction corresponds to a representation of the natural language query in accordance with a predefined data visualization language.
- 9. The system of claim 8, wherein the representation in accordance with the predefined data visualization language comprises an indication of a first dimension of the data to be visualized, a second dimension of the data to be visualized, and a type of visualization.
- 10. The system of claim 1, wherein the data abstraction indicates a type of visualization to be generated.
- 11. The system of claim 10, wherein the type of visualization is selected from a set of predefined visualizations, and the set of predefined visualizations include one or more of a bar chart, a line chart, a donut visualization, a map visualization, a bubble chart, a sunburst representation, a pie chart, a histogram, a single value, a map, a bubble map, a time bubble map, a pie map, a tree map, a sankey, a polar bar chart, a scatter plot, a table, and a parallel sets representation.
- 12. The system of claim 1, wherein abstracting the result data to obtain the data abstraction comprises: determining all possible ordered subsets of data for the result data; for each rule in a set of predefined rules, analyzing each subset of data with the particular rule to obtain a corresponding rule check; for each rule in the set of predefined rules, creating a score vector comprising the corresponding rule checks for the subsets of data; ranking the rules in the set of predefined rules based on the corresponding score vectors; and selecting the data abstraction based on the ranking of the rules.
- 13. The system of claim 12, wherein creating the score vector includes scoring a fit of a type of visualization for a particular rule to the subsets of data, the fit being scored according to a predefined scoring criteria.
- 14. A method for visualizing data, comprising: obtaining, by one or more processors, a natural language query; determining an intent for the natural language query; generating one or more data requests to one or more selected data sources, the one or more data requests being based at least in part on the intent; abstracting result data to obtain a data abstraction, the result data being responsive to the one or more data requests; and generating a visualization for the result data based at least in part on the data abstraction.
- 15. A computer program product embodied in a non-transitory computer readable medium for visualizing data, and the computer program product comprising computer instructions for: obtaining, by one or more processors, a natural language query; determining an intent for the natural language query; generating one or more data requests to one or more selected data sources, the one or more data requests being based at least in part on the intent; abstracting result data to obtain a data abstraction, the result data being responsive to the one or more data requests; and generating a visualization for the result data based at least in part on the data abstraction.
Description
NATURAL LANGUAGE TO CUSTOMIZE DATA VISUALIZATION BACKGROUND OF THE INVENTION [0001] In today's information-driven society, organizations and individuals rely on data analysis to uncover meaningful patterns, identify trends, and extract actionable insights. Traditional methods of data analysis often involve complex spreadsheets, lengthy reports, and static charts, which can be time-consuming and challenging to interpret, especially for nontechnical users. There is a growing need for more efficient and user-friendly techniques to visualize data in a manner that is both comprehensible and visually engaging. [0002] Existing data visualization tools often require manual configuration and lack the ability to dynamically adapt to different datasets and user queries. Moreover, the process of generating visualizations typically demands a deep understanding of data structures and programming skills, limiting accessibility to a specialized group of users. Consequently, there is a demand for an automated system that seamlessly generates insightful and interactive visualizations from diverse data sources, catering to the needs of users with varying levels of technical expertise. BRIEF DESCRIPTION OF THE DRAWINGS [0003] Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings. [0004] Figure l is a block diagram of a system for generating data visualizations according to various embodiments. [0005] Figure 2 is a block diagram of a system for generating data visualizations according to various embodiments. [0006] Figure 3 is a block diagram of a system for generating data visualizations according to various embodiments. [0007] Figure 4 is a block diagram of a system for generating data visualizations according to various embodiments. [0008] Figure 5 is an example of determining a visualization definition based on natural language user input according to various embodiments. [0009] Figure 6A is an example of a set of data retrieved in connection with a natural language query according to various embodiments. [0010] Figure 6B is an example of a data abstraction performed with respect to the set of data for a query according to various embodiments. [0011] Figure 7A is an example of a set of data retrieved in connection with a natural language query according to various embodiments. [0012] Figure 7B is an example of a data abstraction performed with respect to the set of data for a query according to various embodiments. [0013] Figure 8 illustrates a process for generating a visualization according to various embodiments. [0014] Figure 9 illustrates examples of visualization definitions and corresponding visualizations according to various embodiments. [0015] Figure 10 illustrates a process for generating a visualization according to various embodiments. [0016] Figure 11 illustrates a process for generating a visualization according to various embodiments. [0017] Figure 12 illustrates a process for determining a visualization type according to various embodiments. [0018] Figure 13 illustrates a process for generating a visualization according to various embodiments. [0019] Figure 14 is a flow diagram of a method for generating a visualization based on a natural language query according to various embodiments. [0020] Figure 15 is a flow diagram of a method for generating a visualization based on a natural language query according to various embodiments. [0021] Figure 16 is a flow diagram of a method for determining a query intent for a natural language query according to various embodiments. [0022] Figure 17 is a flow diagram of a method for obtaining data responsive to a query based on a query intent according to various embodiments. [0023] Figure 18 is a flow diagram of a method for obtaining data responsive to a query based on a query intent according to various embodiments. [0024] Figure 19 is a flow diagram of a method for determining a visualization definition for a data abstraction according to various embodiments. [0025] Figure 20 is a flow diagram of a method for determining a visualization definition for a data abstraction according to various embodiments. [0026] Figure 21 is a flow diagram of a method for determining a visualization type for a data abstraction according to various embodiments. [0027] Figure 22 is a flow diagram of a method for determining a visualization definition for a data abstraction according to various embodiments. [0028] Figure 23 is a flow diagram of a method for translating a visualization definition to another language according to various embodiments. [0029] Figure 24 is a flow diagram of a method for training a model according to various embodiments. DETAILED DESCRIPTION [0030] The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured