Dialogue system and dialogue method

By generating and correcting dialogue data in cycles, the system addresses the challenge of maintaining natural and accurate dialogue, ensuring seamless interaction despite interruptions.

JP2025012437APending Publication Date: 2025-01-24DONUT ROBOTICS CO LTD

Patent Information

Application Number
JP2023115277
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-13
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

Existing dialogue systems struggle with maintaining natural and accurate responses due to complexities in natural language processing, leading to reduced response accuracy and impaired dialogue tempo when interruptions occur.

Method used

The system generates dialogue data in cycles, correcting answer data based on previous cycle interruptions, and uses a dialogue processing unit to reflect real dialogue logs by modifying answer data at stop positions.

Benefits of technology

This approach enables natural and accurate dialogue by correcting dialogue logs to maintain tempo and accuracy, allowing for seamless interaction even with interruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025012437000001_ABST
    Figure 2025012437000001_ABST
Patent Text Reader

Abstract

To achieve natural and accurate dialogue.SOLUTION: A dialogue processing unit generates dialogue data including a pair of utterance data by a user and response data by a dialogue apparatus in a first cycle, wherein the dialogue processing unit modifies the dialogue data in a second cycle when an interrupt is detected with respect to the output of the response data in the first cycle.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a dialogue system and a dialogue method for realizing natural and highly accurate dialogue. [Background technology]

[0002] With the development of natural language processing technology, the accuracy of dialogue via human-machine interfaces is improving.

[0003] Patent Document 1 discloses a technology for supporting the creation of a dialogue scenario for realizing natural dialogue. In Patent Document 1, an information processing device for supporting the creation of a dialogue scenario for an arbitrary task holds dialogue log management information that stores a dialogue log, which is a history of dialogues performed to achieve the purpose of another task different from the target task, and the dialogue log management information includes a plurality of dialogue log information that stores dialogue logs in units of dialogue groups performed to achieve the purpose of the other task. The information processing device includes a conversion unit that converts an utterance content into a dialogue act, and an utterance content generation unit that compares the dialogue acts of the utterance content included in the dialogue scenario with the dialogue acts of the dialogue log to identify usable dialogue log information, and generates and presents a proposed utterance content, which is a user's utterance content for an arbitrary dialogue system's utterance content, based on the dialogue log included in the dialogue log information. Patent Document 1 also discloses estimating an interruption position of the user's utterance in the dialogue system's utterance content, and generating divided utterance content by dividing the dialogue system's utterance content based on the interruption position, and generating the proposed utterance content for each of the divided utterance contents.

[0004] Non-Patent Document 1 discloses an AI chatbot built on the basis of a large-scale language model (LLM). The AI ​​chatbot described in Non-Patent Document 1 is characterized by generating responses that humans can naturally recognize in response to questions, requests, calls, etc. input by humans. As Non-Patent Document 1 has high accuracy in responding to all inputs, it is increasingly being used in information gathering, text summarization, text creation including articles and scripts, and automatic response systems via websites, etc. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Patent Publication No. 2021-105805 [Non-patent literature]

[0006] [Non-Patent Document 1] "Introducing ChatGPT", [Retrieved July 5, 2023], Internet<URL:https: / / openai.com / blog / chatgpt> Summary of the Invention [Problem to be solved by the invention]

[0007] As mentioned above, with the development of natural language processing technology, highly accurate dialogues can be realized, but machine responses tend to become longer as they become more complex. In human-machine dialogue, it is assumed that a human will respond to a machine response after receiving it, but the waiting time while the machine is outputting the response impairs the tempo of the dialogue, which has been an issue.

[0008] As a method for realizing a dialogue without losing tempo, Patent Document 1 discloses estimating an interruption position, dividing the speech content, and generating proposed speech content for each of the divided speech contents. However, when an interruption occurs in the speech content on the machine side, a difference occurs between the actual dialogue content and the dialogue content processed on the machine side, making it difficult for the machine side to correctly track the actual dialogue log. As a result of not being able to correctly track the dialogue log, the accuracy of the machine's responses decreases, making it impossible to maintain natural dialogue, which has been an issue.

[0009] The present invention aims to provide a technique for realizing natural and highly accurate dialogue. In particular, it provides a dialogue technique that maintains the tempo of the dialogue. It also provides a dialogue technique that maintains the accuracy of machine-generated responses while maintaining the tempo of the dialogue. [Means for solving the problem]

[0010] In order to solve the above-mentioned problems, the present invention generates dialogue data that pairs utterance data by a user and response data by a dialogue device in a first cycle, and modifies the dialogue data in a second cycle when an interrupt is detected in the output of the response data in the first cycle.

[0011] With this configuration, by performing data correction in the current cycle in response to an interruption in the response data of the previous cycle, it is possible to realize a dialogue that reflects the actual dialogue.

[0012] In a preferred embodiment of the present invention, the dialogue processing unit modifies the response data of the first cycle contained in the dialogue data based on the utterance data of the second cycle in response to the response data of the first cycle and the stopping position of the response data of the first cycle due to the interruption. With this configuration, the position of the interrupt can be reflected in the dialogue data of the previous cycle.

[0013] In a preferred embodiment of the present invention, the system includes an answer instruction unit that outputs answer instructions including a dialogue log having at least one dialogue data and speech data to an answer generation unit, and an answer output unit that outputs the answer data obtained from the answer generation unit. In a preferred embodiment of the present invention, the answer instruction unit outputs answer instructions to the answer generation unit, the answer instructions including the dialogue log, the answer data of a first cycle, the utterance data of a second cycle, and the stopping position of the answer data due to the interruption, and the answer output unit outputs the answer data of the second cycle acquired from the answer generation unit. With this configuration, it is possible to output answer data based on a real dialogue log.

[0014] In a preferred embodiment of the present invention, a division processing unit is provided that generates divided answer data by dividing the answer data of the first cycle based on the stopping position, and the dialogue processing unit modifies the answer data of the first cycle based on the divided answer data. In a preferred embodiment of the present invention, the division processing unit performs morphological analysis on the answer data, and when the stop position is an intermediate position of a morpheme, generates the divided answer data which is an end position of the morpheme. With this configuration, it is possible to generate real-world dialogue data in a more favorable state.

[0015] In a preferred form of the present invention, the dialogue processing unit generates a dialogue holding area in a first cycle for holding utterance data and answer data, and stores the utterance data in the dialogue holding area, the answer output unit outputs answer data generated at any time by the answer generation unit in the first cycle and stores the answer data in the dialogue holding area, and the dialogue processing unit modifies the answer data held in the dialogue holding area as the divided answer data in a second cycle. With this configuration, the dialogue data can be temporarily stored while still allowing the dialogue data to be released when an interrupt occurs.

[0016] In a preferred form of the present invention, there is provided a dialogue system comprising a user terminal and a dialogue device having the dialogue processing unit, wherein the user terminal transmits speech data input by voice to the dialogue device and outputs voice based on answer data received from the dialogue device. With this configuration, the user terminal can be used as a dialogue interface. Effect of the Invention

[0017] According to the present invention, it is possible to provide a technique for realizing natural and highly accurate dialogue. [Brief description of the drawings]

[0018] [Figure 1] FIG. 1 is a block diagram of a system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram showing the hardware configuration of the present embodiment. [Diagram 3] FIG. 2 is a diagram illustrating an outline of a dialogue flow according to the embodiment. [Figure 4] 3 shows a processing sequence according to the present embodiment. [Diagram 5] 6 is a process flowchart for request transmission from a user terminal according to the present embodiment. [Figure 6] 4 is a process flowchart of the dialogue device of the present embodiment. [Figure 7] 11 is a process flowchart for response processing of a user terminal according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] Hereinafter, a dialogue system according to an embodiment of the present invention will be described with reference to the drawings. Note that the embodiment described below is an example of the present invention, and the present invention is not limited to the embodiment described below, and various configurations can be adopted.

[0020] In this embodiment, the configuration, operation, etc. of the dialogue system, dialogue device, and dialogue program are described, but a similarly configured method, a computer program, and a program recording medium on which the program is recorded also provide similar effects. By using a program recording medium, for example, the program can be installed on a computer. A series of processes according to this embodiment described below is provided as a computer-executable program, and can be provided via a non-transitory computer-readable recording medium such as a CD-ROM or a flexible disk, or even via a communication line.

[0021] The dialogue system is composed of a computer device. The computer device has an arithmetic device such as a CPU (Central Processing Unit) and a storage device. The computer device can function as a dialogue device by executing a generation assistance program stored in the storage device with the arithmetic device. The dialogue method is realized by processing of the computer device including the dialogue device.

[0022] In this embodiment, the dialogue system realizes a dialogue between a user and a dialogue device. In this embodiment, a dialogue action from a user to the dialogue device is defined as an "utterance." Moreover, a dialogue action from the dialogue device to a user is defined as an "answer." These definitions of dialogue actions are provided for the purpose of clarifying the subject of the dialogue. For example, an answer is not limited to an answer to a question by a user, and may include a call or a question as long as it is a dialogue action toward a user.

[0023] In this embodiment, a user interacts with the interactive device via a user terminal, which is configured as an input / output interface for the interaction between the user and the interactive device.

[0024] 1 shows a block diagram of a dialogue system 1. The dialogue system 1 includes a dialogue device 2 and a user terminal 3, which are communicatively connected via a communication network (not shown). Here, for the sake of simplicity, a case in which there is one user terminal 3 is illustrated, but there may be a plurality of user terminals 3.

[0025] The dialogue device 2 includes, as functional components, a division processing unit 21, a dialogue processing unit 22, a response instruction unit 23, and a response output unit 24. The dialogue device 2 includes, as databases, a dialogue log storage unit DB1 that stores a dialogue log, and a context storage unit DB2 that stores context information. In this embodiment, the dialogue device 2 further includes a response generation unit 40. The response generation unit 40 may be configured to be included in an external device capable of communicating with the dialogue device 2.

[0026] The dialogue device 2 receives data from the user terminal 3. The dialogue device 2 generates answer data based on the received data. The dialogue device 2 transmits the generated answer data to the user terminal 3. Here, the dialogue device 2 transmits the generated answer data to the user terminal 3 at any time.

[0027] The user terminal 3 includes, as functional components, a voice recognition unit 31, a request transmission unit 32, a text processing unit 33, a response queue generation unit 34, a voice synthesis unit 35, a position detection unit 36, and a voice-text synchronization unit 37. The user terminal 3 serves as an input / output interface for data input by the user and data output related to the processing results of the dialogue device 2.

[0028] The user terminal 3 accepts data input by a user. The user terminal 3 transmits data based on the data input result to the dialogue device 2. The user terminal 3 receives the processing result (answer data) by the dialogue device 2. The user terminal 3 generates an output result based on the received answer data, and outputs the data. In this embodiment, the data input is voice input, and the data output is at least one of voice output and display output. Note that the data input may include text input.

[0029] The answer generating unit 40 executes a process of generating answer data for data included in the answer instruction. In one aspect, the answer generating unit 40 may be provided in an answer generating device (not shown) capable of communicating with the dialogue device 2. The answer generating device receives the answer instruction from the dialogue device 2, generates answer data, and transmits the answer data to the dialogue device 2 which is the sender. There is no limitation on the device in which the answer generating unit 40 is mounted, as long as it is capable of acquiring the answer data.

[0030] In this embodiment, the answer generation unit 40 is a natural language processing model (NLP: Natural Language Processing). The answer generation unit 40 is preferably a large-scale language model (LLM). The natural language processing model realizes computer processing of data input as a natural language. In this embodiment, the type of natural language processing model employed is not limited.

[0031] The natural language processing model can output text classification, sentiment analysis, text summarization, question answering, etc., as a result of natural language processing of data input as a natural language. In this embodiment, the answer generation unit 40 functions as a chatbot and outputs a processing result for data input as a natural language. Note that data input as a natural language may be in a natural language at the input stage, but may not be in a natural language before or during processing in the natural language processing model. For example, data input as a natural language may be converted into data in a format that can be processed by the natural language processing model and then processed.

[0032] The answer generating unit 40 only needs to be able to output an answer as a processing result for an input in natural language, and may be implemented in a form other than a natural language processing model.

[0033] The answer generating unit 40 may include image data in the input data. The answer generating unit 40 may further have a classification model, for example, and may output a classification result based on the feature amount of the input image data. The answer generating unit 40 may output, for example, a subject included in the image data as a classification result based on the feature amount included in the image data.

[0034] The answer generation unit 40 can output the processing result for the input of data including natural language and image data. For example, the answer generation unit 40 can accept the input of questions and processing related to image data in natural language, and can output the processing result for the input.

[0035] The dialogue log storage unit DB1 stores the dialogue log. The dialogue log is composed of multiple pieces of dialogue data in chronological order. The dialogue data is a pair of utterance data by a user and response data by the dialogue device 2. One piece of dialogue data is generated by one cycle of dialogue (utterance and response) between the user and the dialogue device 2, and the dialogue log is composed of dialogue data of an Nth cycle (N=1, 2, 3,...). Note that in the following explanation, the terms "first cycle" and "second cycle" indicate the chronological relationship between the respective cycles, and the first cycle is not limited to indicating the first cycle in the chronological order in the dialogue log.

[0036] The context storage unit DB2 stores context information. The context information is information obtained by converting past dialogue logs into a format that can be referenced. The format that can be referenced is, for example, a vector representation, but is not limited to this as long as it is a format that can be referenced by a computer. For example, when the dialogue device 2 dialogues with the user U about a topic that was previously discussed, the dialogue device 2 can continue the dialogue by referring to the context information.

[0037] When the answer generation unit 40 acquires an answer instruction including a dialogue log, the answer generation unit 40 is able to refer to context information related to the dialogue log. The answer generation unit 40 can generate answer data by referring to the context information.

[0038] Fig. 2(a) shows a hardware configuration diagram of the dialogue device 2. The dialogue device 2 includes, as its hardware configuration, a control device 201, a storage device 202, and a communication device 203. In this embodiment, the dialogue device 2 may use a computer device such as a server device or a personal computer. Note that the dialogue device 2 may be configured by a plurality of computers, and is not limited to the configuration shown in Fig. 2(a) as long as it can realize the above-mentioned functional components (21-24, 40) as a whole.

[0039] The control device 201 is configured with one or more processors such as a CPU, and executes an interaction program, an OS (Operating System), and other applications to control the overall processing in the interaction device 2. The storage device 202 is a hard disk drive (HDD), a solid state drive (SSD), a flash memory, a random access memory (RAM), etc., and stores the interaction program and various data. The communication device 203 controls communication with a communication network, and realizes data communication with the user terminal 3 and external devices.

[0040] 2(b) shows a hardware configuration diagram of the user terminal 3. The user terminal 3 includes, as its hardware configuration, a control device 301, a storage device 302, a communication device 303, an input device 304, and an output device 305. In this embodiment, the user terminal 3 may be a smartphone, a personal computer, a tablet terminal, or even a robot device.

[0041] The control device 301 is configured with one or more processors such as a CPU, and controls the overall processing in the user terminal 3 by executing a terminal dialogue program, an OS, other applications, etc. The storage device 302 is a HDD, SSD, flash memory, RAM, etc., and stores a browser application and various data. The communication device 303 controls communication with a communication network, and realizes data communication with at least the dialogue device 2. The input device 304 is an input interface that accepts input operations by a user, and is configured with a microphone, a touch panel, a mouse, a keyboard, etc. In this embodiment, the input device 304 is a microphone, and dialogue by voice input is exemplified. The output device 305 is configured with a speaker that outputs the processing result by the control device 301 as voice, a display that displays the output, etc.

[0042] In this embodiment, the user terminal 3 is shown to function as the functional components (31-37) by accessing the dialogue system 1 via a web browser, but is not limited to this. For example, the user terminal 3 stores a terminal dialogue program in the storage device 302 and executes the program by the control device 301 to realize the functional components (31-37). The user terminal 3 may also be configured to realize a part of the functional configurations (21-24) of the dialogue device 2.

[0043] Fig. 3 shows an outline of the dialogue flow in the dialogue system 1. Fig. 3 shows a virtual dialogue flow VS on the left side, and an example of a real dialogue flow RS on the right side. The virtual dialogue flow VS is a processing procedure by the dialogue device 2 in the background, and shows the procedure of inputting utterance data and outputting response data to the utterance data. The real dialogue flow RS is a dialogue procedure between the user U and the user terminal 3 in reality, and shows the procedure of voice input of utterance data and voice output based on response data to the utterance data.

[0044] 3, the answer queue is a unit of data when it is output as voice or displayed on the user terminal 3. In the following explanation, for simplification, the answer queue is defined at the point of the dialogue device 2, but the answer data is generated at any time in the dialogue device 2 and transmitted to the user terminal 3 in more fluid units (such as characters).

[0045] In FIG. 3, the virtual dialogue flow VS has steps VS1 to VS6. In step VS1, the dialogue apparatus 2 acquires utterance data U1. In steps VS2 to VS4, the dialogue device 2 generates and outputs response data A1 to the utterance data U1 as needed. Specifically, the response data A1 is output as a unit of response queues Q1 to Q3 as needed. In step VS5, the dialogue apparatus 2 acquires utterance data U2 in response to the response data A1. In the process VS6, the dialogue apparatus 2 generates and outputs, as needed, reply data A2 to the utterance data U2. Here, as in the processes VS2 to VS4, the dialogue apparatus 2 outputs, as needed, in units of reply queues Q4.

[0046] According to the above-described virtual dialogue flow VS, the utterance data and response data (response queues) are in the order of utterance data U1, response queues Q1, Q2, Q3, utterance data U2, and response queue Q4.

[0047] In FIG. 3, the real dialogue flow RS has steps RS1 to RS5. In step RS1, the user terminal 3 accepts input of utterance data U1 and transmits it to the dialogue device 2. In step RS2, the user terminal 3 acquires the first answer cue Q1 included in the answer data A1 from the dialogue device 2, and outputs it by voice. In step RS3, the user terminal 3 acquires the next answer queue Q2, and detects an interrupting utterance by the user U while outputting the answer aloud. When the interrupting utterance is detected, the user terminal 3 may suspend the audio output of the answer queue Q2 at that point. When the interrupting utterance is detected, the user terminal 3 will not acquire the subsequent answer queue (answer queue Q3 in the illustrated example) included in the answer data A1, or perform audio output of the acquired answer queue Q3. In step RS4, the user terminal 3 accepts the input of the utterance data U2 due to the interruption and transmits it to the dialogue apparatus 2. At this time, the user terminal 3 transmits to the dialogue apparatus 2, together with the utterance data U2, the stop position of the reply queue Q2 that was interrupted by the interruption. In step RS5, the user terminal 3 acquires the first answer cue Q4 included in the answer data A2 from the dialogue device 2, and outputs it by voice.

[0048] According to the real dialogue flow RS as described above, the utterance data and response data (response queue) are in the following order: utterance data U1, response queue Q1, part or all of Q2, utterance data U2, and response queue Q4.

[0049] As described above, according to FIG. 3, in the real dialogue flow RS, a part of the reply cue Q2 and the reply cue Q3 are not output as voice, so that a difference occurs in the dialogue log between the real dialogue flow RS and the virtual dialogue flow VS. This difference is the difference between the dialogue logs recognized by the dialogue device 2 and the user U, respectively. The dialogue device 2 can output reply data corresponding to the real dialogue log by correcting the difference. Furthermore, the dialogue device 2 can estimate that the user U was interested in the moment immediately before the stopping position of the reply data, and an interrupting utterance occurred.

[0050] Fig. 4 shows a process sequence diagram for executing a process for correcting the dialogue log by the dialogue device 2 in Fig. 3. Data transmission and reception between the answer generating section 40 and the dialogue device 2 includes data transmission and reception executed within the dialogue device 2.

[0051] The user terminal 3 acquires a voice input I1 by the user U (S101). The user terminal 3 transmits utterance data U1 based on the voice input I1 to the dialogue device 2 (S102). Upon acquiring the utterance data U1, the dialogue device 2 generates a dialogue holding area H1 (S103). The dialogue device 2 transmits an answer instruction based on the acquired utterance data U1 to the answer generation unit 40 (S104).

[0052] The dialogue holding area is an area for temporarily holding dialogue data consisting of a pair of utterance data by the user U and answer data by the dialogue device 2 in one cycle of utterance and answer. The utterance data and answer data held in the dialogue holding area are confirmed as dialogue data by a confirmation instruction. At least the answer data held in the dialogue holding area allows correction by a correction instruction.

[0053] The answer generating unit 40 generates answer data A1 based on the answer instruction and transmits it to the dialogue device 2 (S105). Here, the answer data A1 is generated in units of answer queues Q1 to Q3 and transmitted to the dialogue device 2 as needed.

[0054] The dialogue device 2 stores the response data A1 in a dialogue storage area and generates a dialogue log L1 (S106). Here, the dialogue storage area of ​​the dialogue log L1 is indefinite and in a provisional storage state that allows corrections based on correction instructions.

[0055] The dialogue device 2 transmits the answer queues Q1 and Q2 acquired from the answer generating unit 40 to the user terminal 3 at any time (S107, S109). The user terminal 3 outputs the answer queues Q1 and Q2 acquired at any time as voice output O1 and voice output O2 (S108, S110).

[0056] The user terminal 3 acquires an interrupt voice input I2 in the middle of the voice output O2 of the answer queue Q2 (S111). When the user terminal 3 detects the interrupt, it stops the voice output of the answer queue thereafter. The user terminal 3 transmits utterance data U2 based on the voice input I2 and the stop position of the answer data A1 to the dialogue device 2 (S112). Here, the stop position of the answer data A1 can be the answer queue Q2. Also, the stop position of the answer data A1 can be the stop position in the answer queue Q2. The stop position can be any data that can identify the characters corresponding to the stop position in the answer data, and can be, for example, the character string of the answer data up to the stop position or the number of characters from the beginning of the sentence.

[0057] When the dialogue device 2 acquires the utterance data U2, it generates a dialogue holding area H2 (S113). The dialogue holding area H2 holds the utterance data U2 and the corresponding answer data A2. The dialogue device 2 detects that there is an interruption to the answer data A1 by acquiring the stop position. When the interruption is detected, the dialogue device 2 corrects the dialogue log L1 (S114). Here, the dialogue holding area of ​​the dialogue log L1 receives a confirmation instruction and becomes a confirmed state that does not allow correction. In the example of FIG. 4, the dialogue data of the dialogue log L1 is confirmed by the utterance data U1 and the answer data A1 (answer queues Q1, Q2).

[0058] The dialogue device 2 transmits a response instruction based on the utterance data U2 to the response generation unit 40 (S115). The response generation unit 40 generates response data A2 based on the response instruction and transmits it to the dialogue device 2 (S116). The dialogue device 2 stores the response data A2 in the dialogue storage area H2 and generates a dialogue log L2 (S117). The dialogue device 2 transmits a response queue of the response data A2 acquired from the response generation unit 40 at any time to the user terminal 3 (S118), and the user terminal 3 outputs the response queue as a voice output O3 at any time based on the acquired response queue Q4 (S119).

[0059] According to the processing sequence shown in FIG. 4, the dialogue log L1 becomes utterance data U1, answer queues Q1 and Q2, and the dialogue log L2 becomes utterance data U2 and answer data A2 (answer queue Q4), which can be the same as the data order of the real dialogue flow RS in FIG. 3.

[0060] In FIG. 4, the first cycle refers to S101 to S110, and the second cycle refers to S111 and onwards.

[0061] FIG. 5 is a flowchart showing a process for request transmission in the user terminal 3. As shown in FIG.

[0062] The voice recognition unit 31 receives voice input by the user U via the input device 304 configured as a microphone, and obtains speech data by converting the voice to text (S201). The position detection unit 36 ​​detects whether the speech data is due to an interruption (S202). If an interruption is detected (YES in S202), the position detection unit 36 ​​obtains the stop position of the answer data (S203), and the request transmission unit 32 transmits a dialogue request including the speech data and the stop position to the dialogue device 2 (S204). If an interruption is not detected (NO in S202), the request transmission unit 32 transmits a dialogue request including the speech data to the dialogue device 2.

[0063] The dialogue request is a request for acquiring answer data to the utterance data. In this embodiment, the dialogue request includes at least the utterance data. When an interruption is detected, the dialogue request may further include a stop position of the answer data in addition to the utterance data. Here, the stop position is the stop position of the answer data generated by the dialogue device 2 in the first cycle, and is acquired together when the utterance data of the second cycle is detected as an interruption.

[0064] In one embodiment, the dialogue request may include answer data of a first cycle, speech data of a second cycle, and a stopping position of the answer data of the first cycle due to an interruption.

[0065] FIG. 6 shows an example of a process flowchart in the dialogue device 2.

[0066] The dialogue device 2 receives a dialogue request from the user terminal 3 (S301). When the dialogue request includes a stop position (YES in S302), the division processing unit 21 generates divided answer data by dividing the answer data of the previous cycle at the stop position (S303). In S303, the division processing unit 21 performs morphological analysis on the answer data, and when the stop position is in the middle position of a morpheme, generates divided answer data by dividing the answer data at the end position of the morpheme. The division processing unit 21 can acquire answer data of the first cycle, which is the previous cycle, from the dialogue log DB. Furthermore, when the dialogue request includes answer data of the first cycle, the division processing unit 21 can execute division processing on the answer data. The divided answer data may be data indicating the division positions of the answer data.

[0067] In addition, when the stopping position is the middle position of a context as a result of the morphological analysis of the answer data, the division processing unit 21 may adopt a mode of generating divided answer data by dividing the answer data at the end position of the context. The context here refers to a unit that does not make the dialogue unnatural in the dialogue flow, and for example, when the stopping position is the middle position of a context, divided answer data is generated by dividing the answer data at a position that is a break in a sentence (such as a phrase or a series of sentences in a dependent relationship).

[0068] The dialogue processing unit 22 corrects the answer data included in the dialogue data of the first cycle based on the divided answer data (S304). In this embodiment, the dialogue processing unit 22 performs a correction to update the answer data of the first cycle to divided answer data. As one aspect, the dialogue processing unit 22 performs a correction to add a division position to the answer data of the first cycle. The correction of the answer data of the first cycle is not limited as long as it is a process that can identify the division position in the answer data. By correcting the answer data of the first cycle, an interruption to the actual answer data and the procedure of the subsequent speech data are reflected in the dialogue log.

[0069] In this way, when an interruption is detected in the second cycle with respect to the output of the answer data in the first cycle, the dialogue processor 22 can modify the dialogue data of the first cycle. Specifically, the dialogue processor 22 can modify the answer data of the first cycle included in the dialogue data of the first cycle based on the utterance data of the second cycle and the stopping position of the answer data of the first cycle due to the interruption.

[0070] The dialogue processing unit 22 generates a dialogue holding area for holding the utterance data included in the dialogue request and the answer data corresponding to the utterance data, and causes the utterance data included in the dialogue request to be held in the generated dialogue holding area (S305). The generated dialogue holding area is stored in the dialogue log storage unit DB1 as the latest dialogue log. The dialogue processing unit 22 later acquires the answer data to generate dialogue data in which the utterance data and the answer data in one cycle are paired.

[0071] The answer instructing unit 23 outputs an answer instruction including the dialogue log and at least the utterance data included in the dialogue request to the answer generating unit 40 (S306). In S304, the answer instructing unit 23 may generate an answer instruction including the dialogue log, and the utterance data of the second cycle included in the dialogue request, the answer data of the first cycle, and a stopping position or a division position of the answer data of the first cycle. Also, in S304, the answer instructing unit 23 may generate an answer instruction including context information stored in the context storage unit DB2 in addition to the dialogue log and the dialogue request.

[0072] In this embodiment, the answer instruction is text data, and an instruction to output an answer following the dialogue log and the utterance data is described in natural language. Here, the dialogue log may be described as reference information for referring to the dialogue log storage unit DB. Furthermore, when the answer instruction includes the dialogue log, the answer data in the previous cycle, the stop position or division position thereof, and the utterance data in the current cycle, an instruction to output an answer following the utterance data is described in natural language. When the answer instruction includes a stop position or division position, the answer instruction may include an annotation description indicating that the answer data has been interrupted at the stop position or division position. The annotation description may be included in the answer instruction regardless of the presence or absence of a stop position or division position, or may be introduced as a result of detecting the presence of a stop position or division position.

[0073] If a part of the answer data is divided as unnatural text by interrupting the answer data, this may hinder the answer generating unit 40 from generating appropriate answer data according to the flow of the dialogue. On the other hand, if the answer data divided by interrupting is divided as natural text in the flow of the dialogue, the annotation description is not essential. The annotation description may be included in the answer instruction regardless of whether the divided text is natural or unnatural, or may be introduced as a result of detecting that the divided text is unnatural. In the latter case, for example, it is possible to execute a process of detecting whether the divided text is natural or unnatural by natural language analysis or the like, and then determine whether or not the annotation description needs to be introduced.

[0074] Specifically, the answer instruction may include the following description examples. In the description examples, the dialogue log "XXXX", the answer data "YYYY", and the speech data "ZZZZ" may include descriptions in natural language. The dialogue log "XXXX" may be a character string converted into a referable format. The answer data in description example 1 is generated as "YYYY" but is interrupted at the stop position or division position of "YY". The answer data in description example 1 represents that the answer data generated as "YYYY" is interrupted at the stop position or division position of "YY", and the "yy" portion was not actually output. When "YY" is interrupted at the stop position, it is allowed to be text interrupted at the middle position of the morpheme, and when it is interrupted at the division position, it is text interrupted at the end position of the morpheme.

[0075] <Example 1> Please generate a response that follows the following speech data. Conversation log: XXXX Answer data: YY Speech data: ZZZZ Annotation description: If the dialogue is interrupted midway, it means that the other person interrupted.

[0076] <Example 2> Please generate a response that follows the following speech data. Conversation log: XXXX Answer data: YYyy Speech data: ZZZZ Annotation description: The dialogue is interrupted at position YY, indicating that the dialogue partner has interrupted.

[0077] The answer generating unit 40 generates answer data based on the answer instruction (S307). Here, the answer data is generated as text is generated in sequence from the beginning of the sentence, and is sent to the dialogue processing unit 22 as the data is generated.

[0078] The answer output unit 24 acquires the answer data generated by the answer generation unit 40 at any time and stores it in the dialogue storage area generated in S305 (S308). The answer output unit 24 outputs the answer data generated by the answer generation unit 40 to the user terminal 3 at any time (S309).

[0079] The answer output unit 24 acquires answer data as needed, and repeats the process until there is no more unacquired answer data (S310). When there is no more unacquired answer data (YES in S310), the process is completed.

[0080] In S307, the answer generating unit 40 can generate answer data reflecting the actual content of the dialogue by receiving an answer instruction including answer data including the dialogue log corrected by the interruption, the stop position, or the division position.

[0081] FIG. 7 is a flowchart showing the response process in the user terminal 3.

[0082] The user terminal 3 receives answer data transmitted from the dialogue device 2 as a response (S401). The text processing unit 33 performs text processing on the answer data acquired as needed (S402). Here, the text processing includes a process of dividing the answer data by punctuation marks. Note that the text processing may be a process of dividing the answer data at pause positions that do not sound unnatural when the answer data is output by voice, and may be a process of dividing the answer data by phrases or predetermined phrases.

[0083] The answer queue generating unit 34 generates an answer queue based on the data divided in S402 (S403). The answer queue is unit data to be converted into a format for outputting answer data. If the answer queue generating unit 34 detects an interrupt utterance by the voice recognition unit 31 in the process of generating an answer queue based on answer data, the answer queue generating unit 34 stops generating the answer queue. The answer queue generating unit 34 can pass the answer queue up to the point where it was stopped to the request sending unit 32.

[0084] The voice synthesis unit 35 generates synthetic voice for the answer cue (S404). The voice synthesis unit 35 executes a process of converting the answer cue, which is text, into voice.

[0085] The position detection unit 36 ​​synchronizes the synthetic voice generated in S404 with the voice output and detects the position of the voice output (S405). The voice text synchronization unit 37 further synchronizes the voice output with the display output as text corresponding to the voice (S406). The user terminal 3 performs synchronized voice output and display output (S407). Here, both voice output and display output are output, but from the viewpoint of realizing a dialogue between the user U and the dialogue device 2, at least one of these outputs is sufficient. In this embodiment, it is preferable to include at least a voice output. Note that the user terminal 3 outputs voice via the output device 305 configured as a speaker, and outputs display via the output device 305 configured as a display.

[0086] This completes the processing of the dialogue data in one cycle. The processing of the dialogue data in the next cycle is realized by repeatedly executing the processing flowcharts in FIGS.

[0087] The process for sending a request when an interrupt is detected in the second cycle will be described with reference to FIG.

[0088] In the second cycle, during the voice output of the answer data generated in the first cycle, the voice recognition unit 31 acquires speech data by voice input by the user U (S201). The position detection unit 36 ​​detects the interruption (YES in S202), and acquires the position detected in S404 as the stop position of the answer data of the first cycle due to the interruption (S203). The request transmission unit 32 transmits a dialogue request including at least the speech data of the second cycle and the stop position of the answer data of the first cycle to the dialogue device 2 (S204). Here, as described above, the dialogue request may further include the answer data of the first cycle.

[0089] When the dialogue device 2 receives a dialogue log output request via the user terminal 3, it can output text data of the dialogue log based on the dialogue log in the dialogue log storage unit DB1. Here, it is preferable that the dialogue log is a corrected one. The dialogue log may be output in a format that allows the stop position to be determined for data that has not been output as voice among the response data.

[0090] As described above, the user U can freely speak while the dialogue device 2 is outputting answer data. For example, the user U can instantly ask about details of a word that interests him while the answer data is being output. The dialogue device 2 can move to the next dialogue cycle without making the user U wait by allowing interrupted speech data in the next cycle while processing the answer data in the previous cycle. Furthermore, the dialogue device 2 can generate an answer that recognizes the actual dialogue by reflecting corrections made by interrupts in the previous cycle in the cycle after the transition. [Explanation of symbols]

[0091] 1 Dialogue System 2. Interactive Device 21 Division Processing Unit 22 Dialogue processing section 23 Answer instruction section 24 Answer output section 3. User terminal 31 Voice Recognition Unit 32 Request sending section 33 Text Processing Section 34 Answer queue generation unit 35 Voice synthesis section 36 Position detection unit 37 Speech-to-text synchronization section 40 Answer generation part

Claims

1. A dialogue system for processing a dialogue between a user and a dialogue device, comprising: a dialogue processing unit that generates dialogue data including a pair of utterance data by a user and response data by a dialogue device in a first cycle; The dialogue processing unit modifies the dialogue data in a second cycle when an interrupt is detected with respect to the output of the response data in the first cycle.

2. 2. The dialogue system according to claim 1, wherein the dialogue processing unit modifies the response data of the first cycle included in the dialogue data based on the utterance data of a second cycle in response to the response data of the first cycle and a stop position of the response data of the first cycle due to the interruption.

3. an answer instruction unit that outputs an answer instruction including a dialogue log having at least one dialogue data and utterance data to the answer generation unit; The dialogue system according to claim 1 , further comprising: an answer output unit that outputs the answer data acquired from the answer generation unit.

4. the answer instruction unit outputs an answer instruction to the answer generation unit, the answer instruction including the dialogue log, the answer data of a first cycle, the utterance data of a second cycle, and a stop position of the answer data due to the interruption; The dialogue system according to claim 3 , wherein the answer output unit outputs the answer data of the second cycle acquired from the answer generation unit.

5. a division processing unit that generates divided answer data by dividing the answer data of the first cycle based on the stop position, The dialogue system according to claim 2 , wherein the dialogue processor modifies the answer data of the first cycle based on the divided answer data.

6. The dialogue system according to claim 5 , wherein the division processing unit performs a morphological analysis on the answer data, and when the stop position is an intermediate position of a morpheme, generates the divided answer data that is an end position of the morpheme.

7. the dialogue processing unit generates a dialogue holding area for holding utterance data and answer data in a first cycle, and holds the utterance data in the dialogue holding area; the answer output unit outputs answer data generated by the answer generation unit at any time during the first cycle, and stores the answer data in the dialogue storage area; The dialogue system according to claim 5 , wherein the dialogue processor modifies the answer data held in the dialogue holding area as the divided answer data in a second cycle.

8. A dialogue system including a user terminal and a dialogue device having the dialogue processing unit, The dialogue system according to any one of claims 1 to 7, wherein the user terminal transmits speech data input by voice to the dialogue device, and outputs voice based on answer data received from the dialogue device.

9. A method for processing a dialogue between a user and a dialogue device, comprising: The computer generates dialogue data including a pair of utterance data by the user and response data by the dialogue device in a first cycle; In a second cycle, the dialogue data is modified when an interruption is detected to the output of the answer data in the first cycle.

Citation Information

Patent Citations

  • Information processing device and method for assisting in creation of dialog scenario

    JP2021105805A

Cited By

  • Message interaction method based on AI customer service robot

    CN120567815A