IP Library Granted Patent US 11,756,245
Granted Patent B2
US 11,756,245 · App. 17/534,053 · Granted Sep 12, 2023

Machine learning to generate and evaluate visualizations

Inventors: Saurabh Abhyankar (McLean, VA); Glenn Boysko (Vienna, VA); Scott Rigney (Vienna, VA); Timothy Lang (Vienna, VA)
Assignee: MicroStrategy Incorporated
G06T11/206G06F18/2148G06F18/23G06F18/2411G06F18/40G06N5/04G06N20/00G06T11/60G06T2200/24
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 11,756,245
App. No.
17/534,053
Granted
Sep 12, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer-readable storage media, for machine learning to generate and evaluate visualizations. In some implementations, a system determines properties of a dataset. The system generates visualization specifications that each define a different visualization for the dataset, wherein the visualization specifications specify different subsets of the dataset being illustrated with different visualization formats. The system evaluates the visualization specifications using a machine learning model trained based on user feedback for visualizations for multiple datasets. The system selects a subset of the visualization specifications based on output of the machine learning model. The system provides, for display, visualization data for the subset of visualization specifications that were selected based on the output of the machine learning model.

Claims (49)

1. A method performed by one or more computers, the method comprising:

receiving, by the one or more computers, data indicating a user selection of a portion of a dataset:

determining, by the one or more computers, properties of the selected portion of the dataset;

selecting, by the one or more computers, one or more visualizations for the user-selected portion of the dataset, wherein the one or more visualizations are selected based on evaluation of visualization specifications using a machine learning model trained based on user feedback for visualizations for multiple datasets; and

providing, by the one or more computers, visualization data for display, the visualization data corresponding to the one or more visualizations selected based on output of the machine learning model.

2. The method of claim 1 , wherein the portion of the dataset selected comprises one or more attributes or metrics represented in the dataset; and

wherein selecting the one or more visualizations comprises:

filtering a set of visualizations or visualization specifications to identify candidate visualizations that involve the selected one or more attributes or metrics; and

selecting the one or more visualizations from among the candidate visualizations that involve the selected one or more attributes or metrics.

3. The method of claim 1 , wherein the portion of the dataset selected comprises one or more columns of data in the dataset; and

wherein selecting the one or more visualizations is performed such that the one or more visualizations that each include a representation of data from the selected one or more columns of data in the dataset.

4. The method of claim 1 , wherein the portion of the dataset selected comprises multiple types of data; and

wherein selecting the one or more visualizations comprises selecting multiple visualizations that each represent different subsets of the multiple types of data in the selected portion of the dataset.

5. The method of claim 4 , comprising ranking the a set of visualizations based on scores generated by the machine learning model;

wherein selecting the multiple visualizations comprises selecting the multiple visualizations based on the ranking.

6. The method of claim 1 , wherein the machine learning model comprises an artificial neural network, a classifier, a support vector machine, a decision tree, a regression model, a clustering model, a Gaussian process model, a genetic algorithm, or a reinforcement learning model.

7. The method of claim 1 , wherein the machine learning model has been trained to output scores for visualizations, wherein the trained machine learning model is configured to generate a score for a visualization with respect to a dataset based on input indicating (i) properties of the visualization and (ii) properties of the dataset.

8. The method of claim 1 , wherein the machine learning model has been trained based on examples of actions that users performed after being presented one or more visualizations, wherein at least some of the examples respectively indicate actions performed after presentation of visualizations for different datasets.

9. The method of claim 1 , wherein the machine learning model is configured to evaluate a visualization specification by processing information from the visualization specification including (i) an indication of one or more structural properties of the dataset and (ii) an indication of portions of the dataset represented in the visualization represented by the visualization specification.

10. The method of claim 9 , wherein the one or more structural properties of the dataset include at least one of a number of columns, a number of attributes, a number of metrics, a value for an aggregation for a data range, a span of values for a data range, a data type for a data range, or a statistical measure for a data range.

11. The method of claim 1 , wherein selecting the one or more visualizations comprises filtering the visualization specifications to exclude one or more visualization specifications that do not represent the selected portion of the dataset.

12. The method of claim 11 , wherein the selected portion of the dataset comprises a selected column of the dataset; and

wherein selecting the one or more visualizations comprises selecting only visualizations that are generated from or provide information regarding the selected column.

13. The method of claim 1 , further comprising identifying a user of a computing device;

wherein selecting the one or more visualizations is personalized based on the identity of the user of the computing device; and

wherein providing the visualization data comprises providing the visualization data to the computing device for display by the computing device.

14. A system comprising:

one or more computers; and

one or more computer-readable media storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving, by the one or more computers, data indicating a user selection of a portion of a dataset;

determining, by the one or more computers, properties of the selected portion of the dataset;

selecting, by the one or more computers, one or more visualizations for the user-selected portion of the dataset, wherein the one or more visualizations are selected based on evaluation of visualization specifications using a machine learning model trained based on user feedback for visualizations for multiple datasets; and

providing, by the one or more computers, visualization data for display, the visualization data corresponding to the one or more visualizations selected based on output of the machine learning model.

15. The system of claim 14 , wherein the portion of the dataset selected comprises one or more attributes or metrics represented in the dataset; and

wherein selecting the one or more visualizations comprises:

filtering a set of visualizations or visualization specifications to identify candidate visualizations that involve the selected one or more attributes or metrics; and

selecting the one or more visualizations from among the candidate visualizations that involve the selected one or more attributes or metrics.

16. The system of claim 14 , wherein the portion of the dataset selected comprises one or more columns of data in the dataset; and

wherein selecting the one or more visualizations is performed such that the one or more visualizations that each include a representation of data from the selected one or more columns of data in the dataset.

17. The system of claim 14 , wherein the portion of the dataset selected comprises multiple types of data; and

wherein selecting the one or more visualizations comprises selecting multiple visualizations that each represent different subsets of the multiple types of data in the selected portion of the dataset.

18. The system of claim 17 , comprising ranking the a set of visualizations based on scores generated by the machine learning model;

wherein selecting the multiple visualizations comprises selecting the multiple visualizations based on the ranking.

19. The system of claim 14 , wherein the machine learning model comprises an artificial neural network, a classifier, a support vector machine, a decision tree, a regression model, a clustering model, a Gaussian process model, a genetic algorithm, or a reinforcement learning model.

20. One or more non-transitory computer-readable media storing instructions that are operable, when executed by one or more computers, to cause the one or more computers to perform operations comprising:

receiving, by the one or more computers, data indicating a user selection of a portion of a dataset;

determining, by the one or more computers, properties of the selected portion of the dataset;

selecting, by the one or more computers, one or more visualizations for the user-selected portion of the dataset, wherein the one or more visualizations are selected based on evaluation of visualization specifications using a machine learning model trained based on user feedback for visualizations for multiple datasets; and

providing, by the one or more computers, visualization data for display, the visualization data corresponding to the one or more visualizations selected based on output of the machine learning model.

Assignments (4)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072974/0529 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SUPPLEMENTARY PATENT SECURITY AGREEMENT Recorded Feb 18, 2022
From: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 059256/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2021
From: ABHYANKAR, SAURABH; BOYSKO, GLENN; RIGNEY, SCOTT; LANG, TIMOTHY
To: MICROSTRATEGY INCORPORATED
Reel/Frame 058202/0261 →