Data analysis method and related system
By introducing an instructive task mechanism into the data analysis system, users can support targeted adjustments to data analysis results, solving the problem of low results adjustment efficiency in the existing system, and improving analysis efficiency and user experience.
Patent Information
- Application Number
- PCT/CN2024/073192
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-24
- Filing Date
- 2024-01-19
- Publication Date
- 2025-02-27
AI Technical Summary
When the data analysis results do not meet user expectations, it is difficult for existing data analysis systems to achieve targeted adjustments to the results, resulting in low data analysis efficiency and poor user experience.
By introducing an instructive task mechanism into the data analysis system, users can support targeted adjustments to data analysis results through instructive tasks, combining natural language dialogue and "what you see is what you get" UI interaction to improve analysis efficiency and user experience.
It realizes fine adjustments to the data analysis results, improves data analysis efficiency and user experience, and enhances the flexibility of the system and the convenience of user interaction.
Smart Images

Figure CN2024073192_27022025_PF_FP_ABST
Abstract
Description
A data analysis method and related system
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on August 24, 2023, with application number 202311075219.3 and invention name “A data analysis method and related system”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] 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
[0003] With the advent of the information age, data is experiencing explosive growth, leading to the emergence of diverse data governance and analysis products, such as various business intelligence (BI) products. Due to breakthroughs and applications in large-scale modeling technology, key trends in the third generation of BI products include natural language to structured query language (NL2SQL), automatic chart recommendations, and enhanced analytics.
[0004] Data analysis capabilities (e.g., data query and analysis) are the core competitive advantage offered by current BI products. Designing and providing a variety of easy-to-use, interactive, and auxiliary analysis tools to reduce repetitive development costs for data analysts and improve data analysis efficiency has become a key evaluation criterion for building competitive advantage.
[0005] For complex analytical scenarios where users are exploring and analyzing unknown data from scratch and hoping to quickly uncover insights, search-based interactions, naturally characterized by the progressive, iterative discovery process of "input, association, configuration," have become increasingly popular, leading to exploratory question-and-answer (Q&A) or conversational approaches based on search boxes. These have since become the cornerstone of interactive analysis for next-generation BI products. Natural language, as an extremely concise and natural form of human-computer interaction, is naturally adaptable to BI products using this type of interaction, and has therefore been introduced into the market.
[0006] In recent years, large-scale model analysis and reasoning capabilities have been 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 (also known as question-and-answer systems) that support multi-round natural language interaction. These systems provide a natural language interactive analysis experience, using natural language dialogue to eliminate the need for model-based analysis processes, lowering the barrier to entry for data analysis.
[0007] When the data analysis system outputs data analysis results that do not meet the user's expectations, the user is usually required to re-enter natural language to continue data analysis. However, the above method is difficult to achieve targeted adjustments to the data analysis results, which reduces data analysis efficiency and affects the user experience.
[0008] Summary of the Invention
[0009] This application provides a data analysis method that supports targeted adjustments to data analysis results through directive tasks when the data analysis results are unexpected. This method builds a user interface that supports both fluent natural language conversations and rich "what you see is what you get" UI interactions, improving data analysis efficiency and enhancing the user experience. This application also provides a data analysis system, computing device cluster, computer-readable storage medium, and computer program product corresponding to the above method.
[0010] 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, 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.
[0011] Specifically, the data analysis system receives user input, classifies the intent based on the input, and determines the task type indicated by the input, which can include natural language analysis tasks or directive tasks. If the task type indicated by the input is a directive task, the data analysis system can determine the subtask type of the directive task by matching the instruction keywords and obtain historical conversations associated with the input. The data analysis system can then process the historical conversations based on the subtask type to obtain adjusted data analysis results.
[0012] This method can support targeted adjustments to data analysis results through directive tasks when the data analysis results are unexpected. Directive tasks can achieve "what you see is what you get" (WYSIWYG). This "WYSIWYG" targeted adjustment can be combined with the interaction mode of natural language dialogue to build a UI that supports both smooth natural language dialogue and rich "WYSIWYG" interactions, thereby improving data analysis efficiency and user experience. Furthermore, the "WYSIWYG" interaction conducted by users can also be prefabricated into a unified natural language to ensure the continuity and immersion of users (such as data analysts) in the multi-round question-and-answer process.
[0013] In some possible implementations, the data analysis system may also obtain a feature vector of the input content and a feature vector of at least one user's conversation topic tree. Each node in the conversation topic tree records a round of conversation information, including the natural language input by the user and / or tags parsed from the natural language. The feature vector of the conversation topic tree is determined based on the feature vectors of the nodes in the conversation 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 conversation topic tree; when the similarity between the feature vector of the input content and the feature vector of the target topic tree meets a first set condition, the task type is determined to be a directive task.
[0014] 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.
[0015] In some possible implementations, the data analysis system may further determine a similarity between a feature vector of the input content and a feature vector of at least one node in the target topic tree. When the similarity between the feature vector of the input content and a feature vector of a target node in the target topic tree satisfies a second set condition, a feature vector of the target node is obtained, where the feature vector is encoded based on at least one of the natural language input by the user, chart slot information, chart data, and chart presentation style.
[0016] This method calculates similarity between the feature vector of the input content and the feature vector of a node in the target topic tree. Based on this similarity, the feature vector of the target node is accurately obtained as context (historical conversation context) for data analysis, thereby improving the accuracy of data analysis. Furthermore, when determining context, a weighting factor can be added to the similarity calculation based on prior knowledge of the node hierarchy and conversation turn index. This allows the algorithm to more easily select conversations that have been more fully fine-tuned and updated by the user as the current context, further improving the accuracy of data analysis.
[0017] In some possible implementations, the data analysis system can also create a child node belonging to the target node for the target topic tree. The child node is used to record the command operations and the returned chart slot information of the current round of dialogue. This can update the target topic tree so that subsequent targeted adjustments can be made based on the results of the current round of dialogue.
[0018] 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 meet the first set condition, the data analysis system may also determine that the task type is the natural language-based analysis task.
[0019] This makes it compatible with existing solutions and allows data analysis to continue based on natural language analysis tasks, with high availability.
[0020] In some possible implementations, the data analysis system can also create a new conversation topic tree, including a root node that records the input content and tags parsed from the input content. This method creates a new conversation topic tree for natural language analysis tasks, facilitating subsequent targeted adjustments based on this new conversation topic tree.
[0021] In some possible implementations, the subtask type includes at least one of enhanced analysis, chart type modification, chart presentation style modification, and label modification. This can meet different types of analysis needs of users and has high usability.
[0022] In some possible implementations, when the input content successfully matches the chart type keyword, the data analysis system can determine that the subtask type is the chart type modification; when the input content successfully matches the algorithm keyword, the data analysis system can determine that the subtask type is the enhanced analysis; when the input content successfully matches the chart style keyword, 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.
[0023] This method improves the classification efficiency of subtask types through simple keyword matching operations, and does not require complex calculations, saving computing resources.
[0024] 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:
[0025] Interaction subsystem, used to receive user input;
[0026] A diversion control subsystem is configured to classify the intent of the input content, determine the task type indicated by the input content, and determine the subtask type of the task by matching instruction keywords when the task type indicated by the input content is the instruction task, and obtain historical conversation-related content of the input content;
[0027] The analysis subsystem is used to process the historical conversation related content according to the subtask type to obtain adjusted data analysis results.
[0028] In some possible implementations, the diversion control subsystem is further configured to:
[0029] Obtaining a feature vector of the input content and a feature vector of at least one conversation topic tree of the user, where each node of the conversation topic tree records a round of conversation information, the conversation information including natural language input by the user and / or tags parsed from the natural language, and the feature vector of the conversation topic tree is determined based on the feature vectors of the nodes in the conversation topic tree;
[0030] The shunt control subsystem is specifically used for:
[0031] Determining a similarity between a feature vector of the input content and a feature vector of the at least one conversation topic tree;
[0032] When the similarity between the feature vector of the input content and the feature vector of the target topic tree meets a first set condition, the task type is determined to be the instruction-based task.
[0033] In some possible implementations, the diversion control subsystem is specifically configured to:
[0034] Determining the similarity between the feature vector of the input content and the feature vector of at least one node in the target topic tree;
[0035] 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 feature vector of the target node is obtained, and the feature vector is encoded based on at least one of the natural language input by the user, chart slot information, chart data, and chart presentation style.
[0036] In some possible implementations, the diversion control subsystem is further configured to:
[0037] 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.
[0038] In some possible implementations, the diversion control subsystem is specifically configured to:
[0039] The similarity between the feature vector of the input content and the feature vector of the at least one dialogue topic tree does not meet the first set condition, and the task type is determined to be the natural language-based analysis task.
[0040] In some possible implementations, the diversion control subsystem is further configured to:
[0041] 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.
[0042] In some possible implementations, the subtask type includes at least one of enhanced analysis, chart type modification, chart presentation style modification, and label modification.
[0043] In some possible implementations, the diversion control subsystem is specifically configured to:
[0044] When the input content successfully matches the chart type keyword, determining that the subtask type is the chart type modification;
[0045] When the input content successfully matches the algorithm keyword, determining the subtask type as the enhanced analysis;
[0046] When the input content successfully matches the chart style keyword, determining that the subtask type is the chart presentation style modification;
[0047] When the input content fails to match, the subtask type is determined to be the label modification.
[0048] In a third aspect, the present application provides a computing device cluster. The computing device cluster includes at least one computing device, each of which 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 configured to execute instructions stored in the at least one memory, so that the computing device or computing device cluster performs the data analysis method described in the first aspect or any implementation of the first aspect.
[0049] 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 implementation of the first aspect.
[0050] In a fifth aspect, the present application provides a computer program product comprising instructions, which, when run 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.
[0051] Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] In order to more clearly illustrate the technical methods of the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments.
[0053] FIG1 is a schematic diagram of the architecture of a data analysis system provided in an embodiment of the present application;
[0054] FIG2 is a schematic diagram of a flow chart of a question-answer diversion model for diversion provided in an embodiment of the present application;
[0055] FIG3 is a schematic diagram of the structure of a conversation topic tree provided in an embodiment of the present application;
[0056] FIG4 is 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;
[0057] FIG5 is a flow chart of a data analysis method provided in an embodiment of the present application;
[0058] FIG6 is a schematic diagram of an interface of an analysis engine dashboard viewing state provided by an embodiment of the present application;
[0059] FIG7 is a diagram of an interactive interface at different stages of data analysis provided by an embodiment of the present application;
[0060] FIG8 is a schematic diagram of an interface for importing data analysis results into an analysis engine dashboard according to an embodiment of the present application;
[0061] FIG9 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0062] FIG10 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0063] FIG11 is a schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application;
[0064] FIG12 is a schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION
[0065] The terms "first" and "second" in the embodiments of this application are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of technical features indicated. Therefore, features specified as "first" or "second" may explicitly or implicitly include one or more of the features.
[0066] First, some technical terms involved in the embodiments of this application are introduced.
[0067] Business Intelligence (BI) refers to the use of modern data warehouse technology, online analytical processing (OLAP), data mining, and data presentation technologies to analyze data and exploit its value. BI can be applied to various industries and scenarios, analyzing different types of data. For example, BI can process production data recorded by a production management system, quality inspection data recorded by a quality management system, sales data recorded by a sales system, or code data stored on a code hosting platform. BI analyzes this data and provides relevant recommendations.
[0068] Business intelligence typically breaks down data analysis capabilities into three sub-capabilities: data query, visualization, and enhanced analysis. The following describes data query, visualization, and enhanced analysis capabilities separately.
[0069] Data query capability refers to the ability to construct query statements in a specialized query language based on user input, efficiently execute the underlying query statements, and quickly return the data required by the user. Data query capability requires the proper design of a domain-specific language (DSL) for data queries, which serves as a bridge between user input in the user interface (UI) 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 utilize concepts and rules from a specific discipline or domain.
[0070] Visualization capabilities refer to the ability to generate concise and elegant visualizations based on the data returned by the query engine. This typically involves selecting and optimizing the encoding of multiple possible visual channels for visualization elements, achieving rapid feedback and a "what you see is what you get" experience.
[0071] Augmented analytics capabilities help users discover potential anomalies and characteristic patterns in data. Furthermore, augmented analytics can generate predictions based on existing phenomena, derive potential intelligent data insights, or automatically generate valuable data stories. This allows for repeated mining of data value.
[0072] The aforementioned data analysis capabilities rely on user interaction within the UI. Specifically, many BI products require users to provide complex configuration information, such as tables, fields, and filter conditions, required for data queries. Most BI products retain or utilize the classic chart slots and dataset field-based interaction model, which supports user "drag-and-drop" interaction. This model treats datasets and table fields as available resources, allowing users to interact with them directly within the dashboard as relatively simple and easy-to-understand charts through a "what you see is what you get" approach. Users can also modify these configured charts within the slot panel. Through a one-to-one binding between the slot panel and the chart display, the modified results are directly fed back to the user. The "drag-and-drop" model is undoubtedly simple and effective. If the user's data analysis tasks are highly deterministic and purposeful, the "drag-and-drop" model can effectively support even extremely complex data query and analysis configuration scenarios.
[0073] For complex analysis scenarios where users are exploring and analyzing data from scratch and hoping to quickly uncover insights, the "drag-and-drop" approach doesn't yield effective results. With the rise of large-scale model analysis and reasoning capabilities, natural language processing (NLP) has become widely used in data analysis. Natural language-assisted data analysis systems include the following: natural language-assisted word segmentation search, single-shot question-and-answer query systems, and conversational systems that support multi-round natural language interaction.
[0074] A conversational system that supports multi-round natural language interaction provides users with an immersive analytical experience. This system, using purely natural language conversations, eliminates the need to understand the model's analytical process, lowering the barrier to entry for data analysis. This conversational system allows users to add and create analytical reports on the dashboard using pure natural language, while seamlessly integrating enhanced analytics through conversational interaction. However, this approach is relatively black-box, making it difficult for users to make targeted adjustments to unexpected charts, data, and presentation results generated by the model.
[0075] 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 dialogue. The data analysis system can be a software system, and the software system 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, 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 capabilities. When the computing device cluster is running, the data analysis method of the present application is executed.
[0076] Specifically, the data analysis system can receive user input content, then classify the intent based on the input content, and determine the task type indicated by the input content, which can include natural language analysis tasks or imperative tasks. 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 known as context, contextual content, or contextual information) of the input content. Then, based on the subtask type, the data analysis system processes the historical conversation-related content to obtain adjusted data analysis results.
[0077] This method can support targeted adjustments to data analysis results through directive tasks when the data analysis results are unexpected. Directive tasks can achieve "what you see is what you get" (WYSIWYG). This "WYSIWYG" targeted adjustment can be combined with the interaction mode of natural language dialogue to build a UI that supports both smooth natural language dialogue and rich "WYSIWYG" interactions, thereby improving data analysis efficiency and user experience. Furthermore, the "WYSIWYG" interaction conducted by users can also be prefabricated into a unified natural language to ensure the continuity and immersion of users (such as data analysts) in the multi-round question-and-answer process.
[0078] 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.
[0079] Referring to the schematic diagram of the architecture of a data analysis system shown in FIG1 , the system 10 includes an interaction subsystem 100, a diversion control subsystem 200, and an analysis subsystem 300. The interaction subsystem 100 is used to receive user input content, and the diversion control subsystem 200 is used to classify the intent based on the input content and determine the task type indicated by the input content. 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, the subtask type of the instruction-based task is determined by instruction keyword matching, 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 based on the subtask type to obtain adjusted data analysis results.
[0080] 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 instruction-based 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.
[0081] Furthermore, the interactive subsystem 100 may further include an instruction language generation module 106. The instruction language generation module 106 is used to convert the user's interactive operation into natural language. Specifically, the instruction language generation module 106 may convert the interactive operation into natural language in a regularized manner.
[0082] The diversion control subsystem 200 is an important subsystem in the data analysis system 10 that implements a multi-round dialogue data analysis system that combines natural language input and "what you see is what you get" UI interaction while ensuring contextual accuracy. This 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 directive selection of a chart in an existing conversation, directional adjustment of the chart, including but not limited to user label modification of 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), user directive modification of the chart presentation style and chart type, or implementation of enhanced analysis algorithms. In order to handle multiple natural language inputs with different subtasks and enable different interactive operations to support a unified implementation entry in this system, the diversion control subsystem 200 implements an algorithm process based on intent classification and context control, so that different natural languages of users are diverted to their corresponding processing modules in the analysis subsystem 300 for processing and uniformly encapsulate and return data analysis results.
[0083] The diversion control subsystem 200 includes a question-and-answer diversion module 202 and a context control module 204. The question-and-answer diversion module 202 is used to classify the intent of natural language (either user-input or converted by the instruction language generation module) and determine the task type indicated by the input content. If the task type indicated by the input content is an instruction-based task, the subtask type of the instruction-based task is determined by matching instruction keywords. The context control module 204 is used to obtain historical conversation-related content related to the input content, that is, to select context.
[0084] Among them, the question-answer diversion module 202 can realize task diversion through the question-answer diversion model. As shown in Figure 2, 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 an instruction-type natural language in the form of pre-made specific characters (for example, 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-answer classification model.
[0085] In the first stage of intent classification, the question-answering classification model can determine the task type indicated by the user's input, thereby distinguishing whether the user wishes to initiate a new natural language-based analysis task (such as NL2SQL) or perform a directive operation based on natural language input. In the subsequent second stage, directive operations can be further subdivided into label adjustments (adjusting the segmentation slots in chart labeling), switching chart types, updating chart presentation styles, or enhancing analysis.
[0086] 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.
[0087] 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 represent the natural language in a continuous feature space. Before inputting the pre-trained model, a desemanticization operation can be performed.
[0088] During preprocessing, the data analysis system 10 can construct the metadata information in the data set into a field tree data structure with an inverted index. 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 natural language parsing. The field tree data structure and the dictionary library can be stored in the knowledge base in the form of a knowledge graph.
[0089] 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 segmentation based on the above-mentioned data structure (for example, a dictionary tree data structure). If the match is successful, the segmentation in the natural language can be directly replaced by the matched entity type based on the result type of the match in the knowledge graph. For example, some segmentations 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.
[0090] For unmatched segmented words, the data analysis system 10 can perform auxiliary matching based on a commonly used description dictionary. Specifically, the data analysis system 10 classifies the segmented word based on a regularization model to determine whether the segmented word is marked as a filter condition for a time field. If the segmented word is identified as related to the time field, it can be replaced with the natural language of "time" and participate in the subsequent feature embedding process.
[0091] 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 the word segmentation sequence "Beijing representative office," "last year," "of," "revenue," and "how much." "Beijing representative office" can be matched to the enumeration value of "Beijing representative office" in the "representative office" dimension field in the metadata information and directly replaced with the "dimension enumeration value." "Last year" is not matched by the entity matching rule and is subsequently identified as "time" in the time field classification. "Revenue" is matched to the measurement field in the dataset metadata and is also replaced. The final natural language sentence that is actually embedded in the feature vectorization based on the pre-trained model is "What is the measurement of the dimension enumeration value time?"
[0092] 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 enhance the expressive ability of the vectorized representation in sentence composition 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.
[0093] In the second stage of intent classification, the commanded natural language (e.g., the natural language converted by the command language generation module 106) can be classified into subtasks defined by the question-answer diversion model. Specifically, the commanded natural language can be classified into the following subtasks: enhanced analysis, chart type modification, chart presentation style update, and label modification.
[0094] In the system of FIG1 , the user's "what you see is what you get" interaction can also be pre-formed into a unified natural language based on the instruction language generation module 106, ensuring the continuity and immersion of the data analyst's experience in the multi-round question-and-answer process. Specifically, the data analysis system 10 can integrate and unify all supported keywords in the pre-formulated instructions for the enhanced analysis subtask, chart type modification subtask, chart presentation style update subtask, or label modification subtask, and implement the subtask intent classification function using a lightweight regularized model guided by keyword matching.
[0095] Because the user's natural language input is command-based, it naturally contains unified 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 algorithm name. The data analysis system 10 matches the user's natural language input with keywords. If the keyword corresponding to the operation is recognized, the natural language is diverted to the corresponding processing module for specific command execution.
[0096] For example, if the instructed natural language input includes "line chart", the question and answer classification model can identify the subtask type as switching chart types; if the instructed natural language input includes "anomaly detection", the question and answer classification model can identify the subtask type as enhanced analysis; if the instructed 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 instructed 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 them 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. The updated label is used as input to achieve the task of diverting the task to the segmentation query module of the analysis subsystem 300.
[0097] 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 historical conversations before executing directive operations described in natural language after the first stage of processing in the question-answer diversion model, and determine the data analysis chart for performing the directive operations. 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.
[0098] The data analysis system 10 also draws on the concept of "state transition" to construct a "conversation topic tree." This is a tree-like data structure that records conversations. Each node in the conversation topic tree records a round of conversation information, including the natural language input by the user and / or tags parsed from the natural language. This allows for describing the interaction trajectory of users who consistently maintain a consistent Q&A "topic" and engage in multiple rounds of Q&A and interactive adjustments.
[0099] FIG3 shows a schematic diagram of the structure of a conversation topic tree. Whenever a user performs a natural language-based analysis task, for example, when the user's input natural language is classified by the question-answer diversion model as a new NL2SQL task, the data analysis system 10 can create a root node R in the conversation topic tree, representing that the user has initiated a conversation on a new topic. When a user performs a WYSIWYG interactive operation or a natural language-based imperative operation (such as enhanced analysis, switching chart types, updating chart presentation styles, or modifying labels) on the chart returned by NL2SQL, this process is considered a state transition under the current topic, and the data analysis system 10 can create a child node R1 under the current node in the question-answer topic tree. Since these imperative operations can be performed multiple times and can be performed on any conversation at any time in the historical conversation (either manually selected by the user based on WYSIWYG interaction or ultimately selected based on the context control model), each time a 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, populating it with information such as the operation and the chart and slots returned by the system.
[0100] Based on the aforementioned data structure design, the data analysis system 10 can construct a multi-round question-and-answer process within a linear dialog into a forest structure. Each tree structure (conversation topic tree) within the forest structure includes all user interactions within a conversation topic. Each time a new natural language dialog input is executed, the context control model constructed by the data analysis system 10 also uses a two-stage selection scheme to determine the conversation that the user's command-based operation targets.
[0101] In the first stage, the data analysis system 10 selects a conversation topic tree from the forest structure to determine the topic of the user's conversation. Specifically, the data analysis system 10 constructs a feature representation for each conversation topic tree, specifically a feature vector for each conversation topic tree. The feature vector (vectorized representation) of a conversation topic tree is determined by the feature vectors of the nodes in the conversation topic tree.
[0102] The node feature vector is encoded based on at least one of the following: natural language input by the user, chart slot information, chart data, and chart presentation style. Each node records one round of conversation in a multi-round conversation. The node information of a single conversation can be used in feature embedding as follows:
[0103] Natural language: Serves as the user's original input, expressed using whole-sentence feature embedding. In the conversation topic tree, the natural language input corresponding to nodes along the path from the root node to its child nodes can be combined to represent the natural language input of multiple rounds of conversation.
[0104] Tags: Tags are considered the result of matching the user's natural language input with the corresponding tokenized entities. The data analysis system 10 can use the name, description, type, and other information of each tokenized entity as input to construct a feature vector at the token level. Parameterized configuration items generated by the enhanced analysis algorithm can also be used as independent components in feature engineering.
[0105] Chart presentation style: This method summarizes the modifiable presentation configuration items abstracted from the chart visualization returned by the system, such as chart type and color palette, and constructs a manual feature vector to participate in the overall feature engineering.
[0106] Furthermore, considering that each node in the conversation topic tree contributes differently to the result expression, the data analysis system 10 can perform a weighted operation on the feature vectors of the nodes to obtain the feature vector of the conversation topic tree. The weight calculation factors include at least one of the following:
[0107] Node Level: The level of a node in the conversation topic tree represents the level of refinement in the user's adjustments to the Q&A results. Specifically, nodes at lower levels (closer to the leaves) are more likely to have been adjusted with a higher degree of completion, and are closer to the user's desired chart data and presentation results, thus receiving a higher weight.
[0108] Dialogue turn index: Each node in a multi-turn dialogue structure has a fixed turn index. Dialogues with later indexes (newer conversations) are more likely to be mentioned by users in subsequent conversations and therefore have higher weights.
[0109] Based on this, the data analysis system 10 can determine the feature vector of the conversation topic tree based on the extracted feature vectors and weights (or contributions) of individual nodes. The data analysis system 10 extracts feature vectors from the natural language currently input by the user, then performs similarity analysis, ultimately selecting the conversation topic tree that most closely matches the current conversation, completing the first phase of the task.
[0110] In the second stage, the data analysis system 10 selects a specific node in the conversation topic tree and obtains the node's feature vector as the current natural language context. Essentially, this involves selecting a state to switch to within the current conversation topic. The basic concept is similar to the approach used in stage one: after vectorizing the user's entire natural language sentence, the system calculates the distance between the vectorized representation (feature vector) and each node in the current topic tree to determine similarity. Furthermore, based on prior knowledge of the node hierarchy and conversation turn index, the data analysis system 10 can incorporate a weighting factor into the similarity calculation, enabling the context control model to more readily select conversations with more complete and updated user adjustments as the current context.
[0111] It should be noted that this solution uses the same parameters and scheme in the second stage as the first stage, which can make the conversation topic selected in the first stage more accurate. The final context control model determines the context of the input content (historical conversation related content) for the input content classified as a directive task.
[0112] 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 . Furthermore, the molecular subsystem 300 may also include a question and answer recommendation module 309 .
[0113] 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 dialogue 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.
[0114] 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 presentation closed loop. Otherwise, the data analysis system 10 routes the request to the corresponding module, and different instructions will support different instruction execution strategies. For example, if the natural language input by the user is classified as an enhanced analysis subtask, specifically the execution of the "automatic insight generation" algorithm, 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 natural language of the user is classified as a label query subtask, the request can be routed to the label query module 304. The label query module 304 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 of the chart presentation, 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 entry ensures the correct context, realizing a full-process engineering implementation plan for data query result presentation, slotted fine-tuning post-processing, and visual enhancement analysis.
[0115] For ease of understanding, different modules of the processing subsystem 300 are introduced separately below.
[0116] The NL2SQL model of the query analysis module 302 can be broken down into field association, knowledge reasoning, and SQL optimization generation. This 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 labels in a universal domain-specific language through field association and knowledge reasoning, and then assembled into a complete data query language. During the preparation phase, the data analysis system 10 can construct metadata from the dataset to generate multiple intermediate knowledge structures, such as a dictionary tree data structure with an inverted index and semantic feature embedding, to facilitate subsequent entity matching and knowledge reasoning. The matching rules guided by this intermediate knowledge structure can be abstracted into three different levels: formal 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.
[0117] The following introduces the matching capabilities of different levels.
[0118] 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 dataset in the question-answering field. When the user inputs natural language, word segmentation is performed based on this data structure, and the structured natural language is converted into multiple conceptualized basic templates.
[0119] Structured Concept Hierarchy Matching: During the preprocessing phase, the data analysis system 10 organizes the metadata of the question-answering dataset into a knowledge graph, allowing tables, fields, and enumeration values to form a structure that integrates different concept hierarchies. When the data analysis system 10 performs natural language parsing, it can use the knowledge graph to extract related entities and obtain complete related information.
[0120] Semantic space similarity matching: The data analysis system 10 will perform semantic feature embedding (Embedding) based on the dataset metadata of the question-answering field during the preprocessing stage. For example, the data analysis system 10 can perform semantic feature embedding through a model pre-trained based on deep learning, thereby converting discrete metadata samples 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.
[0121] Based on the similarity matching technology of the aforementioned NL2SQL technical solution, the data analysis system 10 also provides the ability to recommend questions within a single Q&A domain and to complete user associations during natural language input. This capability is implemented by the Q&A recommendation module 309, which aims to address the "cold start" problem encountered by users during the analysis and exploration of Q&A datasets, guiding users to discover potential characteristic patterns and extract data value.
[0122] The tag query module 304 is used to parse tags and construct query statements based on the tags to perform data analysis. The tag query module 304 is responsible for fine-tuning and processing the data analysis results returned by the NL2SQL model when the user directly interacts with it in a "what you see is what you get" manner on the UI interface, and then generating data query results based on the user's modified configuration. The tag query module 304 is designed 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 user's query based on the DSL, pass them to the underlying query execution engine, and ultimately generate the data query content results required by the user.
[0123] The design of a domain-specific language serves as a bridge between the label display of front-end page interactions and the efficient generation of SQL statements. A typical design might support the generation of multiple types of SQL clauses and directly associate the modification of label interactions with SQL clauses, such as the common SELECT, WHERE, HAVING, GROUP BY, ORDER, LIMIT, and OFFSET clauses, thereby building basic SQL generation capabilities.
[0124] In the technical solution of the present application, the data analysis system 10 can classify the labels returned by the data query into three types: field labels, filter condition labels, and configuration item labels. Among them, the filter condition label is abstracted as a triple consisting of a field, a filter operator, and an 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 easily configure all the associated information related to the field.
[0125] 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 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-like structure to maintain all corresponding content. When splicing and generating SQL, the tags can be based on the information related to the data source in the field tags, and separately splice and generate SQL with different SQL database syntax to adapt to a wider range of scenarios.
[0126] Based on the design of the above-mentioned domain-specific language, the data analysis system 10 can generate data analysis results by user input of natural language, and can also obtain adjusted data analysis results by reconfiguring existing labels, thereby realizing 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 result required by the user is generated based on the context. The two interactive operations have different paths to the same end.
[0127] The instruction processing module 306 is used to route requests to different modules for processing according to the instructed operation. For example, when the instructed 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 annotations (the results of the enhanced analysis) are input into 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 instructed 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, the UI interaction module 104 updates the chart drawing, and displays the updated chart in the UI interaction module 104. When the instructed 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.
[0128] The enhanced analysis module 307 is used to perform pattern recognition or data mining algorithms on charts generated by users based on natural language input and UI interaction, thereby generating analytical annotations. The enhanced analysis module 307 is also used to derive and return analytical insight charts to assist users in making analytical decisions. The analytical annotations generated by the enhanced analysis module 307 can be transmitted along with the query and analyzed data to the UI interaction module 104, ultimately presenting the data and analytical annotations to the user in a visual format.
[0129] The UI interaction module 104 is not aware of the background analysis process and only needs to handle the drawing capabilities of different types of data. From a morphological and structural perspective, the enhanced analysis module 307 can be a single functional module in the data analysis system 10 or an independent analysis microservice introduced, ensuring the plug-and-play nature of the enhanced analysis module 307 in this system and facilitating decoupling.
[0130] From the perspective of the richness of tasks that can be integrated, a typical enhanced analysis module 307 can have good scalability and support the integration of a rich set of single-case analysis algorithms to support the diverse analytical tasks faced by data analysts, such as anomaly detection, predictive alerting, and root cause analysis. It can also support integrated high-level analytical algorithms, such as intelligent insight generation, automatic chart recommendation, and automatic story generation. This type of analysis requires the integration of multiple factor analysis tasks such as feature mining, association analysis, anomaly pattern definition, and cause analysis, directly helping users gain data insights in an end-to-end manner.
[0131] The chart recommendation module 308 aims to automatically select the mapping method from the data / metadata and analytical annotations returned by the query execution engine to the visual encoding options. Visual charts commonly used in BI product analytical dashboards primarily include classic visualization charts such as tables, line charts, bar charts, and area charts. The final visual presentation recommended by this module can also adopt the design space of classic BI scenarios as the recommended full set. Within this design space, a typical chart recommendation module 308 may include:
[0132] Chart type recommendation: The chart recommendation module 308 supports automatic selection of a chart visualization display format for the data returned by the query. The recommended display format can be consistent with industry common sense and the experience of visualization experts, and be both aesthetically pleasing and scientific.
[0133] Automatic slot recommendation: In addition to tables, classic visualization chart configuration and traditional drag-and-drop BI presentation require users to bind fields to multiple different slots in the visualization chart, such as the x-axis (horizontal axis), y-axis (vertical axis), and legend. The chart recommendation module 308 can automatically assemble different data fields into designated slots, generating a coding mapping method with high information content and visual space utilization.
[0134] Scaling recommendation: Scaling recommendation focuses on optimizing the visual effects and fidelity of data presentation on continuous axes. For example, it supports automatic recommendation of linear and logarithmic mapping based on field type and data distribution.
[0135] Smart color matching recommendation: Color coding is a very important encoding method in visual channel encoding. Reasonable color matching can enable users to clearly feel the contrast between different data and obtain data insights more effectively.
[0136] Intelligent data processing and recommendation: Before a chart is presented, data needs to be cleaned and improved to ensure accuracy. Importantly, intelligent processing of missing values is crucial. The chart recommendation module 308 can automatically fill in the returned data with regularity.
[0137] The chart recommendation module 308 designed in this system takes into account the table field metadata and data returned by the query. The typical rule indicators considered by the chart recommendation module 308 algorithm mainly include:
[0138] 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 that a large number of visual elements are used to encode the data, which will cause visual congestion within the limited visual attention area. This rule will try to avoid this phenomenon.
[0139] Field type: Field type plays a crucial role in determining chart slots in traditional BI. BI engines typically categorize fields into dimensions and metrics based on their data types. Different chart slots impose constraints on the placement of dimensions and metrics. Furthermore, certain field types also have established rules within chart types to ensure they are placed in specific slots. For example, a time field is more likely to be used as the X-axis of a line chart to display time-varying characteristics.
[0140] 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 axes and legend slots for multiple fields with data types, and to implement some customized color coding configurations.
[0141] 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 visual space utilization efficiency.
[0142] The above describes the data analysis system 10 from the perspective of functional modularization. The following describes the data analysis system of the present application from the perspective of interaction.
[0143] The data analysis system 10 of the present application can be a conversational system for visual data query and analysis that uses a hybrid of natural language and WYSIWYG interaction in a BI scenario. The user's first view is a dialog interface with both text and images, and all subsequent user interactions and analyses are implemented and supported within this interface. This conversational system can be easily integrated into an existing BI analysis engine as a plug-in, using a question-and-answer domain constructed from the full dataset used in a single, pre-built dashboard within the BI analysis engine to determine the overall scope of a user's data query and analysis conversation.
[0144] The Q&A domain is the fundamental unit for data analysis system 10 to implement multiple rounds of Q&A. During the preparatory construction phase, data analysis system 10 aggregates metadata and synonym configuration information for tables and fields across multiple datasets to construct a knowledge graph. All subsequent question recommendations, natural language-enabled data queries, user-configured data queries, and visualization chart presentation functions are performed within the Q&A domain. The data analysis system also supports exporting the final analysis results charts generated after multiple rounds of user conversations to the BI engine's existing dashboard for storage and sharing.
[0145] Figure 4 shows the interactive process of data query and analysis in a data analysis system, which includes the following stages:
[0146] 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 function 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.
[0147] The user can click any recommended topic tag button to switch the current conversation topic to the target topic, and the data analysis system 10 can also recommend new conversation content. The user can directly click any recommended conversation question or enter natural language into the input box to directly perform data analysis. The data analysis system 10 can process the user's input content and, if it is identified as a natural language analysis task (data analysis question), return the parsed tags and data analysis results. The chart recommendation module generates and returns the tags and visual chart components that are ultimately presented to the user.
[0148] 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 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.
[0149] It should be noted that the data analysis system 10 is not only an interactive support for labels, users 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, achieving the same goal through different means without affecting subsequent operations. This process can be iterated multiple times to ensure that users can obtain the optimal customized presentation format for the accuracy of the chart data and the aesthetic presentation of the chart.
[0150] 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 analytical threshold for generating data insights. Users can directly click on the advanced analysis option on 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 based on the user-assigned advanced analysis category, such as anomaly detection and intelligent insight generation, and return the generated specialized annotation information attached to the visual data chart, presenting it in a concise and beautiful form.
[0151] 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 natural language descriptions of chart feature insights, which are presented 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. The user can also input in natural language or directly configure the configurable hyperparameters of different algorithms (such as prediction windows, prediction cycles) in a what-you-see-is-what-you-get 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.
[0152] 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 described below in conjunction with an embodiment.
[0153] Referring to the flowchart of a data analysis method shown in FIG5 , the method includes the following steps:
[0154] S502: The data analysis system 10 receives user input.
[0155] Input can be natural language, such as NL2SQL-based question-and-answer questions. It can also be interactive, such as a user-directed selection of a chart in an existing conversation, or directed adjustments to a chart, including but not limited to user-directed labeling of data analysis results (typically in chart form, sometimes also referred to as data analysis result charts) (e.g., fine-tuning and post-processing of labels), user-directed modifications to chart presentation styles or chart types, or the implementation of enhanced analysis algorithms.
[0156] S504: The data analysis system 10 classifies the intent of the input content and determines the task type indicated by the input content. If the task type indicated by the input content is a command-based task, S506 is executed; if the task type indicated by the input content is a natural language analysis task, S512 is executed.
[0157] Task types include natural language-based analysis tasks or imperative tasks. Imperative tasks are used to make targeted adjustments to existing data analysis results.
[0158] In a specific implementation, the data analysis system can obtain a feature vector of the input content and a feature vector of at least one user's conversation topic tree. Each node in the conversation topic tree records a round of conversation information, including the user's natural language input and / or tags parsed from the natural language. The feature vector of the conversation topic tree is determined based on the feature vectors of the nodes in the conversation topic tree.
[0159] 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 conversation 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 conversation topic tree satisfies a first set condition, the data analysis system 10 can determine that the task type is the instruction-based task. The first set condition can be that the similarity is greater than a first threshold. Furthermore, the first set condition can also include a maximum similarity.
[0160] 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 a natural language-based analysis task.
[0161] S506 : The data analysis system 10 determines the subtask type of the instruction-based task by matching instruction keywords.
[0162] 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.
[0163] In some possible implementations, when the input content successfully matches the chart type keyword, the data analysis system 10 determines that the subtask type is the chart type modification; when the input content successfully matches the algorithm keyword, the data analysis system 10 determines that the subtask type is the enhanced analysis; when the input content successfully matches the chart style keyword, 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.
[0164] S508: The data analysis system 10 obtains historical conversation-related content of the input content.
[0165] 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 satisfies a second set condition, the data analysis system 10 obtains the feature vector of the target node. The feature vector is encoded based on at least one of the natural language input by the user, chart slot information, chart data, and chart presentation style. The feature vector of the target node can serve as historical conversation association content for the input content.
[0166] Furthermore, the data analysis system 10 can also create a child node belonging to the target node for the target topic tree. This child node is used to record the command operations of this round of dialogue and the returned chart slot information. In this way, if the user is still not satisfied with the adjusted data analysis results, further adjustments can be made based on the feature vector of the child node.
[0167] S510: The data analysis system 10 processes the historical conversation related content according to the subtask type to obtain an adjusted data analysis result.
[0168] 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 to perform 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 in the chart, such as switching the chart type and optimizing the chart color scheme, the data analysis system can perform subsequent processing on the chart drawing through the front-end drawing module to achieve chart drawing updates.
[0169] S512: The data analysis system 10 performs an analysis task based on natural language to obtain a data analysis result.
[0170] After the natural language input by the user is marked as a natural language-based analysis task (request), 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 based on the NL2SQL model, and then complete the subsequent data query and visualization presentation closed loop.
[0171] Furthermore, the data analysis system 10 can also create a new conversation topic tree, which includes a root node for recording the input content and the tags parsed from the input content. In this way, if the user is not satisfied with the results of the current round of data analysis, further adjustments can be made based on the feature vector of the root node.
[0172] 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 be executed without executing the above S512.
[0173] Based on the above description, it can be seen that the data analysis method of the present application can support targeted 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 targeted 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.
[0174] Next, the data analysis method of this application is described in conjunction with an application scenario, such as using an analysis engine to assist users in generating insights through multiple rounds of conversations.
[0175] Figure 6 shows the dashboard view of the analytics engine. The left side displays the user's saved dashboards. The top menu bar allows users to open the data analysis system, a conversational interactive system for data query and analysis. When the user clicks to open the dialog box, they are first presented with instructions for use, a Q&A domain constructed based on the metadata of the dataset used in the current dashboard, and recommended questions generated based on the Q&A domain.
[0176] Users can click to switch to any Q&A area, and the data analysis system will update the recommended questions for that area. Users type natural language in the input box, and the data analysis system generates associated and complementary content. Based on the user's natural language input, the data analysis system parses and generates tags. Based on these tags, it constructs query statements. The query execution engine executes these queries to query data and obtain data analysis results. The chart recommendation module generates recommended chart types for these data analysis results. Users can perform "what you see is what you get" modifications directly on the chart labels, such as updating configuration items or applying enhanced analysis algorithms to existing charts based on natural language input, and then updating the results. The updated chart is returned to the user in a dialog box, where they can continue to update the conversation through interaction and natural language. As shown in Figure 7, users can easily export and save charts of data analysis results to the current dashboard. Figure 8 shows the interface for applying charts of data analysis results to the analysis engine dashboard.
[0177] The analysis engine supports the presentation of multimodal rich text content in multi-round conversation scenarios and supports hybrid, easy-to-use interactions. This addresses the issue of data analysis results in related methods being limited to natural language or non-interactive images, or directly presenting results outside the conversation analysis process, thereby improving analysis immersion and ease of use. In an analysis engine that supports multi-round conversation processes, "what you see is what you get" interactive operations can be performed based on both natural language and UI, with a unified entry point ensuring correct context, enabling data query result presentation, slot-based fine-tuning post-processing, and visually enhanced analysis.
[0178] Based on the aforementioned method embodiment, the present application further provides a data analysis system 10. As shown in FIG1 , the data analysis system 10 includes:
[0179] The interactive subsystem 100 is used to receive user input;
[0180] The diversion control subsystem 200 is configured to classify the intent of the input content, determine the task type indicated by the input content, and determine the subtask type of the task by matching the command keywords when the task type indicated by the input content is the command task, and obtain the historical conversation related content of the input content.
[0181] The analysis subsystem 300 is used to process the historical conversation-related content according to the subtask type to obtain adjusted data analysis results.
[0182] Exemplarily, the above-mentioned interaction subsystem 100, diversion control subsystem 200, and analysis subsystem 300 can be implemented by hardware or by software.
[0183] Among them, when implemented by software, the interaction subsystem 100, the diversion control subsystem 200, and the analysis subsystem 300 can be applications running on a computer device, such as a computing engine. The application can be provided to users in the form of a virtualization service. 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 uses virtualization technology to virtualize a virtual machine (VM) resource pool on multiple physical hosts (such as computing devices) to provide VMs for users to use on demand. The BMS service is a service that virtualizes a BMS resource pool on multiple physical hosts to provide BMS for users to use on demand. The container service is a service that virtualizes a container resource pool on multiple physical hosts to provide containers for users to use on demand. VM is a simulated virtual computer, that is, a logical computer. BMS is a high-performance computing service that can be elastically scalable. Its computing performance is no different from that of a traditional physical machine and has the characteristics of secure physical isolation. Containers are a kernel virtualization technology that provides lightweight virtualization to isolate user spaces, processes, and resources. It should be understood that the VM service, BMS service, and container service mentioned above are merely examples. In actual applications, virtualization services can also be other lightweight or heavyweight virtualization services, which are not specifically limited here.
[0184] When implemented through hardware, the interaction subsystem 100, the shunt control subsystem 200, and the analysis subsystem 300 may include at least one computing device, such as a server. Alternatively, the interaction subsystem 100, the shunt control subsystem 200, and the analysis subsystem 300 may be implemented 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.
[0185] 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.
[0186] In some possible implementations, the flow diversion control subsystem 200 is further configured to:
[0187] Obtaining a feature vector of the input content and a feature vector of at least one conversation topic tree of the user, where each node of the conversation topic tree records a round of conversation information, the conversation information including natural language input by the user and / or tags parsed from the natural language, and the feature vector of the conversation topic tree is determined based on the feature vectors of the nodes in the conversation topic tree;
[0188] The diversion control subsystem 200 is specifically used for:
[0189] Determining a similarity between a feature vector of the input content and a feature vector of the at least one conversation topic tree;
[0190] When the similarity between the feature vector of the input content and the feature vector of the target topic tree meets a first set condition, the task type is determined to be the instruction-based task.
[0191] In some possible implementations, the diversion control subsystem 200 is specifically configured to:
[0192] Determining the similarity between the feature vector of the input content and the feature vector of at least one node in the target topic tree;
[0193] 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 feature vector of the target node is obtained, and the feature vector is encoded based on at least one of the natural language input by the user, chart slot information, chart data, and chart presentation style.
[0194] In some possible implementations, the flow diversion control subsystem 200 is further configured to:
[0195] 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.
[0196] In some possible implementations, the diversion control subsystem 200 is specifically configured to:
[0197] The similarity between the feature vector of the input content and the feature vector of the at least one dialogue topic tree does not meet the first set condition, and the task type is determined to be the natural language-based analysis task.
[0198] In some possible implementations, the flow diversion control subsystem 200 is further configured to:
[0199] 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.
[0200] In some possible implementations, the subtask type includes at least one of enhanced analysis, chart type modification, chart presentation style modification, and label modification.
[0201] In some possible implementations, the diversion control subsystem 200 is specifically configured to:
[0202] When the input content successfully matches the chart type keyword, determining that the subtask type is the chart type modification;
[0203] When the input content successfully matches the algorithm keyword, determining the subtask type as the enhanced analysis;
[0204] When the input content successfully matches the chart style keyword, determining that the subtask type is the chart presentation style modification;
[0205] When the input content fails to match, the subtask type is determined to be the label modification.
[0206] 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 this application are introduced below from the perspective of hardware implementation.
[0207] This application also provides a computing device 900. As shown in Figure 9, computing device 900 includes a bus 902, a processor 904, a memory 906, and a communication interface 908. Processor 904, memory 906, and communication interface 908 communicate with each other via bus 902. Computing device 900 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in computing device 900.
[0208] Bus 902 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG9 illustrates a single bus line, but this does not imply a single bus or type of bus. Bus 902 may include a path for transmitting information between various components of computing device 900 (e.g., memory 906, processor 904, and communication interface 908).
[0209] The processor 904 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0210] 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.
[0211] 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 a communication network.
[0212] Embodiments of the present application also provide 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 smartphone.
[0213] As shown in Figure 10, the computing device cluster includes at least one computing device 900. The memory 906 of one or more computing devices 900 in the computing device cluster may store instructions for executing the data analysis method using the same data analysis system 10.
[0214] In some possible implementations, one or more computing devices 900 in the computing device cluster may also be used to execute some of the instructions for executing the data analysis method by the data analysis system 10. In other words, a combination of one or more computing devices 900 may collectively execute the instructions for executing the data analysis method by the data analysis system 10.
[0215] It should be noted that the memory 906 in different computing devices 900 in the computing device cluster can store different instructions for executing part of the functions of the data analysis system 10 .
[0216] Figure 11 illustrates a possible implementation. As shown in Figure 11 , 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 interaction subsystem 100 and diversion control subsystem 200. The memory in computing device 900B stores instructions for executing the functions of analysis subsystem 300. In other words, the memories 906 of computing devices 900A and 900B jointly store instructions for data analysis system 10 to execute the data analysis method.
[0217] The connection method between the computing device clusters shown in Figure 11 may be considered to be based on the fact that the data analysis method provided by this application requires a large amount of computing power for data analysis. Therefore, it is considered to delegate the functions implemented by the analysis subsystem 300 to the computing device 900B.
[0218] It should be understood that the functionality of the computing device 900A shown in FIG11 may also be implemented by multiple computing devices 900. Similarly, the functionality of the computing device 900B may also be implemented by multiple computing devices 900.
[0219] In some possible implementations, one or more computing devices in a computing device cluster may be connected via a network. The network may be a wide area network or a local area network, etc. FIG12 shows a possible implementation. As shown in FIG12 , two computing devices 900C and 900D are connected via a network. Specifically, the connection to the network is made 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.
[0220] The connection method between the computing device clusters shown in Figure 12 can be considered to be that the data analysis method provided by this application requires a large amount of computing power for data analysis, so it is considered to entrust the functions implemented by the analysis subsystem 300 to the computing device 900D for execution.
[0221] It should be understood that the functionality of the computing device 900C shown in FIG12 may also be accomplished by multiple computing devices 900. Similarly, the functionality of the computing device 900D may also be accomplished by multiple computing devices 900.
[0222] 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 that contains 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 drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the above-mentioned data analysis system 10 for performing the data analysis method.
[0223] The present application also provides a computer program product comprising instructions. The computer program product may be software or a program product comprising instructions that can be executed on a computing device or stored in any available medium. When the computer program product is executed on at least one computing device, the at least one computing device executes the aforementioned data analysis method.
[0224] 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 deviate the essence of the corresponding technical solutions from the protection scope of the technical solutions of the various 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
Patent Citations
Data analysis method and related system
CN119537576A
Man-machine interaction method and system of hybrid module
CN110516035A
Voice interaction method and system, terminal and computer readable storage medium
CN111368538A
Data processing method, data processing system, information creation method and equipment
CN112306312A
Intelligent robot integrating chat, knowledge and task questions and answers
CN113515613A
Cited By
Method and device for realizing text SQL (Structured Query Language) based on cue words of large language model
CN120030041A
Digital human interaction management system based on big data analysis
CN120146064A
SQL generation implementation method, device and equipment based on DSL conversion engine
CN120277085A
Table analysis method and table understanding model training method
CN120494132A
Information processing method and device, equipment, storage medium and program product
CN120561249A