Interactive system and interactive method

The dialogue system manages and conceals sensitive information by using a registration and concealment mechanism, ensuring secure and authorized information output, addressing the challenge of unintended access to confidential data.

JP2025127503APending Publication Date: 2025-09-02HITACHI LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024024212
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-21
Publication Date
2025-09-02

AI Technical Summary

Technical Problem

Existing dialogue systems struggle to manage and conceal sensitive information within knowledge databases effectively, making it difficult to restrict access to confidential information for purposes unintended by the administrator.

Method used

A dialogue system that includes a registration unit for constraints, an acquisition unit, a reading unit, a dialogue unit, a concealment unit, and an output unit to manage and conceal specified expressions based on predefined constraints, ensuring that only authorized information is output.

Benefits of technology

The system effectively restricts the use of sensitive information, providing a highly confidential dialogue system that can handle various tasks while maintaining data security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025127503000001_ABST
    Figure 2025127503000001_ABST
Patent Text Reader

Abstract

To provide an interactive system capable of restricting the use of knowledge information groups for purposes unintended by a knowledge information group administrator.SOLUTION: The interactive system includes a registration unit that registers constraint information for restricting the output of predetermined expressions in sentences within a knowledge information group into a constraint information group, an acquisition unit that obtains sentences related to input sentences entered via a user terminal from the knowledge information group, a readout unit that reads constraint information associated with sentences obtained by the acquisition unit from the constraint information group, an interaction unit that inputs sentence information obtained by the acquisition unit into an interaction engine and obtains an output sentence representing a response to the sentence from the interaction engine, a concealment unit that obtains a response sentence in which predetermined expressions in the output sentence obtained by the interaction unit are concealed on the basis of the constraints read by the readout unit, and an output unit that outputs the response sentence obtained by the concealment unit to the user terminal.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention generally relates to a dialogue system using a dialogue engine. [Background technology]

[0002] In recent years, advances in generative AI (artificial intelligence) technology have led to the development of dialogue engines that utilize large-scale language models. Large-scale language models are models that enable natural conversations with humans by learning from large amounts of text data. Dialogue engines connected to large-scale language models are capable of performing advanced language processing tasks, such as element extraction, translation, summarization, and similar sentence generation, in addition to general conversation. In particular, in the industrial application of generative AI, a technique called Retrieval-Augmented Generation (RAG) has attracted attention. This technique combines a dialogue engine with a knowledge database (hereafter referred to as knowledge DB) to output answers that include unique information. For example, by registering system specifications and user guides in a knowledge DB, when a user asks a question about a system failure, the dialogue engine can extract sentences similar to the question from the knowledge DB and provide a solution.

[0003] As shown above, by utilizing RAG, it is possible to extract information from the knowledge database in response to a user's question and then execute a task. However, for knowledge database administrators, the information in the knowledge database often contains confidential information that they would like to conceal depending on the task. For example, there may be a case where you want to conceal the acquisition of specific function parameters for a system specification in the knowledge database, but allow the generation of similar statements based on the function description.

[0004] As a concealment method in dialogue systems, a technology has been proposed that can more reliably ensure the security of confidential information that appears in a dialogue by not recording at least part of the confidential information in a spoken sentence in a log from the beginning (see Patent Document 1). [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Patent No. 7033195 Summary of the Invention [Problem to be solved by the invention]

[0006] The above-mentioned known techniques define any information that should not be disclosed to third parties as secret information, and then perform a process of replacing the secret information with a conceptual term in the utterance sentence. On the other hand, the present invention assumes a situation in which information in a knowledge information group associated with a dialogue engine is to be concealed. In this case, the dialogue system needs to determine the concealed parts and expressions in the knowledge information group, as well as the necessity of concealment in the dialogue engine. However, with the known techniques, it is difficult to manage the concealed information in the knowledge information group.

[0007] The present invention has been made in consideration of the above points, and aims to propose a dialogue system or the like that can restrict the use of information from a knowledge information group for purposes not intended by the administrator of the knowledge information group. [Means for solving the problem]

[0008] In order to solve this problem, the present invention provides a dialogue system that outputs an answer sentence to an input sentence input by a user via a user terminal, using a knowledge information group that stores sentence information and a dialogue engine that performs natural language processing, and is provided with: a registration unit that registers information on constraints for constraining the output of specified expressions in sentences in the knowledge information group in the constraint information group; an acquisition unit that acquires sentences related to the input sentence input via the user terminal from the knowledge information group; a reading unit that reads out constraints associated with the sentence acquired by the acquisition unit from the constraint information group; a dialogue unit that inputs the information on the sentence acquired by the acquisition unit to the dialogue engine and obtains an output sentence that is an answer to the sentence from the dialogue engine; a concealment unit that obtains an answer sentence in which a specified expression in the output sentence obtained by the dialogue unit is concealed based on the constraints read by the reading unit; and an output unit that outputs the answer sentence obtained by the concealment unit to the user terminal.

[0009] In the above configuration, the output of specified expressions in sentences of the knowledge information group is restricted based on the restrictions in the restriction information group, so that, for example, an administrator can restrict the use of information from the knowledge information group for purposes not intended by the administrator by registering desired restrictions in the restriction information group. [Effects of the Invention]

[0010] According to the present invention, a highly confidential dialogue system can be realized. Problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a dialogue system according to a first embodiment. [Figure 2] FIG. 1 is a diagram illustrating an example of hardware for constructing an interactive system according to a first embodiment. [Figure 3] FIG. 2 is a diagram illustrating an example of a knowledge DB according to the first embodiment. [Figure 4]FIG. 2 is a diagram illustrating an example of an expression constraint DB according to the first exemplary embodiment. [Figure 5] FIG. 4 is a diagram showing an example of a flowchart illustrating a processing flow related to an expression registration unit according to the first embodiment. [Figure 6] FIG. 4 is a diagram showing an example of a flowchart illustrating a processing flow related to a task classification unit according to the first embodiment. [Figure 7] FIG. 4 is a diagram showing an example of a flowchart illustrating a processing flow related to a text acquisition unit and a dialogue unit according to the first embodiment. [Figure 8] FIG. 10 is a diagram illustrating an example of a flowchart showing a processing flow related to a constraint reference unit according to the first exemplary embodiment. [Figure 9] FIG. 10 is a diagram showing an example of a flowchart illustrating a processing flow related to a concealment unit according to the first embodiment. [Figure 10] FIG. 3 is a diagram showing an example of a registration screen according to the first embodiment. [Figure 11] FIG. 2 is a diagram showing an example of a screen according to the first embodiment. [Figure 12] FIG. 3 is a diagram showing an example of a user input screen according to the first embodiment. [Figure 13] FIG. 10 is a diagram showing an example of a sentence when concealment processing is performed according to the first embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] (I) First embodiment An embodiment of the present invention will be described in detail below, but the present invention is not limited to the embodiment.

[0013] In this embodiment, a dialogue system related to an IT system (Information Technology System) is assumed. In this dialogue system, a user inputs various tasks related to the IT system as sentences, and a dialogue engine outputs answers based on a knowledge database.

[0014] The knowledge DB stores system specifications, API (Application Programming Interface) definitions, user guides, etc. Tasks input by the user include element extraction, translation, summarization, similar sentence generation, etc. The solution method according to the present invention is not limited to IT systems and specification information, but can be widely applied to any dialogue system that has a dialogue engine and a knowledge DB.

[0015] It is assumed that the dialogue engine is configured using a large language model. The sentences input to the dialogue engine are generally called prompts. RAG is a technology that allows a dialogue engine using a large language model to output an answer based on the information by providing task sentences and information related to the task as prompts.

[0016] In this embodiment, it is assumed that the user who inputs a task to the dialogue system is different from the DB administrator who stores information in the knowledge DB. The user can instruct the dialogue system on a task that uses information from the knowledge DB and obtain an answer. The DB administrator stores information required by the dialogue engine in the knowledge DB.

[0017] The designations "first," "second," "third," etc. in this specification are used to identify components and do not necessarily limit the number or order. Furthermore, numbers used to identify components are used in different contexts, and numbers used in one context do not necessarily indicate the same configuration in another context. Furthermore, this does not prevent a component identified by a certain number from also serving the function of a component identified by another number.

[0018] Next, an embodiment of the present invention will be described with reference to the drawings. The following description and drawings are examples for explaining the present invention, and some omissions and simplifications have been made as appropriate for clarity of explanation. The present invention can be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.

[0019] In the following description, identical elements in the drawings are given the same numbers, and descriptions thereof will be omitted where appropriate. When describing elements of the same type without distinguishing between them, the common portion (the portion excluding the branch number) of the reference sign including the branch number may be used, and when describing elements of the same type while distinguishing between them, the reference sign including the branch number may be used. For example, when describing dialogue models without distinguishing between them, they may be written as "dialogue model 161," and when describing individual dialogue models while distinguishing between them, they may be written as "dialogue model 161-1," "dialogue model 161-2," etc.

[0020] In FIG. 1, 110 indicates the dialogue system according to the first embodiment as a whole.

[0021] <Configuration> FIG. 1 is a diagram showing an example of the configuration of a dialogue system 110. As shown in FIG.

[0022] The dialogue system 110 is connected to a knowledge DB 120, an expression constraint DB 130, a user display system 140, a DB administrator display system 150, and a dialogue engine 160. The dialogue system 110 includes a sentence acquisition unit 111, a task classification unit 112, an expression registration unit 113, a dialogue unit 114, a constraint reference unit 115, and a concealment unit 116.

[0023] The knowledge DB 120 is a DB that stores, as text, information required by the dialogue engine 160. In this embodiment, it is assumed that specifications, user guides, requirement definition documents, API definition documents, etc. are stored.

[0024] The expression constraint DB 130 is a DB in which information (expressions, locations, concealment methods, etc.) for concealing (hiding) predetermined expressions in answers output by the dialogue engine 160 is stored in association with sentences stored in the knowledge DB 120.

[0025] The user display system 140 presents the user with an input screen and an output screen for the dialogue system 110. The user can input a sentence including a task to the user display system 140 using an input device. The sentence input to the user display system 140 is sent to the dialogue system 110. The answer from the dialogue system 110 is displayed as a sentence on the user display system 140. Here, the sentence including a task that the user inputs to the input device is called an input sentence, and the answer from the dialogue system 110 is called an answer sentence.

[0026] The DB administrator display system 150 presents to the DB administrator an operation screen and an operation result screen for the knowledge DB 120 and the expression constraint DB 130. The DB administrator can use an input device to register information in the knowledge DB 120 and register constraints in the expression constraint DB 130. The registration results are also displayed on the DB administrator display system 150.

[0027] The dialogue engine 160 includes a dialogue model 161. The dialogue engine 160 executes a process of returning an output based on the dialogue model 161 in response to an input prompt. Here, a sentence input to the dialogue engine 160 is referred to as a prompt, and a sentence output by the dialogue engine 160 is referred to as an output sentence. Generally, the dialogue engine 160 is provided as a cloud service and can be accessed via an API. The dialogue engine 160 can have multiple dialogue models 161, and can switch between them depending on the dialogue case of the dialogue system 110. The dialogue engine 160 may also include a vectorization language model 162 for vectorization processing when storing documents in the knowledge DB 120.

[0028] FIG. 2 is a diagram showing an example of hardware for constructing the dialogue system 110. As shown in FIG.

[0029] The dialogue system 110 may operate on a standalone computing device 210, or may operate on a server device via a network 240 with the user display system 140 as a client device. The computing device 210 includes a processor 211, storage 212, memory 213, input device 214, and output device 215 for the dialogue system 110 to operate. The input device 214 accepts operations from the user using a mouse, keyboard, etc. The input device 214 may also accept voice input using a microphone for dialogue processing. The output device 215 displays the input status and the output results of the dialogue processing to the user using a display, etc. The results of the dialogue processing may be voice output using a speaker, just like the input.

[0030] The computing device 210 is connected to the cloud environment 220 via a network IF 230. The dialogue engine 160 will be described as running on a virtual computing device 221 on the cloud environment 220. However, this does not apply when a small-scale dialogue model 161 is used, or when processing can be performed on the computing device 210.

[0031] The computing device 210 may be connected to the knowledge DB 120 and the expression constraint DB 130 via a network IF 230, or may be configured to include the knowledge DB 120 and the expression constraint DB 130. An example of the knowledge DB 120 is shown in FIG. 3, and an example of the expression constraint DB 130 is shown in FIG. 4.

[0032] Additionally, the functions of the computing device 210 (such as the sentence acquisition unit 111, the task classification unit 112, the expression registration unit 113, the dialogue unit 114, the constraint reference unit 115, and the concealment unit 116) may be realized, for example, by the processor 211 reading a program stored in the storage 212 into the memory 213 and executing it (software), or may be realized by hardware such as a dedicated circuit, or may be realized by a combination of software and hardware. Note that one function of the computing device 210 may be divided into multiple functions, or multiple functions may be combined into one function. Furthermore, some of the functions of the computing device 210 may be provided as separate functions or may be included in other functions. Furthermore, some of the functions of the computing device 210 may be realized by another computer capable of communicating with the computing device 210. Furthermore, each hardware component of the computing device 210 may be one or more.

[0033] Like the interactive system 110, the user display system 140 and the DB administrator display system 150 may operate on a stand-alone computing device, or may operate on a client device via a network with the interactive system as a server device.

[0034] <Processing> The following describes the processing procedure in which the DB administrator registers information in the knowledge DB 120 and registers constraints on the information, along with the flowchart in Fig. 5. This processing procedure is executed before the user interacts with the interactive system 110.

[0035] When the DB administrator registers information in the knowledge DB 120, the DB administrator display system 150 accepts the registration of a document from the DB administrator and the registration of constraints to be assigned to the document.

[0036] An example of the registration screen is shown in FIG. 10. On the registration screen 1010, the DB administrator can select a document to be registered in the knowledge DB 120 by pressing a "Select Document" button 1011. The document may have any structure as long as it is text data. The document may also contain other media such as images, videos, and audio. The document selected at this time is sent to the expression registration unit 113.

[0037] FIG. 5 is an example of a flowchart showing a processing flow related to the expression registration unit 113.

[0038] (S501) The expression registration unit 113 receives a notification (document, etc.) from the DB administrator display system 150 that the DB administrator has completed sending the document.

[0039] (S502) The expression registration unit 113 divides the text of the transmitted document into chunks and vectorizes them. In this embodiment, the knowledge DB 120 divides the document into short sentences of a certain number of characters (hereinafter referred to as chunks) and stores them as multidimensional vector data. This is because the similarity between vectors is used in the similar sentence extraction process described later.

[0040] FIG. 3 shows an example of document management on the knowledge DB 120. Within the knowledge DB 120, the text of a document is managed in chunk units. In the document column 301, the name of the document that contains the chunk is recorded. In the chunk number column 302, the chunk number within the document is recorded. In the chunk column 303, the text within the chunk is recorded. In the vector column 304, vector data of the chunk is recorded.

[0041] Note that if vector similarity is not used in the similar sentence extraction process described later, conversion to vector data is not necessary. For example, if the process is to determine similarity based on a match between words in the input sentence (question sentence) and sentences in the knowledge DB 120, the document may be recorded in a structure having a document column 301, a chunk number column 302, and a chunk column 303. After the vectorized document is stored in the knowledge DB 120, the DB administrator display system 150 executes the process (S503).

[0042] (S503) The DB administrator display system 150 then accepts input of constraints for the document on a registration screen 1010. On the registration screen 1010, documents 1013 and chunk text 1014 are listed in a table 1012, allowing the DB administrator to select from them. On the registration screen 1010, the document name "Specifications" and the chunk text "In this specification, the product..." are selected. After selection, by clicking the "Go to constraint entry field" button 1015, a screen 1020 pops up. On screen 1020, constraints can be entered for the specifically selected chunk.

[0043] The items required to enter a constraint are task 1021, constraint target 1022, and expression 1023. In task 1021, the task to which the constraint is to be applied is entered. Examples of tasks that can be specified include element extraction, summarization, translation, and similar sentence generation. In constraint target 1022, the sentence to which the constraint is to be applied within the chunk is entered. The entered sentence may be specified as a specific string of characters, or may be an abstract specification such as a company name or a number, or may be specified as multiple strings of characters. In expression 1023, the expression method in the output sentence when the constraint is applied is specified. Possible expressions include prohibition, deletion, and abstraction. After entering the constraint, the DB administrator can submit the constraint by clicking the "Assign Constraint" button 1024.

[0044] Furthermore, a screen 1100 shown in FIG. 11 may be used as an example of a screen for entering constraints. The screen 1100 displays the text of the selected chunk, and the DB administrator can select a range of character strings within the text. The DB administrator can input a task and an expression in the constraint for the selected range of character strings. For example, the screen 1110 shows an example in which the character string "Company A" is selected, and a constraint 1111-1 is entered to abstract the string for the element extraction task. The entered constraint 1111 is sent to the dialogue system 110 by finally pressing a "Register" button 1120.

[0045] (S504) The expression registration unit 113 receives constraint information such as the document name of the constraint target, chunk sentence, constraint target, expression, task, etc. from the DB administrator display system 150.

[0046] (S505) The expression registration unit 113 stores the information on the constraint received in (S504) in the expression constraint DB .

[0047] 4 shows an example of constraint management in the expression constraint DB 130. In the expression constraint DB 130, each constraint is managed using a document column 401, a chunk number column 402, a constraint target column 403, a task column 404, and an expression column 405. As an example, the first line 410 shows a constraint that, when the dialogue engine 160 generates an output sentence that extracts numerical information from the sentence in the 12th chunk of the specification, the numerical value is abstracted and a response is given to the user.

[0048] (S506) The expression registration unit 113 ends the processing of the flowchart. This flowchart enables the DB administrator to store a document in the knowledge DB 120 and store constraints on the document in the expression constraint DB .

[0049] Figures 6, 7, 8, and 9 are diagrams showing the processing flow of the processes executed by each processing unit within the dialogue system 110 from the time the user inputs an input sentence into the dialogue system 110 until the time an answer sentence is obtained from the dialogue system 110.

[0050] FIG. 6 is an example of a flowchart showing a processing flow related to the task classification unit 112.

[0051] (S601) The user inputs an input sentence via the user display system 140. FIG. 12 shows an example of a user input screen. On the user input screen 1200, the user's past input sentences 1201 are displayed on the right side, and the dialogue system 110's response sentence 1202 is displayed on the left side. The user can enter the input sentence in the entry field 1203 at the bottom of the screen. When the Enter button or the like is pressed, the input sentence is sent via the user display system 140 to the dialogue system 110 (for example, the task classification unit 112 and the sentence acquisition unit 111).

[0052] (S602) The task classification unit 112 receives an input sentence from the user display system 140.

[0053] (S603) The task classification unit 112 inputs "What is the task of {input sentence}?" as a prompt to the dialogue engine 160 to determine the task contained in the input sentence. Here, the description enclosed in {} means that the corresponding sentence is embedded. For example, the character string of the input sentence entered by the user is embedded in {input sentence}.

[0054] (S604) In response to the prompt, the dialogue engine 160 responds to the task classification unit 112 by saying, "The task for the input sentence is {task}." Here, {task} is filled with a character string that means a task such as element extraction, translation, or summarization.

[0055] (S605) The task classification unit 112 acquires (classifies) the task of the input sentence from the response received in (S604), and sets it as task category information.

[0056] (S606) The task classification unit 112 notifies the concealment unit 116 of the task category information.

[0057] FIG. 7 is an example of a flowchart showing a processing flow related to the text acquisition unit 111 and the dialogue unit 114.

[0058] (S701) The user inputs an input sentence via the user display system 140. Note that (S601) and (S701) are the same process, and therefore a description thereof will be omitted.

[0059] (S702) The text acquisition unit 111 receives an input text from the user display system 140.

[0060] (S703) The text acquisition unit 111 first vectorizes the input text in order to extract chunks having text similar to the input text from the knowledge DB 120. In the vectorization process, the text acquisition unit 111 inputs the input text to the dialogue engine 160, which is set to use the vectorization language model 162, to obtain vector data.

[0061] (S704) The text acquisition unit 111 performs a similarity comparison between the vector data converted from the input text and the vector data of each chunk in the knowledge DB 120, and extracts one or more chunks with the highest similarity (similar text extraction process). In this embodiment, a method is applied to calculate the cosine similarity between two vectors, and after the similarity comparison, the top four are determined to be similar texts. A similarity comparison method other than cosine similarity may also be used as the similarity comparison method. At this time, the text acquisition unit 111 acquires the similar texts and also acquires from the knowledge DB 120 the document names to which the similar texts belong and the chunk numbers containing the similar texts.

[0062] (S705) The sentence acquisition unit 111 notifies the dialogue unit 114 of information on the four similar sentences acquired in (S704).

[0063] (S706) The dialogue unit 114 notifies the constraint reference unit 115 of the four similar sentences, document names, and chunk numbers of the similar sentences acquired in (S704).

[0064] (S707) The dialogue unit 114 embeds the similar sentences in the input sentence and inputs them as a prompt to the dialogue engine 160. At this time, the dialogue unit 114 may summarize the similar sentences before embedding them in the input sentence. The prompt may be, for example, a character string such as "Please answer the following question based on the information. Question: {input sentence} Information: {similar sentence}".

[0065] (S708) The dialogue engine 160 returns a response to the prompt to the dialogue unit 114.

[0066] (S709) The dialogue unit 114 acquires a response to the prompt from the dialogue engine 160 and generates the response sentence.

[0067] (S710) The dialogue unit 114 notifies the concealment unit 116 of the answer sentence.

[0068] FIG. 8 is an example of a flowchart showing a processing flow related to the constraint reference unit 115.

[0069] (S801) The constraint reference unit 115 receives similar sentences, document names, and chunk numbers from the sentence acquisition unit 111.

[0070] (S802) The constraint reference unit 115 acquires constraints that match the document name and the chunk number of the similar sentence from the expression constraint DB 130. The group of constraints at this time is called constraint items.

[0071] (S803) The constraint reference unit 115 notifies the concealment unit 116 of the constraints.

[0072] FIG. 9 is an example of a flowchart showing a processing flow related to the concealment unit 116.

[0073] (S901) The concealment unit 116 receives a task category from the task classification unit 112, a response sentence from the dialogue unit 114, and a constraint from the constraint reference unit 115.

[0074] (S902) The concealment unit 116 extracts a group of N constraints of tasks having the same task name as the task category from among the constraints.

[0075] (S903) The concealment unit 116 determines whether there is a constraint on a task having the same task name as the task category. If there is no such constraint, in (S906), the concealment unit 116 outputs the response text as is without any constraint. If there is such a constraint, the concealment unit 116 performs the process of (S904).

[0076] (S904) The concealment unit 116 determines whether there is a "prohibited" designation for each constraint in the group of constraints. If there is no such designation, the concealment unit 116 performs the process of (S908). If there is such a designation, the concealment unit 116 performs the process of (S905). This determination method is performed by string matching.

[0077] (S905) When there is a prohibited constraint, since the concealment unit 116 does not output the response text itself, the response text is set to "This text cannot be output due to constraints."

[0078] (S906) The concealment unit 116 outputs the response text. For example, the concealment unit 116 transmits the response text to the user display system 140 and causes it to be displayed on the screen of the user display system 140.

[0079] (S907) The concealment unit 116 ends the process. <s

[0080] (S908) The concealment unit 116 executes the process in order from the "n = 0"th item for the group of N constraints.

[0081] (S909) The concealment unit 116 determines whether n < N. If it is positive, the process of (S910) is performed. If it is negative, the process of (S906) is performed.

[0082] (S910) The concealment unit 116 acquires the constraint target and the expression as the nth item of the constraint.

[0083] (S911) The concealment unit 116 changes the description of the answer sentence to a specified expression based on the nth constraint. At this time, the concealment unit 116 uses the dialogue engine 160 for the change process. The prompt input to the dialogue engine 160 is, for example, "Does the following {answer sentence} contain the expression shown in {constraint target} in the form of {constraint}? If so, rewrite it to {expression}." The corresponding sentence and the content of the nth constraint are embedded in each {}. For example, a prompt such as "Does the answer sentence "..." contain an expression indicating a company name? If so, delete the company name" is input to the dialogue engine 160.

[0084] (S912) The dialogue engine 160 determines, based on the prompt, whether the sentence to be constrained includes a constraint.

[0085] (S913) If the dialogue engine 160 determines that a constraint is included, it performs the process of (S914), and if it determines that a constraint is not included, it performs the process of (S915).

[0086] (S914) The dialogue engine 160 rewrites the part in question into the form of expression specified by the prompt, and sets it as a replacement sentence.

[0087] (S915) The dialogue engine 160 outputs the presence or absence of constraints in the answer sentence and the replacement sentence to the concealment unit 116. Fig. 13 shows an example of a specific concealment process.

[0088] 13 is a diagram showing an example of a sentence when the concealment unit 116 performs a concealment process based on the constraints on the answer sentence that the dialogue unit 114 acquired from the dialogue engine 160 in (S709). For example, answer sentence 1310 is a sentence that answers a question about a failure case input by a user by quoting the specifications, user guide, and FAQ in the knowledge DB 120 and then explains the cause. Sentences 1320 and 1330 show examples of the results of the concealment process performed by the concealment unit 116 on answer sentence 1310.

[0089] Sentence 1320 shows an example of a citation being deleted from the answer sentence based on the constraint that the target sentence is deleted during the element extraction task. In this case, as shown in target section 1321, it is possible to either include a notice of the deletion in the answer or not.

[0090] In sentence 1330, similarly, based on the constraint of abstracting the description of "Company A" during the element extraction task, a statement such as "This occurs frequently when applied to Company A. In the resolved case, it is caused by Company A's proxy" is rewritten to "This occurs frequently in environments with a proxy" as shown in target section 1331. By rewriting it in this way, it is possible to avoid expressions such as "specific to the company" and answer it as a general issue.

[0091] Answer sentence 1340 and sentence 1350 after concealment processing show an example of deleting the relevant part from answer sentence 1340 based on the constraint of deleting specific values ​​during the element extraction task. In sentence 1350, the specific value is concealed by changing the expression "X units" which is the expression of the specific value in answer sentence 1340 to "multiple units." In this way, concealment processing in the element extraction task is achieved by deleting or replacing the relevant sentence expression.

[0092] An example of concealment processing based on constraints on the summarization task is shown in answer sentence 1360 and sentence after concealment processing 1370. When there is a constraint prohibiting summarization of answer sentence 1360, which is a sentence summarizing chapter 2 of the specification, a sentence prohibiting output itself is output, as shown in sentence 1370.

[0093] (S916) The concealment unit 116 sets the replacement sentence as the next answer sentence. The concealment unit 116 performs n+1 and executes (S909) again.

[0094] The above flowchart allows the DB administrator to rewrite the output text based on the constraints entered, concealing any parts that need to be concealed, and then use the result as the answer text.

[0095] (II) Supplementary Note The above-described embodiment includes, for example, the following contents.

[0096] In the above embodiment, the present invention is described as being applied to a dialogue system, but the present invention is not limited to this and can be widely applied to various other systems, devices, methods, and programs.

[0097] In the above-described embodiments, some or all of the programs may be installed from a program source into a device such as a computer that implements the computing device 210. The program source may be, for example, a program distribution server connected via a network or a computer-readable recording medium (e.g., a non-transitory recording medium). In the above description, two or more programs may be implemented as one program, or one program may be implemented as two or more programs.

[0098] Furthermore, in the above-described embodiments, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.

[0099] In the above-described embodiment, for the sake of convenience, the information related to the dialogue system has been described using a table, but the data structure is not limited to a table. The information related to the dialogue system may be expressed using a data structure other than a table, such as XML (Extensible Markup Language), YAML (YAML Ain't a Markup Language), a hash table, or a tree structure.

[0100] Furthermore, in the above-described embodiment, the screens shown and described are merely examples, and any design may be used as long as the information received is the same.

[0101] Furthermore, the screens shown and described in the above-described embodiment are merely examples, and any design may be used as long as the information presented is the same.

[0102] In addition, in the above description, information such as programs, tables, files, etc. that realize each function can be stored in a storage device such as a memory, a hard disk, or an SSD (Solid State Drive), or in a recording medium such as an IC card, an SD card, or a DVD.

[0103] The above-described embodiment has the following characteristic configurations, for example.

[0104] (1) A dialogue system (e.g., a dialogue system 110) that outputs a response sentence to an input sentence input by a user via a user terminal (a user display system 140, a computer, etc.) using a knowledge information group (e.g., a knowledge DB 120) that stores information on sentences (such as information on documents, sentences, chunk sequences 303, and vector sequences 304) and a dialogue engine (e.g., a dialogue engine 160, a dialogue model 161) that performs natural language processing, and that includes a registration unit (e.g., an expression registration unit 11) that registers information on constraints (such as information on constraint target sequences 403, task sequences 404, and expression sequences 405) for constraining the output of predetermined expressions in the sentences of the knowledge information group in a constraint information group (e.g., an expression constraint DB 130) via, for example, an administrator terminal (a DB administrator display system 150, a computer, etc.). 3), an acquisition unit (e.g., a sentence acquisition unit 111) that acquires sentences related to the input sentence input via the user terminal from the knowledge information group, a reading unit (e.g., a constraint reference unit 115) that reads out constraints associated with the sentence acquired by the acquisition unit from the constraint information group, a dialogue unit (e.g., a dialogue unit 114) that inputs information about the sentence acquired by the acquisition unit to the dialogue engine and obtains an output sentence that is an answer to the sentence from the dialogue engine, a concealment unit (e.g., a concealment unit 116) that obtains an answer sentence in which a predetermined expression in the output sentence obtained by the dialogue unit is concealed based on the constraints read out by the reading unit, and an output unit (e.g., a concealment unit 116) that outputs the answer sentence obtained by the concealment unit to the user terminal.

[0105] In the above configuration, the output of specified expressions in sentences of the knowledge information group is restricted based on the restrictions in the restriction information group, so that, for example, an administrator can restrict the use of information from the knowledge information group for purposes not intended by the administrator by registering desired restrictions in the restriction information group.

[0106] (2) The registration unit registers deletion or abstraction information input for each constraint target via an administrator terminal as a constraint for restricting the output of specified expressions in sentences of the knowledge information group (see, for example, Figures 4, 5, 10, and 11), and the concealment unit obtains an answer sentence in which the constraint target in the output sentence obtained by the dialogue unit has been deleted or abstracted (see, for example, Figures 9 and 13).

[0107] According to the above configuration, for example, the administrator can restrict the use of information in the knowledge information group by setting a level of restriction for each restriction target of the sentences in the knowledge information group.

[0108] (3) The concealment unit inputs a prompt to the dialogue engine instructing it to rewrite a specified expression in the output sentence obtained by the dialogue unit based on the constraints read by the reading unit (see, for example, S911), and obtains from the dialogue engine an answer sentence in which the specified expression is concealed based on the constraints.

[0109] In the above configuration, the dialogue engine conceals the predetermined expression based on the constraints, so that the predetermined expression is concealed in a natural way, for example.

[0110] (4) The system is provided with a classification unit (e.g., task classification unit 112) that classifies tasks signified by input sentences input via the user terminal, the registration unit registers constraints for each task to restrict the output of predetermined expressions in sentences of the knowledge information group (e.g., see Figures 4, 10, and 11), the classification unit classifies tasks signified by input sentences input via the user terminal, the acquisition unit acquires sentences related to the input sentences input via the user terminal from the knowledge information group, and the reading unit reads out from the constraint information group, among the constraints associated with the sentences acquired by the acquisition unit, constraints associated with the tasks classified by the classification unit (e.g., see S902).

[0111] According to the above configuration, for example, hiding is performed on sentences in a knowledge information group according to a task, so that the administrator can deal with a variety of use cases.

[0112] (5) The classification unit inputs a prompt to the dialogue engine inquiring about the task meant by the input sentence input via the user terminal (see, for example, S603), and classifies the task meant by the input sentence based on the output from the dialogue engine.

[0113] In the above configuration, the tasks are classified by the dialogue engine, so that the tasks can be flexibly classified in response to various inputs from the user, for example.

[0114] (6) The registration unit registers constraints for restricting the output of predetermined expressions in the sentences of the knowledge information group in association with an element extraction task for outputting all or part of the sentences of the knowledge information group (see, for example, Figures 4, 10, and 11).

[0115] According to the above configuration, for example, it is possible to conceal a predetermined expression in element extraction, which is in high demand.

[0116] Furthermore, the above-described configurations may be modified, rearranged, combined, or omitted as appropriate within the scope of the present invention. [Explanation of symbols]

[0117] 110...Dialogue system, 120...Knowledge DB, 130...Expression constraint DB, 140...User display system, 150...DB administrator display system, 160...Dialogue engine.

Claims

1. A dialogue system that outputs a response sentence to an input sentence input by a user via a user terminal, using a group of knowledge information that stores information on sentences and a dialogue engine that performs natural language processing, a registration unit that registers information on constraints for restricting the output of predetermined expressions in the sentences of the knowledge information group in the constraint information group; an acquisition unit that acquires, from the knowledge information group, a sentence related to an input sentence input via the user terminal; a reading unit that reads out, from the constraint information group, constraint items associated with the sentence acquired by the acquisition unit; a dialogue unit that inputs the information about the sentence acquired by the acquisition unit into the dialogue engine and obtains an output sentence that is a response to the sentence from the dialogue engine; a concealment unit for obtaining an answer sentence in which a predetermined expression in the output sentence obtained by the dialogue unit is concealed based on the constraints read by the reading unit; an output unit that outputs the answer sentence obtained by the concealment unit to the user terminal; A dialogue system comprising:

2. the registration unit registers deletion or abstraction information input for each constraint target via an administrator terminal as a constraint for restricting the output of a predetermined expression in a sentence of the knowledge information group; the concealment unit obtains an answer sentence in which the constraint object in the output sentence obtained by the dialogue unit is deleted or abstracted. The dialogue system according to claim 1 .

3. the concealment unit inputs a prompt to the dialogue engine instructing the dialogue engine to rewrite a predetermined expression in the output sentence obtained by the dialogue unit based on the constraints read out by the reading unit, and obtains from the dialogue engine an answer sentence in which the predetermined expression is concealed based on the constraints. The dialogue system according to claim 1 .

4. a classification unit that classifies tasks represented by input sentences input via the user terminal, the registration unit registers, for each task, constraints for restricting the output of predetermined expressions in the sentences of the knowledge information group; the classification unit classifies tasks represented by input sentences input via the user terminal; the acquiring unit acquires, from the knowledge information group, a sentence related to the input sentence input via the user terminal; the reading unit reads, from the constraint information group, constraints associated with the task classified by the classifying unit, among the constraints associated with the sentence acquired by the acquiring unit; The dialogue system according to claim 1 .

5. the classification unit inputs a prompt to the dialogue engine inquiring about a task meant by an input sentence input via the user terminal, and classifies the task meant by the input sentence based on an output from the dialogue engine; Dialogue system according to claim 4.

6. the registration unit registers constraints for restricting output of predetermined expressions in the sentences of the knowledge information group in association with an element extraction task for outputting all or part of the sentences of the knowledge information group; Dialogue system according to claim 4.

7. A dialogue method for outputting a response sentence to an input sentence input by a user via a user terminal, using a group of knowledge information storing information on sentences and a dialogue engine that performs natural language processing, comprising: a registration unit registering information on constraints for constraining the output of predetermined expressions in the sentences of the knowledge information group in the constraint information group; an acquisition unit acquiring, from the knowledge information group, a sentence related to an input sentence input via the user terminal; a reading unit reading out, from the constraint information group, constraint items associated with the sentence acquired by the acquisition unit; a dialogue unit inputting information about the sentence acquired by the acquisition unit into the dialogue engine and obtaining an output sentence that is a response to the sentence from the dialogue engine; a concealment unit obtaining an answer sentence in which a predetermined expression in the output sentence obtained by the dialogue unit is concealed based on the constraints read by the reading unit; an output unit outputting the answer sentence obtained by the concealment unit to the user terminal; Interaction methods including.

Citation Information

Patent Citations

  • Interactive Device

    JP7033195B2