Processing device, processing method, and processing program

The processing device and method enhance Slot-Filling dialogues by determining conversation endings based on user utterance content, addressing the limitations of arbitrary exchange limits and improving conversation naturalness and user experience.

WO2025120828A1PCT designated stage expired Publication Date: 2025-06-12NT T INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/043923
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-07
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Existing Slot-Filling mechanisms in chatbots struggle to naturally terminate conversations when the user's response does not successfully fill the slot, often relying on arbitrary exchange limits rather than considering the content of the user's utterance.

Method used

A processing device and method that controls Slot-Filling dialogues by selecting appropriate slots, transmitting questions to fill the slots, acquiring user responses, and determining the end of the dialogue based on the content of the user's utterance, including instructions to end, emotional deterioration, and lack of new information.

Benefits of technology

Enables natural conversation termination in Slot-Filling dialogues by considering the user's utterance content, reducing repetitive questioning, and improving user experience by ending conversations appropriately.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023043923_12062025_PF_FP_ABST
    Figure JP2023043923_12062025_PF_FP_ABST
Patent Text Reader

Abstract

A server device (10) is a processing device for controlling a slot-filling dialogue with a user who uses a user terminal, the server device (10) including: a selection unit (13) that selects a slot corresponding to the content of a query transmitted from the user terminal; a question transmission control unit (14) that transmits a question corresponding to each item of the selected slot to the user terminal according to the order of the items; an answer acquisition unit (15) that, on the basis of the user's answer transmitted from the user terminal, fills in the corresponding item of the slot; and a termination determination unit (16) that determines the termination of the dialogue on the basis of the user's answers.
Need to check novelty before this filing date? Find Prior Art

Description

Processing device, processing method, and processing program

[0001] The present invention relates to a processing device, a processing method, and a processing program.

[0002] Slot-filling is a chatbot mechanism that analyzes user utterances and fills slots to progress the dialogue. Slot-filling is primarily suited to situations where the information elicited from users is formatted (such as reservation and order systems).

[0003] In Slot-Filling, information that you want to obtain from a user is defined in advance in small units called slots. Slot-Filling collects information by interacting with the user to fill these slots.

[0004] EXIIS-Lab, "What is slot filling, one of the mechanisms of chatbots?", March 8, 2022, [Retrieved November 6, 2023], Internet <URL: https: / / www.exiis-lab.com / slot-filling / #outline__1_2_0_1>

[0005] However, the slots may not always be filled properly with user responses. In such cases, it is important to consider appropriate conditions for ending the dialogue in order to achieve a natural dialogue with the user.

[0006] A basic condition for ending a dialogue is to set a limit on the number of interactions with the user and end the dialogue when the limit is reached. By setting a limit on the number of interactions with the user, the dialogue can be ended even if the slots are not filled.

[0007] However, the method of terminating a dialogue based on the number of exchanges hardly takes into account the content of the user's utterances, and therefore has the problem of being far from realizing natural dialogue.

[0008] The present invention has been made in consideration of the above, and aims to provide a processing device, processing method, and processing program that can end a slot-filling dialogue while taking into account the content of utterances from the user.

[0009] In order to solve the above-mentioned problems and achieve the object, the processing device of the present invention is a processing device that controls a slot-filling dialogue with a user who uses a user terminal, and is characterized by having: a selection unit that selects a slot corresponding to the inquiry content sent from the user terminal; a transmission control unit that transmits questions corresponding to each item of the slot selected by the selection unit to the user terminal in item order; an acquisition unit that fills in the corresponding item of the slot based on the user's answer sent from the user terminal; and a judgment unit that judges the end of the dialogue based on the answer from the user.

[0010] According to the present invention, it is possible to end a dialogue by slot-filling while taking into consideration the content of the user's utterance.

[0011] FIG. 1 is a diagram illustrating an example of an application of slot-filling dialogue. FIG. 2 is a diagram illustrating an example of an application of slot-filling dialogue. FIG. 3 is a diagram schematically illustrating an example of the configuration of a processing system according to an embodiment. FIG. 4 is a diagram illustrating an example of the configuration of a server device illustrated in FIG. 3. FIG. 5 is a diagram illustrating the processing of the determination unit illustrated in FIG. 4. FIG. 6 is a diagram illustrating an example of slot-filling dialogue. FIG. 7 is a sequence diagram illustrating the processing procedure of a processing method according to an embodiment. FIG. 8 is a flowchart illustrating the processing procedure of the termination determination processing illustrated in FIG. 7. FIG. 9 is a flowchart illustrating the processing procedure of the first determination processing illustrated in FIG. 8. FIG. 10 is a flowchart illustrating the processing procedure of the second determination processing illustrated in FIG. 8. FIG. 11 is a flowchart illustrating the processing procedure of the third determination processing illustrated in FIG. 8. FIG. 12 is a diagram illustrating slots used for slot-filling in an experiment. FIG. 13 is a diagram illustrating information held by a user-in-charge chat bot. FIG. 14 is a diagram illustrating a dialogue between a questioner-in-charge chat bot and a user-in-charge chat bot. FIG. 15 is a diagram illustrating a dialogue between a questioner-in-charge chat bot and a user-in-charge chat bot. FIG. 16 is a diagram showing a dialogue between a chatbot in charge of a questioner and a chatbot in charge of a user. FIG. 17 is a diagram showing a dialogue between a chatbot in charge of a questioner and a chatbot in charge of a user. FIG. 18 is a diagram explaining an example of a system for collecting information from users in response to an alert email. FIG. 19 is a diagram explaining an example of a system for collecting information from customers in response to an ordering system. FIG. 20 is a diagram showing an example of a computer in which a server device is realized by executing a program.

[0012] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to this embodiment. In addition, in the description of the drawings, the same parts are designated by the same reference numerals.

[0013] [Embodiment] In the embodiment, a method is proposed that can end a dialogue by slot-filling while taking into consideration the content of an utterance from a user.

[0014] [Slot-Filling] First, let us explain slot-filling, which is a chatbot mechanism that analyzes user utterances and fills the results into slots to advance the conversation.

[0015] In Slot-Filling, slots are defined that divide the information you want to obtain from the user into small units, and the slots are filled through dialogue with the user.

[0016] Figure 1 shows an example of the application of slot-filling dialogue to a pizza order acceptance system. As shown in Figure 1, a pizza order slot S11 is predefined, which has items for pizza type, size, delivery time, and confirmation.

[0017] Then, a pizza order acceptance AI (artificial intelligence) (machine learning model) fills in pizza order slot S11 through dialogue with the user via a chatbot. For example, when the pizza order acceptance AI asks Q11, "What kind of pizza do you want?" and the user replies A11, "I'd like a Margherita," the pizza type "Margherita" in pizza order slot S11 is filled. Then, when the pizza order acceptance AI asks Q12, "What size?" and the user replies A12, "Medium, please," the size "M" in pizza order slot S11 is filled.

[0018] A problem with slot-filling dialogue is that the slots cannot be filled by the user's utterances. In the example shown in Figure 1, the slots and the questions posed to the user by the chatbot are simple.

[0019] However, when considering responding to alerts and troubleshooting, the amount of information acquired from the user may increase and become more complex. In such cases, we believe that a situation may arise where the user does not know the answer corresponding to the slot.

[0020] FIG. 2 is a diagram illustrating an application example of slot-filling dialogue. For example, we will explain the processing of an IR (Incident Response) AI that has an IR (Incident Response) slot S12 with items such as the PC version and the result. If the IR AI responds to question Q21, "What version is the infected PC?" with an answer A21 of "I don't know," indicating that the user does not know the PC version, the IR AI cannot fill the IR slot S12. Therefore, the IR AI repeats question Q22, the same as question Q1.

[0021] In response to this, if the user does not know the version of the PC, the only option is to reply "I don't know" A22. With this kind of question-and-answer repetition, it is not possible to end the dialogue with the user while taking into consideration the content of the user's utterances.

[0022] [Outline of the embodiment] In a slot-filling dialogue, the aim is to fill a slot based on an utterance from a user. However, if a slot cannot be filled by an utterance from a user, the above problem (the need to set conditions for naturally ending a slot-filling dialogue) occurs.

[0023] Therefore, in the embodiment, it is proposed to determine the end of a dialogue by slot-filling based on the content of an utterance from a user.

[0024] Specifically, the slot-filling dialogue is terminated by focusing on the first to third pieces of information in the user's utterance. The first piece of information is an instruction from the user to terminate the dialogue. The second piece of information is information indicating a deterioration in the user's emotions. The third piece of information is information indicating that no new information is available from the user. In this embodiment, the slot-filling dialogue is terminated when the first to third pieces of information are obtained.

[0025] [Processing System] Next, a processing system according to an embodiment will be described. Fig. 3 is a diagram schematically illustrating an example of the configuration of a processing system according to an embodiment. The processing system 1 according to the embodiment includes a user terminal 20 and a server device 10.

[0026] The user terminal 20 is a terminal device used by a user who is an interlocutor. The user terminal 20 is, for example, a smart device such as a tablet or a smartphone, and has a communication function, an information (including voice and text) input / output function, and an imaging function.

[0027] The server device 10 performs processes related to, for example, reservation acceptance, order acceptance, IR, etc. The server device 10 performs processes related to reservation acceptance, order acceptance, IR, etc. by interacting with the user through slot-filling. The server device 10 appropriately ends the interaction through slot-filling while taking into consideration the content of the user's utterances.

[0028] [Server Device] Next, a server device according to an embodiment will be described. Fig. 4 is a diagram showing an example of the configuration of the server device 10 shown in Fig. 3 .

[0029] The server device 10 according to the embodiment is implemented by loading a predetermined program into a computer or the like including, for example, a read-only memory (ROM), a random access memory (RAM), a central processing unit (CPU), etc., and causing the CPU to execute the predetermined program. The server device 10 also has a communication interface for transmitting and receiving various types of information to and from other devices connected via a network or the like.

[0030] 4, the server device 10 includes a dialogue control unit 11. Hereinafter, among the processes of the server device 10, dialogue processes by slot-filling related to reservation acceptance, order acceptance, IR, etc. will be described.

[0031] The dialogue control unit 11 controls dialogue processing with the user by Slot-Filling. When the dialogue control unit 11 receives an inquiry (including an alert) from the user terminal 20, it analyzes the content of the inquiry and selects a slot corresponding to the inquiry content. Then, the dialogue control unit 11 performs dialogue processing to send questions to the user terminal 20 to fill in each item of the selected slot and receive answers from the user terminal 20. The dialogue processing is a dialogue related to processing executed by the server device 10, such as reservation acceptance, order acceptance, IR, etc.

[0032] The dialogue control unit 11 fills in each item in the slot based on the response from the user terminal 20. When each item in the slot is filled, the dialogue control unit 11 passes the information on to the corresponding party. The dialogue control unit 11 also determines whether to end the dialogue by Slot-Filling. If it determines that the dialogue should be ended, the dialogue control unit 11 ends the dialogue by Slot-Filling with the user via the user terminal 20.

[0033] The dialogue control unit 11 has a management database (DB) 12 , a selection unit 13 (selection unit), a question transmission control unit 14 (transmission control unit), an answer acquisition unit 15 (acquisition unit), and an end determination unit 16 .

[0034] The management DB 12 stores various data for dialogue with users through slot-filling. The management DB 12 also stores slots for predetermined processes such as reservation acceptance, order acceptance, and IR. Questions may be set corresponding to each item in each slot. The management DB 12 stores a history of questions and their answers for multiple users.

[0035] The selection unit 13 determines the content of the transmitted inquiry and selects a slot corresponding to the inquiry. The selection unit 13 selects a slot corresponding to the inquiry from the management DB 12.

[0036] The question transmission control unit 14 controls the transmission of questions to the user terminal 20. The question transmission control unit 14 controls the transmission of questions in correspondence with each item of the slot for the process executed by the server device 10. The question transmission control unit 14 transmits questions corresponding to each item of the slot selected by the selection unit 13 to the user terminal 20 in the order of the items.

[0037] The question transmission control unit 14 uses a dialogue model to generate and transmit questions corresponding to each item in the slot. In this case, the dialogue model learns a history of questions and their answers to multiple users and generates questions corresponding to each item in the slot. The dialogue model may be, for example, a large-scale language model (LLM) that has been fine-tuned by learning a history of questions and their answers to multiple users. Furthermore, the question transmission control unit 14 may transmit questions stored in the management DB 12 in the order of each item in the slot.

[0038] The answer acquisition unit 15 acquires the user's answer received from the user terminal 20. The answer acquisition unit 15 fills in the corresponding item of the slot based on the acquired answer. If the user's answer is speech, a speech recognition function is provided before the answer acquisition unit 15. When data based on the user's answer is filled in an item of the slot, the question for the item next to that item is transmitted from the question transmission control unit 14.

[0039] The end determination unit 16 determines whether the interaction by slot-filling has ended. The end determination unit 16 determines whether the interaction by slot-filling has ended based on a response from the user received from the user terminal 20.

[0040] Specifically, the termination determination unit 16 considers terminating the slot-filling dialogue by focusing on the first to third pieces of information in the user's response. The first piece of information is an instruction from the user to terminate the interaction. The second piece of information is information indicating a deterioration in the user's emotions. The third piece of information is information indicating that no new information has been obtained from the user. In this embodiment, the dialogue is terminated when the first to third pieces of information are obtained.

[0041] First, the termination determination unit 16 determines whether or not there is an instruction to terminate the dialogue from the user (first information) as the user's response transmitted from the user terminal 20. When there is an instruction to terminate the dialogue from the user, the termination determination unit 16 determines that the dialogue with this user has ended.

[0042] Furthermore, when there is information indicating that the user's emotions have worsened, the end determination unit 16 determines that the dialogue with this user has ended.

[0043] In other words, the termination determination unit 16 determines the user's emotions based on the user's response transmitted from the user terminal 20. The termination determination unit 16 determines the end of the dialogue when it determines that the user's emotions are worsening. For example, the termination determination unit 16 determines whether the user's emotions are negative or positive based on the user's response text. This determination process may use an existing emotion determination technology.

[0044] The termination determination unit 16 may also analyze the voice of the user when answering and determine whether the user's emotion is negative or positive. Furthermore, when the termination determination unit 16 receives an image of the user's face during the conversation from the user terminal 20, it may analyze the user's facial expression and determine whether the user's emotion is negative or positive.

[0045] If there is information indicating a deterioration in the user's emotions, specifically, if the user's emotions become negative, the termination determination unit 16 terminates the dialogue process with the user, thereby reducing the stress on the user caused by the dialogue.

[0046] Furthermore, if no new information is obtained from the user, the end determination unit 16 ends the dialogue process with the user.

[0047] The purpose of the slot-filling dialogue is to fill slots through dialogue with the user. Therefore, if the termination determination unit 16 determines that no new information can be obtained through the dialogue with the user, it terminates the dialogue with the user.

[0048] Fig. 5 is a diagram illustrating the processing of the termination determination unit 16 shown in Fig. 4. As shown in Fig. 5, when the dialogue control unit 11 responds to question Q31, "What were the scan results?" with answer A31, "I haven't scanned yet," the "scan result" in slot S13-1 is not filled in when answer A31 is returned. Then, when the dialogue control unit 11 again sends question Q32, "What were the scan results?" and the user responds with answer A32, "I haven't scanned yet," the "scan result" in slot S13-2 is not filled in when answer A32 is returned.

[0049] The termination determination unit 16 compares slots S13-1 and S13-2 and determines whether there is a difference in the data. If there is no difference between slots S13-1 and S13-2 ((1) in FIG. 5), the termination determination unit 16 determines that no new information can be obtained through the dialogue with the user, and terminates the dialogue with the user. The termination determination unit 16 then causes the chatbot to return a notification T33 to the user stating, "Ending. Thank you."

[0050] As shown in Figure 5, while updating slots through dialogue with the user, if it is confirmed that there is no change (no difference) in the slots (for example, slots S13-1 and S13-2), and if it is determined that there is no new information from the user, the dialogue ends. This makes it possible to avoid the phenomenon of repeatedly asking the same question when there is no difference in the slots.

[0051] However, it is considered dangerous to immediately terminate the dialogue once it has been confirmed that there is no change in the slot. Figure 6 is a diagram for explaining an example of a dialogue using slot-filling.

[0052] 6, in this situation, the chatbot asks the user questions Q41 and Q42, such as "How were the scan results?" To which the user responds with replies A41 and A42, such as "I'll scan now" and "I'm scanning now." In this case, there is no difference between the slots S14-1 and S14-2 managed by the chatbot, and the conversation is terminated (notification T43).

[0053] 6, it is considered possible to obtain the scan results once the user's scan is completed, but if the dialogue is terminated, the opportunity to obtain the scan results will be lost. To avoid such early termination, the termination determination unit 16 introduces a counter and performs the following first to fourth processes to determine whether to terminate the dialogue.

[0054] Before a question to be transmitted is first transmitted, the termination determination unit 16 sets the counter to the initial value set for that question (first process). For questions corresponding to each item in the slot, an initial counter value is set for each question.

[0055] The question transmission control unit 14 transmits a question (first question) to the user so as to fill the slot (second process), but provides a counter value to the prompt and instructs that the process should be terminated when the counter value reaches "0."

[0056] The answer acquisition unit 15 updates the slot based on the answer from the user (third process). The termination determination unit 16 decrements the counter value if there is no difference in data between the slot after the transmission of the transmission question and the slot after the previous transmission of this question. The termination determination unit 16 decrements the counter value by 1, for example. On the other hand, if there is a change in the slot, the termination determination unit 16 resets the counter value to the initial value and continues the dialogue for the next item in the slot.

[0057] The end determination unit 16 determines that the dialogue has ended when the counter value becomes "0" (fourth process). If the counter value is not "0", the end determination unit 16 returns to the second process. If all slots are filled, the end determination unit 16 determines that the dialogue has ended. If all slots are not filled, the process returns to the second process.

[0058] Here, the completion determination unit 16 may set an initial counter value for each slot item. For example, an initial counter value may be set for each question in the slot-filling item. The initial counter value is stored in association with each slot item.

[0059] For example, the initial counter value for slot question A is set to "5," and the initial counter value for question B is set to "3," etc. If the counter value is set high, the user can be asked many questions about the corresponding item, which increases the credibility of the answers from the user and also allows for a multifaceted judgment on the same question.

[0060] The completion determination unit 16 may then decrement the counter taking into account the difficulty of the question. For example, a difficulty parameter may be provided for each slot-filling question, which indicates whether the question is easy for the user to answer. The difficulty parameter is set to a high value for questions that are difficult to answer, and a low value for questions that are easy to answer.

[0061] In other words, a difficulty level parameter is set for each question, which determines how the counter is decremented depending on the difficulty level of the question. The termination determination unit 16 then decrements a value based on the difficulty level parameter from the counter. As a result, when updating the counter, based on this difficulty level parameter, the counter value is decremented less quickly for questions that are difficult to answer (the termination is more cautious), and the counter value is decremented more quickly for questions that are easy to answer (the termination is more immediate).

[0062] Specifically, the difficulty parameter will be described as having a value between "0" and "1." For example, the difficulty parameter of question A, "Did you start up your computer today?", is set to "0.2." On the other hand, the difficulty parameter of question B, "Has your computer been acting strangely or slowly lately?", is set to "0.8."

[0063] A count calculation formula is prepared that takes the difficulty parameter into consideration. According to the count calculation formula, the count value to be decremented is calculated so that the counter will decrement faster for a difficulty parameter that is set low. On the other hand, according to the count calculation formula, the count value to be decremented is calculated so that the counter will decrement slower for a difficulty parameter that is set high. The completion determination unit 16 uses this count calculation formula to calculate the count to be decremented each time an answer is received from the user terminal 20.

[0064] Furthermore, the initial value and / or difficulty parameter set for each question may be set according to the dialogue situation for the question in dialogue with multiple users or other dialogue models.

[0065] Specifically, the termination determination unit 16 may have a function to automatically set various counter settings (initial values ​​and / or difficulty parameters) based on the operational performance. For example, based on the operational performance, the initial counter and difficulty parameter values ​​are automatically changed for each question in the slot-filling category. A specific example is described below.

[0066] The automatic setting function sets a threshold for the period and / or the number of times Slot-Filling is used, and is activated when the operation exceeds that threshold. Thresholds can be set for, for example, the average number of times a question is answered per session, the variation in how users answer, whether the answer is an open or closed question, the time it takes to get an answer after asking a question, the number of times an answer is not received from the user, the number of answers categorized by user attribute information, etc.

[0067] If the duration and / or number of times slot-filling is used exceeds the respective threshold, the automatic setting function changes the initial counter and / or the difficulty parameter value of the question, for example, by setting a higher difficulty parameter for questions that have not received an answer from the user, and by setting a lower difficulty parameter for questions that are likely to elicit closed answers in order to end the question earlier.

[0068] The termination determination unit 16 may then adjust the counter through training with the role-playing AI (another dialogue model). The role-playing AI is given questions for each slot-filling item as input information, and is given an agent dialogue function that serves to answer the questions. The role-playing AI answers by changing the answer pattern based on the given information. The pseudo-dialogue function is operated by command from an administrator or by periodic execution. By operating the pseudo-dialogue function, a dialogue is simulated between the AI ​​that asks the test questions and the role-playing AI.

[0069] The termination determination unit 16 adjusts parameters using an automatic setting function based on the results obtained after the pseudo-dialogue function is executed. Furthermore, the pseudo-dialogue function can be used to verify whether questions are questions that a human would expect, as an operation check during operation. The results obtained after the pseudo-dialogue function is executed can also be used as information for manually setting parameters.

[0070] [Processing Procedure of Processing Method] Next, the processing procedure of the processing method according to the embodiment will be described. Fig. 7 is a sequence diagram showing the processing procedure of the processing method according to the embodiment.

[0071] 7, a query is sent from the user terminal 20 to the server device 10 (step S1). The server device 10 determines the content of the sent query and selects a slot corresponding to this query (step S2).

[0072] Next, the server device 10 acquires a question corresponding to the first item in the selected slot (step S3). The server device 10 may generate a question corresponding to the first item in the selected slot using the LLM, or may acquire a question corresponding to the first item in the selected slot by referring to the management DB 12.

[0073] The server device 10 sets the initial value of the counter for the question of this slot (step S4).

[0074] The server device 10 transmits a question (step S5) and receives a response from the user terminal 20 (step S6).

[0075] Next, the server device 10 performs a process of filling in the items of the slot based on the answer content, and updates the slot (step S7).

[0076] The server device 10 performs an end determination process to determine whether or not to end the dialogue regarding the question of this item (step S8).

[0077] If the judgment result in step S8 is that the dialogue is to continue rather than end (step S9: No), the server device 10 judges whether the question to be sent to the user terminal 20 is the same as the question sent last time, or whether it is the question following the question sent last time (step S10).

[0078] If the question to be sent to the user terminal 20 is the same question (step S10: same question), the server device 10 proceeds to step S5, sends the same question sent previously to the user terminal 20, and performs the processes from step S5 onwards. On the other hand, if the question to be sent to the user terminal 20 is the next question to the question sent previously (step S10: next question), the server device 10 proceeds to step S3, obtains the question corresponding to the next item in the slot, and performs the processes from step S4 onwards.

[0079] If the determination result in step S8 is that the interaction has ended (step S9: Yes), the server device 10 notifies the user terminal 20 of the end of the interaction by slot-filling (step S12).

[0080] [Procedure for Termination Determination Processing] FIG. 8 is a flowchart showing the procedure for the termination determination processing shown in FIG.

[0081] As shown in FIG. 8, the server device 10 performs a first determination process (step S21), and if the determination result of step S21 is that the dialogue has ended (step S22: End), the server device 10 determines that the dialogue has ended (step S23).

[0082] If the determination result of step S21 is to continue the dialogue (step S22: continue), the server device 10 performs a second determination process (step S24). If the determination result of step S24 is to end the dialogue (step S25: end), the server device determines that the dialogue has ended (step S23).

[0083] If the determination result of step S24 is to continue the dialogue (step S25: continue), the server device 10 performs a third determination process (step S26). If the determination result of step S26 is to end the dialogue (step S27: end), the server device determines that the dialogue has ended (step S23).

[0084] If the determination result of step S26 is to continue the dialogue (step S27: continue), the server device 10 determines whether to continue the dialogue (step S28). If the determination result is to continue the dialogue, the server device 10 also outputs whether the question to be sent to the user terminal 20 is the same as the question sent previously or the question following the question sent previously.

[0085] [First Determination Process] FIG. 9 is a flowchart showing the processing procedure of the first determination process shown in FIG.

[0086] As shown in FIG. 9, the server device 10 determines whether or not a user response transmitted from the user terminal 20 includes an instruction to end the dialogue (step S31).

[0087] If the user gives an instruction to end the dialogue (step S31: Yes), the server device 10 determines to end the dialogue (step S32). If the user does not give an instruction to end the dialogue (step S31: No), the server device 10 determines to continue the dialogue (step S33).

[0088] [Second Determination Process] FIG. 10 is a flowchart showing the processing procedure of the second determination process shown in FIG.

[0089] As shown in FIG. 10, the server device 10 determines the user's emotion based on the user's response transmitted from the user terminal 20 (step S41).

[0090] If the server device 10 determines in step S41 that the user's emotions have worsened (step S42: Yes), it determines to end the dialogue (step S43).If the server device 10 determines that the user's emotions have not worsened (step S42: No), it determines to continue the dialogue (step S44).

[0091] [Third Determination Process] FIG. 11 is a flowchart showing the processing procedure of the third determination process shown in FIG.

[0092] As shown in FIG. 11, the server device 10 determines whether there is a difference between the current slot and the slot at the time of the previous response by the user (step S51).

[0093] If there is a difference between the current slot and the slot at the time of the previous answer by the user (step S51: Yes), the server device 10 determines whether all items of the slot are filled in (step S52).

[0094] If all items in the slot are filled (step S52: Yes), the server device 10 determines to end the dialogue (step S53).If all items in the slot are not filled (step S52: No), the server device 10 determines to proceed to the question corresponding to the next item in the slot (step S54).

[0095] If there is no difference between the current slot and the slot at the time of the user's previous answer (step S51: No), the server device 10 decrements the counter value (step S55). If the counter value is "0" (step S56: Yes), the server device 10 determines to end the dialogue (step S53). If the counter value is not "0" (step S56: No), the server device 10 determines to continue asking the same question (step S57).

[0096] [Experiment] We evaluated the slot-filling dialogue processing to which the termination determination in this embodiment is applied. GPT-4 is used as the chat bot. In the experiment, two chat bots were prepared: a chat bot in charge of a user (user) and a chat bot in charge of a questioner (responsible bot), and the chat bots were allowed to dialogue with each other using slot-filling.

[0097] The problem setting for the dialogue is that a security alert occurs, and the chatbot in charge of the questioner collects information about the alert and issues instructions to the chatbot in charge of the user. The alert is assumed to be a web reputation alert that involves accessing an unauthorized URL.

[0098] FIG. 12 is a diagram showing slots used for slot-filling in the experiment.

[0099] Furthermore, the chat bot in charge of the user is assumed to have information about this slot, which is defined as follows in this experiment: Figure 13 shows the information held by the chat bot in charge of the user.

[0100] As can be seen from the table in Fig. 13, we assume a situation where the user has not performed a scan and is unable to respond to the scan results. In this situation, we check whether the dialogue can be ended naturally.

[0101] 14 to 17 are diagrams showing the dialogue between the chatbot in charge of the questioner and the chatbot in charge of the user.

[0102] In screens C1 to C3 of Figures 14 to 16, it can be seen that after the chat bot in charge of the user (UserA) repeatedly answers "I haven't performed a virus scan," the chat bot in charge of the questioner (SYSTEMBot) ends the email, as shown in screen C4 of Figure 17.

[0103] This time, the experiment was conducted with the setting "No virus scan." As mentioned above, in this experiment, the Slot-Filling dialogue was able to be terminated while taking into account the content of the user's utterances.

[0104] When communicating with actual users, it is conceivable that the users may scan their emails for viruses. In such cases, it is thought that preventing early termination using a counter would be effective.

[0105] [Effects of the embodiment] In the embodiment, the slot-filling dialogue is terminated when there is an instruction to terminate the dialogue from the user, when the user's emotions worsen, or when no new information is obtained from the user. In this way, in the embodiment, the dialogue is terminated when there is an instruction to terminate the dialogue from the user or when the user's emotions worsen, so it is possible to appropriately terminate the slot-filling dialogue while taking into consideration the content of the user's response and the user's situation.

[0106] Furthermore, in the embodiment, in order to determine the end of the dialogue, an initial value of a counter that counts the number of responses from the user and / or a difficulty parameter that varies the way the counter is decremented are set for each question, and the way the counter is decremented is adjusted according to the content of the question and the response. Therefore, in the embodiment, the dialogue is not simply terminated based on the number of responses, but the count value until the end of the dialogue and the way the count is decremented are set according to the content of each question, so that the dialogue using slot-filling can be ended appropriately.

[0107] Therefore, according to the embodiment, it is possible to appropriately end a dialogue by slot-filling while taking into consideration the content of the utterance from the user.

[0108] Example 1 An application example of the processing method according to the embodiment will be specifically described below: Fig. 18 is a diagram illustrating an example of a system for collecting information from users in response to an alert mail.

[0109] 18, the processing method according to the embodiment can be applied to a program that collects information from a user regarding an alert email. For example, the purpose of the program is to ask questions to a user for whom an alert has occurred, collect information, and provide the information to an investor relations officer.

[0110] In the question creation phase (Make_Mail), the system asks the user a question that will allow them to fill in the slots. If no new information is obtained from the user, the system checks the counter value to determine whether to terminate the conversation.

[0111] In the information acquisition phase (Get_Info), the slot is updated based on the user's response. If the slot has not changed when the user's response is updated, the counter value is decremented by one, and if it has changed, the counter value is reset to the initial value.

[0112] Second Embodiment FIG. 19 is a diagram illustrating an example of a system for collecting information from customers regarding an ordering system.

[0113] As shown in Fig. 19, the processing method according to the embodiment can be applied to a program that collects information from users in an ordering system for a restaurant. For example, the purpose of the program is to ask customers about their orders and record them. The question creation phase (Make_Question) and information collection phase (Get_Info) are the same as those in the first embodiment.

[0114] [System Configuration of the Embodiment] Each component of the server device 10 is a functional concept and does not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of the functions of the server device 10 is not limited to that shown in the figure, and all or part of the functions can be functionally or physically distributed or integrated in any unit depending on various loads, usage conditions, etc.

[0115] Furthermore, all or any part of the processes performed by the server device 10 may be realized by a CPU, a GPU (Graphics Processing Unit), and a program analyzed and executed by the CPU and the GPU. Furthermore, each process performed by the server device 10 may be realized as hardware using wired logic.

[0116] Furthermore, among the processes described in the embodiments, all or part of the processes described as being performed automatically can be performed manually. Alternatively, all or part of the processes described as being performed manually can be performed automatically using a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters described above and illustrated can be changed as appropriate unless otherwise specified.

[0117] 20 is a diagram showing an example of a computer in which a program is executed to realize the server device 10. The computer 1000 has, for example, a memory 1010 and a CPU 1020. The computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.

[0118] The memory 1010 includes a ROM 1011 and a RAM 1012. The ROM 1011 stores a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1090. The disk drive interface 1040 is connected to a disk drive 1100. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example. The video adapter 1060 is connected to a display 1130, for example.

[0119] The hard disk drive 1090 stores, for example, an OS (Operating System) 1091, an application program 1092, a program module 1093, and program data 1094. That is, the program that defines each process of the server device 10 is implemented as a program module 1093 in which code that can be executed by the computer 1000 is written. The program module 1093 is stored, for example, in the hard disk drive 1090. For example, the program module 1093 for executing processes similar to those of the functional configuration of the server device 10 is stored in the hard disk drive 1090. Note that the hard disk drive 1090 may be replaced with an SSD (Solid State Drive).

[0120] Furthermore, setting data used in the processing of the above-described embodiment is stored as program data 1094, for example, in memory 1010 or hard disk drive 1090. Then, CPU 1020 reads out program module 1093 or program data 1094 stored in memory 1010 or hard disk drive 1090 into RAM 1012 as necessary and executes them.

[0121] The program module 1093 and program data 1094 may not necessarily be stored in the hard disk drive 1090, but may also be stored in a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and program data 1094 may be stored in another computer connected via a network (such as a local area network (LAN) or a wide area network (WAN)). The program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070.

[0122] Although the present invention has been described above as an embodiment, the present invention is not limited to the descriptions and drawings that form part of the disclosure of the present invention. In other words, other embodiments, examples, and operational techniques that can be made by those skilled in the art based on the present invention are all included in the scope of the present invention.

[0123] REFERENCE SIGNS LIST 1 Processing system 10 Server device 11 Dialogue control unit 12 Management database (DB) 13 Selection unit 14 Question transmission control unit 15 Answer acquisition unit 16 Determination unit

Claims

1. A processing device that controls interaction by slot-filling with a user who uses a user terminal, the processing device comprising: a selection unit that selects a slot corresponding to the inquiry content transmitted from the user terminal; a transmission control unit that transmits questions corresponding to each item of the slot selected by the selection unit to the user terminal in the order of the items; an acquisition unit that fills in the corresponding items of the slot based on the user's answer transmitted from the user terminal; and a determination unit that determines the end of the interaction based on the user's answer. The processing device is characterized by having these components.

2. The processing device according to claim 1, wherein the determination unit determines the end of the interaction when the user's answer transmitted from the user terminal is an instruction to end the interaction from the user.

3. The processing device according to claim 1, wherein the determination unit determines the user's emotion based on the user's answer transmitted from the user terminal, and determines the end of the interaction when it is determined that the user's emotion has deteriorated.

4. For each question corresponding to each item of the slot, an initial value of a counter is set for each question. Before the question to be transmitted is first transmitted, the determination unit sets the counter to the initial value set for the question to be transmitted. The determination unit decreases the counter when there is no data difference between the slot after the transmission of the question to be transmitted and the slot after the previous transmission of the question to be transmitted, and determines the end of the interaction when the value of the counter becomes 0. The processing device according to claim 1 is characterized by this.

5. For each question, a difficulty parameter is set that sets how the counter decreases according to the difficulty of the question. The determination unit subtracts a value based on the difficulty parameter from the counter. The processing device according to claim 4 is characterized by this.

6. The initial value and / or the difficulty parameter set for each question are set according to the interaction situation for the corresponding question in the interaction with a plurality of users or other dialogue models. The processing device according to claim 5 is characterized by this.

7. A processing method executed by a processing device that controls a dialogue by Slot-Filling with a user using a user terminal, the method comprising: a step of selecting a slot corresponding to the inquiry content transmitted from the user terminal; a step of transmitting questions corresponding to each item of the slot selected in the selecting step to the user terminal in the order of the items; a step of filling the corresponding item of the slot based on the answer of the user transmitted from the user terminal; and a step of determining the end of the dialogue based on the answer from the user.

8. A processing program for causing a computer to execute: a step of selecting a slot used in a dialogue by Slot-Filling corresponding to the inquiry content transmitted from a user terminal used by a user; a step of transmitting questions corresponding to each item of the slot selected in the selecting step to the user terminal in the order of the items; a step of filling the corresponding item of the slot based on the answer of the user transmitted from the user terminal; and a step of determining the end of the dialogue based on the answer from the user.

Citation Information

Patent Citations

  • Multi-round dialogue processing method and device, electronic equipment and storage medium

    CN111813900A

  • Method and apparatus for dialogue based on recommended verbal skill

    CN115640386A

  • Data input device

    JP2006171399A

  • Dialog knowledge creation device and dialog knowledge creation program

    JP2022099042A