User interface for a data analysis system

JP7933325B2Active Publication Date: 2026-10-13DATACHAT AI
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023562995
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-07-23
Filing Date
2022-04-13
Publication Date
2026-10-13
Estimated Expiration
2042-04-13

AI Technical Summary

Benefits of technology

【0019】 本技術の一つ以上の態様の詳細は、添付図面及び以下の説明に記載されている。これらの技術の他の特徴、他の目的及び他の利点は、明細書及び図面並びに特許請求の範囲から明らかになる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007933325000001
    Figure 0007933325000001
  • Figure 0007933325000002
    Figure 0007933325000002
  • Figure 0007933325000003
    Figure 0007933325000003
Patent Text Reader

Abstract

An apparatus configured to perform data analysis, comprising a memory and a processor, may be configured to perform the techniques described in this disclosure. The memory may store multidimensional data. The processor may present, via a user interface, a graphical representation of a format for visually representing the multidimensional data. The processor may receive, via the user interface, a selection of one of the one or more aspects of the graphical representation of the format. The processor may receive, via the user interface, an indication of a dimension of the multidimensional data for one of the one or more aspects of the graphical representation of the format for visually representing the multidimensional data, and associate the dimension with the one aspect to generate a visual representation of the multidimensional data. The processor may then present, via the user interface, the visual representation of the multidimensional data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application claims priority to U.S. Provisional Application No. 63 / 201,140, entitled "User Interface for Data Analysis System" filed on April 14, 2021, and U.S. Patent Application No. 17 / 443,304, entitled "User Interface for Data Analysis System" filed on July 23, 2021, the contents of each of these applications are hereby incorporated by reference in their entirety into this specification.

[0002] The present disclosure relates to computing and data analysis systems, and more specifically, to user interfaces for data analysis systems.

Background Art

[0003] Data analysis systems have come to use natural language processing to facilitate interaction by users who are not familiar with formal, in other words, structured database languages. Natural language processing generally refers to the field in which a computing device processes input provided by a user via conversational exchanges using human language. For example, a device may prompt the user for various inputs, ask clarifying questions, ask related questions, or engage in interactive exchanges with the user to elicit inputs. The user may likewise input inputs as sentences or fragments, thereby establishing a simulated interaction with the device to identify one or more intents (which may also be referred to as "tasks") to be executed by the device.

Summary of the Invention

Problems to be Solved by the Invention

[0004] Natural language processing (NLP) can sometimes enable users unfamiliar with formal (in other words, structured) database languages ​​(such as structured query languages—SQL or other structured database languages) to perform data analysis without deep knowledge of such formal database languages. While NLP may facilitate such data analysis by users unfamiliar with formal database languages, the user interfaces associated with NLP can, in some cases, be cluttered and difficult to understand due to the conversational nature of NLP. Furthermore, the conversations arising from NLP can distract certain users from the underlying data analysis results, thereby undermining the benefits of NLP in relation to data analysis.

[0005] Furthermore, while natural language processing (NLP) can enable users unfamiliar with structured database languages, it still often requires complex vocabulary (which could also be called "utterances") to generate various data analysis results. Such complex vocabulary is difficult to learn and, if entered incorrectly, may fail to produce the desired results, undermining the advantages of NLP in relation to data analysis. [Means for solving the problem]

[0006] Generally, this disclosure describes user interface technologies that further facilitate user interaction with data analysis systems employing natural language processing. Various aspects of the technologies described in this disclosure may enable seamless integration of natural language processing and data analysis by providing a cohesive user interface that allows users to intuitively understand the results generated by the data analysis system, rather than presenting a cluttered user interface that makes it difficult for users to understand the results generated by the data analysis system.

[0007] A user interface enabled by the technology described herein may provide an interactive text box through a first part of the user interface (e.g., a first frame) that enables the user to express intent in natural language. The user interface may have a second part (e.g., a second frame) that presents a historical log of previous inputs and responses from a natural language processing engine (along with a visual representation of such responses and / or results), thereby enabling the user to quickly assess how the results and / or responses were derived. The user interface may have a third part that presents a graphical representation of the results provided in response to any input. In any case, the first, second, and third parts do not overlap with or obscure data relevant to the user at any given point in time, thereby enabling the user to better understand the results provided in the third part of the user interface together with the historical log presented by the second part of the user interface.

[0008] Furthermore, the third and second parts of the user interface may be scrollable separately to accommodate how different users perceive different aspects of the results. Similar to how right-brain dominant users respond to creative and artistic stimuli, while left-brain dominant users respond to logical and rational stimuli, the user interface divides the representation of results into right-brain stimuli (e.g., the graphical representation of the results in the third part of the user interface) and left-brain stimuli (e.g., the history log explaining how the results were logically derived in the second part of the user interface). Regardless of the user's right-brain or left-brain dominance, the user interface can synchronize the third part with the second part in response to interaction with either the second or third part of the user interface, thereby facilitating data analysis regardless of the user's dominance over right-brain or left-brain stimulation.

[0009] In this regard, various aspects of the technology described herein may facilitate better interaction with respect to the performance of data analysis while eliminating clutter and other distractions that may hinder the understanding of the results provided by the data analysis system. As a result, the user can understand the results more quickly without having to enter additional inputs and / or perform additional interactions with the data analysis system in order to understand the presented results, so that the data analysis system may be able to operate more efficiently. By potentially reducing such inputs and / or interactions, the data analysis system can save various computing resources (e.g., processing cycles, memory space, memory bandwidth, etc.) along with the power consumption consumed by such computing resources, thereby improving the operation of the data analysis system itself.

[0010] Furthermore, various aspects of the technology described herein may enable users to interact with a graphical representation of a format for the visual representation of underlying data (which may be stored as a multidimensional table or other data structure, and as a result the data may be referred to as multidimensional data). Rather than inputting cumbersome utterances in natural language to define the visual representation of the multidimensional data, users may interact with a graphical representation (e.g., a wireframe) of a format for the visual representation of the multidimensional data (e.g., a chart, bubble chart, graph, etc.) via a user interface.

[0011] Furthermore, a user interface that allows a user to interact with a graphical representation of a format for visual representations of multidimensional data may provide data indicating the input (e.g., complex utterances or other natural language inputs) that the user has entered to generate the visual representation of the multidimensional data. This data indicating the input may enable a user who may be right-brain dominant to learn non-visual natural language inputs that may generate such visual representations.

[0012] Accordingly, various aspects of the technology described herein may facilitate the generation of visual representations of multidimensional data through graphical representations of formats for such visual representations, thereby enabling more visually oriented (e.g., right-brain dominant) users to create complex visual representations of multidimensional data that would otherwise be difficult and time-consuming. By reducing interaction while explaining the corresponding natural language input along with the visual representation of multidimensional data, users can understand the results more quickly in attempts to visualize the multidimensional data (which may also be called “results”) without entering additional inputs and / or engaging in additional interaction with the data analysis system, so that the data analysis system may also operate more efficiently. By potentially reducing such inputs and / or interactions, the data analysis system can conserve various computing resources (e.g., processing cycles, memory space, memory bandwidth, etc.) along with the power consumption consumed by such computing resources, thereby improving the operation of the data analysis system itself.

[0013] In one embodiment, the technology relates to a device configured to process data indicating a current input, comprising one or more processors that, via a first part of a user interface, present an interactive text box into which a user can input data indicating a current input; via a second part of the user interface, present an interactive log of previous inputs entered before the current input; and via a third part of the user interface, present a graphical representation of result data obtained in response to the data indicating a current input, wherein the second and third parts of the user interface are scrollable separately, but interactions in either the second or third part of the user interface are coupled to synchronize the second and third parts of the user interface; and a memory configured to store data indicating a current input.

[0014] In another embodiment, the technique relates to a method for processing data indicating a current input, comprising: presenting an interactive text box via a first part of a user interface in which a user can enter data indicating a current input; presenting an interactive log of previous inputs entered before the current input via a second part of the user interface; and presenting a graphical representation of result data obtained in response to the data indicating a current input via a third part of the user interface, wherein the second and third parts of the user interface are scrollable separately, but interactions in either the second or third part of the user interface are coupled to synchronize the second and third parts of the user interface.

[0015] In another embodiment, the technology relates to a non-temporary computer-readable storage medium which stores instructions causing one or more processors to execute, when executed, the following: presenting an interactive text box via a first part of a user interface into which a user can enter data indicating the current input; presenting an interactive log of previous inputs entered before the current input via a second part of the user interface; and presenting a graphical representation of result data obtained in response to the data indicating the current input via a third part of the user interface, wherein the second and third parts of the user interface are scrollable separately, but interactions in either the second or third part of the user interface are coupled to synchronize the second and third parts of the user interface.

[0016] In another embodiment, the technology is an apparatus configured to perform data analysis, comprising a memory configured to store multidimensional data, and one or more processors that, via a user interface, present a graphical representation of a format for visually representing the multidimensional data, receive a selection of one of one or more forms of the graphical representation of the format for visually representing the multidimensional data via the user interface, and, via the user interface, process one of the one or more forms of the graphical representation of the format for visually representing the multidimensional data, the dimensions of the multidimensional data instructions The present invention relates to a device comprising one or more processors configured to receive data, associate dimensions into a single aspect, and present the visual representation of multidimensional data via a user interface, in order to generate a visual representation of the multidimensional data.

[0017] In another embodiment, the technology is a method for performing data analysis, which includes presenting a graphical representation of a format for visually representing multidimensional data via a user interface, receiving a selection of one or more forms of the graphical representation of the format for visually representing multidimensional data via a user interface, and, for one or more forms of the graphical representation of the format for visually representing multidimensional data via a user interface, the dimensions of the multidimensional data instructions This invention relates to a method comprising receiving data, associating dimensions with a single pattern in order to generate a visual representation of multidimensional data, and presenting the visual representation of multidimensional data through a user interface.

[0018] In another embodiment, the technology is a non-temporary computer-readable storage medium that, when executed, presents a graphical representation of a format for visually representing multidimensional data via a user interface; receives a selection of one of one or more forms of the graphical representation of the format for visually representing multidimensional data via a user interface; and, with respect to one of one or more forms of the graphical representation of the format for visually representing multidimensional data via a user interface, the dimensions of the multidimensional data instructions This invention relates to a non-temporary computer-readable storage medium that stores instructions for receiving data, associating dimensions into a single mode to generate a visual representation of multidimensional data, and presenting the visual representation of multidimensional data via a user interface, causing one or more processors to execute these instructions.

[0019] Details of one or more aspects of this technology are described in the accompanying drawings and the following description. Other features, purposes, and advantages of these technologies will become apparent from the specification, drawings, and claims. [Brief explanation of the drawing]

[0020] [Figure 1] Figure 1 is a block diagram showing a system that may implement various aspects of the technology described in this disclosure.

[0021] [Figure 2A] Figure 2A shows an example of a user interface that facilitates interaction with the data analysis system shown in Figure 1, according to various embodiments of the technology described in this disclosure. [Figure 2B] Figure 2B shows an example of a user interface that facilitates interaction with the data analysis system shown in Figure 1, according to various embodiments of the technology described in this disclosure. [Figure 2C] Figure 2C shows an example of a user interface that facilitates interaction with the data analysis system shown in Figure 1, according to various embodiments of the technology described in this disclosure. [Figure 2D] FIG. 2D is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure. [Figure 2E] FIG. 2E is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure. [Figure 2F] FIG. 2F is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure. [Figure 2G] FIG. 2G is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure. [Figure 2H] FIG. 2H is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure. [Figure 2I] FIG. 2I is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure. [Figure 2J] FIG. 2J is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure. [Figure 2K] FIG. 2K is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure.

[0022] [Figure 3A] FIG. 3A is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure. [Figure 3B] FIG. 3B is a diagram illustrating an example of a user interface that facilitates interaction with the data analysis system shown in the example of FIG. 1 in accordance with various aspects of the technology described in the present disclosure. [Figure 3C] Figure 3C shows an example of a user interface that facilitates interaction with the data analysis system shown in Figure 1, according to various embodiments of the technology described in this disclosure. [Figure 3D] Figure 3D shows an example of a user interface that facilitates interaction with the data analysis system shown in Figure 1, according to various aspects of the technology described in this disclosure. [Figure 3E] Figure 3E shows an example of a user interface that facilitates interaction with the data analysis system shown in Figure 1, according to various embodiments of the technology described in this disclosure.

[0023] [Figure 4] Figure 4 is a block diagram showing an example of the components of the client device shown in the example in Figure 1.

[0024] [Figure 5] Figure 5 is a flowchart illustrating the exemplary operation of the system in Figure 1 when various aspects of the technology described herein are implemented to enable a more cohesive user interface for the data analysis system.

[0025] [Figure 6] Figure 6 is a flowchart illustrating another exemplary operation of the system in Figure 1 when various aspects of the technology described herein are implemented to enable a more cohesive user interface for the data analysis system. [Modes for carrying out the invention]

[0026] Figure 1 shows a system 10 which may implement various aspects of the technology described herein to enable a more cohesive user interface for a data analysis system. As shown in the example in Figure 1, system 10 has a host device 12 and client devices 14. In the example in Figure 1, it is shown as having two devices, namely a host device 12 and client devices 14, but system 10 may have a single device that encompasses the functions described later for both the host device 12 and client devices 14, or a plurality of clients 14 each interacting with one or more host devices 12 that share a mutual database hosted by one or more host devices 12.

[0027] The host device 12 may represent any form of computer device capable of implementing the technologies described in this disclosure, including a handset (or mobile phone), a tablet computer, a so-called smartphone, a desktop computer, and a laptop computer, to provide a few examples. Similarly, the client device 14 may represent any form of computer device capable of implementing the technologies described in this disclosure, including a handset (or mobile phone), a tablet computer, a so-called smartphone, a desktop computer, a laptop computer, a so-called smart speaker, a so-called smart headphone, and a so-called smart television, to provide a few examples.

[0028] As shown in the example in Figure 1, the host device 12 includes a server 28, a CNLP device 22, one or more execution platforms 24, and a database 26. The server 28 may represent a device configured to maintain a conversational context and to coordinate the routing of data between the CNLP device 22 and the execution platforms 24.

[0029] The server 28 may have an interface device 20 which may represent a device that can provide the client device 14 with one or more interfaces 21 (which may also be referred to as "user interfaces 21") to the host device 12 in order to extract data 19 representing input and / or present results 25. The data 19 may represent voice input, text input, image input (e.g., representing or being able to become text), or any other type of input that can facilitate interaction with the host device 12. The interface device 20 may generate or output various interfaces 21, including a graphical user interface (GUI), a command-line interface (CLI), or any other interface that presents or supplies data to the user 16. As an example, the interface device 20 may output a chat interface 21 in the form of a GUI, with which the user 16 can interact to input data 19 representing input (i.e., text input, as in the example of a chat server). The server 28 may output the data 19 to the CNLP device 22 (or call the CNLP device 22 and pass the data 19 via the call).

[0030] The CNLP device 22 may represent a device configured to perform various aspects of the CNLP technique as described herein. The CNLP device 22 may maintain a plurality of interconnected language subsurfaces ("SS") 18A to 18G ("SS18"), which may collectively represent a language, and each of the language subsurfaces 18 may provide a portion of the language (which may be different or overlapping portions). Each portion may specify a corresponding set of natural language-recognized syntax rules and strings with which a user 16 can interact to input data 19 representing an input. The CNLP device 22 may perform CNLP based on the language subsurfaces 18 and the data 19 to identify one or more intents 23. Further information relating to CNLP can be found in U.S. Patent Application No. 16 / 441,915, titled "Restricted Natural Language Processing," filed June 14, 2019, which is incorporated herein by reference as if it were described herein in its entirety. The CNLP device 22 may output the intent 23 to the server 28, which may call one of the execution platforms 24 associated with the intent 23 and pass the intent 23 to one of the execution platforms 24 for processing.

[0031] The execution platform 24 may represent one or more platforms configured to perform various processes related to the identified intent 23. In the example in Figure 1, each process may perform a different set of operations related to the database 26. In some examples, the execution platform 24 may have processes corresponding to different categories, such as sales data analysis, health data analysis, or loan data analysis, or forms of machine learning. In some examples, the execution platform 24 may perform general data analysis that enables various different combinations of data stored in the database 26 for complex processing and display in charts, graphs, etc. The execution platform 24 may process the intent 23 to obtain a result 25 that the execution platform 24 may return to the server 28. The interface device 20 may generate a GUI 21 that presents the result 25, and the GUI 21 is sent to the client device 14.

[0032] In this context, the execution platform 24 may generally represent different platforms that support applications for performing basic data analysis stored in the database 26, and the platform may provide extensible application development to accommodate evolving collection and analysis (in other words, data analysis) or to handle other tasks / intent. For example, the execution platform 24 may include platforms such as Postgres (also known as PostgreSQL® and representing an example of a relational database for performing data loading and manipulation), TensorFlow® (which can perform machine learning with a specialized machine learning engine), and Amazon Web Services (AWS) (which often performs large-scale data analysis tasks that utilize multiple machines, commonly referred to as the cloud).

[0033] The client device 14 may have a client 30 (which may be associated with a chatbot interface referred to as "chat client 30"). The client 30 may represent a device configured to represent interface 21 and to accept data 19. The client 30 may run as a dedicated third-party application, as a first-party application, or as a built-in component of the operating system of the client device 14 (not shown in Figure 1) in association with a browser.

[0034] Returning to natural language processing, a balanced form of natural language processing may be performed compared to other forms of natural language processing. Natural language processing may mean that the host device 12 attempts to process data 19 representing input (which may be referred to as "input 19" for simplicity of explanation) provided through conversational interaction with the client device 14. The host device 12 may dynamically prompt the user 16 for various inputs 19, ask clarifying questions, ask related questions, or engage in conversational interaction with the user to elicit input 19. The user 16 may also input input 19 as sentences or fragments, thereby establishing a simulated conversation with the host device 12 to identify one or more intentions 23 (which may be referred to as "tasks 23").

[0035] The host device 12 may provide various interfaces 21 that present dialogue. One example interface may function as a so-called “chatbot,” which may be configured to attempt to mimic human characteristics, including personality, voice, preferences, temperament, etc., in order to establish a more conversational tone, thereby facilitating interaction with the user and receiving input more naturally. Examples of chatbots include “digital assistants” (which may also be called “virtual assistants”), which are a subset of chatbots that focus on a set of tasks dedicated to providing assistance (such as scheduling meetings, booking hotels, and scheduling food distribution).

[0036] There are several different language processing algorithms used to analyze input 19 to identify intent 23, some of which rely on machine learning. However, natural language often does not follow a precise format, and various users have slightly different ways of expressing input that results in the same general intent 23, resulting in so-called "edge cases" that are not specifically programmed (or trained in relation to machine language) to deal with by many natural language algorithms, including those that rely on machine learning. Machine learning based on natural language processing may value naturalness more than predictability and accuracy, which leads to encountering edge cases more frequently when the trained naturalness of a language differs from the naturalness perceived by the user of the language. Such edge cases can be identified by the system and reported as incomprehensible or unprocessable, which can frustrate the user. Alternatively, the system may process the user's intent incorrectly, leading to undesirable or misleading behavior or results.

[0037] Other types of natural language processing algorithms used to parse input 19 to identify intent 23 rely on keywords. While keywords based on natural language processing algorithms are accurate and predictable, they are inaccurate in that they provide little nuance in explaining each other's different intents 23.

[0038] In other words, various natural language processing algorithms fall into two categories. In the first category, algorithm-based machine learning for natural language processing relies on statistical machine learning processes such as deep neural networks and support vector machines. Both of these machine learning processes can suffer from limitations in their ability to understand the nuances of user utterances. Furthermore, even if algorithm-based machine learning enables a variety of natural utterances for the same intent, such algorithm-based machine learning is often unpredictable and interprets the same utterance in a way that differs from one another in a set of views, making it difficult for developers and users to understand. In the second category, algorithm-based simple keywords for natural language processing may match user utterances to a predetermined set of keywords and retrieve relevant intents.

[0039] In this example, the CNLP device 22 may analyze the input 19 while balancing accuracy, precision, and predictability (for example, it may have natural language statements which may be called “utterances”). The CNLP device 22 may balance various design decisions in realizing the underlying language surface (which is a set of subsurfaces 18 or other means meaning “language”). The language subsurfaces 18 may represent a set of potential user utterances that the server 28 can analyze (or, in more anthropomorphic terms, “understand”) the intent of the user 16.

[0040] Design decisions may involve negotiating trade-offs between competing priorities, including accuracy (e.g., how often the server 28 can accurately interpret an utterance), precision (e.g., the degree to which nuances are added to the utterance when expressing the user 16's intent), and naturalness (e.g., the degree to which there can be a variety of word choices in the utterance that map to the same intent of the user 16). CNLP technology allows the CNLP device 22 to analyze the input 19 (which may be called "utterances") without ambiguity, thereby potentially guaranteeing a predictable and accurate interpretation of (limited) accurate natural language utterances 19.

[0041] While natural language processing (NLP) may facilitate such data analysis by users unfamiliar with formal (in other words, structured) database languages, the user interfaces associated with NLP can sometimes be cluttered and difficult to understand due to its conversational nature. In some cases, the conversations arising from NLP may distract certain users from the underlying data analysis results, thereby undermining the benefits of NLP in relation to data analysis.

[0042] According to various aspects of the technology described herein, the server 28 may generate and provide a user interface that the client 30 may present to further facilitate user interaction with a data analysis system employing natural language processing. Rather than presenting a cluttered user interface that makes it difficult for a user such as user 16 to understand the results 25 generated by the data analysis system (represented in this example by system 10), various aspects of the technology described herein may enable a seamless integration of natural language processing and data analysis in such a way that it results in a cohesive user interface 21 that allows the user to intuitively understand the results generated by the data analysis system.

[0043] The user interface 21 enabled by the technology described herein may provide an interactive text box through a first part of the user interface 21 (e.g., a first frame) that enables the user to express intent in natural language. The user interface 21 may have a second part (e.g., a second frame) that presents a history log of previous inputs and responses from a natural language processing engine (indicated in this example as a CNLP device 22) (along with a visual representation showing such responses and / or results 25), so that the user 16 can quickly assess how the result 25 (which may also be referred to as "response 25") was derived. The user interface 21 may have a third part that presents a graphical representation of the result 25 provided in response to any input 19. In any case, the first, second, and third parts do not overlap with or obscure data related to the user 16 at a particular point in time, and the user 16 can better understand the result 26 provided in the third part of the user interface 21 together with the history log presented by the second part of the user interface 21.

[0044] Furthermore, the third and second parts of the user interface 21 may be scrollable separately to accommodate how different users perceive different aspects of the result 25. Similar to how right-brain dominant users respond to creative and artistic stimuli and left-brain dominant users respond to logical and rational stimuli, the user interface 21 divides the representation of the result 25 into right-brain stimuli (e.g., the graphical representation of the result 25 in the third part of the user interface 21) and left-brain stimuli (e.g., the history log of how the result 25 was derived in the second part of the user interface 21). Regardless of the user's right-brain or left-brain dominance, the user interface 21 can synchronize the third part of the user interface 21 with the second part of the user interface 21 in response to interaction with either the second or third part of the user interface 21, thereby facilitating data analysis regardless of the user's dominance over right-brain or left-brain stimuli.

[0045] During operation, client 30 may present an interactive text box via a first frame of the user interface 21 in which user 16 may enter data representing the current input (which may also be referred to as "current input 19" for ease of explanation). The interactive text box may (as an example) provide suggestions via an expanding suggestion pane that extends above the interactive text box to facilitate user 16's input of the current input 19.

[0046] Client 30 may present an interactive log of previous inputs entered before the current input 19 (which may be denoted as "previous input 19'") via a second frame of the user interface 21. The first and second frames of the user interface 21 may correspond to user 16 when user 16 represents a left-brain dominant user, as this provides a more logically defined ability by representing natural language utterances that directly produce result 25 using keywords and other syntax that are primarily relevant to left-brain dominant users.

[0047] Client 30 may present a graphical representation of the result data 25 obtained in response to the current input 19 via a third frame of the user interface 21. This third frame of the user interface 21 provides further graphical / visual / artistic capabilities by representing the result 25 using a visual representation (e.g., charts, graphs, plots, etc.) of the result 25, which may represent multidimensional data (which may also be called a "multidimensional dataset," and therefore may also be called "multidimensional data 25" or "multidimensional dataset 25"), so the third frame of the user interface 21 may correspond to user 16 when user 16 represents a right-brain dominant user.

[0048] To facilitate either type of user 16 (meaning left-brain dominant or right-brain dominant users), the second frame and the third frame of the user interface 21 are scrollable separately, but interactions in either the second frame or the third frame of the user interface 21 are coupled to synchronize the second and third frames of the user interface 21. In other words, the user interface 21 may enable a visual user (in other words, a right-brain dominant user) to understand how a visual representation of multidimensional data 25 is generated through the current input 19 (and previous inputs 19') via the third frame and through the synchronization of the second and third frames of the user interface 21. Such a visual user may select the visual representation presented in the third frame of the user interface 21.

[0049] Furthermore, the user interface 21 may enable a logical user (in other words, a left-brain dominant user) to understand, through a third frame, how the current input 19 (and previous inputs 19') yields a visual representation of the multidimensional data 25 through synchronization between the third frame of the user interface 21 and the second frame of the user interface 21. Such a logical user may select the input 19 presented in the second frame that yields the visual representation presented in the third frame of the user interface 21.

[0050] In this regard, various aspects of the technology described herein may facilitate better interaction with respect to the performance of data analysis while eliminating clutter and other distractions that may hinder the understanding of results 25 provided by a data analysis system such as the data analysis system 10. As a result, the user 16 can understand the results 25 more quickly without having to enter additional inputs and / or perform additional interactions with the data analysis system 10 in order to understand the presented results 25, so that the data analysis system 10 may be able to operate more efficiently. By potentially reducing such inputs and / or interactions, the data analysis system 10 can save various computing resources (e.g., processing cycles, memory space, memory bandwidth, etc.) along with the power consumption consumed by such computing resources, thereby improving the operation of the data analysis system itself.

[0051] Furthermore, various aspects of the technology described herein may enable user 16 to interact with a graphical representation of a format for the visual representation of the underlying data (which may be stored as a multidimensional table or other data structure, and as a result the data may be referred to as multidimensional data 25). Rather than inputting cumbersome utterances (represented by input 19 in the example of Figure 1) to define the visual representation of the multidimensional data 25 in natural language, user 16 may interact with a graphical representation (e.g., a wireframe) of a format for the visual representation of the multidimensional data 25 (e.g., a chart, bubble chart, graph, etc.) via a user interface 21.

[0052] Furthermore, the user interface 21, which allows user 16 to interact with a graphical representation of the format of the visual representation of the multidimensional data 25, may provide data indicating the input 19 (e.g., complex utterances or other natural language inputs) that the user has entered to generate the visual representation of the multidimensional data 25. This data indicating the input 19 may enable user 16, who may be right-brain dominant, to learn non-visual natural language inputs 19 that can generate such a visual representation of the multidimensional data 25.

[0053] During operation, client 30 may present a graphical representation of a format for visually representing multidimensional data 25 via a user interface 21 (which may have three frames discussed throughout this disclosure). The format may vary based on a particular visual representation of the multidimensional data 25. For example, a bubble plot may include an x-axis, y-axis, bubble color, bubble size, slider, etc. Another example is a bar graph, which may include an x-axis, y-axis, bar color, bar size, slider, etc. In any case, the graph representation may present a generic representation of a type of visual representation of multidimensional data 25, such as a generic bubble plot, a generic bar graph, or a generic graph representation of any type of visual representation of multidimensional data 25.

[0054] Next, user 21 may interact with this general graphical representation of the visual representation of the multidimensional data 25 to select one or more aspects (which may be x-axis, y-axis, bubble color, bubble size, slider, or any other aspect of a particular type of visual representation of the multidimensional data 25 previously selected by user 16). Thus, client 30 can receive a selection of one or more aspects of the graphical representation of the format for visually representing the multidimensional data 25 via the user interface 21.

[0055] After selecting an aspect, user 91 may interact with client 30 via user interface 21 to select the dimensions of the multidimensional data 25 to be associated with the selected aspect. Next, client 30, via user interface 30, selects one or more aspects of the graphical representation of the format for visually representing the multidimensional data 25, and one or more dimensions of the multidimensional data 25. instructions You may receive it.

[0056] Next, the client 30 may associate dimensions with aspects in order to generate a visual representation of the multidimensional data 25 (for example, in the form of a bar graph, line graph, area graph, gauge, radar chart, bubble plot, scatter plot, graph, pie chart, density map, Gantt chart, and tree map). The client 30 may then proceed to the presentation of the visual representation of the multidimensional data 25 via the user interface 21.

[0057] Accordingly, various aspects of the technology described herein may facilitate the generation of visual representations of multidimensional data 25 through graphical representations of formats for such visual representations, thereby enabling more visual (e.g., right-brain dominant) users to create complex visual representations of multidimensional data that would otherwise be difficult and time-consuming (e.g., due to unfamiliarity with the natural language utterances required to generate the visual representations). By reducing interaction while describing the corresponding natural language input along with the visual representation of the multidimensional data 25, the user 16 can understand the results 25 (which may also be referred to as "results 25") more quickly in an attempt to visualize the multidimensional data 25 without entering additional inputs and / or engaging in additional interaction with the data analysis system 10, so that the data analysis system 10 may again operate more efficiently. By potentially reducing such inputs and / or interactions, the data analysis system 10 can conserve various computing resources (e.g., processing cycles, memory space, memory bandwidth, etc.) along with the power consumption consumed by such computing resources, thereby improving the operation of the data analysis system itself.

[0058] Figures 2A to 2K show examples of user interfaces that facilitate interaction with the data analysis system shown in the example of Figure 1, according to various embodiments of the technology described herein. In the example of Figure 2A, user interface 21A may represent an example of user interface 21 shown in the example of Figure 1.

[0059] As shown in the example in Figure 2A, the user interface 21A includes a first frame 200A (which may also be called the "first pane 200A"), a second frame 200B (which may also be called the "second pane 200B"), and a third frame 200C (which may also be called the "third pane 200C"). The first frame 200A may represent an interactive text box in which user 16 may enter the current input 19. In other words, user 16 may, through the first frame 200A, enter natural language utterances (which are also another way of referring to the current input 19) to interact with a chatbot called "Ava" in this example, for each dialog 202A.

[0060] The second frame 200B may present an interactive log of previous inputs 19' that were entered before the current input 19 (along with responses from the chatbot, such as dialog 202A). Assuming that user 16 maintains a dialog with the chatbot (another way of referring to the data analysis system 10, and therefore can also be referred to as "chatbot 10"), the previous inputs 19' can also be referred to as "previous dialog 19'". Assuming that the second frame 200B may present a log of the interaction between user 16 and chatbot 10, the second frame 200B can be referred to as "dialog frame 200B" or "dialog pane 200B".

[0061] The third frame 200C may present an interaction frame with a graphical representation of the result 25 obtained in response to the current input 19. The third frame 200C may provide the graphical representation of the result 25 as a log of graphical representations of the result 25 over time, as shown in subsequent Figures 2B to 2K, thereby allowing the user 16 to traverse the log of graphical representations of the result 25 via a separate scroll of the third frame 200C, independent of the second frame 200B. The third frame 200C may consequently be referred to as the "graphical log frame 200C" and / or the "graphical log pane 200C".

[0062] In the example in Figure 2B, user interface 21B may present another example of user interface 21 shown in the example in Figure 1. User interface 21B, like user interface 21A, has a first frame 200A, a second frame 200B, and a third frame 200C (these can be collectively referred to as "frames 200A-200C" or "frame 200"). The difference between user interface 21B and user interface 21A is that user 16 has begun typing text (e.g., “Load data from the file t”) into the first frame 200A as the current input 19, in which case user interface 21B, in response to receiving the current input 19, exposes an autocomplete box 204 containing several different autocomplete recommendations for files with filenames or other identifiers that begin with the character 't' (i.e., “test-sort.csv”, “test_analyze.csv”, “test_cleanan_m.csv”), along with a prompt to autocomplete “filepath” by “Hit[ting] TAB to finish”.

[0063] In this regard, the interactive text box presented by the first frame 200A may automatically perform an autocomplete operation to facilitate the input of the current input 19. The interactive text box may limit the number of autocomplete recommendations (which may be called "recommendations") (which may be many, e.g., 10, 20, ... 100, ... 1000, etc.) to a number of recommendation thresholds (e.g., 3 in this example).

[0064] The interactive text box may limit the number of recommendations to reduce clutter and encourage user 16 to select recommendations that are most likely to be useful to user 16. The user interface 21B may prioritize recommendations based on user 16's preferences, recent access to various files, or any other priority-based algorithm (including machine learning or other artificial intelligence prioritization and / or ranking algorithms). In some examples, a threshold may be set so that the autocomplete box 204 does not completely obscure (but may partially obscure) the second frame 200B, and such thresholds may vary based on display size, current display zoom level, device type (e.g., smartphone, laptop, desktop, etc.), etc.

[0065] Next, referring to the example in Figure 2C, user interface 21C may present another example of user interface 21 shown in the example in Figure 1. User interface 21C, like user interface 21B, has a "frame 200". The difference between user interface 21C and user interface 21B is that user 16 has finished entering the file name "titanic.csv" into the interactive text box represented by the first frame 200A. The interactive text box may automatically insert highlighting 206 to indicate the portion of the current input 19 that refers to a nominating form (such as the file name "titanic.csv" in the example in Figure 2C) of the database that the current input 19 refers to. Such highlighting may allow user 16 to visually understand that the nominating form is recognized by the data analysis system 10 when the current input 19 is entered by user 16.

[0066] In the example in Figure 2D, user interface 21D may present another example of user interface 21 shown in the example in Figure 1. User interface 21D is similar to user interface 21C in that it also includes frame 200, but it shows the result of entering the current input 19 into the dialogue text box, at which point the current input 19 becomes the previous input 19A'. The chatbot 19 returns dialog 202B, which is presented in dialog frame 200B, and table 220, which reflects “titanic.csv” and is presented as table 220 in graphical log frame 200C.

[0067] In the example in Figure 2E, user interface 21E may present another example of user interface 21 shown in the example in Figure 1. User interface 21E is similar to user interface 21D in that it also includes frame 200, but it shows the result of entering the current input 19 (shown as the previous input 19B', since the current input 19 was entered into the first frame 200A). Chatbot 19 returns dialog 202C which contains additional data about the processing of the previous input 19B', presented in dialog frame 200B and without obscuring any part of the graphical log frame 200C. Chatbot 19 also returns a scatter plot reflecting the data analysis on “titanic.csv”, which is presented as scatter plot 222 of the graphical log frame 200C.

[0068] When user interface 21E adds scatter plot 222 to graphical log frame 200C below table 222, table 220 moves out of view, and as a result, user interface 21E adds scroll bar 208A along the right side of graphical log frame 200C. User 16 may select scroll bar 208A to scroll graphical log frame 200C independently (or use mouse-based scrolling or other forms of scrolling). That is, graphical log frame 200C may be scrolled while dialog frame 200B is not scrolled, graphical log frame 200C may be scrollable independently of dialog frame 200B, and dialog frame 200B may be scrollable independently of graphical log frame 200C. In this regard, left-brain users can consider the graphical and / or visual properties of the graphical log frame 200C without distraction while scrolling through the corresponding dialog frame 200B, while right-brain users can consider the more textual and / or logical properties of the dialogue frame 200B without distraction while scrolling through the corresponding graphical log frame 200C.

[0069] Furthermore, the user interface 21E includes a full-screen display 210A that allows the user 16 to transition the user interface 21E to a full-screen mode in which the dialog frame 200B is minimized and the graphical log frame 200C is maximized (across the entire width of the user interface 21E). As shown in the example in Figure 2E, the user interface 21E currently operates in partial-screen mode in which the dialog frame 200B is not minimized and is still presented as part of the user interface 21E, with the graphical log frame 200C not spanning at least a large portion (e.g., 90-100%) of the width of the user interface 21E.

[0070] Partial screen mode facilitates the visibility of the user interface 21E through client devices 14 with large displays (e.g., desktop computers, workstations, large laptops, etc.), but is not well-suited for client devices 14 with small displays (e.g., smartphones, ultrabooks, etc.). In partial screen mode, the dialog frame 200B may be positioned above (but not directly above) or adjacent to the first frame 200A, along the upper boundary of the first frame 200A, and both the dialog frame 200B and the first frame 200A may have similar widths. Both the first frame 200A and the dialog frame 200B are located adjacent to the right of the graphical log frame 200C.

[0071] Next, referring to the example in Figure 2F, user interface 21F may present another example of user interface 21 shown in the example in Figure 1. User interface 21F is similar to user interface 21E in that it also includes frame 200, but it shows the result when user 16 selects full-screen display 210A.

[0072] In response to receiving a notification that user 16 has selected fullscreen display 210A, the user interface 21F transitions to fullscreen mode, minimizing the dialog frame 200B and maximizing the graphical log frame 200C (across the entire width of the user interface 21F). The user interface 21F reformats the scatter plot 222 within the graphical log frame 200C to span approximately the entire width of the graphical log frame 200C (e.g., 80-99%). Also, in response to receiving a notification that user 16 has selected fullscreen display 210A, the user interface 21F reformats the first frame 200A to span approximately the entire width of the user interface 21F (e.g., 80-99%). Therefore, in this example, the first frame 200A is adjacent to the bottom of the graphical log frame 200C, and the graphical log frame 200C is adjacent to the top of the first frame 200A.

[0073] Furthermore, the user interface 21F may replace the full-screen display 210A with a partial-screen display 210B. When the partial-screen display 210B is selected by the user 16, the user interface 21F may be returned to the partial-screen mode of the user interface 21E.

[0074] In some examples, the user interface 21 may automatically transition between partial-screen mode and full-screen mode based on the type of device on which the user interface 21 is displayed. The device type may indicate whether the device is a smartphone, laptop computer, tablet computer, hybrid computer, or desktop computer. In other examples, the device type may specify the display type in relation to size, resolution, number of displays, etc. For certain device types (smartphones, tablet computers, display sizes below a threshold, etc.), the user interface 21 may select partial-screen mode, and for other device types (desktop computers, workstations, display sizes above a threshold, etc.), the user interface 21 may select full-screen mode. In this way, the user interface 21 may transition to full-screen mode in response to the detected device type, where the dialog frame 200B is minimized and the graphical log frame 200C is placed on top of the first frame 200A.

[0075] In the example in Figure 2G, user interface 21G may present another example of user interface 21 shown in the example in Figure 1. User interface 21G is similar to user interface 21F in that it also includes frame 200, but shows the result of user 16 selecting exposure instruction 212. The first frame 200A may include exposure instruction 212, which results in user interface 21G exposing dialog frame 200B when selected by user 16 while user interface 21G is in full-screen mode. In some examples, the first frame 200A may include exposure instruction 212 only while user interface 21G is in full-screen mode. In response to user 16 selecting exposure instruction 212, user interface 21G may expose dialog frame 200B such that dialog frame 200B at least partially overlaps (but does not completely obscure) the graphical log frame 200C.

[0076] Turning to the embodiment in Figure 2H, user interface 21H may present another embodiment of user interface 21 shown in the embodiment in Figure 1. User interface 21H is similar to user interface 21D in that it also includes frame 200, but shows the result of user 16 selecting the cancel instruction 214. The first frame 200A may include the cancel instruction 214 so that user 16 can cancel the processing of the current input 19 (which is still present despite being shown in dialog frame 200B because the processing is not yet complete).

[0077] In some cases, user 16 may inadvertently enter a current input 19 that requires a considerable amount of processing, which may always take a long time (several minutes, an hour or more, etc.) or may hang during processing. To allow user 16 to cancel such input 19, the first frame 200A may present a cancel indicator to cancel processing of the current input 19. In response to the selection of the cancel instruction 214, the user interface 21H may interact with the chatbot 10 to cancel processing of the current input 19, and the chatbot 10 may present a dialog 202D indicating that "the request has been interrupted".

[0078] Next, considering the example in Figure 2I, user interface 21I may present another example of user interface 21 shown in the example in Figure 1. User interface 21I is similar to user interface 21H in that it also includes frame 200, but shows the result of user 16 entering a previous input 19C' indicating that chatbot 10 needs to "play back the workflow" referred to as C19inUS, and C19inUS is highlighted to indicate that this workflow (which is a form of dataset) is recognized by chatbot 10.

[0079] In response to receiving a previous input 19C (which was the current input 19 but is referred to as previous input 19C' because user interface 21I has already processed the previous input 19C'), user interface 21I may replay a previous session titled "C19inUS" which creates dialogs 202D~202H in which the previous input 19D' is sandwiched between dialogs 202F and 202G of dialog frame 200B.

[0080] The notes referenced in dialogs 202E and 202F refer to their respective notes 226A and 226B shown in the graphical log frame 200C. Each of dialogs 202E and 202F has its own note display 216A and note display 216B, which are displayed in the dialog frame 200B adjacent to dialogs 202E and 202F. Note displays 216A and 216B are associated with their respective notes 226A and 226B. When either note display 216A or note display 216B is selected by user 16, the user interface 21I may scroll the graphical log frame 200C to present notes 226A and 226B.

[0081] Similarly, dialog 202G includes an associated table display 218 presented adjacent to dialog 202G in dialog frame 200B. The table display 218 is associated with a table 226 presented in graphical log frame 202C. The user interface 21I may scroll the graphical log frame 202C to present table 226 in response to user 16 selecting the table display 218. In this regard, the user interface 21I may enable interaction with dialog frame 200B (via note displays 216A and 216B and table display 218) to change how the graphical log frame 202C scrolls to reveal previous or future content such as notes 226A / 226B and table 226.

[0082] However, as Note 226B points out, "When scrolling, clicking the blank space in the upper right corner of the chart moves you to the dialog [in dialog frame 200B] that generated the chart." In this way, the graphical log frame 200C may allow user 16 to select a chart, note, table or other graphical representation of the result 25 for scrolling through dialog frame 200B. The graphical log frame 200C is scrollable independently of dialog frame 200B (in other words, separately), and the dialog frame 200B is scrollable independently of the graphical log frame 200C (in other words, separately), but each of the dialog frame 200B and the graphical log frame 200C is interconnected by various interactions in either dialog frame 200B or graphical log frame 200C in order to synchronize dialog frame 200B and graphical log frame 200C or graphical log frame 200C and dialog frame 200B.

[0083] In the example in Figure 2J, user interface 21J may present another example of user interface 21 shown in the example in Figure 1. User interface 21J is similar to user interface 21I in that it also includes frame 200, but shows the result of user 16 hovering over the bubble chart display 219 presented by dialog frame 200B. When user interface 21J receives an indication that user 16 is hovering over the bubble chart display 219 (e.g., using a mouse pointer or other input device), it may present a bubble chart preview 230 of a previous or future bubble chart presented in graphical log frame 200C (relative to the temporal position of dialog frame 200B). The bubble chart preview 230 may draw the bubble chart presented in graphical log frame 200C via a pop-up window, overlay, or other graphical format. In response to the user selecting the bubble chart display 219, the user interface may transition to user interface 21K, which is described in more detail in relation to the example in Figure 2K.

[0084] In the example in Figure 2K, user interface 21K may present another example of user interface 21 shown in the example in Figure 1. User interface 21K is similar to user interface 21J in that it also includes frame 200, but shows the result of user 16 selecting the bubble chart display 219 presented by dialog frame 200B. In response to the selection of the bubble chart display 219, user interface 21K may scroll the graphical log frame 200C to present a bubble chart 228 identified as or associated with the bubble chart display 219.

[0085] The bubble chart 228 may include a bubble chart header 232 and a slider 234, the bubble chart header 232 may include a replay display 236 (and other displays not described in detail herein). The slider 234 may present an interactive slider that the user 16 can select to change the adaptation of the bubble chart to correspond to changes in the dimensions of the multidimensional data 25. The user 16 may select the replay display 236, thereby the user interface 21K may "replay" an interaction in which the user slides the slider 234 along the x-axis in this example to manipulate the bubble chart 228 according to the dimensions of the multidimensional data 25 graphically represented by the bubble chart 228.

[0086] Figures 3A to 3E show examples of user interfaces that facilitate interaction with the data analysis system shown in the example of Figure 1, according to various embodiments of the technology described herein. In the example of Figure 3A, user interface 321A may present an example of user interface 21 shown in the example of Figure 1.

[0087] User interface 321A is similar to user interface 21B shown in the example in Figure 2B in that user interface 321A includes frame 200, but differs in that user 16 has entered two previous inputs 319A' and 319B' to present a graphical representation 350 of a format for visually representing multidimensional data 25 via user interface 321A. In the example in Figure 3A, user 16 entered “Load data from the file titantic.csv” in the previous input 319A' to load multidimensional data 25 related to passengers who were on board the Titanic during the voyage in which the Titanic sank.

[0088] Furthermore, user 16 enters “Plot a bubble chart” in the previous input 319B', which is a general command that brings up the display of a graph display 350 in a format for visually representing multidimensional data 25 as a bubble chart. In addition, although not shown in the example in Figure 3A, user interface 321A may perform autocomplete to provide a list of charts relevant to user 16 (e.g., line graph, bubble chart, scatter plot, etc.), and user 16 may select this to autocomplete the chart type. Furthermore, user interface 321A may autocomplete a partial utterance entered as the previous input 319A' if user 16 simply enters, for example, “Plot a” or “bubble chart” and presses the Enter key to enter this partial utterance. Based on past interactions with user 16, chatbot 10 may decide that such a partial utterance should result in the presentation of a graphical representation 350 of the graphical log frame 200C.

[0089] While the command entered as the previous input 319B' has been described, various aspects of the technology described herein may allow the user 16 to access the graphical representation 350 in various other ways. For example, the user interface 321A may present a menu having the option to select a graphical representation 350 for constructing a bubble chart of the multidimensional data 25. As another example, the user interface 321A may present graphical representations (such as icons) for various charts of a table listing the multidimensional data 25 (similar to the playback display 236 of the user interface 21K shown in the example of Figure 2K, although not shown in the example of Figure 3A).

[0090] In any case, user 16 may enter a general command, "Plot a bubble chart," to display a configurator with a graphical representation 350 of the format for a bubble chart, rather than entering a complete statement for plotting a bubble chart such as "Plot a bubble chart with the x-axis Pclass, the y-axis Fare, the bubble color Gender, the bubble size Age, and sibling by Survived" (referring to data on the titanic.csv dataset as described above).

[0091] The graphical representation 350 may have one or more embodiments relating to a format for visually representing the multidimensional data 25 as a bubble chart. Regarding an example of the graphical representation 350, one or more embodiments (which can be collectively referred to as "embodiment 351") are shown as x-axis 351A, y-axis 351B, color 351C, size 351D, and slider 351E. The user 16 may select one of the embodiments 351, for example, x-axis 351A, and as a result, the user interface 321A may receive the selection of x-axis 351A for the graphical representation 350 of the format for visually representing the multidimensional data 25 as a bubble chart.

[0092] In response to receiving a selection of the x-axis 351A (or any other arbitrary aspect 351) of the graphical representation 350, the user interface 321A may present various options for the user 16 to select the dimensions of the multidimensional data 25 to associate with the x-axis 351A. In the complete statement above for generating a fully formed bubble chart, the x-axis 351A must be associated with the dimensions of the multidimensional data 25, which are shown as “Pclass”. An example of selecting the dimensions of the multidimensional data 25 to associate with the x-axis 351A will be described in more detail with reference to the example in Figure 3B.

[0093] In the example in Figure 3B, user interface 321B may present an example of user interface 21 as shown in the example in Figure 1. User interface 321B is similar to user interface 321A in that it has a frame 200, but differs in that the graphical dialog frame 200C presents a popup box 360 on the graphical representation 350 in response to the graphical dialog frame 200C receiving a selection of the x axis 351A. The popup box 360 shows an example of a method of presenting options for selecting dimensions of multidimensional data 25. However, the techniques described herein should not be limited to popup boxes and may include any method of selecting dimensions, including dropdown lists associated with each aspect 351, left-click menu-based systems or other methods of interaction commonly employed by configurators or other graphical configuration assistants that present lists similar to popup box 360.

[0094] The pop-up box 360 may automatically select x-axis option 361A in response to user 16 selecting x-axis 351A and present scope options 363A to 363C along with scope-specific options 365A to 365D. The pop-up box 360 also includes y-axis option 361B, bubble color option 361C, bubble size option 361D, and slider option 361E, corresponding to embodiments 351B to 351E, respectively.

[0095] Scope options 363A to 363C may allow user 16 to select a scope for selecting dimensions of the multidimensional data 25. Scope option 363A may allow user 16 to select columns as dimensions, and scope option 363B may allow user 16 to select a set of one or more columns that will result in a new dimension to be added to the multidimensional data 25, which will then be associated with the x-axis 351A. Scope option 363B may also allow user 16 to autobin one or more columns of the multidimensional data 25 to create a new dimension associated with the x-axis 351A, similar to scope option 363B.

[0096] Scope-specific options 365A-365D may allow the user to specify options specific to each of the scope options 363A-363C. In the example in Figure 3B, scope-specific options 365A-365D are specific to scope option 363A (i.e., columns are used in this example). Each of the scope-specific options 365A-365D refers to a different column of the multidimensional data 25 (i.e., “Fare”, selected “Pclass”, “Survived”, and “Age”). Since the scope-specific options 365A-365D may present only a subset of columns of the multidimensional data 25 selected based on analysis associated with user 16 and other users of the chatbot 10 in the same organization or across organizations (meaning user profiles and past usage history by user 16 of the chatbot 10), the popup box 360 also includes a search option 367 that allows user 16 to search for columns of the multidimensional data 25.

[0097] The popup box 360 also includes a generate display 369 that allows the user 16 to generate a preview of a bubble chart of the multidimensional data 25, which is configured according to the associations between various aspects 351 and the dimensions of the multidimensional data 25. In some examples, the generate display 369 remains inactive until all aspects 351 have been associated with the dimensions of the multidimensional data 25. The selection of the generate display 369 and the user interface 21's response to the selection of the generate display 369 will be described in more detail later with reference to the example in Figure 3D.

[0098] Before considering the example in Figure 3D, user 16 may instead select scope option 363B, which allows user 16 to “use sets”. In the example in Figure 3C, user interface 321C may present an example of user interface 21 after user 16 has selected scope option 363B. In response to receiving the selection of scope option 363B, the popup box 360 may present subscope options 365E to 365H associated with scope option 363B, along with another search option 368, which may perform a search function similar to that described above with respect to search option 367, except that it searches for types of sets that have not been pre-entered in the popup window 360 as scope-specific options 365E to 365H.

[0099] Scope-specific options 365E-365H may allow user 16 to perform aggregations with respect to average, count, sum, and maximum, respectively. In response to selecting any of the scope-specific options 365, user interface 321C may present a pop-up box 370 that allows user 16 to select one or more pre-filled columns and / or search for additional columns to perform specific types of aggregations associated with scope-specific options 365E-365H.

[0100] Although not shown in the examples in Figures 3A-3E, user 16 may select scope option 363C to perform an autobin operation. When user 16 selects scope option 363C, the pop-up box 360 may provide scope-specific options for selecting columns and the number of bins in which user 16 wishes to isolate the values ​​of the selected columns.

[0101] Next, referring to the example in Figure 3D, user interface 321D may present yet another example of user interface 21, which is similar to user interface 321B except that user 16 has selected the generation instruction 369. In response to receiving the selection of the generation instruction 369, user interface 321D may generate and present a bubble chart preview 380. When generating the bubble chart preview 380, user interface 321D may verify that the association between dimensions and aspects is correct. If the association between dimensions and aspects is incorrect, user interface 321D may display a message indicating that the association between dimensions and aspects is incorrect, and provide an option to correct the association between dimensions and aspects (not shown in the example in Figure 3D for simplicity of explanation).

[0102] The user interface 321D may present a bubble chart preview 380 that provides a visual representation preview of the multidimensional data 25 when the association between dimensions and aspects is suitable (an example of a visual representation preview 380 may be presented). The bubble chart preview 380 may include a use option 381, a back option 383, an edit option 385, and a display utterance option 387. The use option 381 may allow the user 16 to proceed with the generation of a bubble chart based on the association entered via one or more of the user interfaces 321A to 321C described above with respect to the examples in Figures 3A to 3C.

[0103] The back option 385 may allow user 16 to return to one or more of the user interfaces 321A to 321C (even if changes made in the bubble chart preview 380 are discarded). The edit option 385 may allow user 16 to edit the bubble chart preview 380 (for example, by changing the title, color, text and / or descriptor associated with the bubble chart preview 380).

[0104] The display utterance option 387 may allow user 16 to display data indicating the current input (or sequence of current inputs 319) that resulted in the generation of a bubble chart shown in the bubble chart preview 380 for visualizing the multidimensional data 25. In the example in Figure 3D, user 16 selects the display utterance option 387, and as a result, user interface 321D generates an input 391 that, when entered by user 16, associates dimensions into aspects to generate a bubble chart shown in the bubble chart preview, and presents a pop-up box 390 showing the generated input 391. In this regard, user 16 may, over time, learn logical and formal natural language utterances that may be entered to create the bubble chart via the first frame 200A (while assisting user 16 in understanding the formal structure for defining many visual representations of the multidimensional data 25).

[0105] Assuming that user 16 has confirmed that the bubble chart preview 380 meets various criteria, user 16 may select use option 381. In response to the selection of use option 381, user interface 321D may automatically input input 391 to input an utterance into dialog frame 200B and present a bubble chart that reflects the bubble chart presented in bubble chart preview 380. Thus again, user 16 may understand and confirm how the bubble chart was created via dialog frame 200B and graphical log frame 200C. In addition to the visual representation of the multidimensional data 25, user interface 321D may present at least a portion of the multidimensional data 25 (for example, in tabular form).

[0106] In the example in Figure 3E, user interface 321E presents an example of user interface 21 as shown in the example in Figure 1, where user 16 has entered a different prior input 319C' (compared to the prior input 319B' shown in the example in Figure 3A) which is "plot a bar chart". In response to receiving the prior input 319B', user interface 321E may present a graphical representation 395 of a bar chart format that provides a visual representation of the multidimensional data 25 (as defined in titanic.csv for each prior input 319A'). Graphical representation 395 has aspects 351A, 351B and 351F that overlap with the same aspects of graphical representation 350. Graphical representation 395 has an aspect "bar" 351F that allows user 16 to configure the color, dimension, size and other aspects of each bar. User 16 may proceed to associate the aspects with dimensions, generate a preview, and use the preview to generate the bar chart, as described above.

[0107] Figure 4 and Figure 5 are block diagrams showing the components of an example client device 14 shown in Figure 1. In the example shown in Figure 5, the device 14 includes a processor 412, a graphics processing unit (GPU) 414, system memory 416, a display processor 418, one or more integrated speakers 105, a display 103, a user interface 420, and a transceiver module 422. In the example where the client device 14 is a mobile device, the display processor 418 is a mobile display processor (MDP). In some examples, such as the example where the client device 14 is a mobile device, the processor 412, GPU 414, and display processor 418 may be formed as an integrated circuit (IC).

[0108] For example, an IC may be considered a processing chip within a chip package, or it may be a system-on-a-chip (SoC). In some examples, two of the processor 412, GPU 414, and display processor 418 may be housed in the same IC, while the others are housed in different integrated circuits (i.e., different chip packages), or all three may be housed in different ICs or in the same IC. However, in an example where the client device 14 is a mobile device, the processor 412, GPU 414, and display processor 418 may all be housed in different integrated circuits.

[0109] Examples of processor 412, GPU 414, and display processor 418 include, but are not limited to, one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), or other equivalent integrated or individual logic circuits. Processor 412 may be the central processing unit (CPU) of source device 12. In some examples, GPU 414 may be dedicated hardware having integrated and / or individual logic circuits that provide a GPU 414 with massively parallel processing capabilities suitable for graphics processing. In some examples, GPU 414 may have general-purpose processing capabilities and may be referred to as a general-purpose GPU (GPGPU) when performing general-purpose processing tasks (i.e., tasks not related to graphics). Display processor 418 may be dedicated integrated circuit hardware designed to retrieve image content from system memory 416, configure the image content into image frames, and output the image frames to display 103.

[0110] The processor 412 may run various types of applications. Examples of applications 29 include a web browser, an email application, a spreadsheet, a video game, other applications that generate objects visible on the display, or any of the applications described in more detail above. System memory 416 may store instructions for running applications 20. The execution of one or more applications 20 on the processor 412 causes the processor 412 to play back image data of the displayed image content and the audio data 21 to be reproduced. The processor 412 sends the image data of the image content to the GPU 414 for further processing based on instructions or commands that the processor 412 sends to the GPU 414.

[0111] Processor 412 may communicate with GPU 414 according to a specific application processing interface (API). Examples of such APIs include Microsoft® DirectX®, Khronos Group's OpenGL® or OpenGL ES® and OpenCL®, but the aspects of this disclosure are not limited to DirectX®, OpenGL® or OpenCL® and may be extended to other types of APIs. Furthermore, the technologies described in this disclosure do not require API-based functionality, and processor 412 and GPU 414 may utilize communication technologies.

[0112] The system memory 416 may be the memory of the source device 12. The system memory 416 may comprise one or more computer-readable media. Examples of the system memory 416 include, but are not limited to, random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), flash memory, or other media that can be used to hold or store desired program code in the form of instructions and / or data structures and that are accessible by a computer or processor.

[0113] In some examples, the system memory 416 may have instructions that cause the processor 412, GPU 414, and / or display processor 418 to perform the functions described in this disclosure. Therefore, the system memory 416 may be a computer-readable storage medium that stores instructions that cause one or more processors (e.g., the processor 412, GPU 414, and / or display processor 418) to perform various functions when executed.

[0114] The system memory 416 may have a non-temporary storage medium. The term "non-temporary" means that the storage medium is not carried out by a carrier wave or a propagated signal. However, the term "non-temporary" should not be interpreted as meaning that the system memory 416 is immovable or that its contents are static. As an example, the system memory 416 may be removed from the source device 12 and moved to another device. As another example, a memory substantially similar to the system memory 416 may be inserted into devices 12 / 14. In a given example, the non-temporary storage medium may store data that changes over time (for example, in RAM).

[0115] The user interface 420 may represent one or more hardware or virtual user interfaces (meaning a combination of hardware and software) on which the user can interact with the source device 12. The user interface 420 may have physical buttons, switches, toggle switches, lights, or virtual versions thereof. The user interface 420 may have a physical or virtual keyboard, a touch interface such as a touchscreen, haptic feedback, etc.

[0116] The processor 412 may have one or more hardware devices (including so-called "processing cores") configured to perform all or part of the operations described above for various devices / modules / etc. The transceiver module 422 may represent a device configured to establish and maintain a wireless connection between devices 12 / 14. The transceiver module 422 may represent one or more receivers and one or more transmitters capable of performing wireless communication according to one or more wireless communication protocols.

[0117] Figure 5 is a flowchart illustrating exemplary operation of the system of Figure 1 when various aspects of the technology described herein are implemented to enable a more cohesive user interface for the data analysis system. First, the client 30 may present an interactive text box via a first frame (or other part) of the user interface 21 in which the user 16 may enter data indicating the current input (which may be referred to as "current input 19" for simplicity of explanation) (500). The interactive text box may provide suggestions to facilitate the user 16 entering the current input 19, for example, via an expanding suggestion pane that extends above the interactive text box.

[0118] Client 30 may present an interactive log of previous inputs entered before the current input 19 (which may be referred to as "previous input 19'") via a second frame (or other part) of the user interface 21 (502). The first and second frames of the user interface 21 provide a more logically defined ability by representing natural language utterances that directly produce the result 25 using keywords and other syntax that are primarily relevant to a left-brain dominant user, so the first and second frames of the user interface 21 may correspond to user 16 when user 16 represents a left-brain dominant user.

[0119] Client 30 may further present a graphical representation of the result data 25 obtained in response to the current input 19 via a third frame of the user interface 21, the second and third parts of the user interface 21 being scrollable separately but combined as described in more detail above (504). This third frame of the user interface 21 provides further graphical / visual / artistic capabilities by representing the result 25 using a visual representation of the result 25 (e.g., charts, graphs, plots, etc.) which may represent multidimensional data (which may be referred to as a “multidimensional dataset”, and therefore “multidimensional data 25”, or “multidimensional dataset 25”), so the third frame of the user interface 21 may correspond to user 16 when user 16 represents a user who is right-brain dominant.

[0120] In this regard, various aspects of the technology described herein may facilitate better interaction with respect to the performance of data analysis while eliminating clutter and other distractions that may hinder the understanding of the results 25 provided by a data analysis system such as the data analysis system 10. As a result, the user 16 can understand the presented results 25 more quickly without having to enter additional inputs and / or perform additional interactions with the data analysis system 10, so that the data analysis system 10 may be able to operate more efficiently. By potentially reducing such inputs and / or interactions, the data analysis system 10 can save various computing resources (e.g., processing cycles, memory space, memory bandwidth, etc.) along with the power consumption consumed by such computing resources, thereby improving the operation of the data analysis system itself.

[0121] Figure 6 is a flowchart illustrating another exemplary operation of the system of Figure 1 when performing various aspects of the techniques described herein to enable a more cohesive user interface for the data analysis system. First, the client 30 may present a graphical representation of a format for visually representing the multidimensional data 25 via a user interface 21 (which may have three frames discussed throughout this disclosure) (600). The format may vary based on a particular visual representation of the multidimensional data 25. For example, a bubble plot may include an x-axis, a y-axis, bubble color, bubble size, sliders, etc. In another example, a bar graph may include an x-axis, a y-axis, bar color, bar size, sliders, etc. In any case, the graph representation may present a generic representation of a type of visual representation of the multidimensional data 25, such as a generic bubble plot, a generic bar graph, or any type of generic graph representation of the visual representation of the multidimensional data 25.

[0122] Next, user 21 may interact with this general graphical representation of the visual representation of the multidimensional data 25 to select one or more aspects (which may be in another way referring to any other aspect of a particular type of visual representation of the multidimensional data 25 previously selected by user 16, such as the x-axis, y-axis, bubble color, bubble size, slider, or any other aspect of the visual representation of the multidimensional data 25). Thus, client 30 may receive a selection of one or more aspects of the graphical representation of the format for visually representing the multidimensional data 25 via the user interface 21 (602).

[0123] After selecting one aspect, user 91 interacts with client 30 via user interface 21 to select the dimensions of the multidimensional data 25 to be associated with the selected aspect. Next, client 30, via user interface 30, selects one of the one or more aspects of the graphical representation of the format for visually representing the multidimensional data 25, and one of the one or more dimensions of the multidimensional data 25. instructions You may receive (604).

[0124] Next, the client 30 may associate the dimensions into one form in order to generate a visual representation of the multidimensional data 25 (for example, in the form of a bar graph, line graph, area graph, gauge, radar chart, bubble plot, scatter plot, graph, pie chart, density map, Gantt chart, and tree map) (606). The client 30 may then proceed to present the visual representation of the multidimensional data 25 via the user interface 21 (608).

[0125] Accordingly, various aspects of the technology described herein may facilitate the generation of visual representations of multidimensional data 25 through graphical representations of formats for such visual representations, thereby enabling visual (e.g., right-brain dominant) users to create complex visual representations of multidimensional data that would be difficult and time-consuming (e.g., due to unfamiliarity with the natural language utterances required to generate the visual representations). By reducing interaction while describing the corresponding natural language input along with the visual representation of the multidimensional data 25, the user 16 can understand the result 25 (which may also be referred to as “result 25”) more quickly in an attempt to visualize the multidimensional data 25 without entering additional inputs and / or performing additional interactions with the data analysis system 10, so that the data analysis system 10 may again operate more efficiently. By potentially reducing such inputs and / or interactions, the data analysis system 10 can save various computing resources (e.g., processing cycles, memory space, memory bandwidth, etc.) along with the power consumption consumed by such computing resources, thereby improving the operation of the data analysis system itself.

[0126] In this way, various aspects of this technology can enable the following:

[0127] Item 1A. A device configured to process data indicating the current input, comprising one or more processors that, via a first part of a user interface, present an interactive text box into which a user can input data indicating the current input; via a second part of the user interface, present an interactive log of previous inputs entered before the current input; via a third part of the user interface, present a graphical representation of result data obtained in response to the data indicating the current input, the second and third parts of the user interface being scrollable separately, but interactions in either the second or third part of the user interface being coupled to synchronize the second and third parts of the user interface; and a memory configured to store data indicating the current input.

[0128] Item 2A. The apparatus of Item 1A, wherein one or more processors present a fullscreen display via a user interface that enables a user to transition the user interface to fullscreen mode, and in response to receiving an indication that a fullscreen display has been selected by the user, the user interface is further configured to transition to a fullscreen mode in which a second portion of the user interface is minimized and a third portion of the user interface lies on top of the first portion of the user interface.

[0129] Item 3A. Any combination of items 1A and 2A of the apparatus, wherein the user interface presents an exposure display for displaying a second portion of the user interface when in full-screen mode, and one or more processors are further configured to expose the second portion of the user interface in response to the selection of the exposure display such that the second portion of the user interface at least partially overlaps a third portion of the user interface.

[0130] Item 4A. Any combination of devices according to Items 1A to 3A, wherein one or more processors are further configured to detect the type of device on which the user interface is displayed, and in response to the detected device type, transition to a full-screen mode in which a second portion of the user interface is minimized and a third portion of the user interface is located on top of the first portion of the user interface.

[0131] Item 5A. Any combination of items 1A to 4A of the apparatus, wherein the second part of the user interface is located above the first part of the user interface, and the first and second parts of the user interface are located along the right boundary of the third part of the user interface.

[0132] Item 6A. An interactive text box is any combination of the devices described in Items 1A-5A that automatically perform autocomplete actions to facilitate the input of data indicating the current input.

[0133] Item 7A. The interactive text box, as described in Item 5A, also automatically highlights the portion of data indicating the current input, which refers to the nominating form of the database to which the current input is directed.

[0134] Item 8A. An interactive text box is the device of Item 5A that limits the number of recommendations suggested during autocomplete operation to a recommendation threshold number.

[0135] Item 9A. Any combination of the devices of Items 1A to 8A, wherein an interactive text box includes a cancel indicator that allows the user to cancel processing of the data indicating the current input, and one or more processors are further configured to cancel processing of the data indicating the current input in response to the selection of the cancel indicator.

[0136] Item 10A. A method for processing data indicating the current input, comprising: presenting an interactive text box via a first part of a user interface in which a user can enter data indicating the current input; presenting an interactive log of previous inputs entered before the current input via a second part of the user interface; and presenting a graphical representation of result data obtained in response to the data indicating the current input via a third part of the user interface, wherein the second and third parts of the user interface are scrollable separately, but interactions in either the second or third part of the user interface are coupled to synchronize the second and third parts of the user interface.

[0137] The method of item 10A, further comprising: presenting a fullscreen display via the user interface that allows the user to transition the user interface to fullscreen mode; and, in response to receiving an indication that the fullscreen display has been selected by the user, transitioning the user interface to fullscreen mode in which a second portion of the user interface is minimized and a third portion of the user interface lies on top of the first portion of the user interface.

[0138] Any combination of the methods of the provisions

[0139] Any combination of the methods of items 10A to 12A, further comprising: detecting the type of device on which the user interface is displayed; and, in response to the detected device type, transitioning to a full-screen mode in which a second portion of the user interface is minimized and a third portion of the user interface lies on top of the first portion of the user interface.

[0140] Item 14A. Any combination of items 10A to 13A, wherein the second part of the user interface is located above the first part of the user interface, and the first and second parts of the user interface are located along the right boundary of the third part of the user interface.

[0141] Section 15A. An interactive text box is any combination of methods described in Sections 1A-14A that automatically performs autocomplete actions to facilitate the input of data indicating the current input.

[0142] Section 16A. The method of Section 15A, wherein the interactive text box also automatically highlights the portion of data indicating the current input, which refers to the naming convention of the database to which the current input is directed.

[0143] Section 17A. The method of Section 15A, wherein the interactive text box limits the number of recommendations suggested during autocomplete operation to a recommendation threshold number.

[0144] Item 18A. Any combination of methods of Items 10A-17A, wherein an interactive text box includes a cancel indicator that allows the user to cancel processing of the data representing the current input, and further comprises canceling processing of the data representing the current input in response to the selection of the cancel indicator.

[0145] Item 19A. A non-temporary computer-readable storage medium which stores instructions causing one or more processors to execute, when executed, to present, via a first part of a user interface, an interactive text box on which a user can enter data indicating the current input; via a second part of a user interface, an interactive log of previous inputs entered before the current input; and via a third part of a user interface, a graphical representation of result data obtained in response to the data indicating the current input, wherein the second and third parts of the user interface are scrollable separately, but interactions in either the second or third part of the user interface are coupled to synchronize the second and third parts of the user interface.

[0146] Item 1B. A device configured to perform data analysis, comprising: a memory configured to store multidimensional data; and one or more processors, which, via a user interface, present a graphical representation of a format for visually representing multidimensional data; receive a selection of one of one or more forms of the graphical representation of the format for visually representing multidimensional data via the user interface; and, via the user interface, process the dimensions of the multidimensional data for one of the one or more forms of the graphical representation of the format for visually representing multidimensional data. instructions An apparatus comprising one or more processors configured to receive data, associate dimensions into a single aspect, and present the visual representation of multidimensional data via a user interface, in order to generate a visual representation of multidimensional data.

[0147] Item 2B. The apparatus of Item 1B, wherein one or more processors are configured to associate dimensions with one aspect, and when input by a user, generate data indicating the input with dimensions associated with aspects in order to generate a visual representation of multidimensional data, and one or more processors are further configured to present the data indicating the input via a user interface.

[0148] Item 3B. Any combination of items 1B and 2B, in which one or more processors are further configured to process the dimensions of multidimensional data in order to create new dimensions of multidimensional data, and one or more processors are configured to associate the new dimensions with one aspect in order to generate a visual representation of the multidimensional data.

[0149] Item 4B. Any combination of items 1B to 3B, comprising one or more processors configured to associate dimensions with one aspect, verify that the association between a dimension and one aspect is compatible, and, when the association between a dimension and one aspect is compatible, present a preview of a visual representation of multidimensional data via a user interface.

[0150] 5B. The apparatus of 4B, wherein one or more processors are configured to associate a dimension with one aspect, and when the association between a dimension and one aspect is not suitable, the apparatus is configured to present, via a user interface, an indication that the association between the dimension and one aspect is not suitable and an option to correct the association between the dimension and one aspect.

[0151] Item 6B. Any combination of items 4B and 5B, in which one or more processors are configured to present a preview of a visual representation of multidimensional data, and to present options for editing a visual representation of multidimensional data.

[0152] Item 7B. The apparatus of Item 6B, configured to present options for editing one or more of the colors, titles, text, and descriptors associated with a visual representation of multidimensional data, when one or more processors are configured to present options for editing a visual representation of multidimensional data.

[0153] Item 8B. Any combination of items 1B to 7B, wherein one or more processors are further configured to present at least a portion of the multidimensional data in addition to a visual representation of the multidimensional data via a user interface.

[0154] Section 9B. Visual representations of multidimensional data include any combination of devices from Sections 1B to 8B, including bar graphs, line graphs, area graphs, gauges, radar charts, bubble plots, scatter plots, graphs, pie charts, density maps, Gantt charts, and tree maps.

[0155] Section 10B. A method for performing data analysis, comprising: presenting a graphical representation of a format for visually representing multidimensional data via a user interface; receiving a selection of one or more forms of the graphical representation of the format for visually representing multidimensional data via a user interface; and, for one or more forms of the graphical representation of the format for visually representing multidimensional data via a user interface, the dimensions of the multidimensional data instructions A method comprising receiving data, associating dimensions with a single mode in order to generate a visual representation of multidimensional data, and presenting the visual representation of multidimensional data via a user interface.

[0156] Item 11B. The method of Item 10B, comprising associating dimensions into one aspect, which, when input by a user, generates data indicating an input in which dimensions have been associated into one aspect in order to generate a visual representation of multidimensional data, and further comprising presenting the data indicating the input via a user interface.

[0157] Item 12B. Any combination of items 10B and 11B, further comprising processing the dimensions of multidimensional data to create new dimensions of multidimensional data, associating the dimensions into one aspect, and associating the new dimensions into one aspect to generate a visual representation of the multidimensional data.

[0158] Item 13B. A method of associating a dimension with a mode, comprising verifying that the association between the dimension and the mode is suitable, and, when the association between the dimension and the mode is suitable, presenting a preview of a visual representation of the multidimensional data via a user interface, any combination of items 10B to 12B.

[0159] Item 14B. The method of Item 13B, wherein, when the association between a dimension and a particular aspect is incompatible, the user interface provides a notification that the association between the dimension and the particular aspect is incompatible and an option to correct the association between the dimension and the particular aspect.

[0160] Section 15B. Any combination of methods of Sections 13B and 14B, comprising presenting a preview of the visual representation of multidimensional data, and also providing options for editing the visual representation of multidimensional data.

[0161] Section 16B. Providing an option to edit the visual representation of multidimensional data is the method of Section 15B, comprising providing an option to edit one or more of the colors, titles, text, and descriptors related to the visual representation of multidimensional data.

[0162] Item 17B. Any combination of items 10B to 16B, further comprising presenting at least a portion of the multidimensional data in addition to a visual representation of the multidimensional data through a user interface.

[0163] Section 18B. Visual representation of multidimensional data includes any combination of methods from Sections 10B to 17B, including bar graphs, line graphs, area graphs, gauges, radar charts, bubble plots, scatter plots, graphs, pie charts, density maps, Gantt charts, and tree maps.

[0164] Section 19B. A non-temporary computer-readable storage medium that, when executed, presents a graphical representation of a format for visually representing multidimensional data via a user interface; receives a selection of one or more forms of the graphical representation of a format for visually representing multidimensional data via a user interface; and, for one or more forms of the graphical representation of a format for visually representing multidimensional data via a user interface, the dimensions of the multidimensional data instructions A non-temporary computer-readable storage medium that stores instructions for one or more processors to receive, associate dimensions with a single aspect in order to generate a visual representation of multidimensional data, and present the visual representation of multidimensional data via a user interface.

[0165] It should be understood that in each of the various embodiments described above, the device 12 / 14 may perform the method or have means to perform each step of the method as performed by the device 12 / 14 as described above. In some embodiments, the means may comprise one or more processors. In some embodiments, one or more processors may represent dedicated processors composed of instructions stored in a non-temporary computer-readable storage medium. In other words, various aspects of the technique in each of the set of encoding examples may provide a non-temporary computer-readable storage medium storing instructions that cause one or more processors to perform the method configured to be performed by the device 12 / 14 when executed.

[0166] In one or more examples, the functions described may be implemented in hardware, software, firmware, or a combination thereof. If implemented in software, the functions may be stored or transmitted as one or more instructions or codes in a computer-readable medium and executed by a hardware-based processing unit. The computer-readable medium may include computer-readable storage media corresponding to tangible representation media such as data storage media. The data storage media may be any available medium accessible by one or more computers or processors that retrieve instructions, codes, and / or data structures for the implementation of the technologies described herein. Computer program products may include computer-readable media.

[0167] Similarly, it should be understood that in each of the various examples described above, the client device 14 may have means to perform each step of the method, or the method configured to perform the method. In some examples, the means may comprise one or more processors. In some examples, one or more processors may represent dedicated processors composed of instructions stored in a non-temporary computer-readable storage medium. In other words, various aspects of each technique in the set of coding examples may provide a non-temporary computer-readable storage medium that stores instructions for performing the method configured to be performed by one or more processors when executed.

[0168] For example, such non-temporary computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, other magnetic disk storage devices, flash memory, or any other media that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. However, computer-readable storage media and data storage media are intended to be non-temporary tangible representation media, and do not include connections, carriers, signals or other temporary media. As used herein, “disk” includes compact discs (CDs), laser discs, optical discs, digital multipurpose discs (DVDs), floppy disks (registered trademarks), and Blu-ray discs, where a disk typically reproduces data magnetically, and a disc optically reproduces data using a laser. The above combinations should also be included within the scope of computer-readable media.

[0169] Instructions may be executed by one or more processors, such as digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other equivalent integrated logic circuits or individual logic circuits. Therefore, the term “processor” as used herein may mean any other structure suitable for implementing the above-described structures or the techniques described herein. Additionally, in some examples, the functions described herein may be provided within dedicated hardware and / or software modules combined in a combined codec configured for encoding and decoding. Furthermore, the techniques can be fully implemented in one or more circuits or logic elements.

[0170] The technology disclosed herein may be implemented in various devices or equipment, including mobile phones, integrated circuits (ICs), or sets of ICs (e.g., chipsets). While various components, modules, or devices have been described in this disclosure to highlight functional aspects of devices configured to perform the disclosed technology, implementation by different hardware devices is not necessarily required. As described above, the various devices may be combined in a codec hardware device or provided by an interoperable hardware device including one or more processors described above, along with appropriate software and / or firmware.

[0171] Various aspects of the technology have been described. These and other aspects of the technology are within the scope of the claims.

Claims

1. A device configured to process data indicating the current input, One or more processors, A first part of the user interface presents an interactive text box through which the user can input data indicating the current input. Through the second part of the user interface, an interactive log of previous inputs entered before the current input is presented. Through the third part of the user interface, a graphical representation of the result data obtained in response to the data indicating the current input is presented. The second and third parts of the user interface are scrollable separately, and by selecting an interactive log of previous inputs in the second part of the user interface, a graphical representation of the interactive log of previous inputs is presented in the third part of the user interface, and by selecting a graphical representation of the result data in the third part of the user interface, the current input that gives rise to the graphical representation of the result data is presented in the second part of the user interface, A memory configured to store data indicating the current input, A device equipped with the following features.

2. The aforementioned one or more processors The user interface presents a full-screen display that allows the user to transition the user interface to full-screen mode. The apparatus according to claim 1, further configured to transition the user interface to a full-screen mode in which the second portion of the user interface is minimized and the third portion of the user interface is located above the first portion of the user interface, in response to receiving an indication that the full-screen display has been selected by the user.

3. When the user interface is in full-screen mode, it presents an exposure display for showing a second portion of the user interface. The apparatus according to claim 1, wherein the one or more processors are further configured to expose the second portion of the user interface in response to the selection of the exposure display such that the second portion of the user interface at least partially overlaps the third portion of the user interface.

4. The aforementioned one or more processors The type of device on which the user interface is displayed is detected, The apparatus according to claim 1, further configured to transition to a full-screen mode in which, in response to the type of device detected, a second portion of the user interface is minimized and a third portion of the user interface is located on top of the first portion of the user interface.

5. The second part of the user interface is located above the first part of the user interface. The apparatus according to claim 1, wherein the first portion and the second portion of the user interface are located along the right boundary of the third portion of the user interface.

6. The apparatus according to claim 1, wherein the interactive text box automatically performs an autocomplete operation to facilitate the input of data indicating the current input.

7. The apparatus according to claim 6, wherein the interactive text box also automatically highlights the portion of data indicating the current input, which refers to the designated form of the database to which the current input is instructed.

8. The apparatus according to claim 6, wherein the interactive text box limits the number of recommendations suggested during the autocomplete operation to a recommendation threshold number.

9. The interactive text box includes a cancel indicator that allows the user to cancel the processing of the data representing the current input. The apparatus according to claim 1, wherein the one or more processors are further configured to cancel processing of the data indicating the current input in response to the selection of the cancel indicator.

10. A method for processing data representing the current input, The first part of the user interface presents an interactive text box through which the user can input data indicating the current input, The second part of the user interface presents an interactive log of previous inputs that were entered before the current input, The third part of the user interface presents a graphical representation of the result data obtained in response to the data indicating the current input, Equipped with, A method comprising: a second portion and a third portion of the user interface being independently scrollable; presenting a graphical representation of an interactive log of previous inputs in the third portion of the user interface by selecting an interactive log of previous inputs in the second portion of the user interface; and presenting the current input that gives rise to a graphical representation of the resulting data in the second portion of the user interface by selecting a graphical representation of the resulting data in the third portion of the user interface.

11. The user interface presents a full-screen display that allows the user to transition the user interface to full-screen mode, In response to receiving an indication that the full-screen display has been selected by the user, the user interface is transitioned to a full-screen mode in which the second portion of the user interface is minimized and the third portion of the user interface is located on top of the first portion of the user interface. The method according to claim 10, further comprising:

12. When the user interface is in full-screen mode, it presents an exposure display for showing a second portion of the user interface. The method according to claim 10, further comprising exposing the second portion of the user interface in response to the selection of the exposure display such that the second portion of the user interface at least partially overlaps the third portion of the user interface.

13. The type of device on which the user interface is displayed is detected, In response to the detected device type, the second portion of the user interface is minimized and the third portion of the user interface is placed on top of the first portion of the user interface, transitioning to a full-screen mode. The method according to claim 10, further comprising:

14. The second part of the user interface is located above the first part of the user interface. The method according to claim 10, wherein the first portion and the second portion of the user interface are located along the right boundary of the third portion of the user interface.

15. The method according to claim 10, wherein the interactive text box automatically performs an autocomplete operation to facilitate the input of data indicating the current input.

16. The method according to claim 15, wherein the interactive text box also automatically highlights the portion of data indicating the current input, which refers to the naming convention of the database to which the current input is instructed.

17. The method according to claim 15, wherein the interactive text box limits the number of recommendations suggested during the autocomplete operation to a recommendation threshold number.

18. The interactive text box includes a cancel indicator that allows the user to cancel the processing of the data representing the current input. The method according to claim 10, further comprising canceling the processing of the data indicating the current input in response to the selection of the cancel display.

19. A non-temporary computer-readable storage medium, when executed, The first part of the user interface presents an interactive text box through which the user can input data indicating the current input, The second part of the user interface presents an interactive log of previous inputs that were entered before the current input, The third part of the user interface presents a graphical representation of the result data obtained in response to the data indicating the current input, Instructions to be executed by one or more processors are stored, A non-temporary computer-readable storage medium wherein the second and third portions of the user interface are scrollable separately, and by selecting an interactive log of previous inputs in the second portion of the user interface, a graphical representation of the interactive log of previous inputs is presented in the third portion of the user interface, and by selecting a graphical representation of the resulting data in the third portion of the user interface, the current input resulting from the graphical representation of the resulting data is presented in the second portion of the user interface.

Citation Information

Patent Citations

  • Portable electronic device for instant messaging

    JP2021013189A

  • Language-based manipulation of data visualizations

    WO2020190372A1

  • Using natural language expressions to define data visualization calculations that span across multiple rows of data from a database

    WO2021046546A1