Methods and systems for editing dialogue service modules based on relational data

By using interactive editing tools and natural language query services, the complexity of chatbot editing tools in data-request-oriented scenarios has been resolved. This enables non-professionals to intuitively edit database tables and generate appropriate SQL statements, improving the adaptability and accuracy of chatbots in data-request-oriented scenarios.

CN115374146BActive Publication Date: 2026-06-30INTERNATIONAL BUSINESS MACHINE CORPORATION

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2022-05-17
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing chatbot editing tools are difficult to use intuitively to edit data-driven customer requests, especially in large databases, and these tools often require specialized programming knowledge and are not suitable for wide-domain data and conversation flow types.

Method used

An interactive editing tool is provided that guides users to connect to a database through a graphical user interface, annotate the topics and columns of data tables, translate the user's natural language descriptions into SQL statements using a natural language query service, and supports editing and correction of multi-turn dialogue services.

Benefits of technology

It allows non-professional programmers to easily build data-oriented conversational services, supports multiple query formats, and improves the adaptability and accuracy of chatbots in data-oriented requests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115374146B_ABST
    Figure CN115374146B_ABST
Patent Text Reader

Abstract

A method for providing a chatbot and a database editing session service includes: receiving a database selection from a user and connecting the chatbot's editing service to a table in the database; outputting a question from the editing service to the user requesting a description of the table's subject; receiving the description of the table's subject; outputting a question to the user requesting identifiers for key columns of the table, the key columns containing values ​​representing the table's subject; receiving the identifiers for the table's key columns; and translating the description of the table's subject and the table's key columns into a session service by a natural language query service, wherein the session service includes SQL statements suitable for querying the database table.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of this disclosure relate to automated conversational services, such as chatbots. Background Technology

[0002] Automated dialogue services (such as chatbots) have become popular in enterprise customer service because they can replace much human intervention in handling simple customer requests. However, defining dialogue services remains challenging because some vendors offer complex programming interfaces that are difficult for domain experts who often lack sufficient computational training in those areas to use, and the intuitive graphical user interfaces available today are often limited in their ability to define the different types of target requests that clients can resolve. The essential part of a customer request is an information query that can be answered using items listed in a data table or a regular relational database. Examples include flight schedules, product features, release dates, service ticket status, etc.

[0003] Existing tools that allow clients to define chatbots typically assume that the dialogue requires intent, slots, and prompts. Intent specifies the basic form of the request, slots are parameter values ​​to be solicited from the end user, and prompts are statements on how those values ​​should be asked. Some vendors are creating other specialized ways to define bots, such as populating or customizing different forms using expected questions and appropriate responses or actions. Various efforts have also been made to design Natural Language Query (NLQ) interfaces for databases, covering detailed techniques on how to build translation tools that map natural language queries to structured database queries in standard languages ​​such as SQL.

[0004] However, the intents, slots / entities, and prompts or dialogue tree models used for editing chatbots are too rudimentary. They require clients to break down each anticipated end-user query into these elements. This is cumbersome to use and challenging to scale for many combinations of questions that can be answered with large databases. Question / answer definitions driven by analytics-imported documents are limited to text-oriented questions. For data-oriented questions, these documents typically only produce inclusive text paragraphs rather than precise answers. Other specialized chatbot editing tools are also limited to data and dialogue flow types applicable to narrow domains (such as e-commerce) and are not suitable for general domains. Work on NLQ technology focuses primarily on the details of translation methods, but less on how to interact with clients who need to build such services themselves and provide their descriptions of the data based on their domain knowledge. Summary of the Invention

[0005] The embodiments disclosed herein are intended to provide an intuitive way for clients to edit dialog services in response to data-oriented client requests.

[0006] According to embodiments of this disclosure, a method is provided for a chatbot and a database editing session service, the method comprising: receiving a database selection from a user; connecting the chatbot's editing service to a table in the database, wherein the table includes multiple rows and multiple columns; outputting a question from the editing service to the user requesting a description of a topic of the table; receiving the description of the topic of the table by the editing service; outputting a question from the editing service to the user requesting an identifier for a key column of the table, the key column containing values ​​representing the topic of the table; receiving the identifier for the key column of the table by the editing service; and translating the description of the topic of the table and the key column of the table into a dialogue service by a natural language query service, wherein the dialogue service includes SQL statements suitable for querying the database table.

[0007] According to another embodiment of this disclosure, the method includes: outputting a question from an editing service to a user requesting a description of another column of a table; and receiving, by the editing service, a natural language description of the other column of the table, wherein the natural language description of the other column of the table is translated into a dialogue service by a natural language query service.

[0008] According to another embodiment of this disclosure, for each column in the table, the steps of outputting a question from the editing service to the user requesting a description of another column in the table and receiving a natural language description of the other column in the table by the editing service are repeated.

[0009] According to another embodiment of this disclosure, the method includes outputting feedback from an editing service to a user an overview of a subject of a table, identifiers of key columns of the table, and a natural language description of another column in the table.

[0010] According to another embodiment of this disclosure, the method includes: outputting a prompt from a dialogue service to a user regarding a question concerning a topic in a table from the user; receiving the question concerning the topic in the table from the user; outputting an answer to the question received from the user from the dialogue service; and receiving an indication from the user whether the answer is correct, partially correct, or incorrect.

[0011] According to another embodiment of this disclosure, the method includes, in response to an incorrect or partially correct answer, repeating the following steps for one or more columns of a table: outputting a question from an editing service to a user requesting an alternative description of the subject of the table or another column of the table, receiving a natural language description of the subject of the table or another column of the table by the editing service, and translating the description of the subject of the table and the natural language description of one or more columns of the table into a conversational service.

[0012] According to another embodiment of this disclosure, a system for chatbot and database editing session services is provided, comprising: a chatbot; an editing service that guides a user through a process of establishing a session service for the chatbot; a database containing tables to which the editing service is connected; and a natural language query service that performs natural language processing on responses provided by the user to the editing service and generates SQL queries for the database service. The editing service outputs a question to the user requesting a description of the subject of the table, receives the description of the subject of the table from the user, outputs a question to the user requesting identifiers of key columns of the table, the key columns containing values ​​representing the subject of the table, receives the identifiers of the key columns of the table from the user, and the natural language query service translates the descriptions of the subject of the table and key columns into a session service, wherein the session service includes SQL statements suitable for querying the database tables.

[0013] According to another embodiment of this disclosure, the editing service outputs a question to the user requesting a description of another column of the table, receives a natural language description of the other column of the table from the user, and the natural language query service translates the natural language description of the other column of the table into a dialogue service.

[0014] According to another embodiment of this disclosure, the system includes a graphical user interface and cloud storage, through which users communicate with chatbots and editing services.

[0015] According to another embodiment of this disclosure, for each column in the table, the editing service repeatedly outputs a question to the user requesting a replacement description of the subject of the table or another column of the table, and receives a natural language description of the subject of the table or another column of the table from the user.

[0016] According to another embodiment of this disclosure, the editing service will output feedback to the user an overview of the subject of the table, identification of the key columns of the table, and a natural language description of another column in the table.

[0017] According to another embodiment of this disclosure, the session service outputs a prompt to the user regarding a question from the user concerning the subject of a table, receives a question from the user concerning the subject of the table, outputs an answer to the question received from the user, and receives from the user an indication of whether the answer is correct, partially correct, or incorrect.

[0018] According to another embodiment of this disclosure, in response to an incorrect or partially correct answer, for one or more columns of a table, the editing service repeats the steps of outputting a question to the user requesting an alternative description of the subject of the table or another column of the table, and receiving a natural language description of the subject of the table or another column of the table by the editing service, and the natural language query service translates the natural language description of the subject of the table and one or more columns of the table into a dialogue service.

[0019] According to another embodiment of this disclosure, a non-transitory program storage device readable by a computer is provided, which tangibly embodies a program of instructions executed by the computer to perform methods for chatbot and database editing session services. Attached Figure Description

[0020] Figure 1 This is a block diagram of an exemplary editing tool according to an embodiment.

[0021] Figure 2 This is a flowchart of the stages of an exemplary editing tool according to an embodiment.

[0022] Figure 3 A portion of a table from an exemplary database is shown according to an embodiment.

[0023] Figures 4-12 An exemplary editing process according to an embodiment is shown.

[0024] Figure 13 This is a schematic diagram of an exemplary cloud computing node that implements an embodiment of the present disclosure.

[0025] Figure 14 An exemplary cloud computing environment according to an embodiment of this disclosure is shown. Detailed Implementation

[0026] The exemplary embodiments of this disclosure, as described herein, generally provide augmented reality systems and methods for automating dialogue services. While embodiments are susceptible to various modifications and alternatives, specific embodiments thereof are illustrated by way of example in the accompanying drawings and will be described in detail herein. However, it should be understood that this disclosure is not intended to be limited to the specific forms disclosed, but rather, this disclosure is intended to cover all modifications, equivalents, and substitutions falling within the spirit and scope of this disclosure.

[0027] Embodiments of this disclosure provide an interactive editing tool that allows a client to define a chatbot service based on relational data. The editing tool according to embodiments operates through a dialogue that guides the client to: (1) specify a connection to a database or import one or more data tables, (2) provide a description of the data, and then (3) define multiple session queries and action modules through an iterative “write, translate, confirm, expand” process. It utilizes NLQ technology to provide a translation of the client-provided expressive natural language query into a structured query language such as SQL, plus a regenerated natural language form of the query composed of the translated components. Even if the client is unfamiliar with SQL syntax, the regenerated natural language query allows the client to check the bot's understanding. The client can try several variations of the same query until she is satisfied with the correct regeneration. The translated SQL statement can be used in response actions to this set of queries. This set of natural language queries mapped to the same action, along with the response action, can be used as modules in a chatbot service to be triggered when the end-user's utterance matches a natural language query. Optionally, this set of related natural language queries can be further expanded using paraphrasing or synonym search tools to better match other potential variations in end-user discourse.

[0028] The editing tool according to the embodiment allows domain experts, who may have little or no programming expertise, to easily build data-oriented session services. It can work against a wide range of databases of entity-instance types, where each row of a table represents an entity and each column represents an attribute of the entity in the table. An example of a table that is not an entity-instance table is a key-value table for a single object, where each row gives a (key, value) pair for one of the attributes of that object. However, if the key-value table is rotated clockwise so that each column describes a key and its value, the table becomes an entity-instance table with a single instance. The need for an initial data description is kept to a minimum to make it easy for clients to start. The editing tool according to the embodiment provides clients with a process of incrementally refining their data description to support more variable forms of the same query.

[0029] The editing tools according to the embodiments include a user interface, a connection application, and NLQ technology. Figure 1This is a block diagram of an exemplary editing tool according to an embodiment. The editing tool 100 according to the embodiment may be cloud-based and includes a chatbot service 120, an editing service 130 that guides the user through a process of establishing a chatbot session service, a database service 150, a graphical user interface (GUI) 110 through which the user communicates with the chatbot service and the editing service, a natural language query (NLQ) service 140 that performs natural language processing on responses provided by the user to the editing service and generates SQL queries for the database service, and cloud storage 160. In some embodiments, the editing service 130 is included in or provided by the chatbot service 120. Figure 1 The dialogue service created by the editing tools is provided by chatbot service 120.

[0030] The tool works by... Figure 2 The three stages shown guide the client: configuration 210, annotation 220, and query 230.

[0031] In configuration step 210, the user selects a database, provides the editing service 130 with connection details for the database 150 (such as host URL, access credentials, etc.) via GUI 110, and selects a table from the database. Figure 3 A portion of a table from an exemplary database is shown according to an embodiment.

[0032] In annotation step 220, the interactive editing process controlled by editing service 130 presents annotation prompts to the user in the form of questions through GUI 110, and collects data descriptions from the user through GUI 110. If the user has previously annotated a table, the user can find the table in the database list and directly enter the "Query" stage to ask questions. The user can also select it and enter "Annotation" to complete incomplete annotations or make changes.

[0033] Note that in the following description of the dialogue via the GUI, the word "chatbot" is used to refer to the "edit" dialogue, which is different from the dialogue service provided to the end user that is being created by the editing service.

[0034] The reason for schema annotations is to provide words that represent how entities and their attributes are referred to in natural language, so that the dialogue service can understand questions about them. Those words can form column headings that are sometimes incomprehensible to users.

[0035] For example, consider a table listing two examples of fruits:

[0036] PROD COL MED_CAL

[0037] Apple Red 95

[0038] Banana Yellow 105

[0039] Essentially, this table has one example of fruit whose name (PROD) is identified as apple, color (COL) as red, and has 95 calories (MED_CAL). Additionally, there is another example of fruit whose name (PROD) is identified as banana, color (COL) as yellow, and has 105 calories (MED_CAL).

[0040] This table should be interpreted as statements like these, which can be used to generate answers when the focus of a question falls on the various parts of the statement. The table provides column labels and entry values ​​that can be harvested. To add those labels (which are sometimes incomprehensible), users provide the chatbot service with their equivalent natural language words: fruit, name, color, medium calories, etc. Using these, questions containing those words can be associated with the relevant columns.

[0041] For example, someone might ask, "Which fruit has more than 100 calories?" To answer this question, the service needs a concatenation of the words "fruit," "medium calories," and "fruit" represented by the "name" listed in the PROD column. Using these, the condition can be matched against MED_CAL, and the target PROD value can be retrieved as the answer. Note that the word "fruit" refers to the main topic of the table, and it does not need to appear explicitly in the table. The words are needed so that questions like "Which fruit…" can be understood as asking the target row. Once this column is identified as an identifier for the item described in each row, the value in the PROD column is used to answer the question.

[0042] Therefore, according to an embodiment, in order to build a database for dialogue, a description of what information the table stores is provided. This can be called a "schema annotation" process. Suppose the table is a list of items of a specific type, where each column represents some attribute of the item. Therefore, the first thing needed is words describing the subject of the table. What is this table about? It could be a type of thing / person / place / event or something else.

[0043] Once the topic is identified, the chatbot needs to know which column best represents the value for each specific item. Typically, this is the column containing the name or other unique identifier for each item. Then, for each column, the chatbot needs some natural language words that function as column headers. This allows it to know which columns are relevant when such words appear in the question.

[0044] In addition, the chatbot wants to know the semantic type of each column—that is, whether the value is about a person, location, date, etc. This allows it to look for candidate answers to certain types of questions in those columns, such as questions led by "who," "where," or "when." For columns containing numbers, it needs to know whether the numbers are suitable for calculation. For example, frequency counts, lengths, weights, etc., are suitable. However, ID numbers, phone numbers, etc., are not.

[0045] In annotation step 220, the editing process according to the embodiment begins with two questions for each table:

[0046] (1) The main entities in the table, that is, what the table is about, and

[0047] (2) The primary key of a table, i.e., which column best represents an item in the table, such as a row.

[0048] The answers to these questions aren't necessarily obvious from the database. For the first question, the user provides a single word describing the subject of the table (i.e., what the table is about). For example, if the table lists restaurant names, addresses, menus, etc., the user enters "restaurants." For a product catalog, the user enters "products." Or, if the table only lists toys, the user narrows it down to the type of product, such as "toys." For the second question, the user enters which column best represents the items in the row. Typically, this should be a column containing a name or some unique identifier.

[0049] In this embodiment, once the user provides answers to both questions, additional questions concerning specific attributes of each database column are presented to the user. For each column, the user can provide natural language words equivalent to the column header and can check whether the value is in one of the special types, such as person, location, money, date, time, or a number suitable for calculation. The user can provide synonyms for words describing the main entity or its properties and add alternative words as labels for the main entity or column.

[0050] In query step 230, the user asks a question to the session service via chatbot 120 to test the session service and receives the answer to the question from the database. This query step can be omitted.

[0051] Once the database columns have been annotated, the user can proceed to query step 230 and begin asking questions about the database, or alternatively, continue to annotation step 220 to provide natural language synonyms for each column in the table, specify the semantic type of the column, or write statements on how columns from different tables can be mentioned together. The questions asked in query step 230 are translated into SQL statements and regenerated natural language queries by backend NLQ technology. The client can verify that the translation is good; at this point, the original question and translation are saved for use as a "question-action" pair for the chatbot. This pair can be added to the chatbot's definition as an implicit intent and its associated response, which can be used directly in the chatbot or after further refinement using the chatbot's tools. Refinement may include generalizing proper nouns in the question to entity categories or their synonyms, formatting data responses, or enhancing the query sentence with additional client-provided variations. If the client discovers an error translation using NLQ technology in query step 230, she can inspect the translation to check which part of the query was omitted and return to annotation step 220 to provide additional annotations to the database, such as additional synonyms for column names or fuzzy templates for entity values. For one or more columns of a table, the editing service outputs a question to the user requesting an alternative description of the table's subject or another column, along with a natural language description of the table's subject or another column. The alternative description of the table's subject and the natural language description of one or more columns in the table are translated and incorporated into the conversational service. The client can iterate between annotation step 220 and query step 230 to incrementally build a rich conversational service for chatbots to address many different types of questions.

[0052] Figures 4-14 This illustrates an embodiment for use Figure 3 A screenshot of an exemplary editing process dialog for a database table presented in the image. In one embodiment, Figure 3 This is a table for restaurants, named NYC_RESTAURANTS, where each row refers to a specific restaurant and includes the following: "DBA" for the restaurant's name, "BORO" for the restaurant's location, "STREET" for the restaurant's address, "ZIPCODE" for the restaurant's zip code, "PHONE" for the restaurant's phone number, and "CUISINE" for the type of cuisine the restaurant offers. However, note that the use of the restaurant table is exemplary and not restrictive; the following comments and query procedures can be applied to any database table. Furthermore, Figures 4-9 The annotation process is shown. Figures 10-14 The query process is illustrated. The editing process according to this embodiment is a three-way session involving the user, the editing service (referred to as the host in the diagram), and the chatbot. Figures 4-14In the screenshot, the left side shows the conversation between the user, the host, and the chatbot, while the right side shows the feedback received by the user from the chatbot and the host.

[0053] refer to Figure 4 As disclosed above, the editing process begins by having the chatbot service present the following questions for each table:

[0054] What is the table about? Please provide a single word to describe the type of the items listed in the rows.

[0055] Below the questions presented by the chatbot are buttons; if the chatbot needs further explanation, the user can click on some built-in answers. Figure 4 In the example, the user enters "restaurant" on the right side of the left column. The chatbot service responds with the following:

[0056] I'm considering this table to be about restaurants. Are there other words that refer to the same concept? If so, please provide them in a comma-separated list.

[0057] The chatbot service also offers a "Not now" button, which is available in... Figure 4 The examples are selected by the user.

[0058] from Figures 4 to 5 The chatbot service responds with the following and displays two buttons:

[0059] The table's subject is "Restaurant." Does it need to be changed?

[0060] In this example, the user selects the "No, that's fine" button, after which the chatbot responds with "We will consider this form to be about the restaurant," and the host indicates that the comment has been saved.

[0061] According to the embodiment, the chatbot now presents a second problem:

[0062] If someone asks for an example of a restaurant, which column in the table would you like to use in your answer? If you would like to use the corresponding column, please enter the numbers: 1: DBA; 2: BORO; 3: STREET;

[0063] 4: ZIPCODE; 5: PHONE; 6: CUISINE.

[0064] In this example, the user responds with the number "1". The chatbot service responds with "I will use column 1 to represent the row", and the host indicates that it has saved the DBA as the primary key. On the right side of the screen, the chatbot service provides the following feedback:

[0065] The subject of the table is called a restaurant.

[0066] The column DBA is used as the primary key.

[0067] Once the subject and primary key of the database table have been provided, the remaining issues in the annotation process according to the embodiment involve the specific properties of each database column.

[0068] Continue to Figure 6 The chatbot service outputs "Continue attribute commenting," and the host prompts the user to "select the next attribute." The chatbot service outputs the following feedback on the right: "Column DBA is called DBA, and it is the primary key," and responds on the left with the following content and presents three buttons:

[0069] Comment attribute DBA. Besides using its current name, how would you refer to it in natural language? Please provide one or more terms separated by commas. Alternatively, choose: In this example, the user responds by typing "name". The chatbot service responds by outputting "Should we use [name]?" followed by two buttons: one is "Add to current label", and the other is "Replace current label". The user selects the "Add to current label" button.

[0070] Now for reference Figure 7 The chatbot service outputs the following feedback on the right: "Column DBA is called dba, name, and it is the primary key," and the following feedback on the left, followed by four buttons:

[0071] I will use the name as the DBA's natural language name.

[0072] Check the data type of the column.

[0073] Can values ​​be used to answer questions about people, locations, or money?

[0074] In this example, the user responded by selecting the "None of the above" button. The chatbot then outputs "Is the value related to a date or time?" followed by three more buttons. The user again selects the "None of the above" button. The chatbot responds by outputting the following:

[0075] I will not consider these columns as dates or times.

[0076] I will set the DBA's semantic type to none.

[0077] The DBA's semantic type is stored as none.

[0078] The host outputs "Comment saved", and the chatbot outputs the following feedback to the right: "Column DBA is called dba, name, and it is the primary key".

[0079] refer to Figure 8 The host outputs "Select the next attribute". The chatbot outputs the following feedback to the right: "Column BORO is called BORO", and outputs the following feedback to the left, followed by three buttons:

[0080] The annotation attribute is BORO. Besides using its current name, how would you refer to it in natural language? Please provide one or more comma-separated terms.

[0081] Alternatively, choose:

[0082] The user types "administrative district, region". The chatbot responds with "We should use [administrative district, region] with", followed by two buttons. The user selects the "Add to current label" button. The host responds with "Comment saved", and the chatbot outputs feedback to the right: "Column BORO is called boro, region, administrative district".

[0083] refer to Figure 9 The chatbot outputs "Continue attribute annotation" and repeats the above process for all columns of the database table. During this process, the chatbot outputs feedback on the annotations to the right. Once all columns have been annotated, the host outputs "All attributes have annotations," and the chatbot outputs "Would you like to change any annotations?" followed by two buttons. Figure 9 In the example shown, the user selects "No, I'm fine now." The chatbot outputs "Model updated; training started; this may take one or two minutes...", after which the host outputs "Training complete." During training, Figure 1 The NQL service 140 shown processes annotations and generates feedback on the right side of the screen regarding the use of the annotations to create internal data that supports the chatbot service. After training, the chatbot outputs an overview of how to annotate the table to the right and displays the following prompt to the user on the left, followed by a "Start:" button:

[0084] Now you can ask questions in the query panel or select different databases to annotate in the configuration panel.

[0085] After selecting a database, click Start.

[0086] refer to Figure 10 The user has selected "Query" from the top menu bar, and the chatbot outputs the following, while the host outputs a model ready for querying:

[0087] Preparing to use NYC_RESTAURANTS.

[0088] Begin processing the query using the selected database.

[0089] The chatbot service prompts the user to ask a question. Figure 10 In the example, the user enters "How many restaurants are there in Queens?", which is displayed on the right after the title "Question:". The chatbot responds with "Send query to backend", and the host outputs "You are asking the number of restaurants with boro and boro equal to the number of DBAs in Queens, and the answer is: 4907". On the right, the host's rephrased version of the query is displayed after the title "Regenerate", followed by the equivalent SQL used to query the database, then the title "Answer" and the answer: "NYC_RESTAURANTS__DBA 4907". On the left, the chatbot prompts the user with "How is the answer?", followed by four buttons. In this example, the user selects the "Correct" button.

[0090] refer to Figure 11 The chatbot service prompted the user to ask another question. Figure 11 In the example, the user enters "What type of food is served in Manhattan", and repeats the reference. Figure 10 The steps described are as follows: The host outputs a rewritten question, an SQL query to the database, and the answer. The chatbot then prompts the user with "How was the answer?" followed by four buttons. In this example, the user selects the "Correct" button.

[0091] Figure 14 This shows another example of a user asking a question to inquire about a chat service. Figure 14 One question is, "Which street in Manhattan has the most Thai restaurants?" Other possible questions include, for example, "What are the restaurants on Broadway in Manhattan?" or "What are the names and phone numbers of Italian restaurants in Queens?"

[0092] If the answer is incorrect or partially correct, the editing service repeats the following steps for one or more columns of the table: outputting a question to the user requesting an alternative description of the table's body or another column of the table, and receiving a natural language description of the table's subject or another column's subject. The alternative description of the table's subject and the natural language description of one or more columns in the table are translated and incorporated into the dialogue service.

[0093] According to one embodiment, the user continues to query the conversation service until they are satisfied that it is working correctly. However, if the user determines that the conversation service is not entirely satisfactory, they can select the "Comment" button from the menu bar and return to the database for commenting on the conversation service.

[0094] System Implementation

[0095] It should be understood that embodiments of this disclosure can be implemented in various forms, including hardware, software, firmware, dedicated processes, or combinations thereof. In one embodiment, embodiments of this disclosure can be implemented in software as an application tangibly embodied on a computer-readable program storage device. The application can be uploaded to and executed by a machine including any suitable architecture. Furthermore, it is understood in advance that while this disclosure includes a detailed description of cloud computing, implementations of the teachings cited herein are not limited to cloud computing environments. Rather, embodiments of this disclosure can be implemented in conjunction with any other type of computing environment now known or developed hereafter. The automated troubleshooting system according to embodiments of this disclosure is also suitable for cloud implementations.

[0096] Cloud computing is a service delivery model that enables convenient, on-demand access to a shared pool of configurable computing resources (e.g., a shared pool of configurable computing resources). These resources include networks, network bandwidth, servers, processing power, memory, storage devices, applications, virtual machines, and services, which can be rapidly provisioned and released with minimal management effort or interaction with the service provider. This cloud model may include at least five features, at least three service models, and at least four deployment models.

[0097] The features are as follows:

[0098] On-demand self-service: Cloud consumers can unilaterally and automatically provide computing power, such as server time and network storage, as needed, without requiring human interaction with the service provider.

[0099] Extensive network access: Capabilities are available through networks and accessed via standard mechanisms that facilitate the use of heterogeneous thin client platforms or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0100] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically assigned and reassigned as needed. There is a sense of location independence because consumers typically do not have control or knowledge of the exact location of the resources provided, but may be able to specify the location at a higher level of abstraction (e.g., country, state, or data center).

[0101] Rapid flexibility: The ability to provide capacity quickly and flexibly, automatically scaling down and up rapidly in some situations to scale up rapidly. For consumers, the available supply capacity often appears unlimited and can be purchased in any quantity at any time.

[0102] Measuring services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.

[0103] The service model is as follows:

[0104] Software as a Service (SaaS): This provides consumers with the ability to use the provider's applications running on cloud infrastructure. Applications can be accessed from different client devices via thin client interfaces such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or even individual application capabilities, with possible exceptions such as limited user-specific application configuration settings.

[0105] Platform as a Service (PaaS): This provides consumers with the ability to deploy applications created or acquired by the consumer using programming languages ​​and tools supported by the provider onto cloud infrastructure. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they have control over the deployed applications and the configuration of any application hosting environment.

[0106] Infrastructure as a Service (IaaS): The capabilities offered to consumers are processing, storage, networking, and other basic computing resources that enable consumers to deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but rather have control over the operating system, storage, deployed applications, and potentially limited control over selected networking components (e.g., host firewalls).

[0107] The deployment model is as follows:

[0108] Private cloud: A cloud infrastructure that operates solely for an organization. It can be managed by the organization or a third party and can exist on-site or off-site.

[0109] Community cloud: A cloud infrastructure shared by several organizations and supporting a specific community with shared concerns (e.g., tasks, security requirements, policies, and compliance considerations). It can be managed by an organization or a third party and can exist on-site or off-site.

[0110] Public cloud: Makes cloud infrastructure available to the public or large industry groups and is owned by an organization that sells cloud services.

[0111] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies that enable data and applications to be ported (e.g., cloud bursting for load balancing between clouds).

[0112] Cloud computing environments are service-oriented, focusing on statelessness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is the infrastructure comprising a network of interconnected nodes.

[0113] See now Figure 13 The diagram illustrates an example of a cloud computing node. Cloud computing node 1510 is merely one example of a suitable cloud computing node and is not intended to impose any limitation on the scope or functionality of the embodiments described herein. In any case, cloud computing node 1510 is capable of implementing and / or performing any of the functions set forth above.

[0114] Within cloud computing node 1510, there exists a computer system / server 1512 that can operate alongside many other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations suitable for use with computer system / server 1512 include, but are not limited to, personal computer systems, server computer systems, thin clients, fat clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices.

[0115] Computer system / server 1512 can be described in the general context of computer system executable instructions (such as program modules) executed by the computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types. Computer system / server 1512 can be implemented in a distributed cloud computing environment, where tasks are performed by remote processing devices linked via a communication network. In a distributed cloud computing environment, program modules can reside in local and remote computer system storage media, including memory storage devices.

[0116] like Figure 13 As shown, the computer system / server 1512 in cloud computing node 1510 is illustrated in the form of a general-purpose computing device. Components of the computer system / server 1512 may include, but are not limited to, one or more processors or processing units 1516, system memory 1528, and a bus 1518 that couples the various system components, including the system memory 1528, to the processor 1516.

[0117] Bus 1518 represents one or more of several types of bus architectures, including memory buses or memory controllers, peripheral buses, accelerated graphics ports, and processor or local buses using any of the various bus architectures. By way of example and not limitation, such architectures include Industry Standard Architecture (ISA) buses, Micro Channel Architecture (MCA) buses, Enhanced ISA (EISA) buses, Video Electronics Standards Association (VESA) local buses, and Peripheral Component Interconnect (PCI) buses.

[0118] Computer system / server 1512 typically includes various computer system readable media. Such media can be any available media that can be accessed by computer system / server 1512, and includes volatile and non-volatile media, removable and non-removable media.

[0119] System memory 1528 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 1530 and / or cache memory 1532. Computer system / server 1512 may also include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 1534 may be provided for reading and writing from non-removable non-volatile magnetic media (not shown, and generally referred to as a "hard disk drive"). Although not shown, disk drives for reading from or writing to removable non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable non-volatile optical disks (such as CD-ROMs, DVD-ROMs, or other optical media) may be provided. In such cases, each may be connected to bus 1518 via one or more data media interfaces. As will be further described and depicted below, memory 1528 may include at least one program product having at least one set of program modules configured to perform the functions of embodiments of this disclosure.

[0120] A program / utility 1540 having at least one set of program modules 1542 may be stored in memory 1528, as an example and not a limitation, along with an operating system, one or more applications, other program modules, and program data. Each or some combination of the operating system, one or more applications, other program modules, and program data may include an implementation of a network environment. Program modules 1542 typically perform functions and / or methods as described in embodiments of this disclosure.

[0121] Computer system / server 1512 can also communicate with one or more external devices 1514, such as a keyboard, pointing device, display 1524, etc.; one or more devices that enable a user to interact with computer system / server 1512; and / or any device that enables computer system / server 1512 to communicate with one or more other computing devices (e.g., network interface card, modem, etc.). Such communication may occur via input / output (I / O) interface 1522. Furthermore, computer system / server 1512 can communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet), via network adapter 1520. As depicted, network adapter 1520 communicates with other components of computer system / server 1512 via bus 1518. It should be understood that, although not shown, other hardware and / or software components may be used in conjunction with computer system / server 1512. Examples include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archiving storage systems.

[0122] Now for reference Figure 14 This describes an illustrative cloud computing environment 1620. As shown, the cloud computing environment 1620 includes one or more cloud computing nodes 1510 that can communicate with local computing devices used by cloud consumers, such as, for example, personal digital assistants (PDAs) or cellular phones 1624A, desktop computers 1624B, laptop computers 1624C, and / or automotive computer systems 1624N. The nodes 1510 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, as described above. This allows the cloud computing environment 1620 to provide infrastructure, platforms, and / or software as services that cloud consumers do not need to maintain on their local computing devices. It should be understood that... Figure 14 The types of computing devices 1624A-N shown are intended to be illustrative only, and computing node 1510 and cloud computing environment 1620 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).

[0123] Although embodiments of the present disclosure have been described in detail with reference to exemplary embodiments, those skilled in the art will recognize that various modifications and substitutions may be made therein without departing from the spirit and scope of the present disclosure as set forth in the appended claims.

Claims

1. A method for providing chatbot and database editing session services, comprising the following steps: The chatbot receives a database selection from the user and connects its editing service to a table in the database, wherein the table includes multiple rows and multiple columns; The editing service outputs a question to the user requesting a description of the subject of the table; The editing service receives a description of the subject of the table; The editing service outputs a question to the user requesting an identifier for a key column of the table, the key column containing values ​​representing the subject of the table; The editing service receives the identifiers of the key columns of the table; The editing service outputs a question to the user requesting a description of another column of the table; as well as The editing service receives a natural language description of another column in the table; The natural language query service translates a description of the subject of the table, the key columns of the table, and a natural language description of another column in the table into the session service, wherein the session service includes SQL statements suitable for querying database tables; The editing service outputs feedback to the user, including an overview of the subject of the table, identifiers of the key columns of the table, and a natural language description of another column in the table.

2. The method according to claim 1, wherein, The steps of outputting a question from the editing service to the user requesting a description of another column of the table, and receiving a natural language description of that other column from the editing service, are repeated for each column in the table.

3. The method according to claim 1, further comprising: The session service outputs prompts to the user regarding questions from the user that relate to the topics of the table; Receive questions from the user regarding the topic of the table; The session service outputs an answer to the question received from the user; as well as Receive instructions from the user on whether the answer is correct, partially correct, or incorrect.

4. The method according to claim 3, further comprising: In response to incorrect or partially correct answers, for one or more columns of the table, the steps of repeatedly outputting a question from the editing service to the user requesting an alternative description of the subject of the table or another column of the table, and receiving a natural language description of the subject of the table or another column of the table by the editing service, and translating the description of the subject of the table and the natural language description of the one or more columns of the table into the session service.

5. A system for providing services to chatbots and database editing sessions, comprising: Chatbot; The editing service guides users through the process of establishing a conversation service for the chatbot; A database, wherein the database contains the tables to which the editing service is connected; as well as A natural language query service performs natural language processing on the answers provided by the user to the editing service and generates SQL queries for the database service. The editing service outputs a question to the user requesting a description of the subject of the table, receives the description of the subject of the table from the user, outputs a question to the user requesting identifiers for the key columns of the table, the key columns containing values ​​representing the subject of the table, and receives the identifiers for the key columns of the table from the user. The editing service outputs a request for a description of another column in the table to the user, and receives a natural language description of that other column from the user. The natural language query service translates a description of the subject of the table, the key column, and a natural language description of another column in the table into the session service, wherein the session service includes SQL statements suitable for querying the database table, and The editing service will output feedback to the user, including an overview of the subject of the table, identification of the key columns of the table, and a natural language description of another column in the table.

6. The system of claim 5 further includes a graphical user interface through which the user communicates with the chatbot and the editing service, as well as cloud storage.

7. The system of claim 5, wherein for each column in the table, the editing service repeats the steps of: outputting a question to the user requesting an alternative description of the subject of the table or another column of the table, and receiving a natural language description of the subject of the table or another column of the table from the user.

8. The system of claim 5, wherein the session service outputs prompts to the user regarding questions from the user concerning the topic of the table, receives questions from the user concerning the topic of the table, outputs answers to the questions received from the user, and receives from the user an indication of whether the answers are correct, partially correct, or incorrect.

9. The system of claim 5, wherein in response to an incorrect or partially correct answer, for one or more columns of the table, the editing service repeats the steps of outputting a question to the user requesting an alternative description of the subject of the table or another column of the table and receiving a natural language description of the subject of the table or another column of the table by the editing service, and the natural language query service translates the description of the subject of the table and the natural language description of the one or more columns in the table into the session service.

10. A computer-readable non-transitory program storage device tangibly containing a program of instructions, said instructions being executed by said computer to perform a method for serving chatbot and database editing sessions, said method comprising the steps of any one of claims 1 to 4.