IP Library Granted Patent US 12,730,962
Granted Patent B2
US 12,730,962 · App. 18/593,927 · Granted Sep 8, 2026

Systems and methods for generating graphs

Inventor: Ron Zass (Kiryat Tivon, IL)
G06F40/166G06F16/3329G06F16/9024G06F40/103G06F40/20G06F40/279G06F40/289G06F40/35G06T7/0002G06T2207/30176
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,730,962
App. No.
18/593,927
Granted
Sep 8, 2026
Kind
B2
Abstract

Systems, methods and non-transitory computer readable media for facilitating generation of graphs based on data records through natural language are provided. A selection of a first group of data records of a plurality of data records may be received from an individual. Further, a textual input in a natural language may be received from the individual. The textual input may be analyzed to select a second group of data records of the plurality of data records. The textual input may be analyzed to select a type of graph. The first group of data records and the second group of data records may be used to generate a graph of the selected type of graph. The generated graph may be presented to the individual. An indication of the second group of data records may be presented to the individual.

Claims (64)

1 . A non-transitory computer readable medium storing computer implementable instructions that when executed by at least one processor cause the at least one processor to perform operations for facilitating generation of graphs based on data records through natural language, the operations comprising:

accessing a plurality of data records, each data record of the plurality of data records includes at least a respective numerical value;

receiving from an individual a selection of a first group of at least one data record of the plurality of data records;

receiving from the individual an input in a natural language;

analyzing the input to select a second group of at least one data record of the plurality of data records;

analyzing the input to select a type of graph;

in response to a zoom intent identified in the input, selecting a crossing point between two axes by automatically determining a coordinate for the crossing point that is closer to a region containing the first group and the second group than a default crossing point;

using the first group of at least one data record and the second group of at least one data record to generate a graph of the selected type of graph;

presenting the generated graph to the individual based on the selected crossing point; and

presenting an indication of the second group of at least one data record to the individual.

2 . The non-transitory computer readable medium of claim 1 ,

wherein the input includes a question in the natural language, and the operations further comprise generating an answer in the natural language to the question that refers to a specific element of the generated graph and automatically presenting a visual indication of the specific element within the generated graph.

3 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise analyzing the input to select a color for at least one element of the generated graph indicated in the input, wherein the selected color is different from a color of other elements of the generated graph to highlight the at least one element indicated in the input.

4 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise analyzing the input to determine a gridlines property for the generated graph, wherein in response to the input being indicative of a desire to avoid clutter, the gridlines property includes horizontal or vertical gridlines but not both.

5 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise analyzing the input to select a scale for at least one axis of the generated graph, wherein selecting the scale includes automatically determining the scale for the at least one axis to satisfy an intent to avoid clutter as identified in the input.

6 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise analyzing the input to select a range for at least one axis of the generated graph, wherein in response to a margin intent identified in the input, the range is selected to be larger than a minimal range required to show data-points.

7 . The non-transitory computer readable medium of claim 1 , wherein the automatically determining the coordinate for the crossing point comprises identifying a minimum numerical value and a maximum numerical value for at least one of the two axes for at least one of the first group or the second group to define the region.

8 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise analyzing the input to select a layout for the generated graph, wherein the selecting the layout includes determining a position of a legend relative to a plot area of the generated graph to satisfy an intent for a particular viewing order identified in the input.

9 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise analyzing the input to determine whether to associate the first group with a horizontal axis of the generated graph and the second group with a vertical axis of the generated graph, wherein the association is determined by identifying in the input an intended relationship between the first group and the second group.

10 . The non-transitory computer readable medium of claim 1 ,

wherein the operations further comprise:

analyzing the input to generate an output in the natural language, the output refers to an element of the generated graph;

presenting the output to the individual; and

presenting a visual indication of the element within the generated graph.

11 . The non-transitory computer readable medium of claim 1 ,

wherein the operations further comprise:

after presenting the generated graph to the individual and presenting the indication of the second group of at least one data record to the individual, receiving from the individual a second input in the natural language; and

analyzing the second input to cause a modification of the generated graph, wherein in response to an intent to ignore outliers identified in the second input, the modification comprises automatically modifying a range of at least one axis of the generated graph to exclude at least one data record determined to be an outlier.

12 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise:

identifying a first mathematical object in a mathematical space, the first mathematical object corresponds to a first word of the input;

identifying a second mathematical object in the mathematical space, the second mathematical object corresponds to a second word of the input;

calculating a function of the first mathematical object and the second mathematical object to obtain a third mathematical object in the mathematical space; and

basing the selection of the type of graph on the third mathematical object.

13 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise using a machine learning model to analyze the input to select the second group of at least one data record of the plurality of data records.

14 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise analyzing the input and the first group of at least one data record to select the second group of at least one data record of the plurality of data records, wherein selecting the second group includes identifying an omission intent in the input to exclude at least one data record from the second group based on a statistical analysis.

15 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise analyzing the input and at least one of the first group of at least one data record or the second group of at least one data record to select the type of graph.

16 . The non-transitory computer readable medium of claim 1 ,

wherein the operations further comprise:

analyzing the input to select a third group of at least one data record of the plurality of data records; and

using the first group of at least one data record, the second group of at least one data record and the third group of at least one data record to generate the graph of the selected type of graph, wherein the generated graph is a three-dimensional graph, the first group is associated with a first axis of the three-dimensional graph, the second group is associated with a second axis of the three-dimensional graph, and the third group is associated with a third axis of the three-dimensional graph.

17 . The non-transitory computer readable medium of claim 1 , wherein the input includes an adjective indicative of a temporal granularity for the respective numerical values of the second group, and the selection of the second group is based on the adjective indicative of the temporal granularity.

18 . The non-transitory computer readable medium of claim 1 , wherein the input includes a conjunction, and the selection of the type of graph is based on the conjunction, wherein the selecting the type of graph includes selecting a bar graph when the conjunction indicates an intent to present the first group and the second group on a common axis.

19 . The non-transitory computer readable medium of claim 1 , wherein the operations further comprise analyzing the input to identify an intent for data point precision, and in response, generating the graph to include a respective data-label associated with each data-point of the graph, wherein the respective data-label indicates a respective precise numerical value for the data-point.

20 . A system for facilitating generation of graphs based on data records through natural language, the system comprising;

at least one processing unit configured to perform operations, the operations comprise:

accessing a plurality of data records, each data record of the plurality of data records includes at least a respective numerical value;

receiving from an individual a selection of a first group of at least one data record of the plurality of data records;

receiving from the individual an input in a natural language;

analyzing the input to select a second group of at least one data record of the plurality of data records;

analyzing the input to select a type of graph;

in response to a zoom intent identified in the input, selecting a crossing point between two axes by automatically determining a coordinate for the crossing point that is closer to a region containing the first group and the second group than a default crossing point;

using the first group of at least one data record and the second group of at least one data record to generate a graph of the selected type of graph;

presenting the generated graph to the individual based on the selected crossing point; and

presenting an indication of the second group of at least one data record to the individual.

21 . A method for facilitating generation of graphs based on data records through natural language, the method comprising:

accessing a plurality of data records, each data record of the plurality of data records includes at least a respective numerical value;

receiving from an individual a selection of a first group of at least one data record of the plurality of data records;

receiving from the individual an input in a natural language;

analyzing the input to select a second group of at least one data record of the plurality of data records;

analyzing the input to select a type of graph;

in response to a zoom intent identified in the input, selecting a crossing point between two axes by automatically determining a coordinate for the crossing point that is closer to a region containing the first group and the second group than a default crossing point;

using the first group of at least one data record and the second group of at least one data record to generate a graph of the selected type of graph;

presenting the generated graph to the individual based on the selected crossing point; and

presenting an indication of the second group of at least one data record to the individual.

Continuity (6)
Provisional Application 63525608 · Jul 7, 2023
Provisional Application 63467844 · May 19, 2023
Provisional Application 63461310 · Apr 23, 2023
Provisional Application 63458851 · Apr 12, 2023
Provisional Application 63458055 · Apr 7, 2023
Related Publication 20240256583A1 · Aug 1, 2024
References Cited (136)
US 4305131A · Best · 1981 [cited by applicant]
US 6077085A · Parry · 2000 [cited by applicant]
US 6778252B2 · Moulton et al. · 2004 [cited by applicant]
US 8140322B2 · Simonsen et al. · 2012 [cited by applicant]
US 9148613B1 · Goldberg · 2015 [cited by examiner]
US 9280973B1 · Soyannwo et al. · 2016 [cited by applicant]
US 9747282B1 · Baker et al. · 2017 [cited by applicant]
US 9864933B1 · Cosic · 2018 [cited by applicant]
US 10360716B1 · van der Meulen et al. · 2019 [cited by applicant]
US 10387575B1 · Shen · 2019 [cited by examiner]
US 10423999B1 · Doctor · 2019 [cited by applicant]
US 10467792B1 · Roche · 2019 [cited by applicant]
US 10607134B1 · Cosic · 2020 [cited by applicant]
US 10827024B1 · Schissel et al. · 2020 [cited by applicant]
US 11024194B1 · Beigman Klebanov · 2021 [cited by applicant]
US 11140459B2 · Ingel · 2021 [cited by applicant]
US 11159597B2 · Ingel · 2021 [cited by applicant]
US 11202131B2 · Zass · 2021 [cited by applicant]
US 11232645B1 · Roche et al. · 2022 [cited by applicant]
US 11244385B1 · Fraser · 2022 [cited by applicant]
US 11520079B2 · Zass · 2022 [cited by applicant]
US 11966688B1 · Ehrlich · 2024 [cited by applicant]
US 20020087317A1 · Lee et al. · 2002 [cited by applicant]
US 20020161578A1 · Saindon et al. · 2002 [cited by applicant]
US 20020161579A1 · Saindon et al. · 2002 [cited by applicant]
US 20040068410A1 · Mohamed et al. · 2004 [cited by applicant]
US 20040172257A1 · Liqin et al. · 2004 [cited by applicant]
US 20040186712A1 · Coles et al. · 2004 [cited by applicant]
US 20050255431A1 · Baker · 2005 [cited by applicant]
US 20050272013A1 · Knight · 2005 [cited by applicant]
US 20060285654A1 · Nesvadba et al. · 2006 [cited by applicant]
US 20070124166A1 · Van Luchene · 2007 [cited by applicant]
US 20070130529A1 · Shrubsole · 2007 [cited by applicant]
US 20070208569A1 · Subramanian et al. · 2007 [cited by applicant]
US 20070220575A1 · Cooper et al. · 2007 [cited by applicant]
US 20080015968A1 · Van Luchene · 2008 [cited by applicant]
US 20080195386A1 · Proidl · 2008 [cited by applicant]
US 20080295130A1 · Worthen · 2008 [cited by applicant]
US 20090037179A1 · Liu et al. · 2009 [cited by applicant]
US 20090175596A1 · Hirai · 2009 [cited by applicant]
US 20090299877A1 · Vadon · 2009 [cited by examiner]
US 20100082326A1 · Bangalore · 2010 [cited by applicant]
US 20100100907A1 · Chang · 2010 [cited by applicant]
US 20100238179A1 · Kelly · 2010 [cited by applicant]
US 20110064388A1 · Brown et al. · 2011 [cited by applicant]
US 20110076992A1 · Chou · 2011 [cited by applicant]
US 20110107286A1 · Batterywala · 2011 [cited by examiner]
US 20120054619A1 · Spooner et al. · 2012 [cited by applicant]
US 20130038737A1 · Yehezkel et al. · 2013 [cited by applicant]
US 20130110513A1 · Jhunja et al. · 2013 [cited by applicant]
US 20130188862A1 · Lievens · 2013 [cited by applicant]
US 20140142918A1 · Dotterer et al. · 2014 [cited by applicant]
US 20140164507A1 · Tesch et al. · 2014 [cited by applicant]
US 20140303958A1 · Lee et al. · 2014 [cited by applicant]
US 20140358518A1 · Wu et al. · 2014 [cited by applicant]
US 20150092007A1 · Koborita et al. · 2015 [cited by applicant]
US 20150319518A1 · Wilson · 2015 [cited by applicant]
US 20150356967A1 · Byron et al. · 2015 [cited by applicant]
US 20160005436A1 · Axen et al. · 2016 [cited by applicant]
US 20160021334A1 · Rossano et al. · 2016 [cited by applicant]
US 20160042766A1 · Kummer · 2016 [cited by applicant]
US 20160049146A1 · Chang · 2016 [cited by applicant]
US 20160132578A1 · Allen · 2016 [cited by applicant]
US 20160254795A1 · Ballard · 2016 [cited by applicant]
US 20160328391A1 · Choi · 2016 [cited by applicant]
US 20160365087A1 · Freud · 2016 [cited by applicant]
US 20170004820A1 · Lv et al. · 2017 [cited by applicant]
US 20170011745A1 · Navaratnam · 2017 [cited by applicant]
US 20170075877A1 · Lepeltier · 2017 [cited by applicant]
US 20170076749A1 · Kanevsky · 2017 [cited by applicant]
US 20170255616A1 · Yun et al. · 2017 [cited by applicant]
US 20180143809A1 · Zang et al. · 2018 [cited by applicant]
US 20180174577A1 · Jothilingam et al. · 2018 [cited by applicant]
US 20180174595A1 · Dirac et al. · 2018 [cited by applicant]
US 20180253992A1 · Koul et al. · 2018 [cited by applicant]
US 20180260448A1 · Osotio et al. · 2018 [cited by applicant]
US 20180322875A1 · Adachi · 2018 [cited by applicant]
US 20180357215A1 · Austin et al. · 2018 [cited by applicant]
US 20180374461A1 · Serletic · 2018 [cited by applicant]
US 20190065478A1 · Tsujikawa et al. · 2019 [cited by applicant]
US 20190114302A1 · Bequet · 2019 [cited by applicant]
US 20190164533A1 · Lawrenson et al. · 2019 [cited by applicant]
US 20190166176A1 · Jain et al. · 2019 [cited by applicant]
US 20190250891A1 · Kumar et al. · 2019 [cited by applicant]
US 20190317739A1 · Turek et al. · 2019 [cited by applicant]
US 20190354592A1 · Musham et al. · 2019 [cited by applicant]
US 20190361873A1 · Rogynskyy · 2019 [cited by examiner]
US 20200005796A1 · Ziv et al. · 2020 [cited by applicant]
US 20200007946A1 · Olkha · 2020 [cited by applicant]
US 20200042601A1 · Doggett · 2020 [cited by applicant]
US 20200043112A1 · Brinkley, II · 2020 [cited by applicant]
US 20200051566A1 · Shin · 2020 [cited by applicant]
US 20200058289A1 · Gabryjelski et al. · 2020 [cited by applicant]
US 20200066304A1 · Chen · 2020 [cited by applicant]
US 20200105245A1 · Gupta · 2020 [cited by applicant]
US 20200111474A1 · Kumar et al. · 2020 [cited by applicant]
US 20200143813A1 · Nakagawa · 2020 [cited by applicant]
US 20200150981A1 · Westberg et al. · 2020 [cited by applicant]
US 20200159862A1 · Kleiner et al. · 2020 [cited by applicant]
US 20200174776A1 · Vinod et al. · 2020 [cited by applicant]
US 20200221176A1 · Hwang et al. · 2020 [cited by applicant]
US 20200296510A1 · Li et al. · 2020 [cited by applicant]
US 20200311120A1 · Zhao et al. · 2020 [cited by applicant]
US 20210019373A1 · Freitag · 2021 [cited by applicant]
US 20210042110A1 · Basyrov et al. · 2021 [cited by applicant]
US 20210063363A1 · Kaminski et al. · 2021 [cited by applicant]
US 20210081101A1 · Speare et al. · 2021 [cited by applicant]
US 20210097976A1 · Chicote et al. · 2021 [cited by applicant]
US 20210182468A1 · Co et al. · 2021 [cited by applicant]
US 20210192824A1 · Chen · 2021 [cited by applicant]
US 20210224319A1 · Ingel · 2021 [cited by applicant]
US 20210225365A1 · Sinha et al. · 2021 [cited by applicant]
US 20210232759A1 · Schick et al. · 2021 [cited by applicant]
US 20210264369A1 · Zass · 2021 [cited by applicant]
US 20210271815A1 · Li et al. · 2021 [cited by applicant]
US 20210279822A1 · Bellaish · 2021 [cited by applicant]
US 20210287150A1 · Zass · 2021 [cited by applicant]
US 20210303318A1 · Raghavan · 2021 [cited by applicant]
US 20210397418A1 · Nikumb et al. · 2021 [cited by applicant]
US 20210400101A1 · Ingel · 2021 [cited by applicant]
US 20220070550A1 · Ingel · 2022 [cited by applicant]
US 20220188513A1 · Kitamura · 2022 [cited by examiner]
US 20220253481A1 · Tory · 2022 [cited by examiner]
US 20220382524A1 · Ansari et al. · 2022 [cited by applicant]
US 20230048149A1 · Zass · 2023 [cited by applicant]
US 20230049015A1 · Zass · 2023 [cited by applicant]
US 20230052442A1 · Zass · 2023 [cited by applicant]
US 20230057835A1 · Zass · 2023 [cited by applicant]
US 20230069088A1 · Zass · 2023 [cited by applicant]
US 20230095089A1 · Kaliyaperumal et al. · 2023 [cited by applicant]
US 20230115185A1 · Huang et al. · 2023 [cited by applicant]
US 20230252224A1 · Tran · 2023 [cited by applicant]
US 20230418459A1 · Ciminelli · 2023 [cited by examiner]
US 20240054390A1 · Wendt · 2024 [cited by examiner]
US 20240220521A1 · Ehrlich · 2024 [cited by applicant]
US 20240220714A1 · Ehrlich · 2024 [cited by applicant]