Dialogue system control device and control method therefor

The dialogue system's control device addresses the challenge of generating appropriate answers by using hierarchical and clustering-based search methods to refine responses, ensuring accurate answers even with insufficient user input.

JP2025000374APending Publication Date: 2025-01-07HITACHI LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023100193
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-19
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

Existing dialogue systems struggle to provide appropriate answers when user questions are insufficiently described, particularly when dealing with QA data generated from sentences with hierarchical structures, leading to incorrect or irrelevant responses.

Method used

A control device for a dialogue system that utilizes a processor to manage QA data through tables clustering questions and answers based on hierarchical indexes and key phrases, allowing for refined search and response generation by narrowing down the search criteria based on user input.

Benefits of technology

Enables the generation of appropriate answers to user questions even when the input is insufficient, by utilizing hierarchical and clustering-based search methods to narrow down the response options, thus improving the accuracy and relevance of dialogue system outputs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025000374000001_ABST
    Figure 2025000374000001_ABST
Patent Text Reader

Abstract

To provide a dialogue system control device and method that generates an appropriate answer to a user's question through a dialogue even when a question and an answer are made using QA data generated from text having indexes with a hierarchical structure.SOLUTION: A method stores in a memory a first table in which questions and answers based on indexes are clustered, and a second table in which questions and answers are clustered at a different granularity from the first table on the basis of a list of words serving as key phrases for the questions. The method causes a user to select a key phrase of the second table if a user's question includes a word of the key phrase stored in the second table, and returns an answer that narrows down the questions from the second table that stores the key phrase. The method causes the user to select an index of the first table if the question does not include a word of the key phrase stored in the second table, and returns an answer that narrows down the questions from the first table that stores the index.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a control device and a control method for a dialogue system. [Background technology]

[0002] In recent years, there has been much research into dialogue systems, such as chatbots, which are systems that automatically output answers to questions from a computer in response to user questions input in natural language, such as user speech or user-generated text.

[0003] A dialogue system that returns answers to such user questions stores in advance data on combinations of expected questions and their answers (hereafter referred to as QA data). For a question entered by a user, the dialogue system searches the QA data for the question that is expected to be most appropriate and outputs the answer.

[0004] For example, consider a case where a dialogue system that answers questions about automobile insurance determines the question sentence in the QA data with the highest similarity to the user's question as the most appropriate question sentence. The above dialogue system holds, as QA data, a combination of a question sentence "What is the limit of insurance payment?" and its answer sentence "The upper limit shall be the amount stipulated in Article 2 of the Enforcement Order of the Compensation Security Act," and another question sentence "What is the period for insurance payment?" and its answer sentence "Payment will be made within 30 days including the date of claim completion." When a user's question "How is the limit of insurance payment decided?" is input to this dialogue system, and the system finds "What is the limit of insurance payment?" as a result of searching the QA data, the system outputs the answer sentence "The upper limit shall be the amount stipulated in Article 2 of the Enforcement Order of the Compensation Security Act" that is the pair of the question sentence to the user as an answer.

[0005] In such a question-answering dialogue system, it is necessary to create QA data in advance from a sentence that describes the knowledge that is the basis of the question sentence and answer sentence of the QA data. For example, in the above-mentioned dialogue system that answers questions about automobile insurance, the QA data is created from automobile insurance clauses. For example, Patent Document 1 discloses a device that generates a question sentence and an answer sentence from a sentence obtained from a manual according to a predetermined rule. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] JP 2020-191898 A Summary of the Invention [Problem to be solved by the invention]

[0007] However, in a dialogue system that answers a user's question by searching through QA data for the question sentence that is assumed to be most appropriate, there was a problem that if the user's question was not sufficient for the search, there was a high possibility that the system would not be able to return the answer to the user's question.

[0008] For example, in the aforementioned dialogue system that answers questions about car insurance, when the question entered by the user is "How are the insurance payments made?", there is an issue in that it is not possible to search from the question entered by the user alone to determine which of the QA data questions, "What is the limit of insurance payments?" or "What is the period for which insurance payments are made?", is the most appropriate question. This is because the question entered by the user does not sufficiently describe whether the user is asking about the limit or the period. This issue is not limited to car insurance policy terms and conditions, but can also occur when questions and answers are asked using various QA data generated from documents with indexes that have a hierarchical structure of chapters and sections.

[0009] The object of the present invention is to provide a technology that generates appropriate answers to user questions through dialogue, even when questions and answers are asked using QA data generated from documents with hierarchical indexes. [Means for solving the problem]

[0010] In order to achieve the above object, the control device for a dialogue system according to the present invention is a control device for a dialogue system that answers a question of a user by a computer having a processor and a memory, wherein the processor stores in the memory a first table in which questions and answers are clustered based on an index, the first table being generated from QA data having pairs of questions and answers created from a document having a hierarchical structure having an index, and a second table in which questions and answers are clustered at a different granularity from that of the first table based on a list of words that are key phrases of the question, and when a question of a user includes a word of the key phrase stored in the second table, the control device has the user select the key phrase of the second table and returns an answer that narrows down the question of the user from the second table in which the key phrase selected by the user is stored, and when a question of the user does not include a word of the key phrase stored in the second table, the control device has the user select the index of the first table and returns an answer that narrows down the question of the user from the first table in which the index selected by the user is stored. Effect of the Invention

[0011] According to the present invention, even when questions and answers are asked using QA data generated from a document having an index with a hierarchical structure, appropriate answers can be generated through dialogue to the user's questions. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a diagram showing an overall configuration of a system to which a dialogue system according to a first embodiment is applied. [Diagram 2] FIG. 2 is a diagram showing information stored in QA data of the dialogue system according to the first embodiment. [Diagram 3] 6 is a flowchart showing a processing procedure of a dialogue narrowing-down unit in the dialogue system according to the first embodiment. [Figure 4A] FIG. 4 is a diagram showing an example of information stored in a narrowed-down candidate table of the dialogue system according to the first embodiment. [Figure 4B] FIG. 11 is a diagram showing another example of information stored in the narrowed-down candidate table of the dialogue system according to the first embodiment. [Diagram 5] 11 is a flowchart showing a procedure for determining the granularity of narrowing down in the dialogue system according to the first embodiment. [Figure 6] FIG. 13 is a diagram showing information stored in the QA data of the dialogue system according to the third embodiment. [Figure 7] FIG. 13 is a diagram showing information stored in a narrowing-down determination table of the dialogue system according to the fourth embodiment. [Figure 8] FIG. 13 is a diagram showing information stored in an access log table of the dialogue system according to the fifth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The examples are illustrative for explaining the present invention, and are omitted and simplified as appropriate for clarity of explanation. The present invention can be implemented in various other forms. Unless otherwise limited, each component may be singular or plural. The position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc., in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings.

[0014] As examples of various information, the various information may be described using expressions such as "table," "list," and "queue," but the various information may be expressed using data structures other than these. For example, various information such as "XX table," "XX list," and "XX queue" may be expressed as "XX information." When describing identification information, expressions such as "identification information," "identifier," "name," "ID," and "number" are used, but these are mutually interchangeable.

[0015] When there are multiple components having the same or similar functions, they may be described by using the same reference numerals with different subscripts, or when there is no need to distinguish between these multiple components, the subscripts may be omitted.

[0016] In the embodiments, a process performed by executing a program may be described. Here, a computer executes the program using a processor (e.g., CPU, GPU), and performs the process defined by the program while using a storage resource (e.g., memory) and an interface device (e.g., communication port), etc. Therefore, the subject of the process performed by executing the program may be the processor. Similarly, the subject of the process performed by executing the program may be a controller, device, system, computer, or node having a processor. The subject of the process performed by executing the program may be a calculation unit, and may include a dedicated circuit that performs specific processing. Here, the dedicated circuit is, for example, an FPGA (Field Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), or a CPLD (Complex Programmable Logic Device), etc.

[0017] The program may be installed in the computer from a program source. The program source may be, for example, a program distribution server or a computer-readable storage medium. When the program source is a program distribution server, the program distribution server may include a processor and a storage resource that stores the program to be distributed, and the processor of the program distribution server may distribute the program to be distributed to other computers. In addition, in the embodiment, two or more programs may be realized as one program, and one program may be realized as two or more programs. EXAMPLES

[0018] Fig. 1 is a diagram showing the overall configuration of a dialogue system that returns answers to questions from a user according to Example 1. As shown in Fig. 1, a dialogue system 100 according to this example is configured as hardware using a control device such as a general computer, and is connected to a database 101 and a user terminal 102 via a network.

[0019] The database 101 is a database in which the QA data 121 is stored in a storage device accessible from the dialogue system 100. In the embodiment, the database 101 is a storage device connected via a network, but is not limited to this. For example, the database 101 may be a storage device built into the dialogue system 100.

[0020] The QA data 121 consists of pairs of question sentences that are anticipated questions posed to the dialogue system 100 by users and their answers. The question sentences and their answers in the QA data 121 are generated manually or by known techniques from source sentences in which the knowledge of the question sentences and the answers is described. In this embodiment, the source sentences of the question sentences and their answers are hierarchically structured sentences, for example, sentences consisting of clauses having a hierarchical structure with indexes such as chapters and sections. Specifically, these are clauses or rules such as medical insurance clauses, medical guidelines, and company employee regulations. However, the clauses are not limited to clauses or rules, and may be any sentences having a hierarchical structure.

[0021] An example of the QA data 121 is shown in Fig. 2. The QA data 121 in Fig. 2 holds a question sentence 202 of an assumed user, which is generated manually or by a known technique from an original text, an answer sentence 203 to the question sentence, a unique identifier QAID 201 for the combination of the question sentence 202 and the answer sentence 203, a chapter number 204, a chapter title 205, a cluster ID 206, and a key phrase 207 in association with each other. The chapter number 204 and the chapter title 205 are information derived from the hierarchical structure of the original text in which the combination of the question sentence 202 and the answer sentence 203 is described. In this embodiment, the original text is divided into chapters, and each chapter has a title. The hierarchical structure is not limited to this.

[0022] For example, if the original text has a hierarchical structure in which chapter numbers are subordinate to section numbers and article numbers are further subordinate to the sections, information derived from the hierarchical structure may be further added to the QA data 121. The cluster ID 206 and the key phrase 207 are used when the QA clustering unit 135 divides a plurality of question sentences 202 stored as the QA data 121 into clusters of similar sentences. The cluster ID 206 and the key phrase 207 are identifiers indicating clusters belonging to the same cluster and one or more words that represent the cluster. Details of the cluster ID 206 and the key phrase 207 will be described later.

[0023] In this embodiment, a case will be described in which the QA data 121 is divided at a granularity derived from a hierarchical structure, and a case in which the question sentence is divided at a granularity derived from clustering based on a key phrase.

[0024] The dialogue system 100 in FIG. 1 is a dialogue system that dialogues with a user who operates a user terminal 102 via a network interface 113 and returns answers to questions from the user. The dialogue system 100 according to the first embodiment includes a processor 111, a network interface 113, and a memory 112. In the first embodiment, functions such as calculation and control are realized by a program executed by the processor 111, in cooperation with other hardware to perform predetermined processing. Also, in FIG. 1, the functions conceptually executed by the processor 111 based on software are shown as a dialogue input unit 121, a dialogue output unit 132, a QA search unit 133, a dialogue narrowing down unit 134, and a QA clustering unit 135. Programs for realizing these functions are stored in the memory 112.

[0025] As described above, the above program may be provided by being pre-installed in a ROM or the like, or may be provided or distributed by being recorded on a computer-readable recording medium such as a CD-ROM in the form of an installable or executable file. Furthermore, the above program may be stored on a computer connected to a network such as the Internet and provided or distributed via the network.

[0026] The dialogue input unit 131 receives a user question from the user device 102 via the network interface 113 .

[0027] The QA search unit 133 compares the user's question input to the QA search unit 133 with the question sentence 202 of the QA data 121, and searches for a combination of a question sentence and an answer sentence in the QA data 121 that is assumed to be most appropriate for the user's question. The QAID 201 to be searched can be limited by specifying a condition. In the first embodiment, the method of searching for a combination of a question sentence 202 and an answer sentence 203 in the QA data 121 that is assumed to be most appropriate for the user's question can be realized by comparing the degree of agreement between the words included in the user's question and the words included in the question sentence 202 of the QA data 121. For example, the QA search unit 133 compares the words included in the user's question with the question sentence 202 of the QA data 121, and searches for the question sentence 202 in the QA data 121 with the most matching words, and hits it.

[0028] The search method performed by the QA search unit 133 is not limited to this. For example, the distributed representation of the sentences of the user's question and the question sentence 202 in the QA data 121 may be calculated to measure the similarity, and the question sentence 202 with the highest similarity may be searched for. Furthermore, the dialogue system 100 may hold in advance a dictionary for converting words and sentences included in the user's question, and convert the user's question before the search performed by the QA search unit 133. For example, the dialogue system 100 may have a dictionary for converting "car" to "automobile," and convert the user's question "How do I pay for car insurance?" to "How do I pay for automobile insurance?".

[0029] The dialogue output unit 132 returns the answer sentence 203 paired with the question sentence 202 in the QA data 121 retrieved by the QA search unit 133 to the user terminal 102 via the network interface 113 as an answer to the question of the user of the dialogue system 100.

[0030] The dialogue narrowing unit 134 controls the narrowing dialogue for the user's question received by the dialogue input unit 131. The narrowing dialogue control is a control in which the user is asked for the chapter title 205 or key phrase 207 related to the user's question, and only the QA data 121 to which the chapter title 205 or key phrase 207 selected by the user belongs is targeted for search by the QA search unit 133. In other words, the narrowing dialogue control is a control in which, in a dialogue with the user, a sentence related to the user's question (e.g., a related chapter, a related key phrase) is identified from the QA data 121, and further questions for the user are narrowed down and searched within the range of the identified sentence. The details of the narrowing dialogue control will be described later.

[0031] Next, the QA clustering unit 135 clusters the QA data 121 in advance, and generates, for each cluster, a key phrase related to the user's question to be used in controlling the refinement dialogue. The operation of the QA clustering unit 135 will be described in detail later.

[0032] The network interface 113 is an interface for exchanging data with the database 101 and the user terminal device 102 via a network.

[0033] The above configuration may be configured with a single computer as the control device, as shown in the dialogue system 100 in Fig. 1, or, for example, the dialogue system 100 may be configured with multiple computers connected via a network. That is, in Fig. 1, the dialogue system 100 is configured with a computer, but the functions possessed by the dialogue system 100 may be configured with one or multiple computers, or all or part of these functions may be distributed and provided on one or multiple computers such as a cloud, and similar functions may be realized by communicating with each other via a network.

[0034] Next, a description will be given of the operation of the QA clustering unit 135. The QA clustering unit 135 is executed in advance before the dialogue system 100 returns an answer to a user's question.

[0035] The QA clustering unit 135 divides the multiple questions 202 included in the QA data 121 into clusters using sentences similar to each of the multiple questions 202 by using a known technique. For example, the QA clustering unit 135 compares the similarity of words appearing in the multiple questions 202, and classifies the questions 202 composed of words with similarity into the same cluster. As a result, the QAIDs 201 belonging to the same cluster have the same value of the cluster ID 206, which is the cluster identifier. When the QA clustering unit 135 creates clusters of the questions 202, the QA clustering unit 135 generates the clusters so that there are one or more clusters including QAIDs with different values ​​of the chapter number 204 in the same cluster. For example, in FIG. 2, the cluster ID 206 is "A" to which the QA data QAIDs "001", "005", and "006" belong, and the QAIDs include different chapter numbers 204 "1", "4", and "5".

[0036] Furthermore, the QA clustering unit 135 stores a word or sentence representing each cluster in the key phrase 207. In this embodiment, a word whose frequency of occurrence in the question sentence 202 belonging to the cluster is higher than or equal to a predetermined threshold is used as a key phrase. The generation of the key phrase is not limited to this. The chapter number 204 and the chapter title 205 of the QA data 121 are always the same values ​​unless there is a change in the sentences that are the source of the question sentence and the answer sentence. On the other hand, the cluster ID 206 and the key phrase 207 generated by the processing of the QA clustering unit 135 differ depending on the threshold value for the similarity of each of the multiple question sentences 202 to be divided into clusters. For example, if the rate at which a word included in a question sentence 202 and a word included in another question sentence 202 match is equal to or higher than the above-mentioned predetermined threshold value, the similarity between the two sentences is equal to or higher than a certain level. Therefore, the matching word is used as a key phrase common to both sentences. In this embodiment, multiple questions are clustered into one or more questions, but parts of one or more questions or answer sentences paired with a question may also be clustered.

[0037] In this embodiment, a flow in which the dialogue system 100 receives a question from a user and returns an answer will be specifically described with reference to FIG.

[0038] In step 301 , the dialogue input unit 131 receives a user question from the user terminal 102 via the network interface 113 .

[0039] Steps 302 to 305 are processing steps for controlling the refinement dialogue performed in the dialogue system 100. The processing will be explained in order of steps.

[0040] In step 302, the narrowing-down dialogue unit 134 performs a process of determining the granularity of narrowing down. The process of determining the granularity of narrowing down is a process of determining which method is used to generate a narrowing-down dialogue suitable for a user's question, either (1) dividing by granularity derived from the hierarchical structure of the QA data 121, or (2) dividing the question sentence by granularity derived from clustering based on key phrases, and newly generating a narrowing-down candidate table 400 to be used in the narrowing-down dialogue. Details of this process will be described later using the process flow of FIG. 5. The narrowing-down candidate table 400 generated in this step is stored in the memory 112. Examples of the narrowing-down candidate table 400 are shown in FIGS. 4A and 4B.

[0041] Fig. 4A is a diagram showing an example of a narrowing-down candidate table 400a when a question sentence is divided at a granularity derived from a hierarchical structure of the QA data 121 and a narrowing-down dialogue is generated. Fig. 4B is a diagram showing an example of a narrowing-down candidate table 400b when a question sentence is divided at a granularity derived from clustering based on key phrases and a narrowing-down dialogue is generated. Hereinafter, the narrowing-down candidate table 400a and the narrowing-down candidate table 400b may be collectively referred to simply as the narrowing-down candidate table 400. Similarly, the items in the narrowing-down candidate table 400 may be simply referred to as the ID 401, the narrowing-down candidate list 402, and the QAID list 403.

[0042] As shown in FIG. 4A, the narrowing-down candidate table 400a holds ID 401a, narrowing-down candidate list 402a, and QAID list 403a in association with each other. ID 401a is identification information for identifying the narrowing-down candidate list. The narrowing-down candidate list 402a is a value of the chapter title 205, which is a granularity derived from the hierarchical structure of the QA data 121, determined by the narrowing-down granularity determination process. The QAID list 403a is a list of values ​​of QAID 201 corresponding to the chapter title 205. In FIG. 4A, for example, a record with ID 401a of "1" stores "Limit of insurance liability" as the narrowing-down candidate list 402a, and stores "1" and "2" in the QAID list 403a. The above "Limit of insurance liability" is the chapter title 205 in which QAID 201 of the QA data 121 shown in FIG. 2 is stored as "1" and "2".

[0043] Also, as shown in FIG. 4B, the narrowing-down candidate table 400b holds ID 401b, narrowing-down candidate list 402b, and QAID list 403b in association with each other, similar to the narrowing-down candidate table 400a. ID 401b is identification information for identifying the narrowing-down candidate list. The narrowing-down candidate list 402b is a value of the key phrase 207, which is a granularity derived from clustering a question sentence based on a key phrase, determined by the process of narrowing-down granularity determination. The QAID list 403 is a list of values ​​of QAID 201 corresponding to the key phrase 207. In FIG. 4B, for example, for a record with ID 401b being "1", "insurance money" and "payment" are stored as the narrowing-down candidate list 402b, and "1", "5", and "6" are stored in the QAID list 403b. The above "insurance money" and "payment" are key phrases 207 in which QAID 201 of the QA data 121 shown in FIG. 2 is stored as "1", "5", and "6".

[0044] In step 303, the dialogue output unit 132 of the dialogue system 100 generates an answer sentence that allows the user to select a term related to the user's question from the narrowing-down candidate list 402 of the narrowing-down candidate table 400 generated in step 302, and outputs the answer sentence to the user terminal 102 via the network interface 113. For example, in the case of FIG. 4B, the dialogue output unit 132 generates an answer sentence that allows the user to select "insurance payment", "damage compensation payment amount", and "insurance termination" from the narrowing-down candidate list 402b as narrowing-down candidates. The answer sentence is generated by combining a fixed phrase and the narrowing-down candidate list 402 on a rule basis. For example, the dialogue output unit 132 generates a natural language sentence such as "Please select a term related to the question from the following: (1) 'insurance payment' (2) 'damage compensation payment amount' (3) 'insurance termination'". 4A, the dialogue output unit 132 generates an answer sentence that allows the user to select "Limit of insurance liability" and "Period of insurance liability" from the narrowing-down candidate list 402a as narrowing-down candidates. For example, the dialogue output unit 132 generates a natural language sentence of "Please select a term related to your question from the following: (1) 'Limit of insurance liability' (2) 'Period of insurance liability'."

[0045] In step 304, the user terminal 102 displays the answer sentence generated in step 302 from the narrowed-down candidate list 402. The user selects a narrowed-down candidate related to the user's question from among the words in the narrowed-down candidate list 402 of the displayed answer sentence. The dialogue narrowing-down unit 134 receives the narrowed-down candidate selected by the user from the user terminal 102 via the network interface 113.

[0046] In step 305, the narrowing dialogue unit 134 refers to the narrowing candidate table 400 and acquires a QAID list 403 of narrowing candidates selected by the user. The QA search unit 133 limits search conditions to the QAID list 403 as a search target, searches the limited QA data 121 for a question sentence that is assumed to be most appropriate for the user's question received in step 301, and acquires a corresponding answer sentence. For example, the QA search unit 133 may specify the question sentence with the highest score among question sentences analyzed using various conventionally known techniques such as scoring analysis as the question sentence that is assumed to be most appropriate for the user's question.

[0047] In step 306 , the dialogue output unit 132 returns the answer sentence acquired in step 305 to the user terminal 102 via the network interface 113 .

[0048] Next, the details of the process of determining the granularity of narrowing down in step 302 will be described in sequence along the process flow of FIG.

[0049] In step 501, the narrowing dialogue unit 134 divides the user's question into words and judges whether or not the words are included in the words of the key phrases 207 of the QA data 121. In step 501, the narrowing dialogue unit 134 performs the above judgment on all the key phrases 207 of the QA data 121. Note that the judgment on whether or not a word is included may be made only for a specific part of speech, for example, a noun.

[0050] When the narrowing down dialogue unit 134 determines in step 501 that the words in the user's question include the word of the key phrase 207 (step 501; YES), it performs processing in step 502. In step 502, the narrowing down dialogue unit 134 creates a new narrowing down candidate table 400b shown in FIG. 4B. The narrowing down dialogue unit 134 adds a new row to the narrowing down candidate list 402b for each key phrase 207 that was included in the words in the user's question in step 501, and stores it. Furthermore, the narrowing down dialogue unit 134 stores the QAID201 having the value of the key phrase 207 in the QAID list 403. The narrowing down dialogue unit 134 also newly stores an arbitrary unique value in the ID401.

[0051] When the narrowing dialogue unit 134 determines in step 501 that the words in the user's question do not include the words of the key phrase 207 (step 501; NO), in step 503, the narrowing dialogue unit 134 creates a new narrowing candidate table 400. At that time, a new row is added for each chapter title 205 to the narrowing candidate list 402 of the first embodiment and stored. Furthermore, the narrowing dialogue unit 134 stores the QAID 201 having the same chapter title 205 in the QAID list 403. Furthermore, the narrowing dialogue unit 134 newly stores an arbitrary unique value in the ID 401. Here, unlike the case where the words in the user's question include the words of the key phrase 207, for example, when at least the words included in the user's question are included in the chapter title, the narrowing dialogue unit 134 stores the chapter title and the QAID corresponding to the chapter title in the narrowing candidate list 402 in association with each other.

[0052] As described above, according to this embodiment, as described with reference to Figs. 1-5 and the like, in a control device of a dialogue system 100 that answers questions from a user using a computer having a processor and a memory, the processor generates a first table (e.g., a table associating chapter numbers 204 and chapter titles 205) in which questions and answers based on an index are clustered, the first table being generated from QA data 121 having pairs of questions and answers created from a document having a hierarchical structure with an index, and a second table (e.g., a table associating cluster IDs 206 and key phrases 207) in which questions and answers are clustered at a different granularity from that of the first table based on a list of words that are key phrases of the questions. 7) in the memory, and if the user's question contains a word of the key phrase stored in the second table (e.g., step 501; YES), the user is made to select the key phrase in the second table, and an answer that narrows down the user's question is returned from the second table storing the key phrase selected by the user, and if the user's question does not contain a word of the key phrase stored in the second table (e.g., step 501; NO), the user is made to select the index of the first table, and an answer that narrows down the user's question is returned from the first table storing the index selected by the user.

[0053] As a result, even when questions and answers are asked using QA data generated from text having indexes with a hierarchical structure such as terms and conditions or rule texts, it is possible to generate appropriate answers to user questions through dialogue. The appropriate answers through the dialogue can be realized by creating a dialogue that narrows down the input question when asking and answering questions using the QA data. Furthermore, even if the question input by the user is not sufficient to search the QA data, it is possible to return an answer to the question desired by the user by generating the dialogue as described above. In other words, questions and answers appropriate to the user can be returned by asking back key phrases related to the question input by the user and generating a dialogue that narrows down the user's question from the text that is the source of the QA data.

[0054] In addition, there is no longer a need to mechanically link pairs of questions and answers to create a large number of dialogue scenarios from documents such as automobile insurance policy terms and conditions, as was done in the past, so questions and answers that are appropriate for the user can be returned without incurring the costs of generating scenarios. EXAMPLES

[0055] In the first embodiment, in response to a user's question in the dialogue system 100, narrowing-down candidates are selected by controlling the narrowing-down dialogue, and an answer is returned from the narrowed-down QA data 121. In the second embodiment, a process will be described for a case where the answer to the user's question is not the answer intended by the user, that is, an incorrect answer, after the dialogue system 100 returns an answer to the user's question in the first embodiment.

[0056] A method for determining that the answer of the dialogue system 100 is an incorrect answer to the user's question is to have the dialogue system 100 answer the user's question and then have the user answer whether the answer is correct or incorrect. Another method is that when a question sentence that is considered to be the most appropriate does not return a hit in the search, the QA search unit 132 may determine that the answer is an incorrect answer. Also, the method is not limited to these.

[0057] In the second embodiment, when it is determined that the previous answer is an incorrect answer to the user's question, the dialogue output unit 132 of the dialogue system 100 creates the narrowing-down candidate table 400 again, and generates an answer sentence as a narrowing-down candidate to be selected by the user from the narrowing-down candidate list 402. Then, the dialogue output unit 132 outputs the generated answer sentence to the user terminal 102 via the network interface 113. At that time, the dialogue output unit 132 uses the chapter title 205 and the key phrase 207 other than the chapter title 205 and the key phrase 207 stored in the narrowing-down candidate list 402 in the previous creation of the narrowing-down candidate table 400.

[0058] For example, in the first step 502 described in the first embodiment, when the narrowing-down candidate table 400 is created by setting the narrowing-down candidate list 402 to the key phrase 207 derived from the clustering of similar questions, in the second step, the narrowing-down candidate list 402 is set to the chapter title 205 derived from the hierarchical structure of the original text, and a new row is added and stored in the narrowing-down candidate table 400. In the first step 502, when the narrowing-down candidate table 400 is created by setting the narrowing-down candidate list 402 to the chapter title 205 derived from the hierarchical structure of the original text, in the second step, a new row is added and stored in the narrowing-down candidate table 400 by setting the narrowing-down candidate list 402 to the key phrase 207 derived from the clustering of similar questions. In other words, the dialogue output unit 132 narrows down the questions by a type of narrowing-down different from the type of narrowing-down used in the past. In the example of FIG. 5, after first narrowing down by the key phrase and answering as in step 502, if the answer is incorrect, next, narrowing down by chapter and asking a question as in step 503. By the dialogue output unit 132 performing such narrowing dialogue control, dialogue with the user based on various narrowing down can be carried out.

[0059] Thus, according to this embodiment, in a control device of the dialogue system 100 that answers a user's question using a computer having a processor and a memory, if the answer to the question returned to the user based on the first table or the second table is incorrect, the processor returns an answer to the question based on any table other than the first table or the second table that returned the answer. In this way, by processing steps 502 and 503 shown in Figure 5 interchangeably, it is possible to present a flexible answer according to the user's question. EXAMPLES

[0060] In the first embodiment, when the QA data 121 is divided, there is only one pattern each of division at a granularity derived from the hierarchical structure of the sentences that are the source of the question sentences and the answer sentences, and division at a granularity derived from clustering of the QA data 121 with similar questions. In the third embodiment, in the case of one or more patterns, in addition to the first embodiment, control of the dialogue for narrowing down the search target of the QA data 121 by continuing the narrowing down dialogue will be described. For example, when the sentences that are the source of the question sentences and the answer sentences include a hierarchical structure of a chapter structure and a section structure that is a substructure of the chapter, the narrowing down dialogue unit 134 divides the QA data 121 at each hierarchy. In addition, in the clustering, when the QA data 121 is divided into clusters according to the degree of similarity of the question sentences, the narrowing down dialogue unit 134 may divide the QA data 121 into different granularity patterns by changing the threshold value of similarity between the chapter structure and the section structure.

[0061] Fig. 6 shows an example of QA data 600 in this embodiment. The QA data 600 is an example of a case where the sentences that are the source of the questions and answers have a section structure at a lower level than the chapter structure. As shown in Fig. 6, in the QA data 600, compared to the QA data 121 shown in Fig. 2, a section number 606 and a section title 607 are associated as a lower structure of a chapter number 604 and a chapter title 605.

[0062] The process in the third embodiment is the same as that in the first embodiment up to step 304.

[0063] That is, in step 304, the dialogue narrowing unit 134 refers to the QA data 600 after receiving the narrowing-down candidate selected by the user. In the third embodiment, the dialogue narrowing unit 134 performs the process again from the narrowing-down granularity determination in step 302 in the first embodiment, targeting only the QAID 601 of the narrowing-down candidate selected by the user. In step 304, when the dialogue narrowing unit 134 receives the narrowing-down candidate selected by the user, if there is no other division having the QAID 601 of the narrowing-down candidate selected by the user as an element, the dialogue narrowing unit 134 performs the process of step 305. As a result, the dialogue system 100 in the third embodiment can repeat the narrowing-down dialogue in sentences having a multi-stage hierarchical structure or QA data in which question sentences are clustered using different similarity thresholds, and narrow down the QA data to be searched.

[0064] For example, the dialogue narrowing unit 134 clusters the QA data 600 by dividing the data by a granularity derived from the hierarchical structure of the sentences that are the source of the question sentences and the answer sentences in the first granularity determination, and divides the records with QAID601 of "1" and "2" into one cluster (chapter title "Limit of Insurance Liability"). Next, the dialogue narrowing unit 134 further divides the records with QAID601 of "1" included in the QA data divided into one cluster into one cluster (section title "Limit") and divides the records with QAID601 of "2" into another cluster (section title "Amount of Compensation") in the dialogue that continues with the user. By repeating such division, the search target can be further narrowed down from the QA data 121.

[0065] As described above, in this embodiment, as explained with reference to Fig. 6 etc., in a control device of a dialogue system 100 that answers a user's question by a computer having a processor and a memory, the processor returns an answer to the question by having the user select the index stored in the first table and then having the user select an index with a different granularity from the index selected by the user repeatedly. This makes it possible to further narrow down the search targets by the granularity of each level constituting the hierarchical structure even for QA data having a multi-level hierarchical structure (e.g., QA data 600 shown in Fig. 6). EXAMPLES

[0066] In the first embodiment, the dialogue system 100 performs the granularity determination of the narrowing down in step 302 using the words included in the user's question as shown in Fig. 5. In the fourth embodiment, the granularity determination of the narrowing down is performed based on individual information of the user who asks the question.

[0067] When a narrowing-down candidate list generated from chapter titles 204 derived from the hierarchical structure of the policy is displayed as narrowing-down candidates to a user who is familiar with the original text of the question and answer sentences (for example, personal injury insurance policy terms), the user can easily understand the chapter titles 204 because the user understands the original text. On the other hand, a user who has never seen personal injury insurance policy terms will have difficulty understanding the narrowing-down candidate list generated from chapter titles 204 of the policy because it is the first time the user has seen the list. Therefore, for a user who has never seen personal injury insurance policy terms, key phrases 207 generated by clustering similar question sentences from the contents of the policy are displayed as a narrowing-down list.

[0068] In the fourth embodiment, in addition to the first embodiment, the narrowing down dialogue unit 134 creates a narrowing down decision table 700 in advance in the memory 112. An example of the narrowing down decision table 700 is shown in Fig. 7. The narrowing down decision table 700 stores criteria used for determining the granularity of narrowing down based on individual information of the user asking the question. For example, the narrowing down dialogue unit 134 determines the granularity of narrowing down in step 302 based on the job title 701 of the user asking the question.

[0069] As shown in Fig. 7, the narrowing down decision table 700 holds a job title 701 and a narrowing down granularity 702 in association with each other. The job title 701 is the job title of the user who uses this system. The narrowing down granularity 702 is the granularity for narrowing down the QA data 121 for a user of that job title. In Fig. 7, as described above, for example, for a user whose job title 701 is "expert", "chapter" is stored as the narrowing down granularity 702, and it can be seen that these are stored in association with each other as one record.

[0070] Therefore, in the example of FIG. 7, the narrowing dialogue unit 134 sets the narrowing granularity to "chapter" for a user who is familiar with the job and has the job title of "expert" (e.g., insurance salesperson). On the other hand, the narrowing dialogue unit 134 sets the narrowing granularity to "cluster" for a user who is not familiar with the job and has the job title of "intern" (e.g., new employee). In this way, by changing the narrowing granularity according to the user's job title, it becomes possible to have a dialogue that matches the user's level of understanding of the text that is the source of the question and answer. Specific processing will be described below.

[0071] In the fourth embodiment, the user terminal 102 transmits the user's job title along with the user's question to the dialogue input unit 131. Also, the narrowing down granularity determination in step 302 differs from that in the first embodiment. In the fourth embodiment, the narrowing down dialogue unit 134 refers to the narrowing down determination table 700 to search for a job title 701 corresponding to the user's job title. If the value stored in the narrowing down granularity 702 stored in association with the searched job title 701 is "chapter", the narrowing down dialogue unit 134 creates a new narrowing down candidate table 400 and adds a new row for each chapter title 205 to the narrowing down candidate list 402 and stores it.

[0072] If the value stored in the narrowing down granularity 602 of the job position 601 is “cluster”, the narrowing down dialogue unit 134 creates a new narrowing down candidate table 400 and adds and stores a new row for each key phrase 207 in the narrowing down candidate list 402 .

[0073] Specifically, the narrowing dialogue unit 134 executes a step of inquiring of the user about the above-mentioned job title, instead of step 501 shown in FIG. 5. For example, in step 501, the narrowing dialogue unit 134 asks a question such as "Is your job title an expert?" and judges whether or not an answer to the effect that the user is an "expert" has been received from the user via the user terminal 102. When the narrowing dialogue unit 134 judges that an answer to the effect that the user is an "expert" has been received from the user (step 501; YES), the narrowing dialogue unit 134 refers to the narrowing decision table 700 and sets the narrowing granularity to "chapter". On the other hand, when the narrowing dialogue unit 134 judges that an answer to the effect that the user is not an "expert" has been received from the user (step 501; NO), the narrowing dialogue unit 134 refers to the narrowing decision table 700 and sets the narrowing granularity to "cluster".

[0074] Thus, according to this embodiment, as described with reference to Fig. 7 etc., in a control device of a dialogue system 100 that answers a user's question using a computer having a processor and a memory, the processor returns an answer to the question at a granularity according to the user's job title using a first judgment table (for example, the narrowing down judgment table 700 shown in Fig. 7) that associates information on the user's job title with information on the narrowing down granularity indicating whether the first table or the second table is to be used. This allows the granularity to be changed according to the job title, so that a dialogue can be conducted in accordance with the user's level of understanding of the sentences that are the basis of the question and answer, and as a result, questions from the user can be answered with high accuracy. EXAMPLES

[0075] In the fifth embodiment, the narrowing dialogue unit 134 determines the granularity of narrowing down based on the past access logs to the dialogue system 100 of each individual user who asks a question.

[0076] In the fifth embodiment, the narrowing down dialogue unit 134 updates an access log table 800 that records a log of a user's access to and dialogue with the dialogue system 100, and stores the updated access log table 800 in the memory 112. FIG. 8 shows an example of the access log table 800. As shown in FIG. 8, the access log table 800 holds a user ID 801 and a narrowing down frequency 802 in association with each other. The user ID 801 is a unique identifier of a user who accessed the dialogue system 100. The narrowing down frequency 802 is the number of times that the dialogue system 100 has returned a correct answer to a question from a user. The number of times is counted for each division pattern of the QA data 121 stored in the narrowing down candidate list 402 in determining the granularity of narrowing down.

[0077] In FIG. 8, for example, a user with a user ID of "1" has asked six questions in the past, and the narrowing down dialogue unit 134 has performed narrowing down with the narrowing down granularity of "chapter" five times and narrowing down with the narrowing down granularity of "cluster" once. More specifically, when the narrowing down granularity is "chapter: 5 times", for example, the narrowing down dialogue unit 134 creates the narrowing down candidate table 400 using the chapter title 204 in step 302, controls the narrowing down dialogue, and indicates that the unit has returned the correct answer to the user five times in the past. The determination of whether the answer is correct or incorrect is the same as in the second embodiment.

[0078] In the fifth embodiment, the user terminal 102 transmits the user ID together with the user's question to the dialogue input unit 131. Also, the determination of the narrowing down granularity in step 302 differs from that in the first embodiment. In the fifth embodiment, the narrowing down dialogue unit 134 refers to the access log table 800 to search for the user's narrowing down frequency 802. The narrowing down dialogue unit 134 creates a new narrowing down candidate table 400 for the narrowing down granularity indicated by the narrowing down frequency 802 with the highest number of correct answers among the searched narrowing down frequencies 802.

[0079] Specifically, instead of step 501 shown in Fig. 5, the narrowing down dialogue unit 134 executes a step of inquiring about the narrowing down frequency corresponding to the user ID described above. For example, in step 501, the narrowing down dialogue unit 134 refers to the access log table 800 and determines which pattern of narrowing down is common for a user with a user ID of "1". For example, the narrowing down dialogue unit 134 determines whether or not narrowing down by "chapter" has been common in the past narrowing down for that user.

[0080] When the narrowing down dialogue unit 134 determines that the narrowing down by "chapter" is most frequent in the past narrowing down of the user (step 501; YES), the narrowing down dialogue unit 134 refers to the access log table 800 and determines that "chapter", which has a higher narrowing down frequency than other patterns, is the narrowing down granularity suitable for the user. On the other hand, when the narrowing down dialogue unit 134 determines that the narrowing down by "chapter" is not most frequent in the past narrowing down of the user (step 501; NO), the narrowing down dialogue unit 134 refers to the access log table 800 and determines that the narrowing down granularity suitable for the user is "cluster". Note that, here, the narrowing down candidate table 400 is created for the narrowing down granularity indicated by the narrowing down frequency 802 with the highest number of correct answers, but the narrowing down frequency 802 may be stored as the number of incorrect answers, and the narrowing down dialogue unit 134 may use a division pattern with fewer incorrect answers.

[0081] Thus, according to this embodiment, as described with reference to Fig. 8 and the like, in a control device of a dialogue system 100 that answers questions from a user using a computer having a processor and a memory, the processor returns answers to the questions at a granularity according to the user's track record by using a second determination table (e.g., the access log table 800 shown in Fig. 8) that associates information for identifying the user with information on the narrowing frequency indicating whether the first table or the second table was used. This allows the granularity to be changed according to the access frequency, so that the Q&A data can be narrowed down by the narrowing pattern that the user has often used in the past for the texts that are the source of the question and answer sentences, and as a result, the user can receive questions in a manner that is familiar to him or her.

[0082] The present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the components within the scope of the gist of the present invention at the implementation stage, such as by combining the respective configurations shown in Examples 1 to 5, or by appropriately combining multiple components disclosed in the above-described embodiments. [Explanation of symbols]

[0083] 100 Dialogue Systems 101 Database 102 User terminal 111 Processor 112 Memory 113 Network Interface 121 QA Data 131 Dialogue input section 132 Dialogue output section 133 QA Search Department 134 Dialogue Refinement Section 400 Refinement candidate table 600 QA Table 700 Filtering Judgment Table 800 Access Log Table

Claims

1. A control device for a dialogue system that answers questions from a user using a computer having a processor and a memory, comprising: The processor, a first table generated from QA data having pairs of questions and answers created from a document having a hierarchical structure having an index, the first table being generated by clustering the questions and answers based on the index, and a second table being generated by clustering the questions and answers at a different granularity from that of the first table based on a list of words that are key phrases of the questions, and storing the first table in the memory; when a user's question includes a word of the key phrase stored in the second table, having the user select the key phrase from the second table, and returning an answer that narrows down the user's question from the second table that stores the key phrase selected by the user; if the user's question does not include the key phrase word stored in the second table, having the user select the index of the first table, and returning an answer that narrows down the user's question from the first table that stores the index selected by the user; 13. A control device for a dialogue system comprising:

2. A control device for a dialogue system according to claim 1, The processor, if the answer to the question returned to the user based on the first table or the second table is incorrect, returning an answer to the question based on any table different from the first table or the second table that returned the answer; 13. A control device for a dialogue system comprising:

3. A control device for a dialogue system according to claim 1, The processor, having the user select the index stored in the first table, and then having the user select an index having a different granularity from the index selected by the user, and repeating this process to return an answer to the question; 13. A control device for a dialogue system comprising:

4. A control device for a dialogue system according to claim 1, The processor, returning an answer to the question at a granularity according to the job title of the user, using a first determination table in which information on the job title of the user is associated with information on a refinement granularity indicating whether the first table or the second table is to be used; 13. A control device for a dialogue system comprising:

5. A control device for a dialogue system according to claim 1, The processor, returning an answer to the question at a granularity according to the track record of the user by using a second determination table in which information for identifying the user is associated with information on a narrowing-down frequency indicating whether the first table or the second table was used; 13. A control device for a dialogue system comprising:

6. A method for controlling a dialogue system in which a computer having a processor and a memory answers questions from a user, comprising the steps of: a first table generated from QA data having pairs of questions and answers created from a document having a hierarchical structure having an index, the first table being generated by clustering the questions and answers based on the index, and a second table being generated by clustering the questions and answers at a different granularity from that of the first table based on a list of words that are key phrases of the questions, and storing the first table in the memory; when a user's question includes a word of the key phrase stored in the second table, having the user select the key phrase from the second table, and returning an answer that narrows down the user's question from the second table that stores the key phrase selected by the user; if the user's question does not include the key phrase word stored in the second table, having the user select the index of the first table, and returning an answer that narrows down the user's question from the first table that stores the index selected by the user; 13. A method for controlling a dialogue system comprising:

7. A method for controlling a dialogue system according to claim 6, comprising the steps of: if the answer to the question returned to the user based on the first table or the second table is incorrect, returning an answer to the question based on any table different from the first table or the second table that returned the answer; 13. A method for controlling a dialogue system comprising:

8. A method for controlling a dialogue system according to claim 6, comprising the steps of: having the user select the index stored in the first table, and then having the user select an index having a different granularity from the index selected by the user, and repeating this process to return an answer to the question; 13. A method for controlling a dialogue system comprising:

9. A method for controlling a dialogue system according to claim 6, comprising the steps of: returning an answer to the question at a granularity according to the job title of the user, using a first determination table in which information on the job title of the user is associated with information on a refinement granularity indicating whether the first table or the second table is to be used; 13. A method for controlling a dialogue system comprising:

10. A method for controlling a dialogue system according to claim 6, comprising the steps of: returning an answer to the question at a granularity according to the track record of the user by using a second determination table in which information for identifying the user is associated with information on a narrowing-down frequency indicating whether the first table or the second table was used; 13. A method for controlling a dialogue system comprising:

Citation Information

Patent Citations

  • Cold confectionery and method for enriching flavor of cold confectionery

    JP2020191898A