Data analysis method and related system
By introducing a "what to see is what to get" UI interaction combined with instructive tasks and natural language dialogue in the data analysis system, the problem of low efficiency in adjusting data analysis results in existing systems is solved, and analysis efficiency and user experience are improved.
Patent Information
- Application Number
- CN202311075219.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-24
- Publication Date
- 2025-02-28
AI Technical Summary
When the data analysis results do not meet user expectations, it is difficult to achieve targeted adjustments to the results, reducing the efficiency and user experience of data analysis.
Through instructive tasks, the data analysis results are directionally adjusted, combining natural language dialogue and "what see is what you get" UI interaction, supporting multiple rounds of dialogue and rich interactive operations.
It improves data analysis efficiency and user experience, realizes accurate adjustment of data analysis results and continuity of multiple rounds of question-and-answer processes.
Smart Images

Figure CN119537576A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence (AI) technology, and in particular to a data analysis method, system, computing device cluster, computer-readable storage medium, and computer program product. Background Art
[0002] With the advent of the information age, data is growing explosively, resulting in a variety of data governance and data analysis products, such as various business intelligence (BI) products. Due to the breakthrough and application of big model technology, natural language to structured query language (NL2SQL), automatic chart recommendation and enhanced analysis technology around natural language have become the main development trends of the third generation of BI products.
[0003] Data analysis capabilities (such as data query and analysis capabilities) are the core competitiveness provided by various BI products today. How to design and provide a variety of easy-to-use interactive auxiliary analysis tools, reduce the repeated development costs of data analysts, and improve data analysis efficiency has become one of the important evaluation criteria for building competitiveness.
[0004] For complex analysis scenarios where users want to quickly discover insights from unknown data through exploratory analysis from scratch, due to the process characteristics of gradual iterative discovery of "input, association, configuration" that search-based interaction naturally possesses, exploratory question-and-answer or dialogue based on search boxes have become popular and have since become the cornerstone of the interactive analysis form of the next generation of BI products. Natural language, as an extremely simple and natural form of human-computer interaction, has a natural adaptability to BI products under this form of interaction, and was immediately introduced into exploration.
[0005] In recent years, the analytical reasoning capabilities of large models are on the rise, and natural language has begun to be widely used in the data analysis systems of BI products. Natural language-assisted data analysis systems include dialogue systems that support multiple rounds of natural language interaction (also known as question-and-answer systems). The system supports the analysis experience of natural language interaction, uses the form of natural language dialogue, does not require the analysis process of the perception model, and lowers the threshold for data analysis.
[0006] When the data analysis results output by the data analysis system do not meet the user's expectations, the user is usually required to re-enter the natural language to continue the data analysis. However, the above method is difficult to achieve directional adjustment of the data analysis results, which reduces the efficiency of data analysis and affects the user experience. Summary of the invention
[0007] The present application provides a data analysis method, which can support the directional adjustment of the data analysis results through command-based tasks when the data analysis results are unexpected results, and build a UI that supports both fluent natural language dialogue and rich "what you see is what you get" interaction, thereby improving the efficiency of data analysis and user experience. The present application also provides a data analysis system, a computing device cluster, a computer-readable storage medium, and a computer program product corresponding to the above method.
[0008] In a first aspect, the present application provides a data analysis method. The method can be applied to a data analysis system, which is used to perform data analysis through multiple rounds of conversations. The data analysis system can be a software system, which can be a BI product or integrated into a BI product. For example, the data analysis system can be integrated into an existing BI cloud service analysis engine as a plug-in. The software system can be deployed on a computing device cluster, which executes the program code of the software system to execute the data analysis method of the present application. The data analysis system can also be a hardware system, for example, it can be a computing device cluster with data analysis capabilities. When the computing device cluster is running, the data analysis method of the present application is executed.
[0009] Specifically, the data analysis system receives the user's input content, classifies the intent according to the input content, and determines the task type indicated by the input content, which includes a natural language-based analysis task or an imperative task. When the task type indicated by the input content is an imperative task, the data analysis system can determine the subtask type of the imperative task by matching the instruction keywords, and obtain the historical conversation-related content of the input content. The data analysis system can process the historical conversation-related content according to the subtask type to obtain the adjusted data analysis results.
[0010] This method can support the directional adjustment of data analysis results through command-based tasks when the data analysis results are unexpected results. The command-based tasks can achieve "what you see is what you get". The directional adjustment of "what you see is what you get" can be combined with the interaction mode of natural language dialogue to build a UI that supports both smooth natural language dialogue and rich "what you see is what you get" interaction, thereby improving data analysis efficiency and user experience. Furthermore, the "what you see is what you get" interaction performed by users can also be prefabricated into a unified natural language by command operations to ensure the continuity and immersive experience of users (such as data analysts) in the multi-round question-and-answer process.
[0011] In some possible implementations, the data analysis system may also obtain a feature vector of the input content, and obtain a feature vector of at least one dialogue topic tree of the user. Each node of the dialogue topic tree records a round of dialogue information, and the dialogue information includes the natural language input by the user and / or the tags parsed from the natural language. The feature vector of the dialogue topic tree is determined according to the feature vector of the node in the dialogue topic tree. Accordingly, the data analysis system may determine the similarity between the feature vector of the input content and the feature vector of the at least one dialogue topic tree; when the similarity between the feature vector of the input content and the feature vector of the target topic tree meets the first set condition, the task type is determined to be the directive task.
[0012] This method determines the task type by the similarity between the feature vector of the input content and the feature vector of the dialogue topic tree, and has high accuracy.
[0013] In some possible implementations, the data analysis system may also determine the similarity between the feature vector of the input content and the feature vector of at least one node in the target subject tree. When the similarity between the feature vector of the input content and the feature vector of the target node in the target subject tree satisfies the second set condition, the feature vector of the target node is obtained, and the feature vector is encoded according to at least one of the natural language input by the user, the chart slot information, the chart data, and the chart presentation style.
[0014] This method calculates the similarity between the feature vector of the input content and the feature vector of the node in the target topic tree, thereby accurately obtaining the feature vector of the target node as the context (historical conversation related content) based on the similarity and participating in data analysis, thereby improving the accuracy of data analysis. Furthermore, when determining the context, a weight calculation factor can be added to the similarity calculation based on the prior knowledge of the node hierarchy and the conversation turn index, so that the algorithm is more inclined to select the user's more complete and updated conversation as the current context, thereby improving the accuracy of data analysis.
[0015] In some possible implementations, the data analysis system can also create a child node belonging to the target node for the target topic tree, and the child node is used to record the instruction operation of this round of dialogue and the returned chart slot information. In this way, the target topic tree can be updated so that directional adjustments can be made based on the results of this round of dialogue.
[0016] In some possible implementations, if the similarity between the feature vector of the input content and the feature vector of the at least one dialogue topic tree does not satisfy the first set condition, the data analysis system may also determine that the task type is the natural language-based analysis task.
[0017] This makes it compatible with existing solutions and allows data analysis to continue based on natural language analysis tasks, with high availability.
[0018] In some possible implementations, the data analysis system may also create a new dialogue topic tree, the dialogue topic tree including a root node, the root node being used to record the input content and tags parsed from the input content. The method creates a new dialogue topic tree for a natural language-based analysis task, so that subsequent directional adjustments can be made based on the new dialogue topic tree.
[0019] In some possible implementations, the subtask type includes at least one of enhanced analysis, chart type modification, chart presentation style modification, and label modification, so as to meet different types of analysis requirements of users and have high usability.
[0020] In some possible implementations, when the input content matches the chart type keyword successfully, the data analysis system can determine that the subtask type is the chart type modification; when the input content matches the algorithm keyword successfully, the data analysis system can determine that the subtask type is the enhanced analysis; when the input content matches the chart style keyword successfully, the data analysis system can determine that the subtask type is the chart presentation style modification; when the input content fails to match, the data analysis system can determine that the subtask type is the label modification.
[0021] This method improves the classification efficiency of subtask types through simple keyword matching operations, and does not require complex calculations, saving computing resources.
[0022] In a second aspect, the present application provides a data analysis system. The system is used to perform data analysis through multiple rounds of dialogue, and the system includes:
[0023] An interactive subsystem, used to receive user input;
[0024] A traffic diversion control subsystem is used to classify the intent according to the input content, determine the task type indicated by the input content, and the task type includes a natural language-based analysis task or an instruction-based task. When the task type indicated by the input content is the instruction-based task, determine the subtask type of the instruction-based task by matching instruction keywords, and obtain historical conversation-related content of the input content;
[0025] The analysis subsystem is used to process the historical conversation related content according to the subtask type to obtain adjusted data analysis results.
[0026] In some possible implementations, the flow splitting control subsystem is further used to:
[0027] Acquire a feature vector of the input content, and acquire a feature vector of at least one dialogue topic tree of the user, wherein each node of the dialogue topic tree records a round of dialogue information, and the dialogue information includes a natural language input by the user and / or a tag parsed from the natural language, and the feature vector of the dialogue topic tree is determined according to the feature vectors of the nodes in the dialogue topic tree;
[0028] The flow diversion control subsystem is specifically used for:
[0029] Determining the similarity between the feature vector of the input content and the feature vector of the at least one dialog topic tree;
[0030] When the similarity between the feature vector of the input content and the feature vector of the target subject tree meets a first set condition, the task type is determined to be the command-based task.
[0031] In some possible implementations, the flow splitting control subsystem is specifically used to:
[0032] Determine the similarity between the feature vector of the input content and the feature vector of at least one node in the target topic tree;
[0033] When the similarity between the feature vector of the input content and the feature vector of the target node in the target subject tree meets the second set condition, the feature vector of the target node is obtained, and the feature vector is encoded according to at least one of the natural language input by the user, chart slot information, chart data, and chart presentation style.
[0034] In some possible implementations, the flow splitting control subsystem is further used to:
[0035] For the target topic tree, a child node belonging to the target node is created, and the child node is used to record the instruction operation of this round of dialogue and the returned chart slot information.
[0036] In some possible implementations, the flow splitting control subsystem is specifically used to:
[0037] The similarity between the feature vector of the input content and the feature vector of the at least one dialogue topic tree does not satisfy the first set condition, and the task type is determined to be the natural language-based analysis task.
[0038] In some possible implementations, the flow splitting control subsystem is further used to:
[0039] A new dialog topic tree is created, wherein the dialog topic tree includes a root node, and the root node is used to record the input content and tags parsed from the input content.
[0040] In some possible implementations, the subtask type includes at least one of enhanced analysis, chart type modification, chart presentation style modification, and label modification.
[0041] In some possible implementations, the flow splitting control subsystem is specifically used to:
[0042] When the input content successfully matches the chart type keyword, determining the subtask type as the chart type modification;
[0043] When the input content successfully matches the algorithm keyword, determining the subtask type as the enhanced analysis;
[0044] When the input content successfully matches the chart style keyword, determining the subtask type as the chart presentation style modification;
[0045] When the input content fails to match, the subtask type is determined to be the tag modification.
[0046] In a third aspect, the present application provides a computing device cluster. The computing device cluster includes at least one computing device, and the at least one computing device includes at least one processor and at least one memory. The at least one processor and the at least one memory communicate with each other. The at least one processor is used to execute instructions stored in the at least one memory, so that the computing device or the computing device cluster performs the data analysis method described in the first aspect or any one of the implementations of the first aspect.
[0047] In a fourth aspect, the present application provides a computer-readable storage medium, in which instructions are stored, and the instructions instruct a computing device or a computing device cluster to execute the data analysis method described in the first aspect or any one of the implementations of the first aspect.
[0048] In a fifth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computing device or a computing device cluster, enables the computing device or the computing device cluster to execute the data analysis method described in the first aspect or any one of the implementations of the first aspect.
[0049] Based on the implementations provided in the above aspects, this application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] In order to more clearly illustrate the technical method of the embodiments of the present application, the drawings required for use in the embodiments are briefly introduced below.
[0051] Figure 1A schematic diagram of the architecture of a data analysis system provided in an embodiment of the present application;
[0052] Figure 2 A schematic diagram of a flow chart of a question-answer diversion model for diversion provided in an embodiment of the present application;
[0053] Figure 3 A schematic diagram of the structure of a conversation topic tree provided in an embodiment of the present application;
[0054] Figure 4 A schematic diagram of an interactive process for performing data query and analysis in a data analysis system provided in an embodiment of the present application;
[0055] Figure 5 A flowchart of a data analysis method provided in an embodiment of the present application;
[0056] Figure 6 A schematic diagram of an interface of an analysis engine dashboard viewing state provided in an embodiment of the present application;
[0057] Figure 7 An interactive interface diagram of different stages of data analysis provided by an embodiment of the present application;
[0058] Figure 8 A schematic diagram of an interface for importing data analysis results into an analysis engine dashboard provided in an embodiment of the present application;
[0059] Fig. 9 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0060] Fig.10 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0061] Fig.11 A schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application;
[0062] Fig.12 A schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION
[0063] The terms "first" and "second" in the embodiments of the present application are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features.
[0064] First, some technical terms involved in the embodiments of the present application are introduced.
[0065] Business Intelligence (BI) refers to the use of modern data warehouse technology, online analytical processing (OLAP) technology, data mining and data presentation technology to analyze data in order to mine and utilize the value of data. BI can be used in different industries or scenarios to analyze different types of data. For example, the data processed by BI can be the production data of goods recorded by the production management system, the quality inspection data recorded by the quality management system, the sales data recorded by the sales system, or the code data stored by the code hosting platform. BI analyzes the above data and provides corresponding suggestions.
[0066] Business intelligence usually breaks down data analysis capabilities into the integration of three sub-capabilities: data query capability, visualization capability, and enhanced analysis capability. The following describes data query capability, visualization capability, and enhanced analysis capability respectively.
[0067] Data query capability refers to the ability to construct query statements based on specialized query languages based on user input, and to efficiently execute underlying query statements to quickly return the data required by users. Data query capability requires the reasonable design of a domain-specific language (DSL) for data query as a bridge to communicate between user interaction input on the user interface (UI) interface and data query statements. A domain-specific language is a programming language optimized for a specific class of problems and containing higher-level abstractions. DSLs typically use concepts and rules from a profession or domain.
[0068] Visual presentation capability refers to the ability to generate concise and elegant visualization charts based on the data returned by the query engine. Visual presentation capability usually involves the encoding selection and overall optimization of multiple possible visual channels of visualization elements to achieve fast feedback and "what you see is what you get" presentation experience.
[0069] Enhanced analytical capabilities are to assist users in discovering potential anomalies and characteristic patterns in data. Furthermore, enhanced analytical capabilities can generate predictions based on existing phenomena, derive possible intelligent data insights, or automatically generate valuable data stories. In this way, data value can be repeatedly mined.
[0070] The realization of the above data analysis capabilities depends on the user's interaction in the UI. Specifically, many BI products require users to provide complex configuration information such as tables, fields, and filter conditions required in the data query process. Among them, most BI products retain or adopt the classic chart slots and the interaction method based on the data set fields to support users to perform "drag and drop" interaction. This method uses data sets and table fields as available resources, and supports users to directly present relatively simple and easy-to-understand charts in the dashboard through the "what you see is what you get" interaction method. For such configured charts, users can also make secondary configuration modifications to the charts in the slot panel, and directly feedback the modified results to the user through the one-to-one binding method between the slot panel and the chart display. The "drag and drop" method is undoubtedly simple and effective. If the user's data analysis task is very deterministic and purposeful, even extremely complex data query and analysis configuration scenarios can be efficiently supported by the "drag and drop" method.
[0071] For complex analysis scenarios where users want to quickly discover insights from data through exploratory analysis from scratch, the "drag and drop" method is unlikely to achieve good analysis results. With the rise of large-scale model analysis and reasoning capabilities, natural language has begun to be widely used in the field of data analysis. Natural language-assisted data analysis systems can include the following types: natural language-assisted word segmentation search, single-question-and-answer query systems, and dialogue systems that support multiple rounds of natural language interaction.
[0072] The dialogue system that supports multiple rounds of natural language interaction allows users to have an immersive analysis experience. It uses pure natural language dialogue, without the need to perceive the analysis process of the model, and lowers the threshold for data analysis. The above dialogue system can support users to add and create analysis reports on the dashboard using pure natural language, and at the same time achieve seamless embedding of enhanced analysis in the form of dialogue. However, this form is relatively more black-box, and it is difficult for users to make targeted adjustments to the unexpected chart data and presentation results given by the model.
[0073] In view of this, the present application provides a data analysis method. The method can be applied to a data analysis system, which is used to perform data analysis through multiple rounds of conversations. The data analysis system can be a software system, and the software system can be a BI product or integrated in a BI product. For example, the data analysis system can be integrated into an existing BI cloud service analysis engine as a plug-in. The software system can be deployed on a computing device cluster, and the computing device cluster executes the program code of the software system, thereby executing the data analysis method of the present application. The data analysis system can also be a hardware system, for example, it can be a computing device cluster with data analysis functions. When the computing device cluster is running, the data analysis method of the present application is executed.
[0074] Specifically, the data analysis system can receive the user's input content, and then classify the intent according to the input content to determine the task type indicated by the input content, which includes a natural language-based analysis task or an imperative task. When the task type indicated by the input content is an imperative task, the data analysis system determines the subtask type of the imperative task by matching the instruction keywords, and obtains the historical conversation-related content (also called context, context content, context information) of the input content, and then processes the historical conversation-related content according to the subtask type to obtain the adjusted data analysis results.
[0075] This method can support the directional adjustment of data analysis results through command-based tasks when the data analysis results are unexpected results. The command-based tasks can achieve "what you see is what you get". The directional adjustment of "what you see is what you get" can be combined with the interaction mode of natural language dialogue to build a UI that supports both smooth natural language dialogue and rich "what you see is what you get" interaction, thereby improving data analysis efficiency and user experience. Furthermore, the "what you see is what you get" interaction performed by users can also be prefabricated into a unified natural language by command operations to ensure the continuity and immersive experience of users (such as data analysts) in the multi-round question-and-answer process.
[0076] In order to make the technical solution of the present application clearer and easier to understand, the system architecture of the data analysis system of the present application is introduced below with reference to the accompanying drawings.
[0077] See also Figure 1 The schematic diagram of the architecture of a data analysis system shown in the figure includes an interactive subsystem 100, a diversion control subsystem 200, and an analysis subsystem 300. The interactive subsystem 100 is used to receive the user's input content, and the diversion control subsystem 200 is used to classify the intent according to the input content, and determine the task type indicated by the input content, and the task type includes an analysis task based on natural language or an imperative task. When the task type indicated by the input content is the imperative task, the subtask type of the imperative task is determined by matching the instruction keywords, and the historical conversation-related content of the input content is obtained. The analysis subsystem 300 is used to process the historical conversation-related content according to the subtask type to obtain the adjusted data analysis results.
[0078] In some possible implementations, the interactive subsystem 100 includes a front-end input module 102 and a UI interaction module 104. The front-end input module 102 is used to receive natural language input by the user. In other words, the user's input content can be natural language. The UI interaction module 104 is used to provide the user with a task trigger control corresponding to at least one subtask type, and receive an interactive operation triggered by the user through the task trigger control, which can be an imperative operation. Among them, the task trigger control can be a menu, button or shortcut key provided by the UI interface. In some possible implementations, the subtask type includes one or more of enhanced analysis, chart type modification, chart presentation style modification, and label modification. Among them, the label refers to a labeled word segmentation, which can usually be a data field of a chart (corresponding to a chart slot). Accordingly, the UI interface can provide a chart type switch button, a label modification button, a chart presentation style modification button or an enhanced analysis button.
[0079] Furthermore, the interactive subsystem 100 may also include an instruction language generation module 106. The instruction language generation module 106 is used to convert the user's interactive operation into a natural language. The instruction language generation module 106 may convert the interactive operation into a natural language in a regularized manner.
[0080] The shunt control subsystem 200 is an important subsystem in the data analysis system 10 that realizes a multi-round dialogue data analysis system that combines natural language input and "what you see is what you get" UI interaction while ensuring the correct context. The subsystem 200 can receive any input content generated by the user. The input content can be natural language, such as a question-and-answer question based on NL2SQL. The input content can also be an interactive operation, such as a user's command-based selection of a chart in an existing dialogue, a directional adjustment of the chart, including but not limited to the user's label modification of the data analysis results (usually in the form of a chart, sometimes also called a data analysis result chart) (such as fine-tuning post-processing of the label), the user's command modification of the chart presentation style, chart type, or the implementation of the enhanced analysis algorithm. In order to handle a variety of natural language inputs with different subtasks and enable different interactive operations to support a unified implementation entry in this system, the shunt control subsystem 200 implements an algorithm flow based on intent classification and context control, so that different natural languages of users are shunt to the corresponding processing modules in the analysis subsystem 300 for processing and uniformly encapsulate and return data analysis results.
[0081] The diversion control subsystem 200 includes a question-answer diversion module 202 and a context control module 204. The question-answer diversion module 202 is used to classify the intent of natural language (natural language input by the user or natural language converted by the instruction language generation module), determine the task type indicated by the input content, and when the task type indicated by the input content is the instruction task, determine the subtask type of the instruction task by matching instruction keywords. The context control module 204 is used to obtain the historical dialogue-related content of the input content, that is, select the context.
[0082] Among them, the question-answer diversion module 202 can realize task diversion through the question-answer diversion model. Figure 2 As shown in the figure, the task of classifying the intent of the natural language input by the user is broken down into a two-stage classification process from coarse to fine. Among them, the natural language generated by the instruction language generation module for the user's "what you see is what you get" interaction can be directly and simply classified as instruction-type natural language in the form of pre-made specific characters (such as magic characters, including but not limited to "*", "#" and other characters) and directly undergo two-stage fine classification, or it can be used as a general natural language to complete the entire process of the question-answering classification model.
[0083] In the first stage of intent classification, the question-answer classification model can determine the task type indicated by the user's input content, thereby distinguishing whether the user wants to carry out a new natural language-based analysis task (such as NL2SQL) or perform a command-based operation based on natural language. Among them, the command-based operation can be subdivided into label adjustment (chart label segmentation slot adjustment), chart type switching, chart presentation style update or enhanced analysis in the subsequent second stage.
[0084] Considering that statements that execute natural language queries and statements that execute imperative operations have significant differences in syntactic structure and entity matching result components, the question-answer diversion model can use a natural language component analysis process that is unaware of metadata semantic information to perform intent classification.
[0085] In a specific implementation, the data analysis system 10 (e.g., the question-answer diversion module 202 in the data analysis system 10) can input the entire natural language sentence into a pre-trained natural language model (also referred to as a pre-trained model) to achieve the representation of the natural language in a continuous feature space. Before inputting the pre-trained model, a desemanticization operation can be performed first.
[0086] During preprocessing, the data analysis system 10 can construct the metadata information in the data set to generate a field tree data structure with an inverted index, and the field tree data structure includes at least one of the index, category, naming, description, and synonym information of the data table, field, and enumeration value in the data set. The data analysis system 10 can also construct a dictionary library, such as a commonly used description dictionary library, as an input to the question-answer diversion model to assist in the parsing of natural language. Among them, the field tree data structure and the dictionary library can be stored in the knowledge base in the form of a knowledge graph.
[0087] When performing the desemanticization operation, the data analysis system 10 can segment the natural language input by the user, and perform similarity matching on each segmented word based on the above-mentioned data structure (for example, a dictionary tree data structure). If the match is successful, the segmented word in the natural language can be directly replaced by a regularized matched entity type based on the result type of the match in the knowledge graph. For example, some segmented words can be replaced by fields, enumeration values, etc. When embedding whole sentence features based on a pre-trained natural language model, a corresponding field data information annotation is generated for this part, wherein the field data information annotation may include the data type of the field.
[0088] For unmatched word segments, the data analysis system 10 can perform auxiliary matching based on a commonly used description dictionary library. Specifically, the data analysis system 10 performs classification based on a regularization model to determine whether the word segment is marked as a filtering condition for a time field. If the word segment is identified as being related to the time field, the word segment can be replaced with the natural language of "time" and participate in the subsequent feature embedding process.
[0089] For example, when a user enters the query "What was the revenue of the Beijing representative office last year?", the word segmentation model can decompose the complete natural language into a word segmentation sequence of "Beijing representative office", "last year", "of", "revenue", and "how much". Among them, "Beijing representative office" can be directly replaced with "dimension enumeration value" when it is matched to the enumeration value of "Beijing representative office" in the "representative office" dimension field in the metadata information at the same time. "Last year" is not matched by the entity matching rule and is identified as "time" in the subsequent time field classification. "Revenue" will be matched to the measurement field in the metadata of the data set and will also be replaced. The natural language that is actually embedded with the whole sentence feature vectorization based on the pre-trained model is "What is the measurement of the dimension enumeration value time".
[0090] The above-mentioned semantic operation can eliminate the influence of the natural language semantic information of the metadata table, field and enumeration value itself on the embedding of the whole sentence feature, and strengthen the expressive ability of the vectorized representation in sentence components and syntactic analysis. After the above process, the user's natural language is expressed as a feature vector. Among them, the data analysis system 10 can use a binary classifier based on machine learning to realize the classification of NL2SQL and imperative natural language. The natural language marked as NL2SQL query task is directly diverted to the NL2SQL module of the analysis subsystem 300, while the natural language classified as imperative intent continues to be processed in the second stage.
[0091] In the second stage of intent classification, the commanded natural language (such as the natural language converted by the command language generation module 106) can be classified into the subtasks defined by the question-answer diversion model. Specifically, the commanded natural language can be classified into the following categories of subtasks: enhanced analysis, chart type modification, chart presentation style update, and label modification.
[0092] exist Figure 1 In the system, the "what you see is what you get" interaction performed by the user can also be prefabricated into a unified natural language based on the instruction language generation module 106, ensuring the continuity and immersive experience of the data analyst in the multi-round question-and-answer process. Among them, the data analysis system 10 can integrate and unify all the supported keywords involved in the prefabricated instructions of the enhanced analysis subtask, chart type modification subtask, chart presentation style update subtask or label modification subtask, and realize the function of subtask intent classification by a lightweight regularized model guided by keyword matching.
[0093] Since the user's natural language input is in the form of instructions, it naturally has the unity of keywords. For example, when switching chart types, the chart type is usually specified. When executing an enhanced analysis algorithm, the natural language input usually includes the name of the algorithm. The data analysis system 10 matches the natural language input by the user with keywords. If the keyword corresponding to the operation is identified, the natural language is diverted to the corresponding processing module for specific instruction execution.
[0094] For example, if the imperative natural language input includes "line chart", the question and answer classification model can identify the subtask type as switching chart types, if the imperative natural language input includes "anomaly detection", the question and answer classification model can identify the subtask type as enhanced analysis, and if the imperative natural language input includes "grayscale image", the question and answer classification model can identify the subtask type as updating the chart presentation style. When the imperative natural language input does not include all keywords, the question and answer classification model can identify the subtask type as label modification, specifically the chart labeling segmentation modification subtask. For subtasks of the label modification type, the data analysis system 10 can search for all fields and enumeration value entities in the label of the chart selected by the context control model, associate it with the fields and enumeration value entities matched in the user's natural language input segmentation in stage one, determine the label that the user needs to modify, and use task trigger controls such as modify buttons to update the label, and use the updated label as input to achieve the task of diverting the task to the segmentation query module of the analysis subsystem 300.
[0095] The context control module 204 can achieve context acquisition through a context control model. The context control model is used to help users select the context in the historical conversation before executing the imperative operation described in natural language after the first stage of the question and answer diversion model is processed, and determine the data analysis chart for the imperative operation. Therefore, the context control model can model the question and answer content of each round of conversation conducted by the user based on natural language. In the context control model proposed in this system, a single round of conversation conducted by the user may include multimodal heterogeneous data, including input natural language, labels (chart slot information), chart data, and chart presentation style configuration. The context control module can encode the multimodal heterogeneous data into a feature vector as a representation of each round of conversation.
[0096] The data analysis system 10 also constructs a "dialogue topic tree" based on the idea of "state transfer". The dialogue topic tree is a tree-like data structure that records dialogues. Each node of the dialogue topic tree records a round of dialogue information, and the dialogue information includes the natural language input by the user and / or the tags parsed from the natural language. In this way, it can describe the interaction trajectory of the user always maintaining multiple rounds of Q&A / interactive adjustments under the same Q&A "topic" under multiple rounds of Q&A.
[0097] Figure 3A structural diagram of a dialogue topic tree is shown. Whenever a user performs an analysis task based on natural language, for example, the natural language input by the user is classified as a new NL2SQL task by the question-answer diversion model, the data analysis system 10 can create a root node R of the dialogue topic tree, representing that the user has conducted a dialogue on a new topic. When the user performs a WYSIWYG interactive operation or a natural language-based imperative operation (such as enhanced analysis, switching chart types, updating chart presentation styles, and label modification) on the chart returned by NL2SQL, the process is regarded as a state transfer under this topic, and the data analysis system 10 can create a child node R1 under the current node of the question-answer topic tree. Since the above-mentioned imperative operations can be executed multiple times and can be performed on the dialogue at any time in the historical dialogue (the user manually selects to execute based on the WYSIWYG interaction or the dialogue finally selected based on the context control model), whenever the user performs this operation, the question topic tree maintained by the data analysis system 10 can create a child node (also called a leaf node) under the node currently selected for update, and fill in the information such as the chart and slot returned by this operation and the system.
[0098] Based on the above data structure design, the data analysis system 10 can construct a multi-round question-answering process in a linear dialog box into a forest structure, and each tree structure (dialogue topic tree) in the forest structure includes all the dialogue interactions of the user under a dialogue topic. Each time a new natural language dialogue input is executed, the context control model constructed by the data analysis system 10 is also based on a two-stage selection scheme to determine the dialogue targeted by the user's command operation.
[0099] In the first stage, the data analysis system 10 can select a conversation topic tree from the forest structure to determine the topic of the user's conversation. In specific implementation, the data analysis system 10 can construct a feature expression for each conversation topic tree, that is, construct a feature vector for each conversation topic tree. The feature vector (vectorized expression) of the conversation topic tree is determined by the feature vector of the node in the conversation topic tree.
[0100] The feature vector of the node is obtained by encoding at least one of the natural language input by the user, the chart slot information, the chart data, and the chart presentation style. Each node records a round of dialogue in multiple rounds of dialogue. The node information of a single dialogue can be used in feature embedding as follows:
[0101] Natural language: As the user's original input, it is expressed using the whole sentence feature embedding method. In the dialogue topic tree, the natural language input corresponding to the nodes on the path from the root node to the child node can be pieced together to express the natural language input of multiple rounds of dialogue.
[0102] Tags: Tags are regarded as the result expression of the segmented entity matching corresponding to the natural language input by the user. The data analysis system 10 can use the name, description, type and other information of each segmented entity as input to obtain the feature vector construction of the segmentation level. At the same time, the parameterized configuration items generated by the enhanced analysis algorithm can also participate in feature engineering as an independent part.
[0103] Chart presentation style: The modifiable presentation configuration items abstracted from the chart visualization returned by the system are summarized, such as chart type, color palette, etc., and a manual feature vector is constructed to participate in the overall feature engineering.
[0104] Furthermore, considering that each node on the conversation topic tree has different contributions to the result expression, the data analysis system 10 can perform weighted operations on the feature vectors of the nodes to obtain the feature vectors of the conversation topic tree. The weight calculation factors include at least one of the following:
[0105] Node level: The level of a node in the conversation topic tree can represent the degree of refinement of the user's adjustments to the question and answer results. Specifically, the lower the level of the node (the closer to the leaf node), the higher the degree of completion of the adjustment result by the user, and the closer to the chart data and presentation results expected by the user, and thus has a higher weight.
[0106] Dialogue turn index: Each node has a fixed turn index in the multi-turn dialogue structure. Dialogues with later indexes (newer dialogues) are more likely to be mentioned by users in subsequent dialogues, and therefore have higher weights.
[0107] Based on this, the data analysis system 10 can determine the feature vector of the conversation topic tree based on the feature vector and weight (or contribution) of the extracted single node. The data analysis system 10 extracts the feature vector of the natural language currently input by the user, then performs similarity analysis, and finally selects the conversation topic tree that is closest to the current conversation, completing the task of the first stage.
[0108] In the second stage, the data analysis system 10 selects a specific node in the conversation topic tree and obtains the feature vector of the node as the context of the current natural language. In essence, it selects a state to switch from the current conversation topic. The basic idea is consistent with the solution in the first stage. After the user's natural language sentence is vectorized, the distance is calculated with the vectorized expression (feature vector) of each node in the current topic tree to determine the similarity. Furthermore, the data analysis system 10 can add a weight calculation factor to the similarity calculation based on the prior knowledge of the node hierarchy and the conversation turn index, so that the context control model is more inclined to select the conversation that the user has adjusted more completely and updated as the current context.
[0109] It should be noted that the scheme adopts the same parameters and schemes as those in the first stage in the second stage, which can make the dialogue topic selected in the first stage more accurate. The final context control model determines the context of the input content (historical dialogue related content) for the input content classified as the directive task.
[0110] In some possible implementations, the analysis subsystem 300 includes one or more of a query analysis module 302 , a tag query module 304 , an instruction processing module 306 , an enhanced analysis module 307 , or a chart recommendation module 308 . Further, the molecule subsystem 300 may also include a question and answer recommendation module 309 .
[0111] Among them, the query analysis module 302 is used to perform a new query analysis based on natural language. In some examples, the query analysis module 302 can be implemented by the NL2SQL model, also referred to as the NL2SQL module. The NL2SQL module is used to process analysis tasks (such as NL2SQL tasks) classified by the question-answer diversion model as natural language-based. The natural language of the user in multiple rounds of dialogues based on natural language input for fine-tuning post-processing, optimizing the visual chart display of query results, and executing high-order analysis-related algorithms can be processed by other modules in the analysis subsystem 300, such as the label query module 304, the instruction processing module 306, the enhanced analysis module 307, or the chart recommendation module 308.
[0112] When the natural language input by the user is marked as an analysis task (request) based on natural language, the input can be used as the input of the NL2SQL model to execute natural language parsing and SQL generation solutions, and complete the subsequent data query and visualization closed loop. Otherwise, the data analysis system 10 routes the request to the corresponding module, and different instructions support different instruction execution strategies. For example, the natural language input by the user is classified as an enhanced analysis subtask, specifically the execution of the "automatic insight generation" algorithm, then the chart data of the current context and the default algorithm hyperparameter configuration items can be used as input and submitted to the enhanced analysis module 307 for subsequent processing. When the user's natural language is classified as a label query subtask, the request can be routed to the label query module 304, which can decompose the natural language passed by the user, extract the labels described therein, search for the labels specified in the context semantics, modify the modified values described by the user in the natural language, and re-query the data until the subsequent closed loop is completed. It should be noted that not all instructions will stay in the background for subsequent processing after the question and answer diversion module 202. When the question diversion module 202 recognizes that the user's intention is to modify the visualization configuration related operations presented in the chart, such as switching the chart type and optimizing the chart color scheme, since the rendering and drawing of this part are implemented and executed by the front-end UI interaction module 104, the request can be returned directly and handed over to the system front-end drawing module for subsequent processing of the chart drawing. Based on the design of the question and answer diversion module, the data analysis system 10 can perform "what you see is what you get" interactive operations based on natural language and UI, and a unified entrance ensures the correct context, realizing a full-process engineering implementation plan for data query result presentation, slotted fine-tuning post-processing, and visual enhanced analysis.
[0113] For ease of understanding, different modules of the processing subsystem 300 are introduced separately below.
[0114] The NL2SQL model of the query analysis module 302 can be disassembled into field association, knowledge reasoning and SQL optimization generation. The present application provides a typical NL2SQL technical route based on building a metadata knowledge graph and completing it based on template and semantic similarity matching. The user's natural language is reconstructed into a universal domain professional language label through field association and knowledge reasoning, and then assembled into a complete data query language. In the preparation stage, the data analysis system 10 can generate a variety of intermediate knowledge structures from the metadata in the data set, such as a dictionary tree data structure with an inverted index and semantic feature embedding (embedding), which is convenient for subsequent entity matching and knowledge reasoning. The matching rules guided by this intermediate knowledge structure can be abstracted into three different levels, namely formalized template matching, structured concept level matching and semantic space similarity matching. The natural language parsing and recognition capabilities abstracted from these three levels of matching can effectively improve the accuracy of NL2SQL.
[0115] The following is an introduction to the matching capabilities at different levels.
[0116] Formalized template matching: In the preprocessing stage, the data analysis system 10 generates a field tree data structure with an inverted index based on the metadata of the data set in the question-answering field. When the user inputs natural language, word segmentation is performed based on the data structure to convert the structured natural language into multiple conceptualized basic templates.
[0117] Structured concept level matching: In the preprocessing stage, the data analysis system 10 organizes the metadata of the data set in the question-answering field into the form of a knowledge graph, so that tables, fields, enumeration values, etc. jointly construct a structure that integrates different concept levels. When the data analysis system 10 performs natural language analysis, it can call the knowledge graph to extract related entities and obtain complete related information.
[0118] Semantic space similarity matching: The data analysis system 10 will perform semantic feature embedding (Embedding) based on the metadata of the data set in the question-answering field during the preprocessing stage. For example, the data analysis system 10 can embed semantic features through a model pre-trained based on deep learning, thereby transforming discrete metadata sampling into a continuous semantic space. When performing natural language parsing, the data analysis system 10 will perform similarity matching on the associated results of the word segmentation search from the knowledge graph in the semantic space to generate the final inference result.
[0119] Based on the similarity matching technology of the above-mentioned NL2SQL technical solution, the data analysis system 10 also provides the user with the ability to recommend questions in a single question-and-answer field and the user's associative completion in the natural language input process. This ability can be realized by the question-and-answer recommendation module 309, which is dedicated to solving the "cold start" problem of users in the process of analyzing and exploring data sets in the question-and-answer field, guiding users to discover potential feature patterns and obtain data value.
[0120] The tag query module 304 is used to parse tags and construct query statements based on tags to achieve data analysis. The tag query module 304 is responsible for the ability to generate data query results based on the user's modified configuration after fine-tuning the data analysis results returned by the NL2SQL model when the user directly performs "what you see is what you get" interaction on the UI interface. The tag query module 304 aims to construct a domain-specific language representing the chart slot information from the data structure defined by the labels of the existing chart, and generate the basic SQL statements for the queries required by the user based on the DSL, pass them to the underlying query execution engine, and finally generate the data query content results required by the user.
[0121] The design of domain-specific languages serves as an intermediate bridge between the label display of front-end page interactions and the generation of efficient SQL statement splicing. A typical design can support the generation of multiple types of SQL clauses and make the modification of label interactions directly associated with SQL clauses, such as the common SELECT, WHERE, HAVING, GROUP BY, ORDER, LIMIT, and OFFSET clauses, thereby building basic SQL generation capabilities.
[0122] In the technical solution of the present application, the data analysis system 10 can define the label classification returned by the data query as three types: field label, filter condition label, and configuration item label. Among them, the filter condition label is abstracted as a triple consisting of field, filter operator, and enumeration value. The basic information of the field label includes the basic metadata information of the table field. At the same time, the aggregation method, sorting method and other information of the field are consistently associated with the field label, ensuring that in the label configuration of the UI interface, the user can simply configure all the associated information related to the field.
[0123] In terms of the overall presentation of labels, the data analysis system 10 has designed a set of regularized label display logic, which groups and displays the aggregated fields and the aggregated fields in the query results, separated by tags, to construct the main field information of the query. The data analysis system 10 displays the filter tags in sequence after the main body of the query field based on and / or logical grouping, constructs the filter condition-related clauses of the data query, and displays the configuration item tags at the end of the word segmentation tag display. Based on this kind of label display logic, the DSL data structure designed by the data analysis system 10 also has three parts: fields, filter conditions, and configuration items. Each part uses a list structure to maintain all corresponding content. When splicing and generating SQL, the labels can be based on the information related to the data source in the field labels, and splice and generate SQL with different SQL database syntax to adapt to a wider range of scenarios.
[0124] Based on the design of the above-mentioned domain professional language, the data analysis system 10 can generate data analysis results by natural language input by users, and can also obtain adjusted data analysis results by reconfiguring existing labels, and realizes the user's directional adjustment (for example, fine-tuning) of the unexpected model data query return results in multiple rounds of dialog boxes. This type of user interaction form of directional adjustment also supports configuration using natural language input. This operation is classified and labeled as a labeled word segmentation query instruction by the classifier of the question and answer diversion module, and the adjustment results required by the user are generated based on the context. The two interactive operations have the same purpose.
[0125] The instruction processing module 306 is used to route requests to different modules for processing according to the instruction operation. For example, when the instruction operation is an enhanced analysis operation, the request is routed to the enhanced analysis module 307 for enhanced analysis, and then the data chart and the annotated analysis annotation (the result of the enhanced analysis) are input to the chart recommendation module 308. The chart recommendation module 308 draws the chart and displays the chart in the UI interaction module 104. For another example, when the instruction operation is to modify the chart type or update the chart presentation style, the instruction processing module 306 can route the request to the UI interaction module 104, and the UI interaction module 104 updates the chart drawing, and displays the updated chart in the UI interaction module 104. When the instruction operation is a label modification, it is routed to the label query module 304 and the chart recommendation module 308, and the query statement is rebuilt based on the modified label, and the adjusted chart data is obtained through the query execution engine. The chart recommendation module 308 updates the chart drawing based on the adjusted chart data, and displays the updated chart in the UI interaction module 104.
[0126] The enhanced analysis module 307 is used to perform pattern recognition or data mining algorithms on the charts generated by the user based on natural language input and UI interaction, thereby generating analysis annotations. The enhanced analysis module 307 is also used to derive analysis insight charts and return analysis insight charts to assist users in making analysis decisions. The analysis annotations produced by the enhanced analysis module 307 can be passed to the UI interaction module 104 together with the query and analyzed data, and the data and analysis annotations are finally presented to the user in a visual form.
[0127] Among them, the UI interaction module 104 does not perceive the background analysis process, and only needs to handle the drawing capabilities of different types of data. From the perspective of morphological structure, the enhanced analysis module 307 can be a single functional module in the data analysis system 10, or it can be an introduced independent analysis microservice, which ensures the plug-and-play nature of the enhanced analysis module 307 in this system and facilitates decoupling.
[0128] From the perspective of the richness of tasks that can be integrated, a typical enhanced analysis module 307 can have good scalability, support the integration of rich single-case analysis algorithms to support data analysts facing various analysis tasks, such as anomaly detection, prediction and alarm, root cause analysis, etc., and can also support integrated analysis of high-level algorithms, such as intelligent insight generation, automatic chart recommendation, automatic story generation, etc. This type of analysis requires the integration of multi-factor analysis tasks such as feature mining, association analysis, abnormal pattern definition, cause analysis, etc., and directly adopts an end-to-end approach to help users obtain data insights.
[0129] The chart recommendation module 308 aims to build an automatic selection scheme at the level of mapping from the data / metadata and analysis annotations returned by the query execution engine to the visual encoding selection. The visualization charts used in common BI product analysis dashboards mainly include classic visualization charts such as tables, line charts, bar charts, and area charts. The final visual presentation method recommended by this module can also use the design space under the classic BI scenario as the recommended full set. Under this design space, a typical chart recommendation module 308 may include:
[0130] Chart type recommendation: The chart recommendation module 308 supports automatic selection of a chart visualization display form for the data returned by the query. The recommended display form can be consistent with industry common sense and the experience of visualization experts, and is both aesthetically pleasing and scientific.
[0131] Automatic slot recommendation: In addition to tables, classic visualization chart configuration and traditional drag-and-drop presentation BI require users to bind fields to multiple different slots of visualization charts, such as x-axis (horizontal axis), y-axis (vertical axis), legend, etc. The chart recommendation module 308 can automatically assemble different data fields to the specified slots, generating a coding mapping method with high information content and visual space utilization.
[0132] Scale recommendation: Scale recommendation focuses on optimizing the visual effect of data displayed on a continuous axis and the fidelity of data presentation. For example, it supports automatic recommendation of linear and logarithmic mapping based on field type and data distribution.
[0133] Intelligent color matching recommendation: Color coding is a very important coding method in visual channel coding. Reasonable color matching can enable users to clearly feel the contrast between different data and obtain data insights more effectively.
[0134] Intelligent data processing recommendation: Before the chart is presented, the data needs to be cleaned and improved to ensure the correctness of the data presentation. The most important thing is the intelligent processing of missing values. The chart recommendation module 308 can automatically fill the returned data in a regular manner.
[0135] The chart recommendation module 308 designed by this system takes into account the table field metadata and data returned by the query. The rule indicators considered by the typical chart recommendation module 308 algorithm mainly include:
[0136] Data volume: The number of data items returned by the query mainly affects the chart type and slot recommendations. A large amount of data means using a large number of visualization elements to encode the data, which will cause visual crowding in a limited visual attention area. This rule will try to avoid the above phenomenon.
[0137] Field type: Field type is very important in determining the chart slots of traditional BI. Usually, BI engines classify fields into dimensions and measures based on different data types. Different chart slots have certain constraints on the embedding of dimensions and measures. At the same time, there are some conventional rules for specific field types in specific chart types to ensure that they should be placed in specific slots. For example, time type fields are more inclined to be used as the X-axis of line charts to show time-varying characteristics.
[0138] Field semantics: Field semantics are usually obtained based on metadata information such as the field's alias and description. Semantic information is often used to distinguish between axes and legend slots for multiple fields with data types, and to implement some customized color coding configurations.
[0139] Field data distribution: Field data distribution is mainly used for chart scale recommendations. For example, data concentrated in multiple single small intervals can be distributed more evenly on the axis to maximize the efficiency of visual space utilization.
[0140] The above introduces the data analysis system 10 from the perspective of functional modularization. The following will introduce the data analysis system of the present application from the perspective of interaction.
[0141] The data analysis system 10 of the present application can be a visual data query and analysis conversational system that is implemented by hybrid support of natural language and WYSIWYG interaction in a BI scenario, which can present a dialog interface with pictures and texts to the user, and all subsequent interactive operations and analyses of the user are implemented and supported on this interface. The conversational system can be easily integrated into an existing BI analysis engine as a plug-in, and the overall scope of the user's data query and analysis conversation is determined by using the question and answer domain constructed by the full data set used in a single dashboard that has been produced in the BI analysis engine.
[0142] The question-and-answer domain is the basic unit for the data analysis system 10 to implement multiple rounds of question-and-answer sessions. In the preparation phase, the data analysis system 10 aggregates the metadata information and synonyms of tables and fields in multiple data sets and constructs a knowledge graph. All subsequent question recommendations, data queries supported by natural language, data queries adjusted by user configurations, and visualization chart presentation functions can be performed based on the question-and-answer domain. The data analysis system also supports exporting the final analysis result charts generated after multiple rounds of user conversations to the existing dashboard of the BI engine for storage and sharing.
[0143] Figure 4 The interactive process of a data analysis system for data query and analysis is shown, which includes the following stages:
[0144] When the user opens the main interface of the data analysis system 10 for the first time, the dialog box of the main interface can present the user with basic functional instructions and all question and answer fields associated with the current data set, as well as recommended question and answer fields. The data analysis system 10 will recommend multiple optional data analysis questions based on the current question and answer fields to help users solve the "cold start" problem in data exploration and analysis.
[0145] The user can switch the topic of the current conversation to the target topic by clicking on any recommended topic label button, and the data analysis system 10 can re-recommend the conversation content. The user can directly click on any conversation question recommended by the system, or enter natural language in the input box to directly perform data analysis. The data analysis system 10 can process the user's input content. If it is identified as an analysis task (data analysis question) based on natural language, it can return the label and data analysis results after word segmentation and parsing, and generate and return the label and visual chart component that are finally presented to the user based on the chart recommendation module.
[0146] If the user is not satisfied with the returned data analysis results, the data analysis system 10 also supports simple and convenient fine-tuning post-processing interactive operations. The user can click on any label generated by natural language analysis to expand the label and view the details of the field or filter condition configuration generated by the model analysis, such as the basic information of the field, aggregation method, sorting method, filter condition field, operator, enumeration value, etc., and supports the modification of existing field labels through simple menu-based interaction. After the user makes the modification, the data analysis system 10 can generate a natural language description of the user interaction, which is no different from the natural language content directly input by the user, update the dialogue on the front-end interface, and return the satisfactory result after the user configuration is updated after processing the response.
[0147] It should be noted that the data analysis system 10 is not only an interactive support for labels, the user can also directly use natural language input to reproduce the above-mentioned fine-tuning configuration process. Regardless of whether the user directly uses natural language to interact or directly uses the UI to perform a WYSIWYG menu-based interaction, the data analysis system 10 can maintain and generate a unified context, which is the same in different ways and does not affect subsequent operations. This process can be iterated multiple times to ensure that the user can obtain the optimal presentation form customized for the correctness of the chart data and the aesthetic presentation of the chart.
[0148] The data analysis system 10 not only supports the configuration of natural language generated data analysis results, but also can apply enhanced analysis algorithms with one click to assist users in making intelligent decisions, lowering the analysis threshold for generating data insights. Users can directly click on the advanced analysis option for any chart returned by the system in multiple rounds of dialogue in the interface, or directly enter natural language in the input box to execute the specified advanced analysis capabilities. The data analysis system 10 can execute the corresponding analysis algorithm according to the advanced analysis category assigned by the user, such as anomaly detection and intelligent insight generation, and return to generate specialized annotation information attached to the visual data chart, presenting it in a concise and beautiful form.
[0149] For example, the data analysis system 10 performs anomaly detection and can add highlighted annotations to the returned chart. The data analysis system 10 performs intelligent insight generation and can automatically generate multiple chart feature insights described in natural language and present them in the dialog interface. When different types of analysis annotations are attached to the chart, the data analysis system 10 can present different algorithm labels on the front-end chart component. Users can also input in natural language or directly configure the configurable hyperparameters of different algorithms (such as prediction windows, prediction cycles) in a WYSIWYG menu-based interactive form to generate valuable data charts. When the user obtains a satisfactory data analysis chart and hopes to generate data insights and integrate them to generate a complete data story, the user can import the chart in the dialog box into the dashboard editing state of the BI engine integrated in this system to save it, which is convenient for sharing.
[0150] Based on the aforementioned data analysis system 10, the present application further provides a data analysis method. The data analysis method of the present application is introduced below in conjunction with an embodiment.
[0151] See also Figure 5 A flow chart of a data analysis method is shown, the method comprising the following steps:
[0152] S502: The data analysis system 10 receives user input.
[0153] The input content can be natural language, such as NL2SQL-based question-answering questions. The input content can also be interactive operations, such as the user's command-based selection of a chart in an existing dialogue, directional adjustment of the chart, including but not limited to the user's label modification of the data analysis results (usually in the form of a chart, sometimes also called a data analysis result chart) (such as fine-tuning post-processing of the label), the user's command-based modification of the chart presentation style, chart type, or the implementation of enhanced analysis algorithms.
[0154] S504: The data analysis system 10 performs intent classification according to the input content and determines the task type indicated by the input content. When the task type indicated by the input content is an instruction-based task, S506 is executed; when the task type indicated by the input content is an analysis task based on natural language, S512 is executed.
[0155] Task types include natural language-based analysis tasks or imperative tasks, where imperative tasks are used to make targeted adjustments to existing data analysis results.
[0156] In specific implementation, the data analysis system can obtain the feature vector of the input content and the feature vector of at least one dialogue topic tree of the user. Each node of the dialogue topic tree records a round of dialogue information, and the dialogue information includes the natural language input by the user and / or the label parsed from the natural language. The feature vector of the dialogue topic tree is determined according to the feature vector of the node in the dialogue topic tree.
[0157] The data analysis system 10 can determine the similarity between the feature vector of the input content and the feature vector of the at least one dialogue topic tree. When the similarity between the feature vector of the input content and the feature vector of the target topic tree in the at least one dialogue topic tree meets the first set condition, the data analysis system 10 can determine that the task type is the command task. The first set condition can be that the similarity is greater than a first threshold. Furthermore, the first set condition can also include the maximum similarity.
[0158] Furthermore, if the similarity between the feature vector of the input content and the feature vector of any dialogue topic tree in at least one dialogue topic tree does not meet the first set condition, it means that the input content does not match any dialogue topic tree, and the data analysis system 10 can determine that the task type indicated by the input content is an analysis task based on natural language.
[0159] S506: The data analysis system 10 determines the subtask type of the instruction task by matching instruction keywords.
[0160] The subtask type includes at least one of enhanced analysis, chart type modification, chart presentation style modification, and label modification. Accordingly, the data analysis system 10 can match the input content with at least one of a chart type keyword, an algorithm keyword, or a chart style keyword to determine the subtask type.
[0161] In some possible implementations, when the input content matches the chart type keyword successfully, the data analysis system 10 determines that the subtask type is the chart type modification; when the input content matches the algorithm keyword successfully, the data analysis system 10 determines that the subtask type is the enhanced analysis; when the input content matches the chart style keyword successfully, the data analysis system 10 determines that the subtask type is the chart presentation style modification; when the input content fails to match, the data analysis system 10 determines that the subtask type is the label modification.
[0162] S508: The data analysis system 10 obtains historical conversation-related content of the input content.
[0163] Specifically, the data analysis system 10 can determine the similarity between the feature vector of the input content and the feature vector of at least one node in the target topic tree. When the similarity between the feature vector of the input content and the feature vector of the target node in the target topic tree meets the second set condition, the data analysis system 10 obtains the feature vector of the target node. The feature vector is obtained by encoding at least one of the natural language input by the user, the chart slot information, the chart data, and the chart presentation style, and the feature vector of the target node can be used as the historical conversation associated content of the input content.
[0164] Furthermore, the data analysis system 10 can also create a child node belonging to the target node for the target topic tree, and the child node is used to record the instruction operation of this round of dialogue and the returned chart slot information. In this way, when the user is still not satisfied with the adjusted data analysis result, further adjustments can be made based on the feature vector of the child node.
[0165] S510. The data analysis system 10 processes the historical conversation related content according to the subtask type to obtain an adjusted data analysis result.
[0166] When the subtask types are different, the data analysis system 10 may handle the content associated with historical conversations differently. When the user's input content is classified as an enhanced analysis subtask, such as executing the "automatic insight generation" algorithm, the data analysis system 10 can use the chart data of the current context and the default algorithm hyperparameter configuration items as input for enhanced analysis. When the user's input content is classified as a label query subtask, the data analysis system 10 can decompose the natural language passed by the user, extract the labels described therein, search for the labels specified in the context semantics, modify the modified values described by the user in the natural language, and re-query the data until the subsequent closed loop is completed. It should be noted that when the user's intention is to modify the visualization configuration-related operations presented by the chart, such as switching the chart type and optimizing the chart color matching, the data analysis system can perform subsequent processing on the chart drawing through the front-end drawing module to achieve chart drawing updates.
[0167] S512: The data analysis system 10 executes the analysis task based on natural language and obtains the data analysis result.
[0168] After the natural language input by the user is labeled as an analysis task (request) based on natural language, the input can be used as the input of the NL2SQL model. The data analysis system 10 can perform natural language parsing and SQL generation solutions according to the NL2SQL model, and then complete the subsequent data query and visualization closed loop.
[0169] Furthermore, the data analysis system 10 can also create a new conversation topic tree, which includes a root node, and the root node is used to record the input content and the tags parsed from the input content. In this way, when the user is not satisfied with the data analysis results of this round, further adjustments can be made based on the feature vector of the root node.
[0170] It should be noted that the above S512 is an optional step of the embodiment of the present application, and the data analysis method of the embodiment of the present application may not execute the above S512.
[0171] Based on the above description, it can be seen that the data analysis method of the present application can support directional adjustment of data analysis results through imperative tasks when the data analysis results are unexpected results. Among them, the imperative tasks can achieve "what you see is what you get", and the directional adjustment of "what you see is what you get" can be combined with the interactive mode of natural language dialogue to construct a UI that supports both fluent natural language dialogue and rich "what you see is what you get" interaction, thereby improving data analysis efficiency and enhancing user experience.
[0172] Next, the data analysis method of the present application is described in conjunction with an application scenario, such as an analysis engine used to assist users in generating insights through multiple rounds of conversations.
[0173] Figure 6 The interface shown in the figure is the content of the analysis engine dashboard viewing state. The left side shows the dashboards that the user has saved. The user can open the data analysis system in the menu bar at the top, which is a conversational interactive system for data query and analysis. When the user clicks and opens the dialog box, the first thing presented to the user is the usage instructions and the question and answer field built based on the metadata of the dataset used in the current dashboard, as well as the recommended questions generated based on the question and answer field.
[0174] The user can click to switch to any Q&A field, and the data analysis system will update the recommended questions under that Q&A field. The user types natural language in the input box, and the data analysis system can generate associations and completion content. Based on the natural language input by the user, the data analysis system can parse and generate tags, construct query statements based on the tags, and execute the query statements through the query execution engine to query data and obtain data analysis results. The data analysis results are generated by the chart recommendation module to generate recommended chart types. Users can directly perform "what you see is what you get" modifications on the chart labels, such as updating configuration items, or superimposing enhanced analysis algorithms on existing charts based on natural language input, and updating the results. The updated chart can be returned to the user in a dialog box, and the user can continue to update the conversation through interaction and natural language. Such as Figure 7 As shown, users can easily export charts of data analysis results and save them in the current dashboard. Figure 8A chart showing the results of data analysis is applied to the dashboard interface of the analysis engine.
[0175] Among them, the analysis engine supports the presentation of multimodal rich text content in multi-round dialogue scenarios, and supports mixed easy-to-use interactions, solving the problem that the data analysis results in related methods are only natural language or non-interactive pictures, or directly presenting the results out of the dialogue analysis process, improving the immersion and ease of use of analysis. In the analysis engine that supports multi-round dialogue processes, "what you see is what you get" interactive operations can be performed based on natural language or UI, with a unified entrance to ensure the correct context, and realize the presentation of data query results, slot-based fine-tuning post-processing, and visual enhancement analysis.
[0176] Based on the aforementioned method embodiment, the present application also provides a data analysis system 10, such as Figure 1 As shown, the data analysis system 10 includes:
[0177] The interactive subsystem 100 is used to receive user input content;
[0178] The diversion control subsystem 200 is used to classify the intent according to the input content, determine the task type indicated by the input content, and the task type includes a natural language-based analysis task or an instruction-based task. When the task type indicated by the input content is the instruction-based task, determine the subtask type of the instruction-based task by matching instruction keywords, and obtain historical conversation-related content of the input content;
[0179] The analysis subsystem 300 is used to process the historical conversation related content according to the subtask type to obtain an adjusted data analysis result.
[0180] Exemplarily, the above-mentioned interaction subsystem 100, diversion control subsystem 200, and analysis subsystem 300 can be implemented by hardware, or can be implemented by software.
[0181] Among them, when implemented by software, the interactive subsystem 100, the diversion control subsystem 200, and the analysis subsystem 300 can be applications running on computer devices, such as computing engines, etc. The application can be provided to users in the form of virtualized services. Virtualization services may include virtual machine (VM) services, bare metal server (BMS) services, and container services. Among them, the VM service can be a service that virtualizes a virtual machine (VM) resource pool on multiple physical hosts (such as computing devices) through virtualization technology to provide users with VMs on demand for use. The BMS service is a service that virtualizes a BMS resource pool on multiple physical hosts to provide users with BMS on demand for use. The container service is a service that virtualizes a container resource pool on multiple physical hosts to provide users with containers on demand for use. VM is a simulated virtual computer, that is, a logical computer. BMS is a high-performance computing service that can be elastically scalable, and its computing performance is no different from that of a traditional physical machine, and it has the characteristics of secure physical isolation. Container is a kernel virtualization technology that can provide lightweight virtualization to achieve the purpose of isolating user space, processes and resources. It should be understood that the VM service, BMS service and container service in the above virtualization services are only used as specific examples. In actual applications, the virtualization service can also be other lightweight or heavyweight virtualization services, which are not specifically limited here.
[0182] When implemented by hardware, the interactive subsystem 100, the shunt control subsystem 200, and the analysis subsystem 300 may include at least one computing device, such as a server, etc. Alternatively, the interactive subsystem 100, the shunt control subsystem 200, and the analysis subsystem 300 may also be implemented by using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0183] Similarly, the front-end input module 102, UI interaction module 104, and instruction language generation module 106 in the interactive subsystem 100 can be implemented through software or hardware, the question and answer diversion module 202 and context control module 204 in the diversion control subsystem 200 can also be implemented through software or hardware, and the query analysis module 302, instruction processing module 304, label query module 306, enhanced analysis module 307, chart recommendation module 308, and question and answer recommendation module 309 in the analysis subsystem 300 can be implemented through software or hardware.
[0184] In some possible implementations, the flow splitting control subsystem 200 is further used for:
[0185] Acquire a feature vector of the input content, and acquire a feature vector of at least one dialogue topic tree of the user, wherein each node of the dialogue topic tree records a round of dialogue information, and the dialogue information includes a natural language input by the user and / or a tag parsed from the natural language, and the feature vector of the dialogue topic tree is determined according to the feature vectors of the nodes in the dialogue topic tree;
[0186] The flow diversion control subsystem 200 is specifically used for:
[0187] Determining the similarity between the feature vector of the input content and the feature vector of the at least one dialog topic tree;
[0188] When the similarity between the feature vector of the input content and the feature vector of the target subject tree meets a first set condition, the task type is determined to be the command-based task.
[0189] In some possible implementations, the flow splitting control subsystem 200 is specifically used for:
[0190] Determine the similarity between the feature vector of the input content and the feature vector of at least one node in the target topic tree;
[0191] When the similarity between the feature vector of the input content and the feature vector of the target node in the target subject tree meets the second set condition, the feature vector of the target node is obtained, and the feature vector is encoded according to at least one of the natural language input by the user, chart slot information, chart data, and chart presentation style.
[0192] In some possible implementations, the flow splitting control subsystem 200 is further used for:
[0193] For the target topic tree, a child node belonging to the target node is created, and the child node is used to record the instruction operation of this round of dialogue and the returned chart slot information.
[0194] In some possible implementations, the flow splitting control subsystem 200 is specifically used for:
[0195] The similarity between the feature vector of the input content and the feature vector of the at least one dialogue topic tree does not satisfy the first set condition, and the task type is determined to be the natural language-based analysis task.
[0196] In some possible implementations, the flow splitting control subsystem 200 is further used for:
[0197] A new dialog topic tree is created, wherein the dialog topic tree includes a root node, and the root node is used to record the input content and tags parsed from the input content.
[0198] In some possible implementations, the subtask type includes at least one of enhanced analysis, chart type modification, chart presentation style modification, and label modification.
[0199] In some possible implementations, the flow splitting control subsystem 200 is specifically used for:
[0200] When the input content successfully matches the chart type keyword, determining the subtask type as the chart type modification;
[0201] When the input content successfully matches the algorithm keyword, determining the subtask type as the enhanced analysis;
[0202] When the input content successfully matches the chart style keyword, determining the subtask type as the chart presentation style modification;
[0203] When the input content fails to match, the subtask type is determined to be the tag modification.
[0204] The above-mentioned data analysis system 10 can be implemented by a computing device or a computing device cluster. The computing device and computing device cluster of the present application are introduced below from the perspective of hardware instantiation.
[0205] The present application also provides a computing device 900. Fig. 9 As shown, the computing device 900 includes: a bus 902, a processor 904, a memory 906, and a communication interface 908. The processor 904, the memory 906, and the communication interface 908 communicate through the bus 902. The computing device 900 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 900.
[0206] The bus 902 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig. 9 The bus 902 may include a path for transmitting information between various components of the computing device 900 (eg, the memory 906, the processor 904, and the communication interface 908).
[0207] The processor 904 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0208] The memory 906 may include a volatile memory, such as a random access memory (RAM). The memory 906 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD) or a solid state drive (SSD). The memory 906 stores executable program code, and the processor 904 executes the executable program code to implement the aforementioned data analysis method. Specifically, the memory 906 stores instructions for the data analysis system 10 to execute the data analysis method.
[0209] The communication interface 908 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 900 and other devices or communication networks.
[0210] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
[0211] like Fig.10As shown, the computing device cluster includes at least one computing device 900. The memory 906 in one or more computing devices 900 in the computing device cluster may store the same data analysis system 10 for executing instructions of the data analysis method.
[0212] In some possible implementations, one or more computing devices 900 in the computing device cluster may also be used to execute some instructions of the data analysis system 10 for executing the data analysis method. In other words, a combination of one or more computing devices 900 may jointly execute instructions of the data analysis system 10 for executing the data analysis method.
[0213] It should be noted that the memory 906 in different computing devices 900 in the computing device cluster can store different instructions for executing partial functions of the data analysis system 10 .
[0214] Fig.11 A possible implementation is shown. Fig.11 As shown, two computing devices 900A and 900B are connected via a communication interface 908. The memory in computing device 900A stores instructions for executing the functions of the interaction subsystem 100 and the diversion control subsystem 200. The memory in computing device 900B stores instructions for executing the functions of the analysis subsystem 300. In other words, the memories 906 of computing devices 900A and 900B jointly store instructions for the data analysis system 10 to execute the data analysis method.
[0215] Fig.11 The connection mode between the computing device clusters shown may be considered to be that the data analysis method provided by the present application requires a large amount of computing power for data analysis. Therefore, it is considered to hand over the functions implemented by the analysis subsystem 300 to the computing device 900B for execution.
[0216] It should be understood that Fig.11 The functions of the computing device 900A shown in FIG. 9A may also be completed by multiple computing devices 900. Similarly, the functions of the computing device 900B may also be completed by multiple computing devices 900.
[0217] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.12 A possible implementation is shown. Fig.12As shown, two computing devices 900C and 900D are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device. In this type of possible implementation, the memory 906 in the computing device 900C stores instructions for executing the functions of the interaction subsystem 100 and the diversion control subsystem 200. At the same time, the memory 906 in the computing device 900D stores instructions for executing the functions of the analysis subsystem 300.
[0218] Fig.12 The connection method between the computing device clusters shown may be based on the consideration that the data analysis method provided in the present application requires a large amount of computing power for data analysis, and therefore it is considered that the functions implemented by the analysis subsystem 300 are handed over to the computing device 900D for execution.
[0219] It should be understood that Fig.12 The functions of the computing device 900C shown in FIG. 900A may also be completed by multiple computing devices 900. Similarly, the functions of the computing device 900D may also be completed by multiple computing devices 900.
[0220] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the above-mentioned application to the data analysis system 10 for executing the data analysis method.
[0221] The present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the above data analysis method.
[0222] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.
Claims
1. A data analysis method, characterized in that: Applied to a data analysis system, the data analysis system is used to perform data analysis through multiple rounds of dialogue, the method comprising: Receive user input; Performing intent classification according to the input content, and determining a task type indicated by the input content, wherein the task type includes an analysis task based on natural language or an instruction task; When the task type indicated by the input content is the command-based task, determining the subtask type of the command-based task by matching command keywords, and obtaining historical conversation-related content of the input content; According to the subtask type, the historical conversation related content is processed to obtain an adjusted data analysis result.
2. The method according to claim 1, characterized in that The method further comprises: Acquire a feature vector of the input content, and acquire a feature vector of at least one dialogue topic tree of the user, wherein each node of the dialogue topic tree records a round of dialogue information, and the dialogue information includes a natural language input by the user and / or a tag parsed from the natural language, and the feature vector of the dialogue topic tree is determined according to the feature vectors of the nodes in the dialogue topic tree; The performing intent classification according to the input content and determining the task type indicated by the input content includes: Determining the similarity between the feature vector of the input content and the feature vector of the at least one dialog topic tree; When the similarity between the feature vector of the input content and the feature vector of the target subject tree meets a first set condition, the task type is determined to be the command-based task.
3. The method according to claim 2, characterized in that The step of obtaining historical conversation-related content of the input content includes: Determine the similarity between the feature vector of the input content and the feature vector of at least one node in the target topic tree; When the similarity between the feature vector of the input content and the feature vector of the target node in the target subject tree meets the second set condition, the feature vector of the target node is obtained, and the feature vector is encoded according to at least one of the natural language input by the user, chart slot information, chart data, and chart presentation style.
4. The method according to claim 2 or 3, characterized in that: The method further comprises: For the target topic tree, a child node belonging to the target node is created, and the child node is used to record the instruction operation of this round of dialogue and the returned chart slot information.
5. The method according to claim 2, characterized in that: The method further comprises: The similarity between the feature vector of the input content and the feature vector of the at least one dialogue topic tree does not satisfy the first set condition, and the task type is determined to be the natural language-based analysis task.
6. The method according to claim 5, characterized in that The method further comprises: A new dialog topic tree is created, wherein the dialog topic tree includes a root node, and the root node is used to record the input content and tags parsed from the input content.
7. The method according to any one of claims 1 to 6, characterized in that: The subtask type includes at least one of enhanced analysis, chart type modification, chart presentation style modification, and label modification.
8. The method according to claim 7, characterized in that The determining the subtask type of the command-based task by command keyword matching includes: When the input content successfully matches the chart type keyword, determining the subtask type as the chart type modification; When the input content successfully matches the algorithm keyword, determining the subtask type as the enhanced analysis; When the input content successfully matches the chart style keyword, determining that the subtask type is the chart presentation style modification; When the input content fails to match, the subtask type is determined to be the tag modification.
9. A data analysis system, characterized in that: The system is used for performing data analysis through multi-round dialogues, and the system comprises: An interactive subsystem, used to receive user input; A traffic diversion control subsystem is used to classify the intent according to the input content, determine the task type indicated by the input content, and the task type includes a natural language-based analysis task or an instruction-based task. When the task type indicated by the input content is the instruction-based task, determine the subtask type of the instruction-based task by matching instruction keywords, and obtain historical conversation-related content of the input content; The analysis subsystem is used to process the historical conversation related content according to the subtask type to obtain adjusted data analysis results.
10. The system according to claim 9, characterized in that The shunt control subsystem is also used for: Acquire a feature vector of the input content, and acquire a feature vector of at least one dialogue topic tree of the user, wherein each node of the dialogue topic tree records a round of dialogue information, and the dialogue information includes a natural language input by the user and / or a tag parsed from the natural language, and the feature vector of the dialogue topic tree is determined according to the feature vectors of the nodes in the dialogue topic tree; The flow diversion control subsystem is specifically used for: Determining the similarity between the feature vector of the input content and the feature vector of the at least one dialog topic tree; When the similarity between the feature vector of the input content and the feature vector of the target subject tree meets a first set condition, the task type is determined to be the command-based task.
11. The system according to claim 10, characterized in that The flow diversion control subsystem is specifically used for: Determine the similarity between the feature vector of the input content and the feature vector of at least one node in the target topic tree; When the similarity between the feature vector of the input content and the feature vector of the target node in the target subject tree meets the second set condition, the feature vector of the target node is obtained, and the feature vector is encoded according to at least one of the natural language input by the user, chart slot information, chart data, and chart presentation style.
12. The system according to claim 10 or 11, characterized in that The shunt control subsystem is also used for: For the target topic tree, a child node belonging to the target node is created, and the child node is used to record the instruction operation of this round of dialogue and the returned chart slot information.
13. The system according to claim 10, characterized in that The flow diversion control subsystem is specifically used for: The similarity between the feature vector of the input content and the feature vector of the at least one dialogue topic tree does not satisfy the first set condition, and the task type is determined to be the natural language-based analysis task.
14. The system according to claim 13, characterized in that The shunt control subsystem is also used for: A new dialog topic tree is created, wherein the dialog topic tree includes a root node, and the root node is used to record the input content and tags parsed from the input content.
15. The system according to any one of claims 9 to 14, characterized in that The subtask type includes at least one of enhanced analysis, chart type modification, chart presentation style modification, and label modification.
16. The system according to claim 15, characterized in that The flow diversion control subsystem is specifically used for: When the input content successfully matches the chart type keyword, determining the subtask type as the chart type modification; When the input content successfully matches the algorithm keyword, determining the subtask type as the enhanced analysis; When the input content successfully matches the chart style keyword, determining that the subtask type is the chart presentation style modification; When the input content fails to match, the subtask type is determined to be the tag modification.
17. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, and the at least one computing device includes at least one processor and at least one memory, wherein the at least one memory stores computer-readable instructions; the at least one processor executes the computer-readable instructions so that the computing device cluster executes the method as described in any one of claims 1 to 8.
18. A computer-readable storage medium, characterized in that: The method comprises computer-readable instructions; the computer-readable instructions are used to implement the method according to any one of claims 1 to 8.
19. A computer program product, characterized in that The method comprises computer-readable instructions; the computer-readable instructions are used to implement the method according to any one of claims 1 to 8.
Citation Information
Cited By
Data processing method and multi-agent processing system
CN120723878A
Data analysis method and related system
EP4749417A1
Data analysis method and related system
WO2025039467A1