WO2021046132A1 - Interactive graphical visualization generator engine for iterative data set exploration - Google Patents
Interactive graphical visualization generator engine for iterative data set exploration Download PDFInfo
- Publication number
- WO2021046132A1 WO2021046132A1 PCT/US2020/049071 US2020049071W WO2021046132A1 WO 2021046132 A1 WO2021046132 A1 WO 2021046132A1 US 2020049071 W US2020049071 W US 2020049071W WO 2021046132 A1 WO2021046132 A1 WO 2021046132A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vector
- data set
- data
- attributes
- visual
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Definitions
- VUI interactive data visualization user interface
- a data set including any number of entries and attributes can be explored in an intuitive and appealable manner through the interactive VUI.
- the VUI can include visual maps for displaying information.
- the visual maps can include physical vectors that represent values of the different attributes of the data set.
- the visual maps can also include graphical value representations of point values derived from the data set.
- the physical vectors of the visual maps can be vector curves, such as rings, or line vectors, such as spokes.
- the graphical value representations can be distributed along the physical vectors representing a point value in association with the attribute value that the physical vectors represent.
- the interactive VUI can be generated by using a VUI generator.
- the VUI generator can allow for iterative visual exploration of the data set via multilayered slicing and reorganizing of the data.
- the VUI generator can afford these capabilities to nontechnical users in an intuitive manner to allow them the opportunity to identify trends, outliers, correlations, and patterns in the data set.
- An interactive VUI generated in accordance with specific embodiments of the invention can allow users to dig as deep into the data set as the data set allows, while keeping the layout simple and intuitive and providing the information in layers, so that there is no overcrowding of information in the interactive VUI.
- Users can interact with the interactive VUI in multiple ways to generate new visual maps and explore subsequent layers of the data set.
- users is also able to navigate back through the previous layers of the data set via a navigation interface in the interactive VUI.
- a computer-implemented method for providing an interactive data visualization user interface for a data set comprises generating a first visual map using the data set by: selecting, from a set of attributes of the data set, a set of vector attributes; deriving a set of point values from the data set; and distributing a set of graphical value representations of the set of point values along a set of physical vectors.
- the set of physical vectors represent values of the set of vector attributes.
- the method comprises receiving a selection of at least one selected attribute value via one of: (i) a graphical representation from the set of graphical value representations; and (ii) a vector in the set of physical vectors.
- the method additionally comprises slicing the at least one selected attribute value from the data set to form a second layer data set.
- the method additional comprises repeating the generating step to generate a second visual map using the second layer data set.
- the method comprises generating a first visual map using the data set by: selecting, from a set of attributes of the data set, a set of vector attributes; deriving a set of point values from the data set; and distributing a set of graphical value representations of the set of point values along a set of physical vectors.
- the set of physical vectors represent the values of the set of vector attributes.
- the method additionally comprises receiving a selection of at least one selected attribute value via one of: (i) a graphical representation from the set of graphical value representations; and (ii) a vector in the set of physical vectors.
- the method additionally comprises slicing the at least one selected attribute value from the data set to form a second layer data set.
- the ethos additionally comprises repeating the generating step to generate a second visual map using the second layer data set.
- a computer-implemented method for providing an interactive data visualization user interface for a data set comprises generating a first visual map using the data set by: selecting a set of attributes from the data set; deriving a set of point values from the data set; and distributing a set of graphical value representations of the set of point values along a set of physical vectors.
- the set of physical vectors represent values of the set of attributes.
- the method additionally includes slicing at least one value of the set of attributes from the data set in response to a selection of the at least one value of the set of attributes.
- the method additionally includes repeating the generating step to generate a second visual map.
- the second visual map is generated using only a portion of the data set that is associated to the at least one value of the set of attributes.
- Figure 1 illustrates a flow chart for a set of methods for providing an interactive VUI for a data set, in accordance with specific embodiments of the invention disclosed herein.
- Figure 2 illustrates an example of the characteristics of a visual map of a layer of a data set, in accordance with specific embodiments of the invention disclosed herein.
- Figure 3 illustrates a visual map generated upon the selection of an attribute value in the visual map of Fig. 2, in accordance with specific embodiments of the invention disclosed herein.
- Figure 4A illustrates a visual map generated upon the selection of an attribute value in the visual map of Fig. 3, in accordance with specific embodiments of the invention disclosed herein.
- Figure 4B illustrates an example of the aspect of the visual map from Fig. 3 when accessed from a subsequent layer, in accordance with specific embodiments of the invention disclosed herein.
- Figure 5 illustrates an example of a visual map including a large number of attribute values, in accordance with specific embodiments of the invention disclosed herein.
- Figure 6A illustrates an example of a visual map including a first subset of the attribute values from Fig. 5, in accordance with specific embodiments of the invention disclosed herein.
- Figure 6B illustrates an example of a visual map including a second subset of the attribute values from Fig. 5, in accordance with specific embodiments of the invention disclosed herein.
- Figure 7 illustrates a visual map including an outer gauge data summary element, in accordance with specific embodiments of the invention disclosed herein.
- Figure 8 illustrates an example of a visual map for a lifestyle tracking application, in accordance with specific embodiments of the invention disclosed herein.
- Figure 9 illustrates an example of a visual map for a skin care plan application, in accordance with specific embodiments of the invention disclosed herein.
- Figure 10 illustrates an example of a visual map for health-related metrics analysis, in accordance with specific embodiments of the invention disclosed herein.
- Figure 11 illustrates an example of a visual map for health-related metrics and risk assessment, in accordance with specific embodiments of the invention disclosed herein.
- Figure 12 illustrates an example of a visual map for the health-related metrics and risk assessment of Fig. 11, but including data from various users at different times, in accordance with specific embodiments of the invention disclosed herein.
- Figure 13 illustrates an example of a visual map for the health-related metrics and risk assessment of Fig. 11, but including data from various users and different metrics, in accordance with specific embodiments of the invention disclosed herein.
- Figure 14A illustrates an example of a visual map for a sales plan including an external summary by product, in accordance with specific embodiments of the invention disclosed herein.
- Figure 14B illustrates an example of a visual map for a sales plan including an external summary by annual sales, in accordance with specific embodiments of the invention disclosed herein.
- Figure 15 illustrates an example of a visual map including an external gauge and indicator, in accordance with specific embodiments of the invention disclosed herein.
- Figure 16 illustrates an example of a visual map for a skin care plan application including different graphical value representation formats, in accordance with specific embodiments of the invention disclosed herein.
- VUI interactive data visualization user interface
- the VUI generator can allow for iterative visual exploration of the data set via multilayered slicing and reorganizing of the data.
- the VUI generator can afford these capabilities to nontechnical users in an intuitive manner to allow them the opportunity to identify trends, outliers, correlations, and patterns in the data set.
- the VUI generator can allow multiple parties to collaboratively explore and discuss the data either in an in-person meeting, such as by displaying the VUI on a large screen in a meeting room, or remotely, such as by displaying the VUI on a shared screen.
- These affordances can transform the traditional siloed roles of data report generation and analysis into a collaborative partnership to increase productivity and growth, and furthermore generally allow VUI users to glean insights from data, reveal data stories, architect attention, and engender the exchange of ideas.
- Fig. 1 illustrates a flow chart 100 for a set of computer-implemented methods for providing an interactive VUI for a data set.
- the steps of the method can be executed by a VUI generator.
- Fig. 1 also includes a basic block diagram 110 of the relationship between a data set 111, a VUI generator 112, and an interactive VUI 113.
- the data set 111 and VUI generator 112 can be connected by an interface 114 such as an application programming interface (API).
- API application programming interface
- the generator can be configured to directly access the data set.
- the generator can be implemented in a server sending queries to a data base and processing the responses.
- the server could include a Database Management System (DBMS) or any software for managing databases.
- DBMS Database Management System
- a query language such as Structured Query Language (SQL), can be used to query the database.
- the steps of flow chart 100 can all be executed by VUI generator 112 operating on data set 111 to generate interactive VUI 113.
- the data set 111 can be any set of structured or unstructured data stored using any form of data store technology including relational databases, individual computer files, smart servers, cloud storage, intelligent storage, dedicated storage systems or formats, integrated storage, Logical Volume Management (LVM) tools, integrated or remote data storage, Cloud Integrated Storage (CIS), dedicated storage area networks (SAN), Network- attached storage (NAS), unified or multiprotocol storage, etc.
- the data set 111 can be a single computer file or set of files including a spreadsheet file, diverse forms of look-up tables, pivotable tables or raw data tables, character separated format files, such as CSV or similar files where tabular data is stored as plain text, CMS generated files, etc.
- the data set can include a set of entries E1-E5 where the set of entries are defined by an associated set of values V for a set of attributes A1-A5.
- the data set 111 can include any number of entries.
- the entries can include any number of attributes.
- the values V can be different values for each entry or attribute, or the same value for some or all the entries or attributes. For example, there can be users with the same name, same age, etc.
- the data set 111 can take various forms and the illustrated example is not a limitation of the present invention. For example, entries and attributes are not necessarily organized by rows and columns of a unique table as illustrated. Different entries can be associated to attributes in different data structures and even different physical locations.
- the VUI generator 112 can be instantiated using computer-readable media and one or more processors.
- the computer-readable media can be non-transitory.
- the computer- readable media can be accessible to one or more processors and store instructions which, when executed by the one or more processors, implement a method for providing an interactive data visualization user interface for a data set such as in a method represented by flow chart 100.
- the generator 112 can store rules regarding how data from the data set 111 should be accessed, processed, and ultimately presented in interactive VUI 113.
- the generator 112 can also include rules for how the data is processed and presented in response to additional user inputs received via the interactive VUI 113.
- the generator can be a smart generator or machine learning generator that dynamically harvests the data set 111 to generate dynamic content for the interactive VIU 113 in response to a particular input or pattern of interaction. In this way, the same data set can be used to generate a variety of content for VUI 113 responsive to different factors.
- the generator can also include rules to produce a new set of data from one or more of the original sets of data and/or inputs form the interactive VIU 113 to generate content for the interactive VIU 113.
- the interactive VUI 113 can be instantiated using any form of interactive user interface technology.
- the output of the interactive VUI 113 could be any visual display medium such as a standard computer display, a projector screen, touch screen, hologram, AR or VR display, or any other visual display medium.
- the input of the interactive VUI 113 could be provided by any user input technology such as a mouse, touch screen, voice controller, gesture recognition device, or any other user input technology.
- connection 114 between the data set 111 and the VUI generator 112 can be an API.
- the data set 111 can be an excel file which the VUI generator 112 is given access to via the API.
- VUI generator 112 can pull data from data set 111 for analysis and processing through API calls to a system tasked with administrating data set 111.
- all the elements of block diagram 110 will be part of or powered by a software-as-service SAS platform or cloud architecture.
- the data set 111 could be an excel file uploaded to a web server via a web portal or an internet accessible database to which a SAS platform is provided access.
- the SAS platform could then both display the VUI and accept inputs from the user through a cloud native application or internet browser application.
- the generator 112 can also include a separate API or other interface (not shown) to allow for the generator 112 to be updated or to modify the rules used to generate an interactive VUI 113.
- the VUI generator 112 can dynamically generate various visual maps of the data set using raw data from data set 111.
- the visual maps can be generated for various layers of the data set in which values for different attributes of the entries in data set 111 are presented.
- the layers can be defined by the user through interactions with the interactive VUI 113.
- the term "layer of the data set" will be used to refer to a perspective of the data set, where subsequent layers of the data set can provide different and/or more specific data related to an aspect of the previous layer so that the data set can be analyzed from a different, but related perspective.
- a first layer of the data set could include overall information about the number of entries, its attributes and corresponding values
- a second layer of the data set could include a filtered data set, where only certain attributes, entries or values are considered.
- subsequent layers of the data set could include new data obtained by further processing raw data from a previous layer.
- a subsequent layer of the data set could include data about the number of entries sharing a same value, or about what that value represents.
- a subsequent layer of the data set could link one or more entries, attributes and/or values to a different data set to provide further information on that entry, attribute and/or value, etc.
- the layers can be iteratively defined by a user of the interactive VUI 113 by selecting attributes presented on the interactive VUI 113 to slice them from a layer of the data set to present a new layer of the data set.
- the first layer of the data set can include all the attributes of the data set and each subsequent layer can include fewer attributes as they are sliced away.
- the process of iteratively creating new layers of the data set by slicing attributes can be referred to as navigating "down" into the data set through various layers.
- the iteratively defined layers of the data set can be saved to allow the user to navigate back "up" through the layers they have defined using interactive VUI 113.
- the user can then subsequently use the interactive VUI 113 to move back down into the data set through a different set of layers.
- visual maps of a layer of a data set can have various visual characteristics and display various types of information regarding the data set.
- the visual characteristics can be defined by at least two sets of physical vectors that represent a set of vector attributes and a set of graphical value representations distributed along the physical vectors.
- the sets of physical vectors can be associated with vector attributes in the set of vector attributes in a one-to-one correspondence.
- the sets of physical vectors can be distinguished by a shared visual characteristic associated with each set.
- one set of physical vectors can have a ring shape and be associated with a "country" value for an entry in the data set while a second set of physical vectors can have a spoke shape overlain on the rings and be associated with a "year" value for an entry in the data set.
- the individual physical vectors in each set of physical vectors can be associated with a vector attribute value from a set of vector attribute values. For example, one ring in the prior example could be associated with the "Brazil" value for the country attribute while a second ring was associated with the "China" value for the country attribute.
- the set of graphical value representations can be point values for the attributes.
- the point values can be the number of entries in the data set that have a given attribute or set of attributes, a value of any attributes for one or more entries, or any information derived from the aforesaid values.
- the point values can be distributed along the set of physical vectors according to the association of those values with the attributes represented by the physical vectors. For example, if a physical vector represented the attribute value "height 5- 6 meters" and a second physical vector represented the attribute value "length 1-2 meters," graphical representations regarding entries in a data set which shared those values for those attributes could be placed at the intersection of those two vectors.
- the graphical representation could show the number of entries in the data set with those values, information regarding a "width" attribute for those same entries, or any information derived therefrom for those same entries, at the intersection of those two vectors.
- the physical vectors of the map can take on various forms and be placed in various arrangements.
- the visual characteristic of the map will depend on the display technology used for the interactive VUI in which the map is displayed.
- the map could be two dimensional if displayed on a standard computer display or three dimensional if presented using an AR or holographic display technology.
- the map could also be a two-dimensional representation of a three- dimensional structure and be presented on a two-dimensional display along with tools to navigate the map and view different portions of the three-dimensional structure using a two-dimensional viewer.
- the set of physical vectors could be distributed in various ways.
- the visual map could be a standard two dimensional grid with two attributes being represented by a set of horizontal physical vectors and a set of overlapping vertical vectors with graphical value representations of the set of point values being distributed within the cells of the grid.
- the visual map could be a three- dimensional grid with a third attribute being represented by an overlapping set of width wise vectors with graphical value representations of the set of point values being distributed within voxels in the grid.
- the physical vectors can include a set of vector curves having a common focus and a set of overlapping line vectors having a common origin with the set of graphical value representations distributed on the set of intersections of the set of vector curves and the set of line vectors.
- the physical vectors associated with particular attributes can all be orthogonal, overlapping vectors provide the ability to represent two attributes for a given point with one physical point in the map.
- a visual map of a data set can be generated in various ways.
- Flow chart 100 includes a step 101 of generating a visual map.
- the visual map can be generated by VUI generator 112, using the data set 111.
- the visual map can be dynamically generated while the data set is being accessed through the application programming interface or other interface between VUI generator 112 and data set 111.
- the generation of the map can include a step 102 of selecting vector attributes.
- Vector attributes can be selected from the attributes of the data set 111.
- Vector attributes can be selected in relation to the data set 111 and the content to be displayed in interactive VUI 113.
- the VUI generator 112 can be configured to select specific vector attributes for a given type of application.
- the vector attributes can alternatively or in combination be selected in response to a user interaction with interactive VUI 113.
- a user of interactive VUI 113 may interact with VUI 113 to select the attributes that would fulfill the user needs in a customizable manner.
- the vector attributes to be selected can be set by a system manager or designer prior to the generation of the map.
- the VUI generator 112 can have rules to decide which attributes to select considering a user's profile, a location, prior user's interactions, etc.
- the VUI generator 112 can be configured to select fixed attributes depending on the type of data to be shown in interactive VUI 113 or the structure of data set 111.
- the generation of the map can also include a step 103 of deriving one or more point values from the data set 111.
- VUI generator 112 can access the data set 111 to derive the point values. For example, generator 112 can read through the data set 111 and compile data related to an aspect of interest or common aspect, and then generate a value representative of the compiled data. In the example given above of a database of users for a website, the entry "user 1" could also include the attribute "user-age”. The VUI generator could then derive a data point value that represents the number of users (entries) within a certain age group. In this way, the data point values do not need to, although they could, be obtained directly from, or be a reflection of, the data set 111, and the data set 111 can be used as raw data to derive data point values that can efficiently provide additional information to the user of the interactive VUI 113.
- the same data set 111 can then be used to derive and create diverse and rich content for interactive VUI 113 in numerous ways.
- the generation of the map can also include a step 104 of distributing one or more graphical value representations, such as icons, of the point values derived in step 103.
- the graphical value representations can be distributed along physical vectors representing the values of the vector attributes selected in step 102.
- the physical vectors can be graphical representations of the values of the vector attributes where the graphical value representations can be distributed, such as a line vector or a vector curve.
- the graphical value representation can be any graphical representation used to illustrate the point values derived in step 103, such as icons of diverse forms and colors, images, color-coded points, etc., as will be described below in more detail.
- Fig. 2 provides a specific example of the characteristics of a visual map 200 of a layer of a data set in accordance with specific embodiments of the invention disclosed herein.
- the physical vectors include a set of vector curves, such as vector curve 202, having a common focus.
- the set of vector curves can be concentric rings.
- the set of vector curves can span any number of degrees including 180 degrees (half rings) or 360 degrees (full rings).
- the physical vectors also include a set of overlapping line vectors, such as line vector 204, having a common origin.
- the common origin of the line vectors is the center of the rings forming the vector curves.
- a picture or other icon, such as image 207 in the center of the map, can be added to the map for aesthetical or informative reasons.
- FIG. 2 also illustrates graphical value representations (such as 206) of point values, such as the point values derived in step 103 of flow chart 100.
- the graphical value representations can be distributed, as explained with reference to step 104 of flow chart 100, along the physical vectors.
- the graphical value representations can be distributed on the intersections of the vector curves and the line vectors, as illustrated in the example of Fig. 2.
- the graphical value representations can illustrate the data point derived from the data set 111 in association with the values of the vector attributes represented by the physical vectors.
- the map in the example of Fig. 2 represents a data set related to health care personnel that have lost their lives battling the 2019-20 SARS-CoV-2 pandemic.
- the vector attributes are "Country”, as represented by the outermost ring 208, and "Age", as illustrated by line 210.
- the physical vectors, such as line vector 204 and vector curve 202 represent the values for such vector attributes.
- the data points in this example represent the number of entries for a given country and age group.
- graphical value representation 206a (distributed on the intersection of line vector 204a, representing the value USA of the attribute "Country”, and vector curve 202a, representing the value 30- 39 of the attribute "Age”), informs that there were, at the time the map was generated, 12 victims in the United States between 30 and 39 years old.
- VUI generator 112 can have rules to process the data and present the physical vectors that represent the values of the vector attributes in different ways.
- the line vectors such as 204 in the example of Fig. 2
- the vector curves, such as 202 each represent an age group associated with the vector attribute "Age”.
- the physical vectors do not necessarily correspond to the value of the vector attribute they represent and can represent such vector attributes in various ways.
- the physical vectors can directly correspond to the values for the vector attributes (each physical vector represents a country where the vector attribute is "Country").
- the physical vectors can indirectly represent the values for the vector attributes (each physical vector represents an age group where the vector attribute is "Age").
- the graphical representations for point values can take on various forms.
- the graphical representations, such as 206, for point values are in the form of solid color balls that include numeric information.
- the graphical representations, such as 206 can be of any shape. For example, they can be in the form of 2D geometric figures such as circles, rectangles, hexagons, etc. or 3D geometric figure such as a cube, cone, etc.
- the graphical representations can be in the form of irregular figures or specific shapes, such as object shapes or human shapes.
- the graphical representations can be images, emojis, text, numbers or marked points on the map.
- the graphical representations can be symbols or signs, such as arrows, hearts, stars, etc.
- the graphical representations can be of any color. They can be solid shapes or transparent shapes with solid borders. All the graphical representations on a map can be of the same format, such as same color, form, shape, etc. or of multiple formats.
- the format of the graphical value representations can represent dimensions of the data such as intensity, quantity, type, etc. In the example of Fig. 2, the graphical representations have different colors depending on the range where the numerical value they represent is located. For example, a higher number of victims can be represented in red, while a lower number can be green. Any other color-code can be used. As a different example not illustrated in Fig.
- VUI generator 112 can have rules to decide the format of the graphical representations, as will be described below in more detail.
- the graphical representations can have information embedded in the form of text, numbers, shapes, figures, etc., such as the number illustrated on each graphical value representation of each data point in Fig. 2.
- the graphical representation can represent data points derived from the data set 111 in numerous ways, either by directly projecting information, such as the numeric values in Fig. 2 representing the number of victims in a given country and age group, or by adding context or dimensions to the data by giving it different forms, colors, etc.
- VUI generator 112 can be configured to format the graphical representations in a specific manner according to certain rules as will be described below in more detail.
- the graphical representations for point values can then represent the data itself, for example the number 12 in graphical value representation 206a, its association with the values of the vector attributes, by means of its distribution along the physical vectors 204a and 202a, and other dimensions of the point value by means of the color, shape, size, type, etc. of the graphical value representation.
- the visual map can be used to dive down into a data set. Examples of this process can be described with reference to Figs. 1 and 2.
- flow chart 100 includes a step 108 of navigating the map and a step 105 of receiving a selection of at least one attribute value, for example, from the interactive VUI 113.
- the selection can be given by a user interaction with the interactive VUI.
- the selection can be via one of the graphical value representations.
- the user can select a specific graphical value representation by clicking directly on the graphical value representations, such as graphical value representation 206 in Fig. 2, or on a label, button or other interface associated with the graphical value representation.
- the selection can also be via one of the physical vectors.
- the user can select a specific physical vector by clicking directly on the physical vector, or on a label, button or other interface associated with the physical vector, such as the name of the countries, flags, or age group labels or icons in Fig. 2.
- the selection can also be via additional fields, controllers or buttons provided in the interactive VUI.
- Flow chart 100 also includes a step 106 of slicing the selected attribute value. By slicing the selected attribute value more information related to that attribute value can be accessed. A new layer of the data set can be harvested and processed by VUI generator 112 to create new content for interactive VUI 113. When one attribute value of the data set is selected, it can be sliced to form a subsequent data set.
- the slicing can include filtering the entries in data set 111 associated with the selected attribute values to zoom in and obtain more information on that subset of data.
- the slicing can include, for example, taking all entries from the data set associated with the at least one selected attribute value and discarding all the other entries from the data set. For example, if a user selects the "USA" physical vector, representing the "USA” value for the vector attribute "Country", the slicing can include a deeper look into the entries that include the "USA” as a value for "Country", and all other values (countries) can be removed from consideration.
- the slicing can include a deeper look into the entries that include both attribute values (for example "USA” and "50-59") and discarding all other values (countries and age groups).
- the slicing can also include discarding the vector attributes in the visual map associated with the selected vector attribute value and replacing them with new vector attributes selected from the attributes of the data set.
- the next layer of data can represent entries that include both attribute values, and represents a different set of attributes, other than country and age, because a value for those attributes was already sliced.
- Flow chart 100 continues with a step 107 of repeating the generation step.
- repeating the generation step it can be possible to generate a visual map using the new layer of the data set in the same way it was generated for the first data set.
- Those steps can allow for the division of the data into smaller data sets that provide further and more specific information.
- data can be analyzed in a "slice and dice" approach, where a user can slice (for example by selecting one specific attribute value) and/or dice (for example by selecting one specific data point) the data currently illustrated through interactive VUI 113 to obtain new information.
- the method illustrated in flow chart 100 could include iteratively repeating the receiving, slicing, and generating steps to generate a set of visual maps.
- the selection step in each iteration can be received via the most recently generated visual map in the set of visual maps.
- the information generated by VUI generator 112 and projected by interactive VUI 113 can be responsive to user interactions and be as specific as the user intends it to be, without unnecessarily overcrowding the layout of interactive VUI 113 with information that may be relevant to certain users but not to others.
- the visual maps are dynamically generated during each iteration of exploring the data set, including the first.
- the dynamic generation of the visual maps can be conducted based on rules selected by or algorithms programmed by the designer of the generator.
- the rules or algorithms can define which vector attributes are selected, which vector attribute values are selected for representation by physical vectors, how the physical vectors are arranged, how the physical vectors appear, what point values are derived for the data set, how the graphical value representations of the set of point values appear, and how the set of graphical value representations are distributed along the physical vectors.
- the rules or algorithms can be based on the attributes, attribute values, data values, predefined thresholds, and various other factors.
- the rules or algorithms can utilize predefined thresholds, discovered patterns, correlation, clustering or assessment weights among data set etc. After the first map is presented, the rules can also take into account what attribute values were selected by the user on a previously presented map.
- rules or algorithms in the generator can define which vector attributes are selected for a given visual map.
- the number of vector attributes that can be selected will be a constraint of the characteristics of the visual map. For example, in embodiments in accordance with Fig. 2 the number of vector attributes that can be selected is two because there are two dimensions of physical vectors in the visual map - the curve vectors or "rings" and the line vectors or "spokes.”
- the illustrated ring could also be broken into segments (e.g., from 0 to 45 degrees along the rings and from 45 to 180 degrees along the rings) such that additional vector attributes can be selected for a given map with those segments being reserved for different attributes.
- the generator can select from among the attributes in the data set to determine which should be represented by physical vectors in the set.
- the order in which new vector attributes are selected can be manually predefined for a specific data set, selected according to a rule which is applied to the attributes for any given data set (e.g., age always before height), or based on the values in the data set (e.g., whichever attribute has the most even distribution of remaining entries across values for that attribute).
- rules or algorithms in the generator can define which vector attributes are selected for a given visual map differently for each subsequent map that is produced based on the prior selections of the user as they moved down into the data set.
- Fig. 3 is a second virtual map 300 generated upon the selection of a country attribute in Fig. 2, specifically the "USA" value of the country attribute.
- the country attribute has been sliced from the data set in response to the selection of the specific value "USA”
- the virtual map in Fig. 3 has been generated using a second layer data set in which all the entries are those for which the sliced attribute's value was USA.
- the set of vector attributes are selected by keeping all the vector attributes from the prior layer and substituting a new vector attribute in place of the selected attribute.
- Fig. 4A is a third virtual map 400 generated upon the selection of an age group attribute in Fig. 3, specifically the "40-49" value of the "Age" attribute.
- the age attribute has been sliced from the data set and the virtual map in Fig. 4A has been generated using a third layer data set in which all the entries are those for which the sliced attribute's value was 40-49.
- the set of vector attributes are selected by keeping some of the vector attributes from the prior layer and substituting a new vector attributes in place of the vector attribute corresponding to the selected attribute value.
- a vector attribute that remains on the map can be physically changed and take a different position and/or form in the next iteration of the map.
- physical vectors representing values of a vector attribute in the form of line vectors can be illustrated as vector curves in a subsequent map while still representing the same vector attribute.
- the vector attribute "Profession” has been kept on the map and the vector attribute "Age", corresponding to the selected attribute value "40-49", has been replaced by the actual name of the practitioners.
- the vector attribute "Profession” represented by line vectors in the previous iteration, illustrated in Fig. 3, is now represented by vector curves in the subsequent iteration represented in Fig. 4A.
- FIG. 2, 3 and 4A illustrate the dynamic generation of visual maps when a selection of one value of a given vector attribute is received.
- a graphical value representation distributed on the map.
- the graphical value representations can be distributed along the physical vectors representing values for the vector attributes. If the physical vectors intersect, the graphical value representations can then be distributed on such intersections, as illustrated in the examples above. In those cases, by receiving a selection via the graphical value representation, two or more different physical vectors representing values for two or more different vector attributes can be selected at the same time.
- a new layer of the data set could be obtained by replacing all the vector attributes currently on the map, or at least the ones associated with the selected graphical value representation, with a new set of vector attributes.
- a portion (or layer) of the data set for which the values of the previous set of vector attributes were those selected via the graphical value representation can then be explored from a different perspective.
- the number of vector attributes with physical vectors intersecting on the map could determine the number of values and associated vector attributes to be sliced in order to form a new layer of data set.
- the illustrated cases are non-limiting examples of the multiple possibilities to slice the data and represent the subsequent layers of the data set. Those examples are merely illustrative of the fact that VUI generator 112 can be configured to generate visual maps in numerous ways as appropriated for the type of data being represented.
- the iteratively defined layers of the data set can be saved to allow the user to navigate back up through the layers they have defined when moving down into the data set. Examples of this process can be described with reference to Fig. 2, 3, 4A and 4B.
- a navigation interface 250 can be displayed along with the visual maps. In Fig. 2, navigation interface 250 indicates that the "Layer 1" of the data set is being analyzed.
- navigation interface 250 indicates that the "Layer 2" of the data set is being analyzed, because one of the attribute values was selected in the previous layer, as explained before.
- Layer 1 is shown enabled because the user already explored that layer of the data. The user can, at any time during further data exploration, go back to that layer and establish a new navigation path.
- Fig. 4A navigation interface 250 indicates that the "Layer 3" of the data set is being analyzed, because one of the attribute values was selected in the previous layer, as explained before.
- Layers 1 and 2 are shown enabled because the user already explored those layers of the data. The user can, at any time during further data exploration, go back to those layers and establish a new navigation path.
- Subsequent layers are shown disabled until the user establishes a navigation path through the rest of the data layers.
- Fig. 4B illustrates an example of what the previous layer could look like when accessed back through the navigation interface 250. As illustrated, the selected physical vector 403 representing an attribute value sliced in the previous layer, can be highlighted or otherwise surfaced so that the user can keep track of the navigation path through the map and layers of the data.
- the user can move through the map via the navigation interface 250 itself once at least part of a navigation path is established.
- the navigation interface could include elements, such as buttons or links, associated with the visual maps in a one-to-one correspondence.
- the one-to-one correspondence can be generated dynamically during the iterations of the steps of the method of flow chart 100.
- the interactive VUI 113 and VUI generator 112 can display the visual maps associated with each element of the navigation interface in response to a selection of one of those elements.
- the navigation interface 250 can include buttons, such as buttons 252, 253, and 254, illustrated in Fig. 4B. Button 252 can be unambiguously associated with the map 200 illustrated in Fig. 2.
- Button 253 can be unambiguously associated with the map 300 illustrated in Fig. 3.
- Button 254 can be unambiguously associated with the map 400 illustrated in Fig. 4A. In this way, a user can select one of the buttons and the corresponding visual map can be displayed. If the user decides to move back through the layers and change the navigation path, for example, by selecting a different age group in Fig. 3, the generation of a new visual map can be triggered, as explained with reference to flow chart 100, and the new visual map can be dynamically associated with the corresponding element of the navigation interface.
- rules or algorithms in VUI generator 112 can determine how the physical vectors are distributed and how they appear.
- VIU generator 112 can have rules to determine the appearance of the physical vectors.
- the rules can be set by a generator designer, system manager or user of the interactive VUI 113. For example, the position of the physical vectors on the map can be determined based on numerous factors.
- the angle position of for each metric can be determined or calculated by one of the following algorithms: evenly distributed over an allocated angular range, by weighted angular distribution by the measurement values, or predefined weights reflecting priorities, severities, relevance or urgency, etc. The angular distribution of spokes in the examples presented herewith is predominantly even.
- the physical vectors can be distributed so that the angular space between them varies. For example, line vectors representing less important values can be shown with a smaller angular separation, while line vectors representing more important values can be shown with a larger angular separation, so that the illustrated information is clearer.
- the amount of values for a given vector attribute will be larger than what the visual map can efficiently display, causing, for example, overlapping between values that can interfere in the visualization.
- Fig. 5 is an example of this situation.
- the VUI generator can be configured to dynamically increase the angular space between the spokes as the user moves through them, for example when the user moves a cursor over a certain portion of the map.
- interactive VUI 113 can present information in numerous ways. Similar approaches can be considered for the distance between the rings.
- the rings or vector curves position can be defined by the radius from a center position and calculated via one of the following algorithms: evenly distributed over a given size of the visual map, weighted distance distribution over an allocated distance range by measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc.
- the distribution of the vector curves can be controlled and vary in a similar manner as explained with reference to the angular space above depending on the desired way to illustrate the information in interactive VUI 113.
- the line width of each ring or vector curve can be determined or calculated via one of the following algorithms: uniform size, size proportional to the measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc.
- the width of the vector curves can vary through the navigation path. For example, a vector curve representing a vector attribute value selected by the user can become wider in response to the selection, so that it is evident to the user that the vector curve was selected and/or explored.
- the width can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which vector curve is being pointed to.
- the color of the rings or vector curves can be decided by one of following algorithms: same color, mapped to the gradient color table by measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc.
- the color of the vector curves can vary through the navigation path. For example, a vector curve representing a vector attribute value selected by the user can become brighter in response to the selection, so that it is evident to the user that the vector curve was selected and/or explored.
- the color can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which vector curve is being pointed to.
- the width of each spoke or line vector can be determined or calculated via one of following algorithms: uniform size, size proportional to the measurement values, predefined weights reflecting priorities, severities, relevance or urgency etc.
- the width of the line vectors can vary through the navigation path. For example, a line vector representing a vector attribute value selected by the user can become wider in response to the selection, so that it is evident to the user that the line vector was selected and/or explored.
- the width can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which line vector is being pointed to.
- the color of the spokes or line vectors can be decided by one of following algorithms: same color, mapped to gradient color, table by measurement values, predefined weights reflecting priorities, severities, relevance or urgency etc.
- the color of the line vector can vary through the navigation path. For example, a line vector representing a vector attribute value selected by the user can become brighter in response to the selection, so that it is evident to the user that the line vector was selected and/or explored.
- the color can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which line vector is being pointed to.
- the total ring or vector curve length (or each space between two adjacent data points on the ring) is larger for rings that have larger radius distance.
- VUI generator 112 can have rules to decide how to distribute the physical vectors considering multiple parameters. These and other algorithms or rules can be implemented so that the physical vectors are highly configurable.
- rules or algorithms in the generator can determine what point values are derived for the data set and how the graphical value representations of the set of point values appear, as explained before.
- the size of each graphical value representation on the visual map can be decided by one of following algorithms: uniform size, weighted size by measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc.
- the size of the graphical value representations can vary through the navigation path.
- the graphical representations on a vector curve representing a vector attribute value selected by the user can become bigger in response to the selection, so that it is evident to the user that the graphical representation or vector curve was selected and/or explored.
- the size can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which graphical value representation is being pointed to.
- the color of each graphical value representation on the visual map can be decided by one of following algorithms: use the same color, map to a gradient color table by measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc.
- the color can be associated to predetermined values.
- a threshold can be associated to each color so that when a number of entries with a given characteristic represented by the graphical value representation is smaller/larger than the threshold the graphical value representation takes a certain color.
- the graphical value representations are in the form of colored balls.
- the color of the balls represents a range of entries, for example, green if less than two entries, red if more than 40 but less than 100 entries, darker red if more than 100 entries, etc. In this way, it is possible to provide information to the user via the color of the graphical value representations even when the actual value is not illustrated. In the example of Fig. 5 it is not possible to discern the number of entries for each country because some of the values overlap.
- the color of the graphical value representations can vary through the navigation path.
- the graphical representations on a vector curve representing a vector attribute value selected by the user can become brighter in response to the selection, so that it is evident to the user that the graphical representation or vector curve was selected and/or explored.
- the color can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which graphical value representation is being pointed to.
- rules or algorithms in the generator can determine what sorting order should be applied to assign different attribute values to different physical vectors, and to provide different sorting orders for data point placement relative to the physical vectors.
- the sorting order of data point placement positions over the rings or lines can be also calculated by correlation, similarities or clustering discovered among data points.
- the physical vectors and graphical value representations can be distributed on the map based on the density of the information to be represented. For example, physical vectors that represent values of a vector attribute for which there are numerous entries can be placed as the outermost rings on the map, so that the data points can be distributed along such vector without overlapping.
- VUI generator 112 can have rules to decide how to distribute the physical vectors considering multiple parameters. These and other algorithms or rules can be implemented so that the distribution of the graphical value representations and physical vectors is highly configurable.
- a visual map will not have enough room to provide a physical vector for all of the vector attribute values in the data set.
- Fig. 5 illustrates an example of a map 500 including a large number of attribute values (countries).
- the map 500 in Fig. 5 is illustrated in context with some exemplary interfaces of VUI 113.
- the interfaces can include informative text, such as text 506, interfaces for playing music, displaying a video, etc., such as interface 510, interfaces for help or tips on navigating the map, such as interface 508, etc.
- informative text such as text 506, interfaces for playing music, displaying a video, etc., such as interface 510, interfaces for help or tips on navigating the map, such as interface 508, etc.
- VUI generator 112 can determine to represent portions or subsets of the attribute values and give the user the option to move through the not-illustrated attribute values. This determination can be made dynamically such as by making a determination of a level of overlap of the graphical icons or by a simple comparison of a predetermined acceptable number of physical vectors to display for a visual map and the number of vector attribute values in a given data set. The determination can be made by the generator designer or final user of the interface.
- the interactive VUI can include an interface, such as interface 504, that allows the user to decide how to see the information, for example, how many countries to display at a time.
- the visual map can in these situations include indicators to this fact and allow a user to cycle through the vector attribute values which are currently displayed as will be described below.
- the visual maps will include user interfaces to alter the rules for how visual maps are dynamically generated and/or to navigate a visual map.
- the step of navigating a visual map 108 is provided in Fig. 1 and is part of the iterative process of exploring the overall data set.
- the interfaces can indicate to a user that not all the vector attributes for a given visual map are currently being displayed.
- the interfaces can also provide a user with the ability to cycle through the vector attributes that are currently being displayed.
- a user can be apprised of this fact by an indicator and provisioned with a button, dial, or dropdown menu, to alter the vector attribute values that are presently represented on the visual map.
- Fig. 6A and 68 illustrate two different maps 600A and 6008 for the same layer of the data set.
- the map 600A in Fig. 6A illustrates the first 18 attribute values (countries) of the complete list illustrated in Fig. 5.
- An interface such as interface 504 of Fig. 5, can be provided to give the user the option to select how to visualize the same information.
- FIG. 6A also illustrates an indicator 602 that can inform the user that more information is available and how to access it.
- the indicator is in the form of a button "NEXT" which is both indicating that more information is available and suggesting that the information can be accessed by selecting such button.
- Other interfaces can be presented and explicative notes, such as instant messages or prompts, can be provided to instruct the user to move through the data.
- the sign "Tip" can be blinking on the screen so that the user is guided to access it to learn how to navigate the map.
- the map could also include a status bar, such as status bar 650, that can indicate a percentage of the data being displayed.
- Fig. 6B illustrates the same map as in Fig 6A once the indicator/button "NEXT" is actioned for the first time.
- status bar 650 now indicates that half the countries have been illustrated at this point on the map.
- the status bar can take on various forms. In the illustrated examples, the status bar follows the shape of the vector curves and passes along the attribute values it indicates (countries). The illustrated case is a non-limiting example of how the status bar can be represented, and other implementations are possible.
- Fig. 6B also illustrates additional interfaces 606 and 608 that can serve to move through the different age groups, and a corresponding status bar 660. Multiple implementations of those features are possible within the scope of the present invention. Status bars can be located at any point within the interactive VUI and be used for different purposes.
- Fig. 6A and Fig. 6B illustrate the same layer of the data set as the one illustrated in Fig. 5 for the first layer of data, but the attribute values are spatially separated and illustrated by subsets, for improved visualization effects.
- VUI generator 112 can be configured to generate the visual map in context with additional information, or to process the data to be illustrated and summarize it in various ways, so that interactive VUI provides both the detailed visual map as explained before and an additional, more general perspective of the data.
- Fig. 7 illustrates an example of this feature.
- Fig. 7 illustrates a visual map 700 that can be generated using the steps explained with reference to flow chart 100, and additionally includes an outer gauge data summary element 750.
- the example illustrated in Fig. 7 refers to the sales of 9 products during the year.
- the graphical value representations can represent an exact value per product per month, for example.
- the external gauge in turn can summarize the sales through the whole year.
- the gauge can also include additional elements such as indicators 702 and 704 that can refer to a target threshold for the sales and an actual value of current sales.
- the gauge can then be an appealing visual aspect of the overall design. It can also be a useful summary of the displayed data that integrates well with the original portions of the design.
- the example of Fig. 7 also illustrates partially filled vector curves representing the magnitude of the data. This feature could also be used for the line vectors to represent more dimensions of the same data set. Different color, width and format within a same curve or line vector can then be used to represent the data in various ways.
- Fig. 8 to Fig. 16 illustrate non-limiting examples of different uses of an interactive VUI in accordance with specific embodiments of the present invention.
- Fig. 8 includes an example of a visual map 800 in accordance with specific embodiments of the invention, fora lifestyle tracking application.
- the example shows an 18- set of time series measurement data. There are a total number of 18 metrics (fish,
- FIG. 9 includes an example of a visual map 900 in accordance with specific embodiments of the invention, fora skin care plan application.
- the visual map includes two vector curves for two set of data points with various representing image icons.
- Assessment and treatment plan data are represented by different shape and color graphical value representations, depending on the aging severity level.
- the color legend group is shown on the bottom part of the drawing.
- Fig. 10 includes an example of a visual map 1000 in accordance with specific embodiments of the invention, for health-related metrics analysis.
- the visual map includes two sections representing two different data clusters with shared metrics. There are eight rings representing metrics of Pregnancy, Latitude, Season, Body Fat, Medications, Skin Pigment, Diet Pattern and Age. There are two clusters shown on the visual map: Low Vitamin D Static Risk Factors for two groups of people taking measurements. The two groups are visually divided by a separator that can be moved toward either side to increase or decrease the angle space allocated for presenting cluster of data measurements.
- Fig. 11 includes an example of a visual map 1100 in accordance with specific embodiments of the invention, for health-related metrics and risk assessment.
- the visual map includes a time-series data set of metrics measurements of one person. Each metric is represented by one line vector while each measurement at a specific time is represented by a vector curve. The vector representing a metric that doesn't has measurement data is shown in gray color. The half circle block at the center is reflecting the value of the focused data point with mapped color code.
- Fig. 12 includes an example of a visual map 1200 in accordance with specific embodiments of the invention, for the health-related metrics and risk assessment of Fig. 11, including data from various users at different times.
- the visual map shows measurements of the same metrics for multiple people at different times.
- Each person's measurement (multiple data points) over time (multiple times/dates) is represented by the dots on a straight line (line vector) originated from the center of the rings (vector curves), whereas the different times/dates are represented by the rings (vector curves) on the visual map.
- Fig. 13 includes an example of a visual map 1300 in accordance with specific embodiments of the invention, for the health-related metrics and risk assessment of Fig.
- Fig. 14A and Fig. 14B include two examples of a visual map 1400A and 1400B in accordance with specific embodiments of the invention, for a sales plan tracking application. These maps include an external gauge similar to the one described with reference to Fig. 7. In this example, an external ring provides indication of goal and actual sales for the year.
- the example also includes a status bar and indications to move through different years on the map.
- Fig. 15 include an example of a visual map 1500 in accordance with specific embodiments of the invention, with an external gauge and indicator.
- the visual map is similar to the maps described before with reference to Fig. 7 and Fig. 14A and 14B.
- the external information is represented in a dial-type graph with an indicator that can indicate target value, an actual value etc.
- the external gauge and indicator can be associated to the data set that was used to generate the visual map and represent a summary or different perspective of the data.
- Fig. 16 includes an example of a visual map 1600 in accordance with specific embodiments of the invention, for a skin care plan application similar to the one described with reference to Fig. 9. In this case, it is illustrated that the graphical value representation can take numerous forms in the same map to illustrate different features.
- a VUI generator such as VUI generator 112 can have rules and be designed to provide interactive VUIs for a large number of applications and to utilize a data set in numerous ways to generate different outcomes from that data set.
- each visual map and view thereof can be dynamically printed as a pdf file, sent as an email, or shared on social media.
- Other tools for collaborative communication on an interactive display such as the ability to annotate the visual maps, provide comments, and alter the host of the interactive VUI can also be provided to enhance the collaborative experience.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Methods and systems related to the fields of data science and graphical user interfaces are disclosed. One method for providing an interactive data visualization user interface includes generating a visual map using the data set. The visual map can include physical vectors representing values of vector attributes. The vector attributes can be selected from attributes of the data set and are referred to as vector attributes because they have been selected for representation via the physical vectors. The visual map can include graphical value representations of point values, derived from the data set, distributed along the physical vectors. The method can also include receiving a selection of an attribute value, slicing the selected attribute value from the data set to form a second layer data set, and generating a second visual map using the second layer data set.
Description
Interactive Data Visualization User Interface Generator for Iterative Data Set Exploration
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 62/895,351, filed September 3, 2019, and of U.S Patent Application 17/010,616, filed on
September 2, 2020, which is continuation-in-part of Patent Application 62/895,351, all of which are incorporated by reference herein in their entirety for all purposes.
BACKGROUND [0002] There are 2.5 quintillion bytes of data created every day. Many technical fields and engineered systems that were once data starved are now so overwhelmed with data that they are currently limited not by the amount of data that can be collected and stored, but by how much of that data can be processed for and actionably comprehended by a decision maker. The modern field of data science is an interdisciplinary and rapidly developing technical area that has emerged to deal with the need to design, collect, and analyze large sets of data to address this new limitation.
[0003] Although the field of data science is interdisciplinary, those of ordinary skill in the art of data science generally have technical skills in at least one of the fields of data manipulation, data collection, statistical analysis, machine learning, and data mining. These technical experts are often tasked with providing insights to nontechnical individuals who need to make decisions based on information that can be gleaned from large data sets. The insights are often provided in the form of reports that show relationships within a data set such as pie charts, bar graphs, timelines, maps, line charts, or pivot tables. The term "nontechnical" here refers to users who are not skilled in the field of data science. However, the decisions makers may be highly skilled in separate and distinct technical fields. As expertise is not free, and as more and more fields become dependent upon larger and larger data sets, it becomes increasingly less likely that you will find someone who is both an expert in the field in which the data is required to be understood and applied and someone who is an expert in data science generally. [0004] The present trends outlined above lead to a situation in which at least two parties are needed to glean actionable insights from data. Currently, most decision space oriented data science projects require a data scientist and decision maker to collaborate through a
process involving an analyst generating a report for a decision maker, the two parties meeting to discuss the report, and the analyst returning to change or edit the report in an iterative process before a final decision can be made or a required level of understanding can be reached.
SUMMARY
[0005] Methods and systems related to the fields of data science and graphical user interfaces are disclosed herein. Specific embodiments of the invention disclosed herein provide systems and methods for generating an interactive data visualization user interface (VUI) for a given data set. A data set including any number of entries and attributes can be explored in an intuitive and appealable manner through the interactive VUI. The VUI can include visual maps for displaying information. The visual maps can include physical vectors that represent values of the different attributes of the data set. The visual maps can also include graphical value representations of point values derived from the data set. The physical vectors of the visual maps can be vector curves, such as rings, or line vectors, such as spokes. The graphical value representations can be distributed along the physical vectors representing a point value in association with the attribute value that the physical vectors represent.
[0006] Different layers of the data set can be explored through the generation of different visual maps for the interactive VUI. The interactive VUI can be generated by using a VUI generator. The VUI generator can allow for iterative visual exploration of the data set via multilayered slicing and reorganizing of the data. Furthermore, in specific implementations, the VUI generator can afford these capabilities to nontechnical users in an intuitive manner to allow them the opportunity to identify trends, outliers, correlations, and patterns in the data set.
[0007] Different users of the interactive VUI can be able to explore the same data set in different ways in accordance to their specific needs. An interactive VUI generated in accordance with specific embodiments of the invention can allow users to dig as deep into the data set as the data set allows, while keeping the layout simple and intuitive and providing the information in layers, so that there is no overcrowding of information in the interactive VUI. Users can interact with the interactive VUI in multiple ways to generate new visual maps and explore subsequent layers of the data set. In specific embodiments of the
invention, users is also able to navigate back through the previous layers of the data set via a navigation interface in the interactive VUI.
[0008] In specific embodiments of the invention, a computer-implemented method for providing an interactive data visualization user interface for a data set is provided. The method comprises generating a first visual map using the data set by: selecting, from a set of attributes of the data set, a set of vector attributes; deriving a set of point values from the data set; and distributing a set of graphical value representations of the set of point values along a set of physical vectors. The set of physical vectors represent values of the set of vector attributes. The method comprises receiving a selection of at least one selected attribute value via one of: (i) a graphical representation from the set of graphical value representations; and (ii) a vector in the set of physical vectors. The method additionally comprises slicing the at least one selected attribute value from the data set to form a second layer data set. The method additional comprises repeating the generating step to generate a second visual map using the second layer data set. [0009] In specific embodiments of the invention, a non-transitory computer-readable media accessible to one or more processors is provided. The non-transitory computer-readable media stores instructions which, when executed by the one or more processors, implement a method for providing an interactive data visualization user interface for a data set. The method comprises generating a first visual map using the data set by: selecting, from a set of attributes of the data set, a set of vector attributes; deriving a set of point values from the data set; and distributing a set of graphical value representations of the set of point values along a set of physical vectors. The set of physical vectors represent the values of the set of vector attributes. The method additionally comprises receiving a selection of at least one selected attribute value via one of: (i) a graphical representation from the set of graphical value representations; and (ii) a vector in the set of physical vectors. The method additionally comprises slicing the at least one selected attribute value from the data set to form a second layer data set. The ethos additionally comprises repeating the generating step to generate a second visual map using the second layer data set.
[0010] In specific embodiments of the invention, a computer-implemented method for providing an interactive data visualization user interface for a data set is provided. The method comprises generating a first visual map using the data set by: selecting a set of attributes from the data set; deriving a set of point values from the data set; and
distributing a set of graphical value representations of the set of point values along a set of physical vectors. The set of physical vectors represent values of the set of attributes. The method additionally includes slicing at least one value of the set of attributes from the data set in response to a selection of the at least one value of the set of attributes. The method additionally includes repeating the generating step to generate a second visual map. The second visual map is generated using only a portion of the data set that is associated to the at least one value of the set of attributes.
BRIEF DESCRIPTION OF THE DRAWINGS [0011] Figure 1 illustrates a flow chart for a set of methods for providing an interactive VUI for a data set, in accordance with specific embodiments of the invention disclosed herein. [0012] Figure 2 illustrates an example of the characteristics of a visual map of a layer of a data set, in accordance with specific embodiments of the invention disclosed herein.
[0013] Figure 3 illustrates a visual map generated upon the selection of an attribute value in the visual map of Fig. 2, in accordance with specific embodiments of the invention disclosed herein.
[0014] Figure 4A illustrates a visual map generated upon the selection of an attribute value in the visual map of Fig. 3, in accordance with specific embodiments of the invention disclosed herein. [0015] Figure 4B illustrates an example of the aspect of the visual map from Fig. 3 when accessed from a subsequent layer, in accordance with specific embodiments of the invention disclosed herein.
[0016] Figure 5 illustrates an example of a visual map including a large number of attribute values, in accordance with specific embodiments of the invention disclosed herein. [0017] Figure 6A illustrates an example of a visual map including a first subset of the attribute values from Fig. 5, in accordance with specific embodiments of the invention disclosed herein.
[0018] Figure 6B illustrates an example of a visual map including a second subset of the attribute values from Fig. 5, in accordance with specific embodiments of the invention disclosed herein.
[0019] Figure 7 illustrates a visual map including an outer gauge data summary element, in accordance with specific embodiments of the invention disclosed herein.
[0020] Figure 8 illustrates an example of a visual map for a lifestyle tracking application, in accordance with specific embodiments of the invention disclosed herein. [0021] Figure 9 illustrates an example of a visual map for a skin care plan application, in accordance with specific embodiments of the invention disclosed herein.
[0022] Figure 10 illustrates an example of a visual map for health-related metrics analysis, in accordance with specific embodiments of the invention disclosed herein.
[0023] Figure 11 illustrates an example of a visual map for health-related metrics and risk assessment, in accordance with specific embodiments of the invention disclosed herein. [0024] Figure 12 illustrates an example of a visual map for the health-related metrics and risk assessment of Fig. 11, but including data from various users at different times, in accordance with specific embodiments of the invention disclosed herein.
[0025] Figure 13 illustrates an example of a visual map for the health-related metrics and risk assessment of Fig. 11, but including data from various users and different metrics, in accordance with specific embodiments of the invention disclosed herein.
[0026] Figure 14A illustrates an example of a visual map for a sales plan including an external summary by product, in accordance with specific embodiments of the invention disclosed herein. [0027] Figure 14B illustrates an example of a visual map for a sales plan including an external summary by annual sales, in accordance with specific embodiments of the invention disclosed herein.
[0028] Figure 15 illustrates an example of a visual map including an external gauge and indicator, in accordance with specific embodiments of the invention disclosed herein. [0029] Figure 16 illustrates an example of a visual map for a skin care plan application including different graphical value representation formats, in accordance with specific embodiments of the invention disclosed herein.
DETAILED DESCRIPTION [0030] Methods and systems related to the fields of data science and graphical user interfaces in accordance with the summary above are disclosed in detail herein. The methods and systems disclosed in this section are nonlimiting embodiments of the
invention, are provided for explanatory purposes only, and should not be used to constrict the full scope of the invention. It is to be understood that the disclosed embodiments may or may not overlap with each other. Thus, part of one embodiment, or specific embodiments thereof, may or may not fall within the ambit of another, or specific embodiments thereof, and vice versa. Different embodiments from different aspects may be combined or practiced separately. Many different combinations and sub-combinations of the representative embodiments shown within the broad framework of this invention, that may be apparent to those skilled in the art but not explicitly shown or described, should not be construed as precluded. [0031] Specific embodiments of the invention disclosed herein provide a generator for an interactive data visualization user interface (VUI) for a given data set. The VUI generator can allow for iterative visual exploration of the data set via multilayered slicing and reorganizing of the data. Furthermore, in specific implementations, the VUI generator can afford these capabilities to nontechnical users in an intuitive manner to allow them the opportunity to identify trends, outliers, correlations, and patterns in the data set.
Furthermore, in specific implementations, the VUI generator can allow multiple parties to collaboratively explore and discuss the data either in an in-person meeting, such as by displaying the VUI on a large screen in a meeting room, or remotely, such as by displaying the VUI on a shared screen. These affordances can transform the traditional siloed roles of data report generation and analysis into a collaborative partnership to increase productivity and growth, and furthermore generally allow VUI users to glean insights from data, reveal data stories, architect attention, and engender the exchange of ideas.
[0032] Fig. 1 illustrates a flow chart 100 for a set of computer-implemented methods for providing an interactive VUI for a data set. The steps of the method can be executed by a VUI generator. Fig. 1 also includes a basic block diagram 110 of the relationship between a data set 111, a VUI generator 112, and an interactive VUI 113. The data set 111 and VUI generator 112 can be connected by an interface 114 such as an application programming interface (API). Alternatively, the generator can be configured to directly access the data set. For example, the generator can be implemented in a server sending queries to a data base and processing the responses. The server could include a Database Management System (DBMS) or any software for managing databases. A query language, such as Structured Query Language (SQL), can be used to query the database. The steps of flow
chart 100 can all be executed by VUI generator 112 operating on data set 111 to generate interactive VUI 113.
[0033] The data set 111 can be any set of structured or unstructured data stored using any form of data store technology including relational databases, individual computer files, smart servers, cloud storage, intelligent storage, dedicated storage systems or formats, integrated storage, Logical Volume Management (LVM) tools, integrated or remote data storage, Cloud Integrated Storage (CIS), dedicated storage area networks (SAN), Network- attached storage (NAS), unified or multiprotocol storage, etc. In specific embodiments of the invention, the data set 111 can be a single computer file or set of files including a spreadsheet file, diverse forms of look-up tables, pivotable tables or raw data tables, character separated format files, such as CSV or similar files where tabular data is stored as plain text, CMS generated files, etc. As illustrated, the data set can include a set of entries E1-E5 where the set of entries are defined by an associated set of values V for a set of attributes A1-A5. For example, if the data set were a database of users for a website, an entry could be "user 1" and an attribute could be "user-name" with a value "John Smith." The data set 111 can include any number of entries. The entries can include any number of attributes. The values V can be different values for each entry or attribute, or the same value for some or all the entries or attributes. For example, there can be users with the same name, same age, etc. The data set 111 can take various forms and the illustrated example is not a limitation of the present invention. For example, entries and attributes are not necessarily organized by rows and columns of a unique table as illustrated. Different entries can be associated to attributes in different data structures and even different physical locations.
[0034] The VUI generator 112 can be instantiated using computer-readable media and one or more processors. The computer-readable media can be non-transitory. The computer- readable media can be accessible to one or more processors and store instructions which, when executed by the one or more processors, implement a method for providing an interactive data visualization user interface for a data set such as in a method represented by flow chart 100. The generator 112 can store rules regarding how data from the data set 111 should be accessed, processed, and ultimately presented in interactive VUI 113. The generator 112 can also include rules for how the data is processed and presented in response to additional user inputs received via the interactive VUI 113. The generator can
be a smart generator or machine learning generator that dynamically harvests the data set 111 to generate dynamic content for the interactive VIU 113 in response to a particular input or pattern of interaction. In this way, the same data set can be used to generate a variety of content for VUI 113 responsive to different factors. The generator can also include rules to produce a new set of data from one or more of the original sets of data and/or inputs form the interactive VIU 113 to generate content for the interactive VIU 113.
[0035] The interactive VUI 113 can be instantiated using any form of interactive user interface technology. The output of the interactive VUI 113 could be any visual display medium such as a standard computer display, a projector screen, touch screen, hologram, AR or VR display, or any other visual display medium. The input of the interactive VUI 113 could be provided by any user input technology such as a mouse, touch screen, voice controller, gesture recognition device, or any other user input technology.
[0036] The elements of block diagram 110 can be implemented using various computing and/or networking architectures. For example, the connection 114 between the data set 111 and the VUI generator 112 can be an API. In a specific embodiment of the invention, the data set 111 can be an excel file which the VUI generator 112 is given access to via the API. As such, VUI generator 112 can pull data from data set 111 for analysis and processing through API calls to a system tasked with administrating data set 111. In a specific embodiment of the invention, all the elements of block diagram 110 will be part of or powered by a software-as-service SAS platform or cloud architecture. For example, the data set 111 could be an excel file uploaded to a web server via a web portal or an internet accessible database to which a SAS platform is provided access. The SAS platform could then both display the VUI and accept inputs from the user through a cloud native application or internet browser application. The generator 112 can also include a separate API or other interface (not shown) to allow for the generator 112 to be updated or to modify the rules used to generate an interactive VUI 113.
[0037] The VUI generator 112 can dynamically generate various visual maps of the data set using raw data from data set 111. The visual maps can be generated for various layers of the data set in which values for different attributes of the entries in data set 111 are presented. The layers can be defined by the user through interactions with the interactive VUI 113. Throughout this disclosure, the term "layer of the data set" will be used to refer to a perspective of the data set, where subsequent layers of the data set can provide different
and/or more specific data related to an aspect of the previous layer so that the data set can be analyzed from a different, but related perspective. For example, while a first layer of the data set could include overall information about the number of entries, its attributes and corresponding values, a second layer of the data set could include a filtered data set, where only certain attributes, entries or values are considered. As another example, subsequent layers of the data set could include new data obtained by further processing raw data from a previous layer. For example, a subsequent layer of the data set could include data about the number of entries sharing a same value, or about what that value represents. A subsequent layer of the data set could link one or more entries, attributes and/or values to a different data set to provide further information on that entry, attribute and/or value, etc. [0038] The visual maps generated for each layer can be navigated by the user through interactions with the interactive VUI 113. As will be describe below, specific embodiments of the invention vary in terms of the manner in which each visual map is dynamically generated, the manner in which users are able to define additional layers (i.e., to navigate the data set), and the manner in which users are able to modify the visual map for a given layer (i.e., navigate a layer of the data set).
[0039] In specific embodiments, the layers can be iteratively defined by a user of the interactive VUI 113 by selecting attributes presented on the interactive VUI 113 to slice them from a layer of the data set to present a new layer of the data set. The first layer of the data set can include all the attributes of the data set and each subsequent layer can include fewer attributes as they are sliced away. The process of iteratively creating new layers of the data set by slicing attributes can be referred to as navigating "down" into the data set through various layers. In specific embodiments, the iteratively defined layers of the data set can be saved to allow the user to navigate back "up" through the layers they have defined using interactive VUI 113. In specific embodiments of the invention, the user can then subsequently use the interactive VUI 113 to move back down into the data set through a different set of layers.
[0040] In specific embodiments of the invention, visual maps of a layer of a data set can have various visual characteristics and display various types of information regarding the data set. The visual characteristics can be defined by at least two sets of physical vectors that represent a set of vector attributes and a set of graphical value representations distributed along the physical vectors. The sets of physical vectors can be associated with
vector attributes in the set of vector attributes in a one-to-one correspondence. The sets of physical vectors can be distinguished by a shared visual characteristic associated with each set. For example, one set of physical vectors can have a ring shape and be associated with a "country" value for an entry in the data set while a second set of physical vectors can have a spoke shape overlain on the rings and be associated with a "year" value for an entry in the data set. The individual physical vectors in each set of physical vectors can be associated with a vector attribute value from a set of vector attribute values. For example, one ring in the prior example could be associated with the "Brazil" value for the country attribute while a second ring was associated with the "China" value for the country attribute. The set of graphical value representations can be point values for the attributes. For example, the point values can be the number of entries in the data set that have a given attribute or set of attributes, a value of any attributes for one or more entries, or any information derived from the aforesaid values. The point values can be distributed along the set of physical vectors according to the association of those values with the attributes represented by the physical vectors. For example, if a physical vector represented the attribute value "height 5- 6 meters" and a second physical vector represented the attribute value "length 1-2 meters," graphical representations regarding entries in a data set which shared those values for those attributes could be placed at the intersection of those two vectors. The graphical representation could show the number of entries in the data set with those values, information regarding a "width" attribute for those same entries, or any information derived therefrom for those same entries, at the intersection of those two vectors.
[0041] In specific embodiments of the invention, the physical vectors of the map can take on various forms and be placed in various arrangements. The visual characteristic of the map will depend on the display technology used for the interactive VUI in which the map is displayed. For example, the map could be two dimensional if displayed on a standard computer display or three dimensional if presented using an AR or holographic display technology. The map could also be a two-dimensional representation of a three- dimensional structure and be presented on a two-dimensional display along with tools to navigate the map and view different portions of the three-dimensional structure using a two-dimensional viewer. The set of physical vectors could be distributed in various ways.
For example, the visual map could be a standard two dimensional grid with two attributes being represented by a set of horizontal physical vectors and a set of overlapping vertical
vectors with graphical value representations of the set of point values being distributed within the cells of the grid. As another example, the visual map could be a three- dimensional grid with a third attribute being represented by an overlapping set of width wise vectors with graphical value representations of the set of point values being distributed within voxels in the grid. As another example, the physical vectors can include a set of vector curves having a common focus and a set of overlapping line vectors having a common origin with the set of graphical value representations distributed on the set of intersections of the set of vector curves and the set of line vectors. Although in specific embodiments of the invention, the physical vectors associated with particular attributes can all be orthogonal, overlapping vectors provide the ability to represent two attributes for a given point with one physical point in the map.
[0042] In specific embodiments of the invention, a visual map of a data set can be generated in various ways. Flow chart 100 includes a step 101 of generating a visual map. The visual map can be generated by VUI generator 112, using the data set 111. For example, the visual map can be dynamically generated while the data set is being accessed through the application programming interface or other interface between VUI generator 112 and data set 111. The generation of the map can include a step 102 of selecting vector attributes. Vector attributes can be selected from the attributes of the data set 111. Vector attributes can be selected in relation to the data set 111 and the content to be displayed in interactive VUI 113. The VUI generator 112 can be configured to select specific vector attributes for a given type of application. The vector attributes can alternatively or in combination be selected in response to a user interaction with interactive VUI 113. For example, a user of interactive VUI 113 may interact with VUI 113 to select the attributes that would fulfill the user needs in a customizable manner. The vector attributes to be selected can be set by a system manager or designer prior to the generation of the map. The VUI generator 112 can have rules to decide which attributes to select considering a user's profile, a location, prior user's interactions, etc. The VUI generator 112 can be configured to select fixed attributes depending on the type of data to be shown in interactive VUI 113 or the structure of data set 111. [0043] The generation of the map can also include a step 103 of deriving one or more point values from the data set 111. VUI generator 112 can access the data set 111 to derive the point values. For example, generator 112 can read through the data set 111 and compile
data related to an aspect of interest or common aspect, and then generate a value representative of the compiled data. In the example given above of a database of users for a website, the entry "user 1" could also include the attribute "user-age". The VUI generator could then derive a data point value that represents the number of users (entries) within a certain age group. In this way, the data point values do not need to, although they could, be obtained directly from, or be a reflection of, the data set 111, and the data set 111 can be used as raw data to derive data point values that can efficiently provide additional information to the user of the interactive VUI 113. The same data set 111 can then be used to derive and create diverse and rich content for interactive VUI 113 in numerous ways. [0044] The generation of the map can also include a step 104 of distributing one or more graphical value representations, such as icons, of the point values derived in step 103. The graphical value representations can be distributed along physical vectors representing the values of the vector attributes selected in step 102. For example, the physical vectors can be graphical representations of the values of the vector attributes where the graphical value representations can be distributed, such as a line vector or a vector curve. The graphical value representation can be any graphical representation used to illustrate the point values derived in step 103, such as icons of diverse forms and colors, images, color-coded points, etc., as will be described below in more detail.
[0045] Fig. 2 provides a specific example of the characteristics of a visual map 200 of a layer of a data set in accordance with specific embodiments of the invention disclosed herein. In Fig. 2, the physical vectors include a set of vector curves, such as vector curve 202, having a common focus. In specific embodiments of the invention the set of vector curves can be concentric rings. In specific embodiments of the invention, the set of vector curves can span any number of degrees including 180 degrees (half rings) or 360 degrees (full rings). In Fig. 2, the physical vectors also include a set of overlapping line vectors, such as line vector 204, having a common origin. In this example, the common origin of the line vectors is the center of the rings forming the vector curves. A picture or other icon, such as image 207 in the center of the map, can be added to the map for aesthetical or informative reasons. Fig.
2 also illustrates graphical value representations (such as 206) of point values, such as the point values derived in step 103 of flow chart 100. The graphical value representations can be distributed, as explained with reference to step 104 of flow chart 100, along the physical vectors. For example, the graphical value representations can be distributed on the
intersections of the vector curves and the line vectors, as illustrated in the example of Fig. 2. In this way, the graphical value representations can illustrate the data point derived from the data set 111 in association with the values of the vector attributes represented by the physical vectors. [0046] The map in the example of Fig. 2 represents a data set related to health care personnel that have lost their lives battling the 2019-20 SARS-CoV-2 pandemic. In this example, the vector attributes are "Country", as represented by the outermost ring 208, and "Age", as illustrated by line 210. The physical vectors, such as line vector 204 and vector curve 202 represent the values for such vector attributes. The data points in this example represent the number of entries for a given country and age group. For example, graphical value representation 206a (distributed on the intersection of line vector 204a, representing the value USA of the attribute "Country", and vector curve 202a, representing the value 30- 39 of the attribute "Age"), informs that there were, at the time the map was generated, 12 victims in the United States between 30 and 39 years old. [0047] VUI generator 112 can have rules to process the data and present the physical vectors that represent the values of the vector attributes in different ways. For example, the line vectors, such as 204 in the example of Fig. 2, each represent a country from the list of countries associated with vector attribute "Country", and the vector curves, such as 202, each represent an age group associated with the vector attribute "Age". Thus, the physical vectors do not necessarily correspond to the value of the vector attribute they represent and can represent such vector attributes in various ways. For example, the physical vectors can directly correspond to the values for the vector attributes (each physical vector represents a country where the vector attribute is "Country"). As another example, the physical vectors can indirectly represent the values for the vector attributes (each physical vector represents an age group where the vector attribute is "Age").
[0048] In specific embodiments of the invention, the graphical representations for point values can take on various forms. In the Example of Fig. 2, the graphical representations, such as 206, for point values are in the form of solid color balls that include numeric information. The graphical representations, such as 206, can be of any shape. For example, they can be in the form of 2D geometric figures such as circles, rectangles, hexagons, etc. or 3D geometric figure such as a cube, cone, etc. The graphical representations can be in the form of irregular figures or specific shapes, such as object shapes or human shapes. The
graphical representations can be images, emojis, text, numbers or marked points on the map. The graphical representations can be symbols or signs, such as arrows, hearts, stars, etc. The graphical representations can be of any color. They can be solid shapes or transparent shapes with solid borders. All the graphical representations on a map can be of the same format, such as same color, form, shape, etc. or of multiple formats. The format of the graphical value representations can represent dimensions of the data such as intensity, quantity, type, etc. In the example of Fig. 2, the graphical representations have different colors depending on the range where the numerical value they represent is located. For example, a higher number of victims can be represented in red, while a lower number can be green. Any other color-code can be used. As a different example not illustrated in Fig. 2, graphical value representations in a specific form, such as balls, could represent male victims, and a different shape could represent female victims. This and other combinations of configurations and formats are possible to provide additional information to the users via the format of the graphical value representations. VUI generator 112 can have rules to decide the format of the graphical representations, as will be described below in more detail.
[0049] The graphical representations can have information embedded in the form of text, numbers, shapes, figures, etc., such as the number illustrated on each graphical value representation of each data point in Fig. 2. In this way, the graphical representation can represent data points derived from the data set 111 in numerous ways, either by directly projecting information, such as the numeric values in Fig. 2 representing the number of victims in a given country and age group, or by adding context or dimensions to the data by giving it different forms, colors, etc. VUI generator 112 can be configured to format the graphical representations in a specific manner according to certain rules as will be described below in more detail. The graphical representations for point values can then represent the data itself, for example the number 12 in graphical value representation 206a, its association with the values of the vector attributes, by means of its distribution along the physical vectors 204a and 202a, and other dimensions of the point value by means of the color, shape, size, type, etc. of the graphical value representation. [0050] As mentioned previously, in specific embodiments of the invention, the visual map can be used to dive down into a data set. Examples of this process can be described with reference to Figs. 1 and 2. After the map generation, flow chart 100 includes a step 108 of
navigating the map and a step 105 of receiving a selection of at least one attribute value, for example, from the interactive VUI 113. The selection can be given by a user interaction with the interactive VUI. The selection can be via one of the graphical value representations. For example, the user can select a specific graphical value representation by clicking directly on the graphical value representations, such as graphical value representation 206 in Fig. 2, or on a label, button or other interface associated with the graphical value representation. The selection can also be via one of the physical vectors. For example, the user can select a specific physical vector by clicking directly on the physical vector, or on a label, button or other interface associated with the physical vector, such as the name of the countries, flags, or age group labels or icons in Fig. 2. The selection can also be via additional fields, controllers or buttons provided in the interactive VUI. Indications for interaction can be provided by VUI generator 112 so that the user can provide selections intuitively. For example, VUI generator can generate instant messages or prompts indicating "to explore a country, just tap on its flag" or "to explore an age-group, just tap on its age-group icon". [0051] Flow chart 100 also includes a step 106 of slicing the selected attribute value. By slicing the selected attribute value more information related to that attribute value can be accessed. A new layer of the data set can be harvested and processed by VUI generator 112 to create new content for interactive VUI 113. When one attribute value of the data set is selected, it can be sliced to form a subsequent data set. The slicing can include filtering the entries in data set 111 associated with the selected attribute values to zoom in and obtain more information on that subset of data. The slicing can include, for example, taking all entries from the data set associated with the at least one selected attribute value and discarding all the other entries from the data set. For example, if a user selects the "USA" physical vector, representing the "USA" value for the vector attribute "Country", the slicing can include a deeper look into the entries that include the "USA" as a value for "Country", and all other values (countries) can be removed from consideration. As another example, if a user selects a graphical value representation on the intersection of two physical vectors, the slicing can include a deeper look into the entries that include both attribute values (for example "USA" and "50-59") and discarding all other values (countries and age groups). The slicing can also include discarding the vector attributes in the visual map associated with the selected vector attribute value and replacing them with new vector attributes selected from the attributes of the data set. In the previous example of a selection in the intersection of
the values "USA" and "50-59", the next layer of data can represent entries that include both attribute values, and represents a different set of attributes, other than country and age, because a value for those attributes was already sliced.
[0052] Flow chart 100 continues with a step 107 of repeating the generation step. By repeating the generation step it can be possible to generate a visual map using the new layer of the data set in the same way it was generated for the first data set. Those steps can allow for the division of the data into smaller data sets that provide further and more specific information. In this way, data can be analyzed in a "slice and dice" approach, where a user can slice (for example by selecting one specific attribute value) and/or dice (for example by selecting one specific data point) the data currently illustrated through interactive VUI 113 to obtain new information.
[0053] The method illustrated in flow chart 100 could include iteratively repeating the receiving, slicing, and generating steps to generate a set of visual maps. In those cases, the selection step in each iteration can be received via the most recently generated visual map in the set of visual maps. In this way, different users can explore the same data set through different paths according to their specific needs, and the information generated by VUI generator 112 and projected by interactive VUI 113 can be responsive to user interactions and be as specific as the user intends it to be, without unnecessarily overcrowding the layout of interactive VUI 113 with information that may be relevant to certain users but not to others. These approaches can allow for an intuitive navigation through the different layers of the data sets and can provide a connection between layers even when it is not efficiently possible to illustrate all layers of the data in a single visual map. In the example of Fig.2, a user could slice the attribute values, for example by selecting one specific country or age group and understand a second layer of data related to that specific selection. However, it could be complex and even unpracticable to provide all data related to each country or age group in a single iteration for interactive VUI 113.
[0054] In specific embodiments of the invention, the visual maps are dynamically generated during each iteration of exploring the data set, including the first. The dynamic generation of the visual maps can be conducted based on rules selected by or algorithms programmed by the designer of the generator. The rules or algorithms can define which vector attributes are selected, which vector attribute values are selected for representation by physical vectors, how the physical vectors are arranged, how the physical vectors appear, what point
values are derived for the data set, how the graphical value representations of the set of point values appear, and how the set of graphical value representations are distributed along the physical vectors. The rules or algorithms can be based on the attributes, attribute values, data values, predefined thresholds, and various other factors. The rules or algorithms can utilize predefined thresholds, discovered patterns, correlation, clustering or assessment weights among data set etc. After the first map is presented, the rules can also take into account what attribute values were selected by the user on a previously presented map.
[0055] In specific embodiments of the invention, rules or algorithms in the generator can define which vector attributes are selected for a given visual map. The number of vector attributes that can be selected will be a constraint of the characteristics of the visual map. For example, in embodiments in accordance with Fig. 2 the number of vector attributes that can be selected is two because there are two dimensions of physical vectors in the visual map - the curve vectors or "rings" and the line vectors or "spokes." However, the illustrated ring could also be broken into segments (e.g., from 0 to 45 degrees along the rings and from 45 to 180 degrees along the rings) such that additional vector attributes can be selected for a given map with those segments being reserved for different attributes. Once the number of vector attributes for a given visual map has been selected the generator can select from among the attributes in the data set to determine which should be represented by physical vectors in the set. The order in which new vector attributes are selected can be manually predefined for a specific data set, selected according to a rule which is applied to the attributes for any given data set (e.g., age always before height), or based on the values in the data set (e.g., whichever attribute has the most even distribution of remaining entries across values for that attribute). [0056] In specific embodiments of the invention, rules or algorithms in the generator can define which vector attributes are selected for a given visual map differently for each subsequent map that is produced based on the prior selections of the user as they moved down into the data set. A specific example of the process of selecting a set of vector attributes for purposes of dynamically generating a virtual map can be described with reference to Figs. 2, 3 and 4A. Fig. 3 is a second virtual map 300 generated upon the selection of a country attribute in Fig. 2, specifically the "USA" value of the country attribute. As seen in Fig. 3, the country attribute has been sliced from the data set in
response to the selection of the specific value "USA", and the virtual map in Fig. 3 has been generated using a second layer data set in which all the entries are those for which the sliced attribute's value was USA. In specific embodiments of the invention, the set of vector attributes are selected by keeping all the vector attributes from the prior layer and substituting a new vector attribute in place of the selected attribute. In the illustrated case, the vector attribute "age" has been kept and the vector attribute "country" has been replaced by the vector attribute (profession). All the entries now presented on the visual map of Fig. 3 are associated to the "USA" value for the vector attribute "Country", selected in Fig. 2. In other words, the number of health care professionals represented by profession and age group in Fig. 3 are all from the USA.
[0057] Fig. 4A is a third virtual map 400 generated upon the selection of an age group attribute in Fig. 3, specifically the "40-49" value of the "Age" attribute. As seen in Fig. 4A, the age attribute has been sliced from the data set and the virtual map in Fig. 4A has been generated using a third layer data set in which all the entries are those for which the sliced attribute's value was 40-49. In specific embodiments of the invention, the set of vector attributes are selected by keeping some of the vector attributes from the prior layer and substituting a new vector attributes in place of the vector attribute corresponding to the selected attribute value. In specific embodiments of the invention, a vector attribute that remains on the map can be physically changed and take a different position and/or form in the next iteration of the map. For example, physical vectors representing values of a vector attribute in the form of line vectors can be illustrated as vector curves in a subsequent map while still representing the same vector attribute. In the illustrated transition from Fig. 3 to Fig. 4A, the vector attribute "Profession" has been kept on the map and the vector attribute "Age", corresponding to the selected attribute value "40-49", has been replaced by the actual name of the practitioners. The vector attribute "Profession" represented by line vectors in the previous iteration, illustrated in Fig. 3, is now represented by vector curves in the subsequent iteration represented in Fig. 4A.
[0058] The examples above represented by Fig. 2, 3 and 4A illustrate the dynamic generation of visual maps when a selection of one value of a given vector attribute is received. However, as explained before with reference to flow chart 100, it would also be possible to receive a selection via a graphical value representation distributed on the map. As also explained before, the graphical value representations can be distributed along the
physical vectors representing values for the vector attributes. If the physical vectors intersect, the graphical value representations can then be distributed on such intersections, as illustrated in the examples above. In those cases, by receiving a selection via the graphical value representation, two or more different physical vectors representing values for two or more different vector attributes can be selected at the same time. A new layer of the data set could be obtained by replacing all the vector attributes currently on the map, or at least the ones associated with the selected graphical value representation, with a new set of vector attributes. A portion (or layer) of the data set for which the values of the previous set of vector attributes were those selected via the graphical value representation can then be explored from a different perspective. In this way, when more than two vector attributes are represented on the map, for example by a 3D map or a map including a different set of physical vectors, such as an additional set of rings with a different common focus, the number of vector attributes with physical vectors intersecting on the map could determine the number of values and associated vector attributes to be sliced in order to form a new layer of data set.
[0059] The illustrated cases are non-limiting examples of the multiple possibilities to slice the data and represent the subsequent layers of the data set. Those examples are merely illustrative of the fact that VUI generator 112 can be configured to generate visual maps in numerous ways as appropriated for the type of data being represented. [0060] As mentioned previously, in specific embodiments, the iteratively defined layers of the data set can be saved to allow the user to navigate back up through the layers they have defined when moving down into the data set. Examples of this process can be described with reference to Fig. 2, 3, 4A and 4B. A navigation interface 250 can be displayed along with the visual maps. In Fig. 2, navigation interface 250 indicates that the "Layer 1" of the data set is being analyzed. Subsequent layers are shown disabled until the user establishes a navigation path through the rest of the data layers. In Fig. 3 navigation interface 250 indicates that the "Layer 2" of the data set is being analyzed, because one of the attribute values was selected in the previous layer, as explained before. Layer 1 is shown enabled because the user already explored that layer of the data. The user can, at any time during further data exploration, go back to that layer and establish a new navigation path.
Subsequent layers are shown disabled until the user establishes a navigation path through the rest of the data layers. In Fig. 4A, navigation interface 250 indicates that the "Layer 3" of
the data set is being analyzed, because one of the attribute values was selected in the previous layer, as explained before. Layers 1 and 2 are shown enabled because the user already explored those layers of the data. The user can, at any time during further data exploration, go back to those layers and establish a new navigation path. Subsequent layers are shown disabled until the user establishes a navigation path through the rest of the data layers. Fig. 4B illustrates an example of what the previous layer could look like when accessed back through the navigation interface 250. As illustrated, the selected physical vector 403 representing an attribute value sliced in the previous layer, can be highlighted or otherwise surfaced so that the user can keep track of the navigation path through the map and layers of the data.
[0061] The user can move through the map via the navigation interface 250 itself once at least part of a navigation path is established. For example, the navigation interface could include elements, such as buttons or links, associated with the visual maps in a one-to-one correspondence. The one-to-one correspondence can be generated dynamically during the iterations of the steps of the method of flow chart 100. The interactive VUI 113 and VUI generator 112 can display the visual maps associated with each element of the navigation interface in response to a selection of one of those elements. For example, the navigation interface 250 can include buttons, such as buttons 252, 253, and 254, illustrated in Fig. 4B. Button 252 can be unambiguously associated with the map 200 illustrated in Fig. 2. Button 253 can be unambiguously associated with the map 300 illustrated in Fig. 3. Button 254 can be unambiguously associated with the map 400 illustrated in Fig. 4A. In this way, a user can select one of the buttons and the corresponding visual map can be displayed. If the user decides to move back through the layers and change the navigation path, for example, by selecting a different age group in Fig. 3, the generation of a new visual map can be triggered, as explained with reference to flow chart 100, and the new visual map can be dynamically associated with the corresponding element of the navigation interface.
[0062] In specific embodiments of the invention, rules or algorithms in VUI generator 112 can determine how the physical vectors are distributed and how they appear. VIU generator 112 can have rules to determine the appearance of the physical vectors. The rules can be set by a generator designer, system manager or user of the interactive VUI 113. For example, the position of the physical vectors on the map can be determined based on numerous factors.
[0063] The angle position of for each metric can be determined or calculated by one of the following algorithms: evenly distributed over an allocated angular range, by weighted angular distribution by the measurement values, or predefined weights reflecting priorities, severities, relevance or urgency, etc. The angular distribution of spokes in the examples presented herewith is predominantly even. However, that is not a limitation of the present invention. The physical vectors can be distributed so that the angular space between them varies. For example, line vectors representing less important values can be shown with a smaller angular separation, while line vectors representing more important values can be shown with a larger angular separation, so that the illustrated information is clearer. In specific embodiments of the invention, as will be described below, the amount of values for a given vector attribute will be larger than what the visual map can efficiently display, causing, for example, overlapping between values that can interfere in the visualization. Fig. 5 is an example of this situation. In those cases, the VUI generator can be configured to dynamically increase the angular space between the spokes as the user moves through them, for example when the user moves a cursor over a certain portion of the map. Thus, by controlling the angular space between the physical vectors, interactive VUI 113 can present information in numerous ways. Similar approaches can be considered for the distance between the rings.
[0064] The rings or vector curves position can be defined by the radius from a center position and calculated via one of the following algorithms: evenly distributed over a given size of the visual map, weighted distance distribution over an allocated distance range by measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc. The distribution of the vector curves can be controlled and vary in a similar manner as explained with reference to the angular space above depending on the desired way to illustrate the information in interactive VUI 113.
[0065] The line width of each ring or vector curve can be determined or calculated via one of the following algorithms: uniform size, size proportional to the measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc. In specific embodiments of the invention, as illustrated with reference to Fig. 4B, the width of the vector curves can vary through the navigation path. For example, a vector curve representing a vector attribute value selected by the user can become wider in response to the selection, so that it is evident to the user that the vector curve was selected and/or
explored. The width can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which vector curve is being pointed to.
[0066] The color of the rings or vector curves can be decided by one of following algorithms: same color, mapped to the gradient color table by measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc. In specific embodiments of the invention, as illustrated with reference to Fig. 4B, the color of the vector curves can vary through the navigation path. For example, a vector curve representing a vector attribute value selected by the user can become brighter in response to the selection, so that it is evident to the user that the vector curve was selected and/or explored. The color can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which vector curve is being pointed to.
[0067] The width of each spoke or line vector can be determined or calculated via one of following algorithms: uniform size, size proportional to the measurement values, predefined weights reflecting priorities, severities, relevance or urgency etc. In specific embodiments of the invention, the width of the line vectors can vary through the navigation path. For example, a line vector representing a vector attribute value selected by the user can become wider in response to the selection, so that it is evident to the user that the line vector was selected and/or explored. The width can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which line vector is being pointed to.
[0068] The color of the spokes or line vectors can be decided by one of following algorithms: same color, mapped to gradient color, table by measurement values, predefined weights reflecting priorities, severities, relevance or urgency etc. In specific embodiments of the invention, the color of the line vector can vary through the navigation path. For example, a line vector representing a vector attribute value selected by the user can become brighter in response to the selection, so that it is evident to the user that the line vector was selected and/or explored. The color can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which line vector is being pointed to. [0069] The total ring or vector curve length (or each space between two adjacent data points on the ring) is larger for rings that have larger radius distance. In this way, more details can be presented for the data points. The selection of the rings for placing the
graphical value representations of the point values can be decided by one of the following factors: importance of data points, priority of data points, and order of data points being collected or any data sorting mechanism. In this way, VUI generator 112 can have rules to decide how to distribute the physical vectors considering multiple parameters. These and other algorithms or rules can be implemented so that the physical vectors are highly configurable.
[0070] In specific embodiments of the invention, rules or algorithms in the generator can determine what point values are derived for the data set and how the graphical value representations of the set of point values appear, as explained before. [0071] The size of each graphical value representation on the visual map can be decided by one of following algorithms: uniform size, weighted size by measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc. In specific embodiments of the invention, as illustrated with reference to Fig. 4B, the size of the graphical value representations can vary through the navigation path. For example, the graphical representations on a vector curve representing a vector attribute value selected by the user can become bigger in response to the selection, so that it is evident to the user that the graphical representation or vector curve was selected and/or explored. The size can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which graphical value representation is being pointed to. [0072] The color of each graphical value representation on the visual map can be decided by one of following algorithms: use the same color, map to a gradient color table by measurement values, predefined weights reflecting priorities, severities, relevance or urgency, etc. The color can be associated to predetermined values. For example, a threshold can be associated to each color so that when a number of entries with a given characteristic represented by the graphical value representation is smaller/larger than the threshold the graphical value representation takes a certain color. In the example illustrated in Fig. 5, the graphical value representations are in the form of colored balls. As can be seen from the information tab 502, the color of the balls represents a range of entries, for example, green if less than two entries, red if more than 40 but less than 100 entries, darker red if more than 100 entries, etc. In this way, it is possible to provide information to the user via the color of the graphical value representations even when the actual value is not illustrated. In the example of Fig. 5 it is not possible to discern the number of entries for each country
because some of the values overlap. However, by understanding the color code it is possible to make a preliminary analysis on the data, by determining, for example, the countries with less/more entries. In specific embodiments of the invention, as illustrated with reference to Fig. 4B, the color of the graphical value representations can vary through the navigation path. For example, the graphical representations on a vector curve representing a vector attribute value selected by the user can become brighter in response to the selection, so that it is evident to the user that the graphical representation or vector curve was selected and/or explored. The color can also vary while the user moves through the map, for example by moving a cursor over the map, to indicate which graphical value representation is being pointed to.
[0073] In specific embodiments of the invention, rules or algorithms in the generator can determine what sorting order should be applied to assign different attribute values to different physical vectors, and to provide different sorting orders for data point placement relative to the physical vectors. [0074] The sorting order of data point placement positions over the rings or lines can be also calculated by correlation, similarities or clustering discovered among data points. In specific embodiments of the invention, the physical vectors and graphical value representations can be distributed on the map based on the density of the information to be represented. For example, physical vectors that represent values of a vector attribute for which there are numerous entries can be placed as the outermost rings on the map, so that the data points can be distributed along such vector without overlapping. In the same way, physical vectors representing values of a vector attribute for which there are fewer entries can be placed as rings in the center of the map. In this way, VUI generator 112 can have rules to decide how to distribute the physical vectors considering multiple parameters. These and other algorithms or rules can be implemented so that the distribution of the graphical value representations and physical vectors is highly configurable.
[0075] In specific embodiments, a visual map will not have enough room to provide a physical vector for all of the vector attribute values in the data set. Fig. 5 illustrates an example of a map 500 including a large number of attribute values (countries). The map 500 in Fig. 5 is illustrated in context with some exemplary interfaces of VUI 113. For example, the interfaces can include informative text, such as text 506, interfaces for playing music, displaying a video, etc., such as interface 510, interfaces for help or tips on navigating the
map, such as interface 508, etc. As illustrated, it can be difficult to discern the represented data by analyzing the map. In those cases, VUI generator 112 can determine to represent portions or subsets of the attribute values and give the user the option to move through the not-illustrated attribute values. This determination can be made dynamically such as by making a determination of a level of overlap of the graphical icons or by a simple comparison of a predetermined acceptable number of physical vectors to display for a visual map and the number of vector attribute values in a given data set. The determination can be made by the generator designer or final user of the interface. For example, in the illustrated case of Fig. 5, the interactive VUI can include an interface, such as interface 504, that allows the user to decide how to see the information, for example, how many countries to display at a time. The visual map can in these situations include indicators to this fact and allow a user to cycle through the vector attribute values which are currently displayed as will be described below.
[0076] In specific embodiments of the invention, the visual maps will include user interfaces to alter the rules for how visual maps are dynamically generated and/or to navigate a visual map. The step of navigating a visual map 108 is provided in Fig. 1 and is part of the iterative process of exploring the overall data set. The interfaces can indicate to a user that not all the vector attributes for a given visual map are currently being displayed. The interfaces can also provide a user with the ability to cycle through the vector attributes that are currently being displayed. For example, if a given visual map does not have sufficient space for all the vector attribute values for a given layer of the data set, a user can be apprised of this fact by an indicator and provisioned with a button, dial, or dropdown menu, to alter the vector attribute values that are presently represented on the visual map. Fig. 6A and 68 illustrate two different maps 600A and 6008 for the same layer of the data set. The map 600A in Fig. 6A illustrates the first 18 attribute values (countries) of the complete list illustrated in Fig. 5. An interface, such as interface 504 of Fig. 5, can be provided to give the user the option to select how to visualize the same information. Fig. 6A also illustrates an indicator 602 that can inform the user that more information is available and how to access it. In the illustrated example, the indicator is in the form of a button "NEXT" which is both indicating that more information is available and suggesting that the information can be accessed by selecting such button. Other interfaces can be presented and explicative notes, such as instant messages or prompts, can be provided to instruct the user to move through
the data. For example, in the illustrated example, the sign "Tip" can be blinking on the screen so that the user is guided to access it to learn how to navigate the map. The map could also include a status bar, such as status bar 650, that can indicate a percentage of the data being displayed. Fig. 6B illustrates the same map as in Fig 6A once the indicator/button "NEXT" is actioned for the first time. A second list of 18 subsequent attribute values
(countries) of the complete list illustrated in Fig. 5 is displayed. A new indicator 604 "PREV" is also provided so that the user can go back to the previous list. As illustrated, status bar 650 now indicates that half the countries have been illustrated at this point on the map. [0077] The status bar can take on various forms. In the illustrated examples, the status bar follows the shape of the vector curves and passes along the attribute values it indicates (countries). The illustrated case is a non-limiting example of how the status bar can be represented, and other implementations are possible. Fig. 6B also illustrates additional interfaces 606 and 608 that can serve to move through the different age groups, and a corresponding status bar 660. Multiple implementations of those features are possible within the scope of the present invention. Status bars can be located at any point within the interactive VUI and be used for different purposes.
[0078] As indicated by navigation interface 250, in the three cases from Fig. 5, Fig. 6A and Fig. 6B the same layer of the data set is being explored. This is because Fig. 6A and 6B illustrate the same map as the one illustrated in Fig. 5 for the first layer of data, but the attribute values are spatially separated and illustrated by subsets, for improved visualization effects.
[0079] In specific embodiments of the invention, VUI generator 112 can be configured to generate the visual map in context with additional information, or to process the data to be illustrated and summarize it in various ways, so that interactive VUI provides both the detailed visual map as explained before and an additional, more general perspective of the data. Fig. 7 illustrates an example of this feature. Fig. 7 illustrates a visual map 700 that can be generated using the steps explained with reference to flow chart 100, and additionally includes an outer gauge data summary element 750. The example illustrated in Fig. 7 refers to the sales of 9 products during the year. The graphical value representations can represent an exact value per product per month, for example. The external gauge in turn can summarize the sales through the whole year. By looking only to the external gauge, it is possible to understand the overall behavior of the sales for the given products and establish
a comparison between them. The gauge can also include additional elements such as indicators 702 and 704 that can refer to a target threshold for the sales and an actual value of current sales. The gauge can then be an appealing visual aspect of the overall design. It can also be a useful summary of the displayed data that integrates well with the original portions of the design. The example of Fig. 7 also illustrates partially filled vector curves representing the magnitude of the data. This feature could also be used for the line vectors to represent more dimensions of the same data set. Different color, width and format within a same curve or line vector can then be used to represent the data in various ways. [0080] Due to the highly configurable characteristics of the interactive VUI that can be provided by the methods disclosed herewith, it can be applied to a large number of applications. Fig. 8 to Fig. 16 illustrate non-limiting examples of different uses of an interactive VUI in accordance with specific embodiments of the present invention.
[0081] Fig. 8 includes an example of a visual map 800 in accordance with specific embodiments of the invention, fora lifestyle tracking application. The example shows an 18- set of time series measurement data. There are a total number of 18 metrics (fish,
Alzheimer's, memory, etc.) being measured at four different times to form an array of time series data sets. Data collected at the same time is placed onto locations on the same vector curve. The locations on the vector curves for each data point can be decided by the angle following a specific calculation algorithm. [0082] Fig. 9 includes an example of a visual map 900 in accordance with specific embodiments of the invention, fora skin care plan application. The visual map includes two vector curves for two set of data points with various representing image icons. There are 20 line vectors representing 20 different facial zones and two vector curves representing aging severity assessments and treatment plans for each facial zone. Assessment and treatment plan data are represented by different shape and color graphical value representations, depending on the aging severity level. The color legend group is shown on the bottom part of the drawing.
[0083] Fig. 10 includes an example of a visual map 1000 in accordance with specific embodiments of the invention, for health-related metrics analysis. The visual map includes two sections representing two different data clusters with shared metrics. There are eight rings representing metrics of Pregnancy, Latitude, Season, Body Fat, Medications, Skin Pigment, Diet Pattern and Age. There are two clusters shown on the visual map: Low
Vitamin D Static Risk Factors for two groups of people taking measurements. The two groups are visually divided by a separator that can be moved toward either side to increase or decrease the angle space allocated for presenting cluster of data measurements.
[0084] Fig. 11 includes an example of a visual map 1100 in accordance with specific embodiments of the invention, for health-related metrics and risk assessment. The visual map includes a time-series data set of metrics measurements of one person. Each metric is represented by one line vector while each measurement at a specific time is represented by a vector curve. The vector representing a metric that doesn't has measurement data is shown in gray color. The half circle block at the center is reflecting the value of the focused data point with mapped color code.
[0085] Fig. 12 includes an example of a visual map 1200 in accordance with specific embodiments of the invention, for the health-related metrics and risk assessment of Fig. 11, including data from various users at different times. The visual map shows measurements of the same metrics for multiple people at different times. Each person's measurement (multiple data points) over time (multiple times/dates) is represented by the dots on a straight line (line vector) originated from the center of the rings (vector curves), whereas the different times/dates are represented by the rings (vector curves) on the visual map. [0086] Fig. 13 includes an example of a visual map 1300 in accordance with specific embodiments of the invention, for the health-related metrics and risk assessment of Fig. 11, but including data from various users and different metrics. The visual map is showing multiple metrics measurements for multiple people with each ring (vector curve) representing one person and each line vector representing one metric. The rings center is used for displaying the focusing data while the focused data point details are also displayed on the enlarged icon picture outside the map. [0087] Fig. 14A and Fig. 14B include two examples of a visual map 1400A and 1400B in accordance with specific embodiments of the invention, for a sales plan tracking application. These maps include an external gauge similar to the one described with reference to Fig. 7. In this example, an external ring provides indication of goal and actual sales for the year.
The example also includes a status bar and indications to move through different years on the map.
[0088] Fig. 15 include an example of a visual map 1500 in accordance with specific embodiments of the invention, with an external gauge and indicator. The visual map is
similar to the maps described before with reference to Fig. 7 and Fig. 14A and 14B. In the illustrated example, the external information is represented in a dial-type graph with an indicator that can indicate target value, an actual value etc. The external gauge and indicator can be associated to the data set that was used to generate the visual map and represent a summary or different perspective of the data.
[0089] Fig. 16 includes an example of a visual map 1600 in accordance with specific embodiments of the invention, for a skin care plan application similar to the one described with reference to Fig. 9. In this case, it is illustrated that the graphical value representation can take numerous forms in the same map to illustrate different features. [0090] The examples provided above illustrate the highly configurable VUI that can be obtained in accordance with the different embodiments of the present invention. A VUI generator, such as VUI generator 112, can have rules and be designed to provide interactive VUIs for a large number of applications and to utilize a data set in numerous ways to generate different outcomes from that data set. Complex or large data sets can then be prepared and projected so that an average user can understand the data and go as deep as the data set allows while keeping the interface intuitive, simple and visually appealing. [0091] While the specification has been described in detail with respect to specific embodiments of the invention, it will be appreciated that those skilled in the art, upon attaining an understanding of the foregoing, may readily conceive of alterations to, variations of, and equivalents to these embodiments. For example, each visual map and view thereof can be dynamically printed as a pdf file, sent as an email, or shared on social media. Other tools for collaborative communication on an interactive display such as the ability to annotate the visual maps, provide comments, and alter the host of the interactive VUI can also be provided to enhance the collaborative experience. These and other modifications and variations to the present invention may be practiced by those skilled in the art, without departing from the scope of the present invention, which is more particularly set forth in the appended claims.
Claims
1. A computer-implemented method for providing an interactive data visualization user interface fora data set, wherein the method comprises: generating a first visual map using the data set by:
(i) selecting, from a set of attributes of the data set, a set of vector attributes;
(ii) deriving a set of point values from the data set; and
(iii) distributing a set of graphical value representations of the set of point values along a set of physical vectors, wherein the set of physical vectors represent values of the set of vector attributes; receiving a selection of at least one selected attribute value via one of: (i) a graphical representation from the set of graphical value representations; and (ii) a vector in the set of physical vectors; slicing the at least one selected attribute value from the data set to form a second layer data set; and repeating the generating step to generate a second visual map using the second layer data set.
2. The computer-implemented method of claim 1, wherein: the set of physical vectors include: (i) a set of vector curves having a common focus; and (ii) a set of line vectors having a common origin; and the set of graphical value representations are distributed on a set of intersections of the set of vector curves and the set of line vectors.
3. The computer-implemented method of claim 2, further comprising: iteratively repeating the receiving, slicing, and generating steps to generate a set of visual maps; and wherein the selection step in each iteration is received via the most recently generated visual map in the set of visual maps.
4. The computer-implemented method of claim 1, wherein slicing the at least one selected attribute value from the data set to form the second layer data set comprises: taking all entries from the data set associated with the at least one selected attribute value; and discarding all other entries from the data set.
5. The computer-implemented method of claim 3, further comprising: displaying a navigation interface having a set of elements wherein the set of elements are associated with the set of visual maps in a one-to-one correspondence, wherein the one-to-one correspondence is generated dynamically during each iteration of the iterative repeating; and displaying, in response to a selection received via one of the elements in the set of elements, a visual map in the set of visual maps which is associated with the element in the one-to-one correspondence.
6. The computer-implemented method of claim 1, further comprising: accessing the data set through an application programming interface; and wherein the first visual map is dynamically generated while the data set is being accessed through the application programming interface.
7. The computer-implemented method of claim 3, wherein: the set of vector attributes in each iteration are selected based on the values of the set of vector attributes.
8. The computer-implemented method of claim 3, wherein: for each subsequent iteration, the set of vector attributes is selected by: substituting a new vector attribute in place of a vector attribute in the set of vector attributes corresponding to the at least one selected attribute value; and keeping all other vector attributes in the set of vector attributes from the prior iteration.
9. The computer-implemented method of claim 1, wherein: at least one of the visual maps illustrates a subset of physical vectors from the set of physical vectors; and the interactive data visualization user interface provides an indication that additional subsets of physical vectors are available for the at least one visual map.
10. A non-transitory computer-readable media accessible to one or more processors and storing instructions which, when executed by the one or more processors, implement a method for providing an interactive data visualization user interface for a data set, wherein the method comprises: generating a first visual map using the data set by:
(i) selecting, from a set of attributes of the data set, a set of vector attributes;
(ii) deriving a set of point values from the data set; and
(iii) distributing a set of graphical value representations of the set of point values along a set of physical vectors, wherein the set of physical vectors represent the values of the set of vector attributes; receiving a selection of at least one selected attribute value via one of: (i) a graphical representation from the set of graphical value representations; and (ii) a vector in the set of physical vectors; slicing the at least one selected attribute value from the data set to form a second layer data set; and repeating the generating step to generate a second visual map using the second layer data set.
11. The non-transitory computer-readable media of claim 10, wherein: the set of physical vectors include: (i) a set of vector curves having a common focus; and (ii) a set of line vectors having a common origin; and the set of graphical value representations are distributed on a set of intersections of the set of vector curves and the set of line vectors.
12. The non-transitory computer-readable media of claim 11, wherein the method further comprises: iteratively repeating the receiving, slicing, and generating steps to generate a set of visual maps; and wherein the selection step in each iteration is received via a most recently generated visual map in the set of visual maps.
13. The non-transitory computer-readable media of claim 10, wherein slicing the at least one selected attribute value from the data set to form the second layer data set comprises: taking all entries from the data set associated with the at least one selected attribute value; and discarding all other entries from the data set.
14. The non-transitory computer-readable media of claim 12, wherein the method further comprises: displaying a navigation interface having a set of elements wherein the set of elements are associated with the set of visual maps in a one-to-one correspondence, wherein the one-to-one correspondence is generated dynamically during each iteration of the iterative repeating; and displaying, in response to a selection received via one of the elements in the set of elements, a visual map in the set of visual maps which is associated with the element in the one-to-one correspondence.
15. The non-transitory computer-readable media of claim 10, wherein the method further comprises: accessing the data set through an application programming interface; and wherein the first visual map is dynamically generated while the data set is being accessed through the application programming interface.
16. The non-transitory computer-readable media of claim 12, wherein:
the set of vector attributes in each iteration are selected based on the values of the set of vector attributes.
17. The non-transitory computer-readable media of claim 12, wherein: for each subsequent iteration, the set of vector attributes is selected by: substituting a new vector attribute in place of a vector attribute in the set of vector attributes corresponding to the at least one selected attribute value; and keeping all other vector attributes in the set of vector attributes from the prior iteration.
18. The non-transitory computer-readable media of claim 10, wherein: at least one of the visual maps illustrates a subset of physical vectors from the set of physical vectors; and the interactive data visualization user interface provides an indication that additional subsets of physical vectors are available for the at least one visual map.
19. A computer-implemented method for providing an interactive data visualization user interface fora data set, wherein the method comprises: generating a first visual map using the data set by:
(i) selecting a set of attributes from the data set;
(ii) deriving a set of point values from the data set; and
(iii) distributing a set of graphical value representations of the set of point values along a set of physical vectors, wherein the set of physical vectors represent values of the set of attributes; slicing at least one value of the set of attributes from the data set in response to a selection of the at least one value of the set of attributes; and repeating the generating step to generate a second visual map; wherein the second visual map is generated using only a portion of the data set that is associated to the at least one value of the set of attributes.
20. The computer-implemented method of claim 19, wherein:
the set of physical vectors include: (i) a set of vector curves having a common focus; and (ii) a set of line vectors having a common origin; and the set of graphical value representations are distributed on a set of intersections of the set of vector curves and the set of line vectors.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962895351P | 2019-09-03 | 2019-09-03 | |
US62/895,351 | 2019-09-03 | ||
US17/010,616 | 2020-09-02 | ||
US17/010,616 US20210064202A1 (en) | 2019-09-03 | 2020-09-02 | Interactive Data Visualization User Interface Generator for Iterative Data Set Exploration |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021046132A1 true WO2021046132A1 (en) | 2021-03-11 |
Family
ID=74853310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2020/049071 WO2021046132A1 (en) | 2019-09-03 | 2020-09-02 | Interactive graphical visualization generator engine for iterative data set exploration |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2021046132A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030191608A1 (en) * | 2001-04-30 | 2003-10-09 | Anderson Mark Stephen | Data processing and observation system |
US20040183800A1 (en) * | 2002-12-17 | 2004-09-23 | Terastat, Inc. | Method and system for dynamic visualization of multi-dimensional data |
US20090083320A1 (en) * | 2007-09-20 | 2009-03-26 | Matchmine Llc | Display method and system for collecting media preference information |
US20140172864A1 (en) * | 2011-07-08 | 2014-06-19 | Annie Shum | System and method for managing health analytics |
-
2020
- 2020-09-02 WO PCT/US2020/049071 patent/WO2021046132A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030191608A1 (en) * | 2001-04-30 | 2003-10-09 | Anderson Mark Stephen | Data processing and observation system |
US20040183800A1 (en) * | 2002-12-17 | 2004-09-23 | Terastat, Inc. | Method and system for dynamic visualization of multi-dimensional data |
US20090083320A1 (en) * | 2007-09-20 | 2009-03-26 | Matchmine Llc | Display method and system for collecting media preference information |
US20140172864A1 (en) * | 2011-07-08 | 2014-06-19 | Annie Shum | System and method for managing health analytics |
Non-Patent Citations (1)
Title |
---|
SAWANT, A.P.: "Dynamic Visualization of the Relationship Between Multiple Representations of an Abstract Information Space", NORTH CAROLINA STATE UNIVERSITY, DEPARTMENT OF COMPUTER SCIENCE, MASTER THESIS, 14 April 2003 (2003-04-14), XP055800145, Retrieved from the Internet <URL:https://repository.lib.ncsu.edu/bitstream/handle/1840.16/2323/etd.pdf?sequence=1&isAllowed=y> [retrieved on 20201022] * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11301812B2 (en) | Digital processing systems and methods for data visualization extrapolation engine for widget 360 in collaborative work systems | |
US20200334238A1 (en) | Data Analysis Platform for Visualizing Data According to Relationships | |
US10592701B2 (en) | Visually depicting relationships between parts of a concept design | |
US20170323028A1 (en) | System and method for large scale information processing using data visualization for multi-scale communities | |
Kinkeldey et al. | How to assess visual communication of uncertainty? A systematic review of geospatial uncertainty visualisation user studies | |
US9779150B1 (en) | Systems and methods for filtering data used in data visualizations that use relationships | |
US10460256B2 (en) | Interactive performance visualization of multi-class classifier | |
US9563338B2 (en) | Data visualization interface | |
US9348967B2 (en) | Overlaying business intelligence data on a product design visualization | |
WO2009154480A1 (en) | A method of graphically representing a tree structure | |
US20150007115A1 (en) | Visual exploration of mutlidimensional data | |
Tuttle et al. | PedVis: a structured, space-efficient technique for pedigree visualization | |
US20170221237A1 (en) | Data visualization system for exploring relational information | |
CN109039705A (en) | A kind of network interconnection communicating data figure methods of exhibiting, equipment and storage medium | |
US20120229467A1 (en) | Set visualizations | |
Major et al. | Graphicle: Exploring units, networks, and context in a blended visualization approach | |
US20210065416A1 (en) | Interactive Data Visualization User Interface Generator for Iterative Data Set Exploration | |
CN113538059A (en) | User time sequence behavior visualization method facing online shopping advertisement | |
Everton | A guide for the visually perplexed: visually representing social networks | |
US20210064202A1 (en) | Interactive Data Visualization User Interface Generator for Iterative Data Set Exploration | |
CN111630508B (en) | Method, apparatus, and computer-readable medium for modeling relationships between query responses in a dataset | |
WO2021046132A1 (en) | Interactive graphical visualization generator engine for iterative data set exploration | |
US11424039B1 (en) | Generating easy-to-understand graphs of large data sets | |
WO2015153039A1 (en) | Systems and methods for ranking data visualizations | |
US10460477B2 (en) | System and method for interactively visualizing rules and exceptions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20859823 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 17/06/2022) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20859823 Country of ref document: EP Kind code of ref document: A1 |