Dialogue Agent System
Patent Information
- Application Number
- JP2026014663
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2026-01-30
- Publication Date
- 2026-08-28
- Estimated Expiration
- 2046-01-30
AI Technical Summary
【0009】 本開示によれば、ユーザと対話する対話エージェントシステムの対話性能を向上させることができる。
Smart Images

Figure 0007912696000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a conversational agent system. [Background technology]
[0002] Conventionally, conversational agent systems that automatically engage in dialogue in response to user inquiries are known. For example, Patent Document 1 discloses a technology for enabling virtual characters used in contact centers set up by companies for communication with customers to engage in dialogue that closely resembles that of a real human. According to the technology of Patent Document 1, the virtual character determines the type of emotion of the customer based on the customer's voice, generates synthesized speech data of the text spoken by the customer and the response text corresponding to the determined type of emotion, and plays back speech based on the generated synthesized speech data.
[0003] Patent Document 2 discloses a technique for determining whether a user's utterance conforms to a dialogue scenario during a conversation with the user. According to the technique of Patent Document 2, the dialogue agent responds with a scenario-based response if the user's utterance conforms to the dialogue scenario, and with an attentive response if it does not.
[0004] Patent Document 3 discloses an in-vehicle device that interacts with a user in natural language. The in-vehicle device of Patent Document 3 can access multiple large-scale language models (LLMs) specialized in different domains via a network, and transfers the user's utterance to the LLM corresponding to the domain selected based on the user's utterance, and plays back the audio of the response obtained from the LLM. [Prior art documents] [Patent Documents]
[0005] [Patent Document 1] Patent No. 7736858 [Patent Document 2] Patent No. 7423490 [Patent Document 3] Japanese Unexamined Patent Publication No. 2025-64234 [Summary of the Invention] [Problem to be Solved by the Invention]
[0006] Although the above-mentioned known conversational agent systems can change responses based on understanding the emotions and intentions of the user who is the conversation partner, since the selection of a response method is an alternative choice, they cannot flexibly optimize responses according to the situation of the conversation. In particular, in order to solve the user's task through conversation while building or maintaining a good relationship with the user, it is necessary to exhibit a plurality of skills for conversation with the user in a well-balanced manner.
[0007] In view of the above points, an object of the technology according to the present disclosure is to improve the conversation performance of a conversational agent system that converses with a user. [Means for Solving the Problem]
[0008] According to one aspect, a conversational agent system that converses with a user includes: a conversation processing unit that receives a conversation input from the user and outputs a conversation response in a conversation session; a response control unit that controls generation of the conversation response corresponding to the conversation input by an artificial intelligence (AI)-based language model; and a first storage unit that stores skill definition data defining a plurality of conversation skills for generating different responses to a similar input in a conversation, and intensity data defining an intensity set indicating the intensity of exertion of each of the plurality of conversation skills in generation of the conversation response. The aforementioned strength data defines different strength sets for the multiple dialogue stages that constitute the dialogue session. The response control unit: The current dialogue stage, determined during the progress of the dialogue session, is determined according to the strength set defined by the strength data. controls the language model to generate the conversation response corresponding to the conversation input according to intensities assigned to the plurality of conversation skills. From another perspective, a dialogue agent system that interacts with a user includes, in a dialogue session, a dialogue processing unit that receives dialogue input from the user and outputs a dialogue response; a response control unit that controls the generation of the dialogue response corresponding to the dialogue input by an artificial intelligence (AI)-based language model; and a first storage unit that stores skill definition data that defines a plurality of dialogue skills for generating different responses to the same input in a dialogue, and strength data that defines a set of strengths indicating the strength of each of the plurality of dialogue skills in generating the dialogue response. The strength data defines a different set of strengths for a plurality of user states that the user may take in the dialogue session. The response control unit controls the language model to generate the dialogue response corresponding to the dialogue input according to the strengths assigned to the plurality of dialogue skills according to the set of strengths defined by the strength data for the current user state of the user determined during the progress of the dialogue session. [Advantageous Effects of the Invention]
[0009] According to this disclosure, the conversational performance of a conversational agent system that interacts with users can be improved. [Brief explanation of the drawing]
[0010] [Figure 1] A schematic diagram showing an example of the general configuration of a dialogue agent system according to one embodiment. [Figure 2] A block diagram showing an example of the configuration of an interactive server according to one embodiment. [Figure 3] A block diagram showing an example of the configuration of an agent server according to one embodiment. [Figure 4] An explanatory diagram illustrating various examples of dialogue skills for generating dialogue responses. [Figure 5] An explanatory diagram illustrating an example of the multiple dialogue stages that make up a dialogue session. [Figure 6] An illustrative diagram illustrating an example of assigning strength levels to multiple dialogue skills at each stage of the conversation. [Figure 7A] A diagram illustrating the first example of adjusting the strength assigned to multiple dialogue skills. [Figure 7B] A diagram illustrating a second example of adjusting the strength assigned to multiple dialogue skills. [Figure 7C] A diagram illustrating a third example of adjusting the strength assigned to multiple dialogue skills. [Figure 8] A flowchart showing an example of the flow of dialogue control processing according to one embodiment. [Figure 9] An explanatory diagram showing an example of a system prompt configuration for instructing a Large-Scale Language Model (LLM) to generate dialogue responses. [Figure 10A] A diagram illustrating the first example of input / output between the agent server and the LLM. [Figure 10B] A diagram illustrating a second example of input / output between the agent server and the LLM. [Figure 10C] A diagram illustrating a third example of input / output between the agent server and the LLM. [Figure 11]A block diagram showing an example of the configuration of a history server according to one embodiment. [Figure 12] A flowchart showing an example of the data update process flow according to one embodiment. [Figure 13] A flowchart showing an example of the data generation process flow according to one embodiment. [Modes for carrying out the invention]
[0011] Embodiments of this disclosure will be described in detail below with reference to the attached drawings. In this specification, elements having the same or similar function are denoted by the same reference numeral, and redundant descriptions of such elements are omitted. Although the following embodiments describe specific combinations of two or more features, not all features relating to the described combinations are necessarily essential. Parts of one embodiment may be combined with parts of other embodiments.
[0012] <1. System Overview> First, using Figure 1, we will explain the outline of a conversational agent system according to one embodiment of the technology related to this disclosure.
[0013] Figure 1 is a schematic diagram showing an example of the general configuration of the conversational agent system 1. The conversational agent system 1 is a system that realizes an artificial intelligence (AI)-based conversational agent that interacts with at least one user through voice or text. For example, the conversational agent may be a virtual operator that responds to customer inquiries in a company's customer contact center. Alternatively, the conversational agent may be a virtual support staff member that responds to inquiries from members of an organization in a help desk set up within the organization. Furthermore, the conversational agent may be a virtual supervisor or advisor that interacts with the consultant to guide, train, or assist the consultant.
[0014] Referring to Figure 1, the conversational agent system 1 includes a conversational server 10, an agent server 30, an operator terminal 40, and a history server 60. The user terminal 3 connects to the conversational agent system 1 via the internet 5. The conversational server 10, agent server 30, operator terminal 40, and history server 60 can communicate with each other via an internal network 20. Furthermore, a large-scale language model (LLM) server 50 is connected to the conversational agent system 1. In the example in Figure 1, each server of the conversational agent system 1 is shown to be connected to the LLM server 50 via the internal network 20, but each server may be connected to the LLM server 50 via the internet 5 or another network.
[0015] The user of the conversational agent system 1 may be, for example, a customer of a company, a member of an organization, or a consultant seeking advice from the conversational agent. The user interacts with the conversational agent of the conversational agent system 1 using the user terminal 3. Although Figure 1 shows only one user, in reality, the conversational agent system 1 can interact with many more users, each using their own individual user terminal.
[0016] User terminal 3 may be a general-purpose terminal device such as a smartphone, mobile phone, landline phone, or personal computer (PC). When a user interacts with the dialogue agent by voice, a calling application or other calling function running on user terminal 3 accesses the dialogue server 10 via the Internet 5 (or another voice network such as a public switched telephone network) and sends and receives voice signals with the dialogue server 10. The calling application or calling function may also send and receive video signals in addition to voice signals with the dialogue server 10 for video calls. When a user interacts with the dialogue agent by text, a text communication application running on user terminal 3 accesses the dialogue server 10 via the Internet 5 and sends and receives text data with the dialogue server 10.
[0017] The dialogue server 10 is a server device that interacts with the user terminal 3 at the front end of the dialogue agent system 1. In a dialogue session, the dialogue server 10 receives dialogue input from the user terminal 3 and outputs a dialogue response to the user terminal 3. Although not shown in Figure 1, one or more other devices, such as a voice gateway that performs call control and signal format conversion, may exist between the user terminal 3 and the dialogue server 10.
[0018] The agent server 30 controls the generation of dialogue responses corresponding to dialogue input received by the dialogue server 10. In this embodiment, as will be described later, the agent server 30 causes the LLM server 50 to generate a dialogue response by inputting a prompt to the LLM server 50 instructing it to generate a dialogue response.
[0019] The operator terminal 40 is a terminal device operated by a human operator. The operator interacts with the user after receiving an escalation from the conversational agent when the conversational agent determines that it is unable to resolve the user's request through AI-based dialogue or when it is necessary to maintain the relationship with the user. The operator terminal 40 may be a general-purpose terminal device such as a smartphone or a PC.
[0020] The LLM server 50 is a server device equipped with an LLM capable of performing various natural language processing tasks. The LLM server 50 provides each server device in the conversational agent system 1 with an application program interface (API) for inputting prompts to the LLM and obtaining responses from the LLM. The LLM installed in the LLM server 50 may be any known LLM, such as GPT5, Claude sonnet 4.5, or Gemini3. Alternatively, the conversational agent system 1 may have its own LLM within the system instead of using an external LLM server 50 via the network. The LLM may be fine-tuned for the purpose of dialogue by the conversational agent system 1.
[0021] The history server 60 is a server device that manages historical data of past dialogue sessions between the dialogue agent and the user. As will be described later, the history server 60 can update the data that the agent server 30 uses for response control in dialogue sessions based on the historical data.
[0022] The more specific configurations of the dialogue server 10, agent server 30, and history server 60 of the dialogue agent system 1 will be described in detail in the following sections.
[0023] Note that the configuration of the dialogue agent system 1 shown in Figure 1 is merely an example. The dialogue server 10, agent server 30, and history server 60 may each be realized by more physically separate server devices cooperating with each other. Furthermore, the functions of two or more server devices described may be provided by a single server device.
[0024] Furthermore, while this embodiment primarily describes an example of using an LLM for generating dialogue responses, in other embodiments, a small-scale language model (SLM) may be used instead of an LLM. More generally, any artificial intelligence (AI)-based language model capable of performing natural language processing tasks may be used for generating dialogue responses in the technology relating to this disclosure.
[0025] <2. Example of Interactive Server Configuration> Figure 2 is a block diagram showing an example of the configuration of a dialogue server 10 according to one embodiment. Referring to Figure 2, the dialogue server 10 includes a communication interface (I / F) 111, read-only memory (ROM) 112, random access memory (RAM) 113, processing circuit 115, and storage 120.
[0026] The communication interface 111 is an interface for the dialogue server 10 to communicate with other devices. The ROM 112 is a non-volatile storage medium that pre-stores one or more computer programs for the dialogue processing functions of the dialogue server 10. The RAM 113 is a volatile storage medium that provides a temporary storage area for calculations to the processing circuit 115. The processing circuit 115 may include, for example, one or more central processing units (CPUs) and realizes the dialogue processing functions of the dialogue server 10 by executing computer programs loaded from the ROM 112 to the RAM 113. The storage 120 is a large-capacity storage device such as a hard disk drive (HDD) or a solid-state drive (SSD).
[0027] As shown in Figure 2, in this embodiment, the processing circuit 115 functions as an interaction processing unit 116 and a feature analysis unit 117.
[0028] The dialogue processing unit 116 processes the dialogue between the user of the dialogue agent system 1 and the user in cooperation with the call application or call function of the user terminal 3. The dialogue takes place via the user interface (UI) of the user terminal 3. If the dialogue is conducted via voice, the UI may be a voice UI for voice calls, or a combination of a voice UI and a graphical user interface (GUI). If the dialogue is conducted via text, the UI may be a GUI that displays, for example, the text messages being sent and received in chronological order. The voice UI can be implemented using a microphone and speaker, and the GUI can be implemented using a display and input device.
[0029] Typically, a conversation between a user and a dialogue agent involves multiple repetitions of dialogue input from the user to the dialogue agent and dialogue responses from the dialogue agent to the user. In this specification, a sequence consisting of repeated dialogue inputs and dialogue responses is referred to as a dialogue session. The dialogue input from the user to the dialogue agent may also include interrupt inputs while a dialogue response is being output.
[0030] When the dialogue processing unit 116 receives a dialogue request from the user terminal 3 for a dialogue with the dialogue agent, it starts a dialogue session. During the dialogue session, the dialogue processing unit 116 receives dialogue input from the user. If the dialogue session is a voice dialogue session, the dialogue input is voice input. In this case, the dialogue processing unit 116 uses known speech recognition technology to convert the voice input into input text data that represents what the user has said. The dialogue processing unit 116 then sends the input text data to the agent server 30. If the dialogue session is a text dialogue session, the dialogue input is text input. In this case, the dialogue processing unit 116 sends input text data that represents the content of the text input received from the user to the agent server 30.
[0031] The feature analysis unit 117 analyzes nonverbal features of the dialogue input received from the user. For example, if the dialogue input is voice input, the feature analysis unit 117 may analyze features such as the user's speaking speed, pitch, volume, pause time before speaking, voice tremor, and emphasis on the end of words. If the dialogue input is text input, the feature analysis unit 117 may analyze features such as the user's text input speed and delay time before input. The feature analysis unit 117 outputs input feature data showing the analysis results to the dialogue processing unit 116. The dialogue processing unit 116 sends the input feature data received from the feature analysis unit 117, along with the input text data, to the agent server 30.
[0032] The dialogue processing unit 116 receives response text data for dialogue responses corresponding to dialogue input received from the user from the agent server 30. Then, the dialogue processing unit 116 outputs a dialogue response to the user terminal 3 based on the received response text data. If the dialogue session is a voice dialogue session, the dialogue response is a voice response. In this case, the dialogue processing unit 116 converts the response text data into an output voice signal using known speech synthesis technology and outputs the output voice signal to the user terminal 3. The voice response is then played back by the speaker of the user terminal 3. If the dialogue session is a text dialogue session, the dialogue response is a text response. In this case, the dialogue processing unit 116 outputs a response message based on the response text data to the user terminal 3. The response message is then displayed on the display of the user terminal 3.
[0033] The storage 120 stores an artificial intelligence (AI)-based speech recognition model 121 for speech recognition by the dialogue processing unit 116, and an AI-based speech synthesis model 123 for speech synthesis. Note that the example is not limited to the one shown, and each of the speech recognition model 121 and the speech synthesis model 123 may be provided by an external server device, similar to the LLM server 50 described above.
[0034] In this embodiment, the speech synthesis model 123 is a text-to-speech (TPS) model capable of controlling speech output using Speech Synthesis Markup Language (SSML). The response text data generated by the LLM server 50 (obtained from the agent server 30) may include, in addition to the response text, control elements (control tags) used to control the speech output of the response text. For example, SSML can utilize control elements for variable control of speech control parameters such as the following: • Speech rate • Pitch (voice height) • Volume ·pronunciation • Length of pause ·Emphasis Therefore, the dialogue processing unit 116 outputs a dialogue response by synthesizing an output audio signal that reads the response text according to the control elements in the response text data, using the speech synthesis model 123.
[0035] Furthermore, the storage 120 may store trained models or other algorithms for the analysis of speech input and text input by the feature analysis unit 117. Since these trained models and algorithms may be any known ones, a detailed explanation of them is omitted here.
[0036] <3. Example of agent server configuration> Figure 3 is a block diagram showing an example of the configuration of an agent server 30 according to one embodiment. Referring to Figure 3, the agent server 30 includes a communication I / F 131, a ROM 132, a RAM 133, a processing circuit 135, a first storage unit 140, a second storage unit 150, and a third storage unit 155.
[0037] The communication interface 131 is an interface for the agent server 30 to communicate with other devices. The ROM 132 is a non-volatile storage medium that pre-stores one or more computer programs for the agent server 30's response control function. The RAM 133 is a volatile storage medium that provides a temporary storage area for calculations to the processing circuit 135. The processing circuit 135 may include, for example, one or more CPUs and realizes the agent server 30's response control function by executing computer programs loaded from the ROM 132 to the RAM 133. The first storage unit 140, the second storage unit 150, and the third storage unit 155 are each large-capacity storage devices. Note that each of the first storage unit 140, the second storage unit 150, and the third storage unit 155 is not limited to the illustrated example and may be provided by a database server separate from the agent server 30.
[0038] As shown in Figure 3, in this embodiment, the processing circuit 135 functions as a response control unit 136 and a task execution unit 137.
[0039] <3-1. Controlling the generation of dialogue responses> The response control unit 136 controls the generation of dialogue responses by the LLM server 50 during a dialogue session between the user and the dialogue agent. Specifically, when the response control unit 136 receives dialogue input (input text data and input feature data) from the dialogue processing unit 116, it inputs a prompt to the LLM server 50 instructing it to generate a dialogue response corresponding to the dialogue input, thereby causing the LLM server 50 to generate a dialogue response (response text data). The response control unit 136 then sends the generated dialogue response back to the dialogue processing unit 116.
[0040] (1) The combined application of multiple communication skills In this embodiment, multiple dialogue skills are defined in natural language for generating different responses to the same input in a dialogue, in order for the LLM server 50 to generate dialogue responses. Each of these multiple dialogue skills is assigned a strength (also called a weight) for its performance in generating dialogue responses. The response control unit 136 then controls the generation of dialogue responses by the LLM server 50 so that the LLM server 50 generates dialogue responses corresponding to the dialogue input while performing the multiple dialogue skills according to the assigned strengths.
[0041] Generally, skilled human operators flexibly utilize a variety of conversational skills at different stages of a dialogue to resolve user requests while building or maintaining good relationships with users. For example, at the beginning of a conversation, users may not be able to clearly articulate their needs, and the operator is required to clarify the user's vague needs by repeatedly asking questions. In this case, it may be preferable to ask indirect questions to clarify the user's situation rather than asking direct questions about their needs from the start. Alternatively, it may be effective to prioritize building a good relationship between the user and the operator, and then approach the core of the request after building trust with the user. Simply trying to move the conversation session towards its end may worsen the user's feelings and decrease their satisfaction, but spending too much time on a conversation is also undesirable from the standpoint of work efficiency.
[0042] The inventors of the technology disclosed herein have found, through analysis of past dialogue scripts of skilled operators, that controlling the switching of simple dialogue skills makes it difficult to resolve requests and build or maintain good relationships simultaneously, and therefore it is beneficial to enable the combined application of at least multiple dialogue skills in a dialogue session.
[0043] In this embodiment, the first storage unit 140 stores skill definition data 141 in order to enable the combined application of multiple dialogue skills in a dialogue session. The skill definition data 141 defines multiple dialogue skills for generating different responses to similar inputs in a dialogue.
[0044] Figure 4 is an explanatory diagram illustrating various examples of dialogue skills for generating dialogue responses. Referring to Figure 4, dialogue skills for generating dialogue responses are broadly classified into three dialogue skills K1, K2, and K3. The first dialogue skill K1 is a solution-related skill related to resolving the user's requests. The second dialogue skill K2 is a relationship-related skill for building or improving the relationship between the user and the dialogue agent in a dialogue session. The third dialogue skill K3 is a progression-related skill for guiding the dialogue session toward its conclusion. In the following explanation, skills that are sub-classifications of a given dialogue skill are referred to as sub-skills of that dialogue skill.
[0045] The problem-solving skills K1 may be further subdivided into situation analysis skills K11 and issue-solving skills K12. Situation analysis skills K11 are skills for analyzing the situation in which a user is placed and identifying the user's requirements in a dialogue session. Situation analysis skills K11 can be further subdivided into the following minor skill categories: - Logical thinking skills K11a - Hypothesis building skills K11b - Information organization skills K11c Logical thinking skills (K11a) are the ability to think or reason while maintaining a logical flow. Hypothesis building skills (K11b) are the ability to formulate hypotheses about unknown information and discover facts by verifying the validity of those hypotheses. Information organization skills (K11c) are the ability to systematically organize miscellaneous information and present it to the user.
[0046] The K12 problem-solving skill is the skill of identifying solutions to user requests in a dialogue session. The K12 problem-solving skill can be further broken down into the following sub-skill categories: - Summary Skill K12a - Solution-specific skill K12b -Explanation and composition skills K12c Summarization skill K12a is the skill of concisely summarizing information when it is complex and needs to be presented to the user. Solution identification skill K12b is the skill of identifying the correct answer to a question or the appropriate solution to a requirement. Explanation structuring skill K12c is the skill of explaining the identified answer or solution to the user in a clear and understandable order.
[0047] Relationship-related skills K2 may be further subdivided into relationship-building skills K21 and relationship-deepening skills K22. Relationship-building skills K21 are skills aimed at building a good relationship between the user and the conversational agent in situations where a sufficient relationship has not yet been established. Relationship-building skills K21 may be further subdivided into the following minor skill categories: - Active listening skills K21a - Psychological safety skills K21b - Pacing skill K21c - Emotional calming skill K21d Listening skills K21a are skills that encourage the user to speak as much as possible and listen attentively to what the user has to say. Psychological safety skills K21b are skills that alleviate the user's psychological apprehension and make them feel safe to talk. Pacing skills K21c are skills that synchronize elements such as the speed, pitch, or volume of speech with the user to foster an unconscious sense of trust. Emotional calming skills K21d are skills that calm the user's negative emotions if they are present.
[0048] Relationship deepening skills K22 are skills that further enhance the relationship built between the user and the conversational agent. Relationship deepening skills K22 can be further broken down into the following subcategories of skills: - Individualized response skills K22a - User training skill K22b - Proactive proposal skill K22c - Honesty demonstration skill K22d Individualized response skills (K22a) are skills that personalize responses to suit the user's individuality. User development skills (K22b) are skills that encourage the user's understanding or knowledge to improve. Proactive suggestion skills (K22c) are skills that present actions or information that are presumably beneficial to the user before the user even asks. Sincerity demonstration skills (K22d) are skills that demonstrate a sincere attitude towards engaging in dialogue with the user.
[0049] The facilitation-related skill K3 may be rephrased as the conversation facilitation skill K31, which is a subcategory. The conversation facilitation skill K31 can be further subdivided into the following subcategories: - Listening skills K31a - Translation skill K31b - Consensus building skills K31c - Expected Value Adjustment Skill K31d - Negotiation / Persuasion Skill K31e Listening skills K31a are the skills to elicit information from the user through appropriate questions in order to facilitate the conversation session. Translation skills K31b are the skills to facilitate the conversation by translating difficult words into simpler language for the user. Consensus building skills K31c are the skills to establish a common understanding between the user and the conversation agent by seeking agreement from the user on the requirements, solutions, or other hypotheses estimated by the conversation agent. Expectation management skills K31d are the skills to explain to the user the scope of tasks or knowledge that the conversation agent can handle and to adjust expectations about the outcome of the conversation in advance. Negotiation / persuasion skills K31e are the skills to elicit concessions from the user by explaining the advantages and disadvantages, etc., when a common understanding cannot be established between the user and the conversation agent.
[0050] The several dialogue skills mentioned above include skills that perform variable speech output control. For example, the pacing skill K21c is a typical dialogue skill that variably controls elements such as speech speed, pitch, or volume. However, any other dialogue skill may also be able to perform variable speech output control by adding SSML control elements to the response text of the dialogue response.
[0051] Furthermore, the definition of dialogue skills for generating dialogue responses is not limited to the examples given above. Two or more of the above-mentioned dialogue skills may be integrated into one dialogue skill, and one dialogue skill may be divided into two or more dialogue skills. In addition, any dialogue skill may be defined with a definition statement that differs from the description above. Dialogue skills are not necessarily limited to those that directly affect the generation or output of dialogue responses, and may include a broad range of skills related to the thinking, analysis, or behavior of the dialogue agent. Also, the term "skill" may be replaced with other terms that have a conceptually similar meaning, such as ability, technique, or function.
[0052] In addition to the skill definition data 141, the first storage unit 140 stores strength data 142. The strength data 142 defines a set of strengths indicating the strength of each of the multiple dialogue skills in generating dialogue responses. The response control unit 136 controls the LLM server 50 to generate dialogue responses corresponding to dialogue inputs according to the strengths assigned to the multiple dialogue skills based on the strength data 142. Several embodiments of assigning strengths to multiple dialogue skills based on the strength data 142 will be described in detail later.
[0053] (2) A dialogue session consisting of multiple stages of dialogue In this embodiment, the dialogue session between the user and the dialogue agent is divided into multiple dialogue stages. Figure 5 is an explanatory diagram of an example of the multiple dialogue stages that constitute the dialogue session. Referring to Figure 5, six dialogue stages P1 to P6 are shown.
[0054] Dialogue stage P1 is the "opening" phase that occurs immediately after the start of a dialogue session. In dialogue stage P1, the foundation (also known as rapport) is laid to allow the user to comfortably engage in concrete dialogue with the dialogue agent.
[0055] Dialogue stage P2 is called the "situation assessment" stage. In dialogue stage P2, information about objective facts is collected in order to accurately understand the situation the user is in. The dialogue agent may hypothetically estimate the user type, which influences the user's personality, and may change the subsequent dialogue responses based on the user type.
[0056] Dialogue stage P3 is called "request identification." In dialogue stage P3, based on the information collected up to that point, the user's request to be resolved is narrowed down from multiple candidates, and the request is identified after agreement with the user.
[0057] Dialogue stage P4 is the stage referred to as "resolution," following "requirement identification." In dialogue stage P4, a solution is derived by referring to pre-prepared knowledge for each business area, based on the user's requirements identified in dialogue stage P3. If the user's requirements are procedural, dialogue stage P4 may be further divided into multiple steps P41 to P4n, and steps P41 to P4n may be performed sequentially through dialogue.
[0058] Dialogue stage P5 is called "response delivery." Once a solution is derived in dialogue stage P4, or the necessary steps for procedural requirements are completed, the result is communicated to the user.
[0059] Dialogue stage P6 is the stage referred to as "closing." In dialogue stage P6, instead of simply ending the dialogue session, supplementary information related to the user's request (for example, information about measures to prevent recurrence if the request was to resolve a problem) may be conveyed to the user in order to make the user experience positive.
[0060] Note that the structure of the dialogue session described using Figure 5 is merely one example. One or more of the dialogue stages described above may be omitted, and other dialogue stages may be added to the dialogue session.
[0061] The second memory unit 150 stores dialogue rule data 151. The dialogue rule data 151 defines dialogue rules for transitioning to the next stage or ending the dialogue for each of the multiple dialogue stages P1 to P6 described above.
[0062] For example, dialogue rule data 151 may include a dialogue rule that informs the user that a request is outside the scope of the conversational agent's duties and terminates the conversation session. Also, dialogue rule data 151 may include a dialogue rule regarding conversational stage P3 that the conversation will not proceed to stage P4 until the user agrees to the user's request. Furthermore, dialogue rule data 151 may include a dialogue rule regarding steps P41 to P4n of conversational stage P4 that the conversation will not proceed to the next stage until all necessary information has been obtained from the user regarding a list of information items that may vary depending on the user's request. Finally, dialogue rule data 151 may include a dialogue rule indicating conditions for determining whether or not to escalate the conversation with the user to an operator, depending on the user's request or the user's state described later.
[0063] The scope of tasks handled by the conversational agent, the list of potential requests, and the list of information items to be gathered for each potential request vary depending on the type of task and may be defined in the business knowledge data 157 described later.
[0064] The response control unit 136 controls the generation of dialogue responses by the LLM server 50 to generate dialogue responses in order to advance the dialogue session according to one or more dialogue rules defined by the dialogue rule data 151. The dialogue stages do not necessarily progress in one direction. For example, if, after a request has been identified and the dialogue session has progressed to dialogue stage P4 or later, the request may be corrected or denied by the user, the dialogue session may return to dialogue stage P3 or earlier. The response control unit 136 may describe the definition of the dialogue stages and the dialogue rules in the prompts input to the LLM server 50 so that the dialogue stages are taken into consideration when the LLM server 50 generates dialogue responses.
[0065] (3) Assigning strength to multiple conversation skills In this embodiment, the strength data 142 defines different strength sets for multiple dialogue stages that constitute a dialogue session. In other words, the strength set defined for one dialogue stage that constitutes a dialogue session is different from the strength sets defined for other dialogue stages that constitute the dialogue session.
[0066] For example, in the initial stages of a dialogue session, emphasis may be placed on building a relationship with the user, and a relatively high strength may be assigned to relationship-related skills K2 or its subskills. Furthermore, as the dialogue session progresses, the strength of solution-related skills K1 or its subskills may be gradually increased until the user's requirements and solutions to those requirements are identified. After the solutions to the user's requirements have been identified, the progress of the dialogue session may be facilitated by assigning a relatively high strength to progress-related skills K3 or its subskills.
[0067] The response control unit 136 controls the LLM server 50 to assign strengths to multiple dialogue skills according to a strength set defined by strength data 142 for the current dialogue stage determined during the progress of the dialogue session. The assignment of strengths to multiple dialogue skills may be performed by the response control unit 136 or by the LLM server 50.
[0068] Strength data 142 may be defined using any of the following granularities: major categories (K1-K3), medium categories (K11-K31), and minor categories (K11a-K31e), as explained using Figure 4. Below, we will explain an example in which strength sets are defined for each dialogue stage at the medium category granularity.
[0069] FIG. 6 is an explanatory diagram of an example of assignment of strengths to a plurality of dialogue skills for each dialogue stage. Referring to FIG. 6, strength data 142 includes a strength set 143a defined for dialogue stage P1, a strength set 143b defined for dialogue stage P2, a strength set 143c defined for dialogue stage P3, a strength set 143d defined for dialogue stage P4, a strength set 143e defined for dialogue stage P5, and a strength set 143f defined for dialogue stage P6. Each of the strength sets 143a to 143f is a set of numerical values that quantitatively indicate the strength of exertion of each of situation analysis skill K11, requirement resolution skill K12, relationship building skill K21, relationship deepening skill K22, and dialogue progression skill K31 in generating a dialogue response.
[0070] Here, the strengths assigned to situation analysis skill K11, requirement resolution skill K12, relationship building skill K21, relationship deepening skill K22, and dialogue progression skill K31 are respectively W K11 , W K12 , W K21 , W K22 and W K31 . As an example, it is assumed that the current dialogue stage is determined to be dialogue stage P2. In this case, according to the strength set 143b of the strength data 142 in FIG. 6, (W K11 ,W K12 ,W K21 ,W K22 ,W K31 )=(80,10,70,30,50).
[0071] It should be noted that the strength of exertion of each dialogue skill may be represented by a qualitative value as long as the magnitude relationship among the plurality of dialogue skills can be expressed (for example, "high", "medium" and "low").
[0072] As described above, by exerting a plurality of dialogue skills in combination with different strengths according to the current dialogue stage determined during the progress of a dialogue session when generating a dialogue response, the dialogue agent can smoothly advance the dialogue while flexibly changing the dialogue response in various phases of the dialogue session.
[0073] (4) Dynamic determination of user state and adjustment of dialogue skill strength Strength data 142 may further define strength adjustment parameters for adjusting the strength assigned to multiple dialogue skills. In this embodiment, strength data 142 defines a different set of strength adjustment parameters for multiple user states that a user may take in a dialogue session. The response control unit 136 then controls the LLM server 50 to adjust the strength assigned to multiple dialogue skills according to the set of strength adjustment parameters defined for the user's current user state, which is determined during the dialogue session.
[0074] For example, the user state may refer to the user's emotional state. Patent Document 1 discloses that by analyzing physical characteristics such as the pitch and volume of the user's speech and the spoken text, the user's emotional state can be classified into emotional categories such as "joy," "anxiety," "anger," "sadness," and "surprise." In particular, when the user is in a negative emotional state such as "anxiety" or "anger," it would be desirable to exert more emphasis on improving the relationship with the user by demonstrating relationship-building skills K21 (e.g., listening skills K21a and emotional calming skills K21d) and dialogue facilitation skills K31 (e.g., expectation adjustment skills K31d).
[0075] As another example, user state can also refer to the user's level of understanding. For instance, if a user does not fully understand their situation, the issue to be resolved, the solution, or the role and scope of the dialogue agent, it would be desirable to exert greater emphasis on facilitating user understanding by utilizing problem-solving skills K12 (e.g., explanation structuring skills K12c) and dialogue facilitation skills K31 (e.g., translation skills K31b and consensus-building skills K31c).
[0076] As another example, the user state can also refer to the degree of stagnation in the dialogue. For instance, if a dialogue session with a user is stagnating due to prolonged silence or frequent interruptions, it would be desirable to more strongly utilize relationship-building skills K21 (e.g., listening skills K21a and psychological safety skills K21b).
[0077] The user state may be determined as a quantitative score by an AI-based trained model or a non-AI-based algorithm, either internally or externally, of the dialogue agent system 1. For example, the degree of the user's negative emotions may be evaluated as a numerical value (hereinafter referred to as the anger score) within the range of 0 (normal) to 1 (very angry). In this example, if the anger score exceeds a predetermined threshold, the strength of the dialogue skills may be adjusted using strength adjustment parameters to calm the user's emotions.
[0078] As another example, the user's level of understanding may be evaluated using a numerical value ranging from 0 (lack of understanding) to 1 (complete understanding) (hereinafter referred to as the understanding score). In this example, if the understanding score falls below a predetermined threshold, the strength of the dialogue skills may be adjusted using strength adjustment parameters to promote the user's understanding.
[0079] As another example, the degree of stagnation in a conversation may be evaluated by the length of the user's silence. In this example, if the length of silence exceeds a predetermined threshold, the strength of the conversational skills may be adjusted using strength adjustment parameters to facilitate the conversation. Instead of the length of silence, the frequency of interruptions to conversational responses may be used as the score for the degree of stagnation.
[0080] Alternatively, the user state may be classified into one of several qualitative candidate states (for example, regarding emotions: normal, anxious, dissatisfied, angry; regarding comprehension: high, medium, low, etc.), and if the user state is classified into a predetermined state, the strength of multiple dialogue skills may be adjusted using strength adjustment parameters.
[0081] Figure 7A is an illustrative diagram of the first example of adjusting the strength assigned to multiple dialogue skills. Referring to Figure 7A, the strength data 142 includes adjustment parameter sets 144a, 144b, and 144c. Adjustment parameter set 144a is used when the user is in the emotional state of "anger" (anger score V A > threshold TH A This is a set of strength adjustment parameters that are applied when the user is in a state of understanding called "low understanding" (understanding score V). The adjustment parameter set 144b is a set of strength adjustment parameters that are applied when the user is in a state of understanding called "low understanding" (understanding score V U <ThresholdTH U This is a set of strength adjustment parameters that are applied when the user is in a stagnant state called "Silence" (Silence duration V). The adjustment parameter set 144c is a set of strength adjustment parameters that are applied when the user is in a stagnant state called "Silence" (Silence duration V). S > threshold TH S This is a set of strength adjustment parameters applied to ). Each set of adjustment parameters 144a to 144c represents an offset value for increasing or decreasing the strength assigned to each of the following skills: situation analysis skill K11, problem solving skill K12, relationship building skill K21, relationship deepening skill K22, and dialogue facilitation skill K31.
[0082] Here, the current dialogue stage is determined to be dialogue stage P2, and the basic strengths assigned to dialogue skills K11, K12, K21, K22 and K31 are (W K11 ,W K12 ,W K21 ,W K22 ,W K31 Let ) be represented as (80, 10, 70, 30, 50). In addition, the anger score V represents the current emotional state of the user. A The anger threshold TH A Exceeding (V A >TH A ) shall be determined to be true. In this case, the strength of dialogue skills K11, K12, K21, K22 and K31 shall be adjusted according to the adjustment parameter set 144a in Figure 7A, and (W K11 ,W K12 ,W K21 ,W K22 ,W K31)=(80-10,10+0,70+30,30+0,50+10)=(70,10,100,30,60).
[0083] It should be noted that the user states a user can take during a dialogue session are not limited to the examples described above. For example, whether or not the user is convinced by the dialogue agent's explanation, or the degree of that conviction, may be treated as a user state.
[0084] In this way, by adjusting the strength of multiple dialogue skills based on the current user state determined during the dialogue session, and then generating dialogue responses, the dialogue agent can optimize its dialogue responses to match the dynamically changing user state while progressing the conversation with the user.
[0085] (5) Prioritizing improvements to the user state The response control unit 136 may control the generation of dialogue responses by the LLM server 50 so as to prioritize the use of dialogue skills defined as contributing to improving the user state among multiple dialogue skills when the user's current user state, determined during the progress of the dialogue session, deviates from a predetermined acceptable range.
[0086] Dialogue skills defined as contributing to the improvement of the user state may, but are not limited to, relationship-building skills K21, or one or more sub-skills of relationship-building skills K21. Alternatively, special dialogue skills for improving the user state may be defined separately from the dialogue skills described above.
[0087] For example, the anger score V represents the current emotional state of the user. A Regarding the first anger threshold TH A1 and the second anger threshold TH A2 The first anger threshold TH is predefined. A1 This is the threshold that serves as the criterion for deciding whether or not to perform the aforementioned strength assignment adjustments. Second rage threshold TH A2 This is a threshold that defines the acceptable range of a user's emotional state. The stronger the user's anger, the higher the anger score V.A If the value is large, the second anger threshold TH A2 is the first anger threshold TH A1 Larger than (TH A2 >TH A1 ).
[0088] Anger Score V A The second anger threshold TH A2 Exceeding (V A >TH2) If the user's emotional state is determined to be outside the acceptable range, strength is assigned to multiple dialogue skills so that dialogue skills aimed at improving the user's state are prioritized or applied independently, regardless of the current stage of the conversation. On the other hand, if the anger score is V A The second anger threshold TH A2 The following applies (TH2≧V A If it is determined that, the anger score is V A and the first anger threshold TH A1 Based on this comparison, the strength assignment to dialogue skills based on the current dialogue stage is either used as is, or the strength assignment to dialogue skills is adjusted according to the strength adjustment parameter.
[0089] Similar priority control may be applied to multiple dialogue skills when user states other than anger scores deviate from acceptable ranges. For example, when a user's understanding is extremely low, dialogue skills that promote understanding may be prioritized. Alternatively, when the conversation is stalled for an extended period due to user silence, dialogue skills that encourage user participation may be prioritized.
[0090] By continuously monitoring the user's state as described above, and by prioritizing the use of specific conversational skills when the user's state deviates from an acceptable range, it is possible to avoid extreme deterioration of the user's state and minimize the risk of the interaction between the user and the conversational agent ending in failure.
[0091] (6) Adjusting the strength of conversational skills based on user type The intensity of multiple dialogue skills may be adjusted based on the user type instead of (or in addition to) the dynamically changing user state. That is, the intensity data 142 may further define a set of different intensity adjustment parameters for multiple user types. The response control unit 136 may then control the LLM server 50 to adjust the intensity assigned to the multiple dialogue skills according to the set of intensity adjustment parameters defined for the user type of the user.
[0092] The third storage unit 155 stores user data 156 so that the conversational agent can determine the user type of the user it is interacting with. The user data 156 includes a user ID that uniquely identifies the user, the user's name, and authentication information used for user authentication, as well as attribute information used to determine the user type. The attribute information may include arbitrary attributes and includes at least one of the following: information that directly indicates the user type (e.g., a flag indicating whether or not the user is a VIP user) and information that indirectly indicates the user type (e.g., past service usage history and inquiry history for determining whether the user requires detailed explanation).
[0093] Figure 7B is an illustrative diagram of a second example of strength adjustments assigned to multiple conversation skills. Referring to Figure 7B, the strength data 142 includes adjustment parameter sets 145a, 145b, and 145c. Adjustment parameter set 145a is a set of strength adjustment parameters that apply when the user type is type U1 (e.g., a VIP user). Adjustment parameter set 145b is a set of strength adjustment parameters that apply when the user type is type U2 (e.g., a user who has received many complaints in the past). Adjustment parameter set 145c is a set of strength adjustment parameters that apply when the user type is type U3 (e.g., a user whose age is above a certain threshold).
[0094] In this way, by adjusting the strength of multiple conversational skills based on the user type determined during the conversation session and then generating a conversational response, the conversational agent can output a conversational response optimized to the user's individuality.
[0095] Furthermore, if the user interacting with the conversation partner is an unknown user and the user type cannot be determined by referring to the user data 156, the user type may be hypothesized based on the input text data and input feature data by an internal or external AI-based trained model or a non-AI-based algorithm within the conversational agent system 1. The hypothesized user type may be verified and modified during the conversation session. This allows for adjusting the conversational response to match the hypothetical personality of the unknown user, thereby facilitating smooth conversation with the user.
[0096] (7) Adjusting the strength of dialogue skills based on the type of request The intensity of the multiple dialogue skills may be adjusted based on the request type instead of (or in addition to) the user state and / or user type described above. That is, the intensity data 142 may further define a set of different intensity adjustment parameters for multiple request types. The response control unit 136 may then control the LLM server 50 to adjust the intensity assigned to the multiple dialogue skills according to the set of intensity adjustment parameters defined for the request type of the user's request in the dialogue session.
[0097] The third memory unit 155 stores business knowledge data 157 related to the tasks handled by the conversational agent system 1. For example, if the tasks handled are customer inquiries from a company that sells products, the business knowledge data 157 may include a list of the company's products, product information for each product (price, detailed specifications, inventory, etc.), procedural information such as user registration, purchase, and cancellation on the sales site, and FAQ information. If the tasks handled are inquiries about information systems at a help desk, the business knowledge data 157 may include information system specifications, user manuals, and FAQ information. This knowledge data is referenced when the conversational agent system 1 generates conversational responses in order to provide accurate information to the user.
[0098] The business knowledge data 157 further includes request data. The request data may include a list of potential requests in the operations handled by the conversational agent system 1, and for each request, a flag indicating whether it falls within the scope of the conversational agent's operations, a request type, and a list of information items to be gathered. Request types may be, for example, questions, procedures, and complaints. This request data may be referenced to adjust the intensity of the demonstration of multiple conversational skills.
[0099] Figure 7C is an illustrative diagram of a third example of strength adjustments assigned to multiple dialogue skills. Referring to Figure 7C, the strength data 142 includes adjustment parameter sets 146a, 146b, and 146c. Adjustment parameter set 146a is the set of strength adjustment parameters applied when the request type is type T1 (e.g., question). Adjustment parameter set 146b is the set of strength adjustment parameters applied when the request type is type T2 (e.g., complaint). Adjustment parameter set 146c is the set of strength adjustment parameters applied when the request type is type T3 (e.g., procedure).
[0100] In this way, by adjusting the strength of multiple dialogue skills depending on the type of request identified in the dialogue session and then generating a dialogue response, the dialogue agent can flexibly change the content of the dialogue response to match the nature of the user's request.
[0101] Here, we have illustrated with Figures 7A to 7C an example in which the strength of multiple dialogue skills is adjusted based on user state, user type, or request type. However, the strength of multiple dialogue skills may be adjusted based on other information. For example, the strength assigned to multiple dialogue skills may be adjusted based on dialogue environment information related to the environment in which the dialogue is taking place. Dialogue environment information may be used in combination with user state, user type, or request type for strength adjustment.
[0102] For example, the dialogue environment information may include information about the day of the week or time of day the dialogue is taking place. Specifically, if the dialogue is on a weekday or in the early morning or during the day, the emphasis should be on quickly resolving the user's request, and the strength of the problem-solving related skill K1 and the progress-related skill K3 should be increased. On the other hand, if the dialogue is on a holiday or at night, the emphasis should be on the relationship with the user, and the strength of the relationship-related skill K2 should be increased.
[0103] As another example, dialogue environment information may include information about the communication channel through which the dialogue is taking place. This communication channel could be, for example, a voice call, video call, chat, or email. Specifically, when a voice-based communication channel is used, reducing the strength of the dialogue skills, which tend to produce a large amount of output information, can prevent a single dialogue response from becoming excessively long. Conversely, when a text-based communication channel is used, it is more readily accepted that a single dialogue response contains more information, so it might be possible to increase the strength of the dialogue skills, which tend to produce a large amount of output information.
[0104] (8) Assigning strength to multiple dialogue skills - modified examples As a variation of the embodiment described above, the strength data 142 may define different strength sets for multiple user states that a user may take during a dialogue session. In other words, the strength set defined for a certain user state (for example, the user's emotional state being "normal") is different from the strength set defined for another user state (for example, the user's emotional state being "angry").
[0105] The response control unit 136 may control the LLM server 50 to assign strengths to multiple dialogue skills according to a strength set defined by strength data 142 for the user's current state determined during the dialogue session. The assignment of strengths to multiple dialogue skills may be performed by the response control unit 136 or by the LLM server 50. In this modified example, the current dialogue stage, user type, request type, and dialogue environment information may or may not be used to further adjust the strengths assigned to each dialogue skill based on the current user state.
[0106] For example, by changing the strength assigned to multiple dialogue skills in accordance with changes in the user's emotional state during a dialogue session, the dialogue agent can continuously generate dialogue responses that are empathetic to the user's emotions. Furthermore, by changing the strength assigned to multiple dialogue skills in accordance with the user's progress in understanding, the dialogue agent can generate a series of dialogue responses that effectively enhance the user's understanding. Additionally, by changing the strength assigned to multiple dialogue skills in accordance with stagnation in the dialogue session, the dialogue agent can generate dialogue responses that promptly resolve any stagnation in the conversation.
[0107] <3-2. Performing tasks other than dialogue> The task execution unit 137 performs tasks other than generating dialogue responses (hereinafter referred to as non-response tasks) depending on the requirements identified in the dialogue session. Non-response tasks may include, for example, registering and updating information in a database related to the business handled by the dialogue agent system 1, generating handover information for escalation and escalating it to an operator, sending messages via communication channels such as short message service or email, and scheduling a callback to the user.
[0108] The response control unit 136 monitors the exchange of dialogue inputs and dialogue responses with the dialogue server 10, and when the time comes for the task execution unit 137 to execute a non-response task, it instructs the task execution unit 137 to execute the non-response task. The task execution unit 137 executes the specified non-response task in response to the instruction from the response control unit 136.
[0109] <4. Flow of Dialogue Control Processing> Figure 8 is a flowchart showing an example of the flow of dialogue control processing that can be executed by the dialogue server 10 and agent server 30 in the embodiment described above. The dialogue control processing in Figure 8 is started when the dialogue processing unit 116 of the dialogue server 10 receives a dialogue request from the user terminal 3. In the figure, 'S' is an abbreviation for a processing step.
[0110] First, in S11, the dialogue processing unit 116 receives dialogue input from the user. If the dialogue input is voice input, the dialogue processing unit 116 converts the voice input into input text data. The dialogue processing unit 116 sends the input text data to the response control unit 136 of the agent server 30. The dialogue processing unit 116 may also have the feature analysis unit 117 analyze the non-verbal features of the dialogue input and send the input feature data showing the analysis results to the response control unit 136 along with the input text data.
[0111] Next, in S12, the response control unit 136 acquires knowledge related to the user's dialogue input from the third storage unit 155. For example, if the user requests a dialogue after prior identity verification or login to the system, the response control unit 136 acquires the user data 156 of the user identified through identity verification or login. Also, if the user requests a dialogue after selecting a dialogue menu in advance, the response control unit 136 acquires business knowledge data 157 related to the selected menu. Note that the user data 156 and business knowledge data 157 may be acquired after one or more dialogue input and dialogue response exchanges, based on the results of those exchanges.
[0112] Next, in S13, the response control unit 136 determines the user's request based on the content of the dialogue input received up to that point. At the beginning of the dialogue session, the user's request may be unknown. Next, in S14, the response control unit 136 determines whether the user's request determined in S13 is outside the scope of the tasks handled by the dialogue agent. If the request is outside the scope, the dialogue control process proceeds to S15. On the other hand, if the request is within the scope or the request is unknown, the dialogue control process proceeds to S17.
[0113] If the user's request is outside the scope, in S15, the response control unit 136 instructs the LLM server 50 to generate an interactive response to inform the user that their request is outside the scope. The LLM server 50 generates response text data for the interactive response according to the instructions from the response control unit 136. The interactive control process then proceeds to S27.
[0114] On the other hand, if the user's request is not outside the scope, in S17, the response control unit 136 determines the current dialogue stage based on the content of the dialogue input received up to that point and the dialogue rule data obtained from the second storage unit 150. Also, in S18, the response control unit 136 determines the current user state based on the content of the dialogue input received up to that point and the non-verbal characteristics of the dialogue input indicated by the input characteristic data. For example, the response control unit 136 determines one or more of the current user's emotional state, level of understanding, and level of stagnation.
[0115] Although not shown in Figure 8, the response control unit 136 may also determine or estimate the user type. The response control unit 136 may refer to user data 156 for determining or estimating the user type. The response control unit 136 may also determine the request type. The response control unit 136 may refer to business knowledge data 157 for determining the request type.
[0116] Next, in S19, the response control unit 136 determines whether the current user state determined in S18 is within a predetermined acceptable range. If it is determined that the current user state is within an acceptable range, the dialogue control process proceeds to S21. On the other hand, if it is determined that the current user state is not within an acceptable range, in S20, the response control unit 136 decides to prioritize dialogue skills that contribute to improving the user state. Then, the dialogue control process proceeds to S21.
[0117] In S21, the response control unit 136 determines the strength of the multiple dialogue skills defined by the skill definition data 141 based on the strength data 142. For example, the response control unit 136 assigns strengths to the multiple dialogue skills according to the strength set associated with the current dialogue stage determined in S17. The response control unit 136 also adjusts the strengths assigned to the multiple dialogue skills according to the strength adjustment parameter set associated with the current user state determined in S18. The strength of the dialogue skills may be adjusted based on the user type and / or request type instead of (or in addition to) the current user state. If it is decided in S20 to prioritize dialogue skills that contribute to improving the user state, the response control unit 136 may set the strength of the dialogue skills that contribute to improving the user state to a greater value than that of other dialogue skills (the strengths of other dialogue skills may be set to zero).
[0118] Next, in S22, the response control unit 136 instructs the LLM server 50 to generate a dialogue response by inputting prompts to the LLM server 50 that describe the definitions of multiple dialogue skills based on the skill definition data 141 and the assignment of the strength of expression to the multiple dialogue skills. Some examples of prompts input from the response control unit 136 to the LLM server 50 will be described in detail later. The LLM server 50 generates response text data for the dialogue response in accordance with the instructions from the response control unit 136.
[0119] Next, in S24, the response control unit 136 determines whether or not it is necessary to execute a non-response task. If it is necessary to execute a non-response task, in S25, the response control unit 136 instructs the task execution unit 137 to execute the non-response task. The task execution unit 137 executes the specified non-response task in accordance with the instruction from the response control unit 136. If it is not necessary to execute a non-response task, S25 is skipped.
[0120] Next, in S27, the response control unit 136 sends the response text data for the dialogue response, generated by the LLM server 50 in S15 or S22, to the dialogue processing unit 116 of the dialogue server 10. If the dialogue response is an audio response, the dialogue processing unit 116 synthesizes an output audio signal based on the response text data. If the response text data includes control elements used for audio output control, the audio characteristics specified by those control elements are reflected in the output audio signal. The dialogue processing unit 116 then outputs the output audio signal for the dialogue response to the user terminal 3. If the dialogue response is a text response, the dialogue processing unit 116 outputs a response message based on the response text data to the user terminal 3.
[0121] Next, in S28, the response control unit 136 determines whether or not to terminate the dialogue session. If it is determined that the conditions for terminating the dialogue session have not yet been met according to the dialogue rule data, the dialogue session continues, the dialogue control process returns to S11, and the dialogue processing unit 116 receives the next dialogue input. If it is determined that the conditions for terminating the dialogue session have been met, the response control unit 136 notifies the dialogue processing unit 116 of the termination of the dialogue session. Then, the dialogue control process shown in Figure 8 terminates. The dialogue control process also terminates if the dialogue session is interrupted by the user.
[0122] This section has so far described an example of how the response control unit 136 performs the following determinations and decisions: • Determining the user's request (S13) • Determination of the current dialogue stage (S17) • Determining the current user state (S18) • Determination or estimation of user type • Determining the type of request • Decision to prioritize conversational skills that contribute to improving the user experience (S20) • Determining the strength of multiple communication skills (S21) However, each of these judgments and decisions may be made by the LLM server 50 based on instructions in a prompt from the response control unit 136. Furthermore, the response control unit 136 can cause the LLM server 50 to perform two or more of the above-mentioned judgments and decisions simultaneously by including instructions for two or more of them in a single prompt. In this case, the dialogue response generated by the LLM server 50 will reflect the results of the two or more judgments and decisions. Therefore, although Figure 8 shows the processing steps S13, S17, S18, S20, and S21, and their associated conditional branches, as separate boxes, in reality, some or all of these processing steps and conditional branches may be consolidated into a single prompt input to the LLM and a response output from the LLM.
[0123] <5. Example of prompt configuration> Generally, when attempting to instruct the LLM to produce some output, the history of past input and output interactions between the user and the LLM, along with the system prompt and the latest interaction input, is passed to the LLM. In this embodiment as well, the response control unit 136 passes the history of past input and output interactions between the user and the dialogue agent within a certain time window to the LLM server 50, along with the system prompt and the latest interaction input. However, in this section, in order to focus on the characteristics of dialogue control, only the system prompt that describes the instruction for generating a dialogue response will be described.
[0124] Figure 9 is an explanatory diagram showing an example configuration of a system prompt 180 for instructing the LLM to generate an interactive response in this embodiment. Referring to Figure 9, the system prompt 180 includes a role section 181, an instruction section 182, an auxiliary information section 183, and an output format section 184.
[0125] Role section 181 defines the basic role of the dialogue agent. It describes the stance the dialogue agent should take when generating dialogue responses. For example, role section 181 may include the following: "You are a contact center operator located in the 'Department Name' of 'Organization Name'. Your role is to handle user inquiries received at the contact center, engaging in courteous conversations with users to resolve their issues." Note that strings enclosed in single quotes are variables and will be replaced with specific names or other strings in the actual prompt.
[0126] Instructions section 182 is a section in which instructions for generating dialogue responses are described. In the example in Figure 9, instructions section 182 includes a mission definition section 191, a skill definition section 192, a strength assignment section 193, a requirements determination section 194, an information gathering section 195, and a dialogue control section 196.
[0127] Mission Definition Section 191 defines the basic purpose, scope, and mindset (or behavioral principles) of the conversational agent. For example, Mission Definition Section 191 may include the following statements: Your mission is to handle the following regarding 'Task Name': 1. If the user's request is a question, answer the question. 2. If the user's request concerns a specific procedure, obtain the necessary information from the user and perform that specific procedure. 3. If the user's request is outside the scope, inform the user that it is outside the scope. 4. If it is difficult to resolve the user's request, escalate it to a human operator. In taking the above measures, we will adhere to the following principles: Pay attention to the user's emotions and other conditions, and do not rush to resolve their request. • We prioritize the accuracy of the information we provide to our users. "We will strictly adhere to the system and rules."
[0128] Skill definition section 192 is a section in which definitions of multiple conversational skills based on skill definition data 141 are described. In skill definition section 192, multiple conversational skills may be defined at any of the major, medium, or minor levels of granularity described above. In the example in Figure 9, the medium level definition is used. For example, the definition of situational analysis skill K11 may include the following description: "We analyze the context of the conversation to collect the information necessary to identify the user's request, and then identify the user's request." For other conversational skills, appropriate definitions are described in natural language according to skill definition data 141.
[0129] The strength assignment section 193 is a section that describes instructions that dialogue responses should be generated by assigning strengths to multiple dialogue skills defined in the skill definition section 192 based on strength data 142. In the example in Figure 9, the procedure is described for assigning a base strength value Base(n,Pi) associated with the current dialogue stage Pi to each of the N dialogue skills Kn(n=1,...,N), and then adjusting that strength with an offset Offset(n,Ui) associated with the current user state Ui. The base value Base(n,Pi) can be determined by determining the current dialogue stage Pi and then referring to the strength set corresponding to the determined dialogue stage Pi, as explained using Figure 6. The offset Offset(n,Ui) can be determined by determining the current user state Ui and then referring to the strength adjustment parameter set corresponding to the determined user state Ui, as explained using Figure 7A. In practice, the Strength Assignment Section 193 may describe specific indicators such as the anger score, comprehension level, and stagnation level mentioned above, as well as methods for evaluating these indicators, as user state UI.
[0130] The Request Determination Section 194 is a section that describes instructions for determining the user's request in an interactive session. In addition to instructions to determine the user's request from the history of the interaction input and output and the most recent interaction input, the Request Determination Section 194 may describe a list of possible requests. For each possible request, it may be indicated whether it is within or outside the scope of the business being handled. If there are different response policies for each request, those policies may be described in the Request Determination Section 194. Furthermore, the response policy for when the user's request is determined not to fall under any of the candidates may also be described in the Request Determination Section 194.
[0131] Information gathering section 195 is a section that describes a set of information items (also called information slots) to be gathered for requirements that require information gathering from the user. For each information item, it may be indicated whether gathering the information is mandatory or optional. Information gathering section 195 may also describe a policy specific to gathering information from the user (for example, not asking duplicate questions about known information, and carefully confirming with the user the possibility of errors in the information gathered if there are inconsistencies).
[0132] The dialogue control section 196 is a section in which the rules of control across a series of dialogue stages from the start to the end of a dialogue session are described based on the dialogue rule data 151. For example, the dialogue control section 196 may include the following description: You will guide the conversation with the user through repeated dialogue inputs and responses, leading to the conclusion of the dialogue session via the following dialogue stages: P1 - Opening P2 - Situation Summary P3 - Specifying the Requirements P4-Solved P5 - Response Transmission P6-Clothing In "P1 - Opening," ... • In "P2 - Situation Summary," ... (The following omitted) Rules for prioritizing the control of specific conversational skills when the user state deviates from the acceptable range described above may also be described in the conversational control section 196. Rules for escalating to a human operator may also be described in the conversational control section 196.
[0133] The supplementary information section 183 is a section that describes how to use information sources that hold information that the conversational agent should refer to when generating a conversational response, or the entity of such information. For example, the method by which the LLM server 50 accesses user data 156 and business knowledge data 157 may be described in the supplementary information section 183. Alternatively, the user data 156 and business knowledge data 157, or any subset of such data, may be described in the supplementary information section 183. Furthermore, the method of using tools necessary for generating a conversational response, such as calculating dates, deadlines, issuing reception numbers, or securing reservation slots, may be described in the supplementary information section 183.
[0134] The output format section 184 defines the format (or style) of the interactive responses generated by the LLM server 50. The output format section 184 may contain one or more instructions regarding the output format, such as: • Writing style (e.g., use of polite language) ·Language used • Maximum number of sentences, words, and / or characters that make up a single dialogue response • Is it a businesslike response or a friendly response? Where to place the conclusion in the dialogue response • Recommendation to use bullet points
[0135] Naturally, the configuration of system prompt 180 described above is merely an example. A section may be divided into multiple sections, or multiple sections may be merged into a single section. System prompt 180 may also include additional sections, such as the following: • Escalation rules Examples of dialogue responses ·guardrail Guardrails are elements that clearly indicate prohibited actions in conversations (for example, prohibiting the collection of My Number or credit card numbers, and prohibiting the definitive presentation of legal opinions) for purposes such as protecting personal information and ensuring legal compliance.
[0136] Furthermore, the content of each section of the system prompt 180 is not limited to the examples described above. For example, if the strength of multiple conversational skills is described by qualitative values (high, medium, low), the strength assignment section 193 may describe the procedure for adjusting the strength using linguistic instructions such as "one level lower" or "highest."
[0137] The system prompt 180 shown in Figure 9 is an example of a single prompt that collectively describes the instructions for processing steps S13, S17, S18, S20, and S21 in Figure 8. In this case, as shown in Figure 10A, the response control unit 136 of the agent server 30 can obtain an interactive response from the LLM server 50 by inputting a single response generation instruction (system prompt 180) to the LLM server 50. This is advantageous in that it can reduce the time required to generate an interactive response compared to the modified example described later.
[0138] As a first modification of the embodiment described above, as shown in Figure 10B, the response control unit 136 of the agent server 30 may input a preliminary determination request (system prompt) to the LLM server 50 before issuing the final response generation instruction, which requires determination of the user's request, determination of the current dialogue stage, and / or determination of the user's state. Along with the determination request, the response control unit 136 inputs the history of input and output of the user dialogue and the latest dialogue input to the LLM server 50.
[0139] The LLM server 50 outputs a determination result regarding the user's request, the current dialogue stage, and / or the user's state in response to a determination request from the agent server 30. The response control unit 136 assigns the strength of the multiple dialogue skills to be exerted in generating dialogue responses based on the determination result and strength data 142 obtained from the LLM server 50.
[0140] The response control unit 136 then outputs a final response generation instruction (system prompt) to the LLM server 50 indicating the strengths assigned to the multiple dialogue skills. The final response generation instruction in the first modified example may be configured similarly to the system prompt 180 shown in Figure 9. However, in the strength assignment section 193 of the system prompt 180, instead of an instruction to assign strengths to multiple dialogue skills, the strength values assigned to the multiple dialogue skills may be described. In addition, the request determination section 194 may be omitted.
[0141] In the first modification, it is not necessary to describe in the system prompt the information required to assign strengths to multiple dialogue skills in response to user requests, dialogue stages, and / or user states. Therefore, it is possible to avoid system prompt bloat. In addition, since user requests, dialogue stages, and / or user states are not black boxes, it is easy to track these determination results and improve the response control and task execution framework.
[0142] As a second modification of the embodiment described above, as shown in Figure 10C, the response control unit 136 of the agent server 30 may input a preliminary determination request (system prompt), for example, a determination of the user state, to a second LLM server 55, which is separate from the LLM server 50, before issuing the final response generation instruction. Along with the determination request, the response control unit 136 inputs the history of input and output of the interaction with the user and the latest interaction input to the second LLM server 55.
[0143] The second LLM server 55 outputs a determination result regarding the user status in response to a determination request from the agent server 30.
[0144] The response control unit 136 then outputs a final response generation instruction (system prompt) to the LLM server 50 indicating the determination result regarding the user state obtained from the second LLM server 55. The final response generation instruction in the second modified example may be configured similarly to the system prompt 180 shown in Figure 9. However, in the strength assignment section 193 of the system prompt 180, the determination result of the user state is described instead of an instruction for determining the user state. The determination of the user's request and / or the current dialogue stage may also be performed by a device having an LLM separate from the LLM server 50 that generates the dialogue response.
[0145] In the second modification, an independent LLM can be used for each purpose, such as determining the user's request, determining the current dialogue stage, determining the current user state, or generating a dialogue response. Therefore, it is possible to generate more effective dialogue responses by using LLMs tuned for each individual purpose.
[0146] <6. Example configuration of the history server> Figure 11 is a block diagram showing an example of the configuration of a history server 60 according to one embodiment. Referring to Figure 11, the history server 60 includes a communication I / F 161, ROM 162, RAM 163, processing circuit 165, and storage 170.
[0147] The communication interface 161 is an interface for the history server 60 to communicate with other devices. The ROM 162 is a non-volatile storage medium that pre-stores one or more computer programs for the history management function of the history server 60. The RAM 163 is a volatile storage medium that provides a temporary storage area for calculations to the processing circuit 165. The processing circuit 165 may include, for example, one or more CPUs and realizes the history management function of the history server 60 by executing computer programs loaded from the ROM 162 to the RAM 163. The storage 120 is a large-capacity storage device such as an HDD or SSD.
[0148] As shown in Figure 11, in this embodiment, the processing circuit 165 functions as a history evaluation unit 166 and a data update unit 167. The storage 120 also holds a history database (DB) 171 that stores dialogue scripts from past dialogue sessions.
[0149] <6-1. Updating Strength Data> When a dialogue session between the user and the dialogue agent ends, the history evaluation unit 166 adds the dialogue script, which includes the series of dialogue inputs and responses exchanged during the dialogue session, to the history DB 171. The history evaluation unit 166 also obtains an evaluation score related to the result of the completed dialogue session and stores the obtained evaluation score in the history DB 171 in association with the dialogue script.
[0150] The evaluation score associated with the outcome of the dialogue session may be one or more combinations of the following scores, for example: Customer satisfaction (CS) • Resolution rate (e.g., First Call Resolution Rate (FCR)) • Dialogue efficiency The history evaluation unit 166 may evaluate customer satisfaction (CS) based on the user's responses to the questionnaire (e.g., a 5-point rating) or an analysis of the dialogue script. The history evaluation unit 166 may also evaluate the resolution rate based on the user's response to the question "Has your issue been resolved?" or whether or not a follow-up inquiry occurred within a predetermined time after the end of the dialogue session. Furthermore, the history evaluation unit 166 may use the average handling time (AHT) or the reciprocal of the total number of turns in the dialogue session as an evaluation score for dialogue efficiency.
[0151] In one specific example, ratings based on survey responses are used in CS (Customer Service). SUR A flag indicating whether the user's response was resolved or not is set to F. RES , the total number of turns in the dialogue session C TRN In that case, the history evaluation unit 166 may calculate the evaluation score SC of the completed dialogue session according to the following formula: SC = 0.5 * CS SUR +0.3*F RES +0.2*(1 / C TRN ) Furthermore, the formula for calculating the evaluation score may be set in any way to suit the requirements of each individual system. For example, in a system where building good relationships with users is more important than dialogue efficiency, the dialogue efficiency term may be omitted, or the dialogue efficiency coefficient may be set to a small value.
[0152] The data update unit 167 updates the strength data 142 in the first storage unit 140 based on the dialogue script of a dialogue session whose evaluation score obtained by the history evaluation unit 166 meets a predetermined standard, or the strength of the multiple dialogue skills demonstrated in that dialogue session. The predetermined standard is a criterion for detecting a dialogue session in which the user's evaluation was significantly high. For example, the criterion that the evaluation score SC exceeds a predetermined threshold may be adopted.
[0153] In one embodiment, the response control unit 136 may assign strengths to multiple dialogue skills based on strength data 142 and a predetermined random variable in order to generate dialogue responses. The data update unit 167 updates the strength data 142 based on the strengths of the multiple dialogue skills demonstrated in the dialogue session when the evaluation score obtained by the history evaluation unit 166 meets a predetermined criterion.
[0154] In the embodiment described above, a random variable is introduced to add a probabilistic fluctuation component (an increase or decrease of a few percent in the value) to the strength value (sum of a base value and an offset) assigned to each dialogue skill. In this case, by reflecting the fluctuation component added in dialogue sessions where the evaluation score meets a predetermined standard in the strength value shown by the strength data 142, the strength data 142 can be updated to data that can more effectively satisfy the user.
[0155] In other embodiments, the data update unit 167 may update the strength data 142 based on the specific behavior of the dialogue agent system 1 in a dialogue session if the evaluation score obtained by the history evaluation unit 166 meets a predetermined standard. Here, the specific behavior may be a pattern of demonstrating multiple dialogue skills in the dialogue response after the point in time when the user state has significantly deteriorated. By updating the strength data 142 based on the behavior of the dialogue agent system 1 when the dialogue is specifically successful in this way, the subsequent dialogue responses by the dialogue agent system 1 can be made more resilient to deteriorations in the user state. The specific behavior may be a pattern of demonstrating multiple dialogue skills in response to requests that are difficult to resolve.
[0156] To update the strength data 142 described above, the history server 160 may maintain an AI-based trained model (hereinafter referred to as the skill analysis model) for labeling the strength of the demonstration of multiple dialogue skills in each dialogue response within a dialogue script. The skill analysis model is acquired in advance through machine learning processing using a dataset as training data that includes dialogue scripts from a large number of past dialogue sessions of skilled human operators and the correct values of the strength of the demonstration of multiple dialogue skills assigned to the dialogue responses within those dialogue scripts.
[0157] Figure 12 is a flowchart showing an example of the data update process that can be executed by the history server 60 in the embodiment described above. The data update process in Figure 12 is started when the dialogue session between the dialogue server 10 and the agent server 30 and the user ends.
[0158] First, in S31, the history evaluation unit 166 obtains an evaluation score related to the result of the completed dialogue session. Next, in S32, the data update unit 167 determines whether the evaluation score obtained by the history evaluation unit 166 meets a predetermined criterion. If the evaluation score does not meet the predetermined criterion, the subsequent processing steps S33 to S33 are skipped. If the evaluation score meets the predetermined criterion (for example, if the evaluation score SC exceeds a predetermined threshold), the data update process proceeds to S33.
[0159] In S33, the data update unit 167 divides the dialogue session into multiple dialogue stages. For example, the data update unit 167 may input a prompt to the LLM server 50 (or another LLM) to determine the dialogue stage at the time of each dialogue input in the dialogue session, and obtain the determination result from the LLM server 50. Alternatively, the agent server 30 may obtain the dialogue stage determination result during the dialogue session and record it as a log.
[0160] Next, in S34, the data update unit 167 determines the progression of the user state during the dialogue session. For example, the data update unit 167 may input a prompt to the LLM server 50 (or another LLM) requesting a determination of the user state at the time of each dialogue input in the dialogue session, and obtain the determination result from the LLM server 50. Alternatively, the agent server 30 may obtain the user state determination result during the dialogue session and record it as a log.
[0161] Next, in S35, the data update unit 167 uses the skill analysis model described above to label the strength of multiple dialogue skills demonstrated for each dialogue response in the dialogue session.
[0162] Then, in S36, the data update unit 167 updates the strength data 142 based on the analysis results of the dialogue session in S33 to S35. At this time, the data update unit 167 may update the strength data 142 not only based on the analysis results of the completed dialogue session, but also based on the analysis results of multiple past dialogue sessions in which the evaluation score met a predetermined standard.
[0163] In this way, by updating the strength data 142 based on an analysis of the dialogue input and response in the completed dialogue session at the end of the dialogue session between the user and the dialogue agent, the dialogue performance of the dialogue agent can be autonomously and continuously improved.
[0164] Although not shown in Figure 12, the data update unit 167 may request approval from the system administrator (via the administrator terminal UI, not shown in Figure 1) for updating the strength data 142 based on the analysis results of the dialogue session, and update the strength data 142 only if the system administrator grants approval. Alternatively, the data update unit 167 may store the strength data 142 before the update in some storage device and restore the strength data 142 to its pre-update state when a restore request is received from the system administrator. Furthermore, the data update unit 167 may enable or disable autonomous data updates and / or pre-approval of data updates depending on the settings made by the system administrator. By providing such a mechanism, the system can be protected from a decrease in the dialogue performance of the dialogue agent caused by inappropriate updates of the strength data 142.
[0165] Furthermore, the data update unit 167 may update the skill definition data 141 based on the dialogue script of a dialogue session whose evaluation score, obtained by the history evaluation unit 166, meets a predetermined standard. For example, the data update unit 167 may instruct the LLM server 50 to generate a definition of a new dialogue skill, or to generate an improved definition of an existing dialogue skill. This instruction can be input to the LLM server 50 in the form of a prompt accompanied by the dialogue script of one or more dialogue sessions. In response to the instruction from the data update unit 167, the LLM server 50 outputs a definition statement for a new dialogue skill, or an improved definition statement for an existing dialogue skill. The data update unit 167 then updates the skill definition data 141 using the definition statement output from the LLM server 50. Along with updating the skill definition data 141, the data update unit 167 may also update the strength data 142 by executing the data update process described above.
[0166] <6-2. Generating Strength Data in Initial Deployment> Even in the initial deployment of the dialogue agent system 1, the functions of the history server 60 described above may be utilized to generate strength data 142. In that case, instead of dialogue scripts for completed dialogue sessions between the user and the dialogue agent, dialogue scripts from numerous past dialogue sessions of a skilled human operator will be used for the analysis of dialogue inputs and dialogue responses.
[0167] Figure 13 is a flowchart illustrating an example of the data generation process that may be performed during the initial deployment of the dialogue agent system 1. Here, an example is described in which the data update unit 167 of the history server 60 performs the data generation process, but similar data generation processes may be performed by a data generation device separate from the history server 60.
[0168] First, in S41, the data update unit 167 obtains the dialogue scripts of numerous past dialogue sessions (dialogue sessions that showed high evaluation scores) of skilled human operators as an input dataset. The subsequent processing steps S42 to S46 are executed iteratively for each dialogue session in the input dataset.
[0169] In S42, the data update unit 167 focuses on one of the input dataset's dialogue sessions. This dialogue session will henceforth be referred to as the "focused session."
[0170] In S43, the data update unit 167 divides the session of interest into multiple dialogue stages. For example, the data update unit 167 may input a prompt to the LLM server 50 (or another LLM) to determine the dialogue stage at the time of each dialogue input of the session of interest, and obtain the determination result from the LLM server 50.
[0171] Next, in S44, the data update unit 167 determines the changes in the user state during the session of interest. For example, the data update unit 167 may input a prompt to the LLM server 50 (or another LLM) requesting a determination of the user state at the time of each dialogue input in the session of interest, and obtain the determination result from the LLM server 50.
[0172] Next, in S45, the data update unit 167 uses the skill analysis model described above to label the strength of multiple dialogue skills demonstrated for each dialogue response in the session of interest.
[0173] Next, in S46, the data update unit 167 determines whether there are any dialogue sessions in the input dataset whose analysis has not yet been completed. If there are dialogue sessions whose analysis has not yet been completed, the data generation process returns to S42, and steps S42 to S45 described above are repeated for the next dialogue session. Once the analysis is completed for all dialogue sessions, the data generation process proceeds to S47.
[0174] Next, in S47, the data update unit 167 generates strength data 142 based on the results of the analysis of numerous dialogue sessions through the iterations of S42 to S45. For example, the base value of the strength of each dialogue skill exhibited in each dialogue stage is set based on the average value of the strength of that dialogue skill exhibited in that dialogue stage. In addition, a strength adjustment parameter corresponding to the user state is set based on the difference between the base value and the average value of the strength in each user state.
[0175] In an embodiment where the strength of dialogue skills is assigned solely based on the dialogue stage, S44 may be omitted from the data generation process described above. In a modified example where the strength of dialogue skills is assigned based on the user state instead of the dialogue stage, S43 may be omitted from the data generation process described above. Furthermore, in a modified example where the strength of dialogue skills is adjusted based on the user type and / or the type of request, the strength of multiple dialogue skills may be aggregated for each user type and / or type of request in the analysis described above.
[0176] <7. Further variations> In the embodiments described above, we explained an example in which multiple skills for generating different responses to similar inputs in a dialogue are predefined as dialogue skills, and the strength of these dialogue skills is assigned. However, the following functions described in relation to the generation of dialogue responses can also be considered a type of skill: • A function that allows the dialogue session to proceed according to dialogue rule data. • Function to determine the stage of the conversation • Function to determine user state • A function to assign strength to multiple conversational skills. • A feature that prioritizes specific conversational skills when the user's state deviates from an acceptable range. These skills, being skills for controlling the generation of dialogue responses through multiple dialogue skills, may also be called meta-skills or control skills.
[0177] In one modified example, the strength data 142 may include data indicating the strength of the expression of one or more meta-skills in generating the dialogue response. The response control unit 136 may then control the LLM server 50 to generate a dialogue response corresponding to the dialogue input according to the strength assigned to one or more meta-skills based on the strength data 142. For example, the system prompt may contain the definitions of one or more meta-skills and data indicating the strength of their expression (or instructions for assigning strength to those meta-skills). This allows the dialogue agent to generate dialogue responses for interaction with the user while flexibly changing the strength of the meta-skills.
[0178] <8. Summary> Up to this point, various embodiments, examples, and modifications of the technology relating to this disclosure have been described. In the embodiments described above, the response control unit of the dialogue agent system controls the generation of dialogue responses by an artificial intelligence (AI)-based language model corresponding to dialogue input received from the user in a dialogue session. In addition, multiple dialogue skills for generating different responses to the same input in a dialogue, and a strength set indicating the strength of each of the multiple dialogue skills in generating dialogue responses are predefined. The response control unit then controls the language model to generate dialogue responses according to the strengths assigned to the multiple dialogue skills based on the definition of the strength set. With this configuration, the language model generates dialogue responses corresponding to dialogue inputs while exhibiting a combination of the multiple predefined dialogue skills. Therefore, the dialogue agent system can flexibly optimize dialogue responses according to the situation of the dialogue session. As a result, it becomes easier to resolve the user's requests and build or maintain a good relationship with the user.
[0179] Furthermore, regardless of the location of the various components of the conversational agent system described above, users interacting with the conversational agent of the conversational agent system can enjoy the benefits derived from the improved conversational performance of the conversational agent achieved by the technology relating to this disclosure. Businesses operating the conversational agent system, as well as companies and other organizations using the conversational agent system, can also enjoy the economic benefits derived from the improved conversational performance of the conversational agent.
[0180] The technical scope of this disclosure is not limited to the embodiments, examples, and modifications described herein. It will be apparent to any person with ordinary skill in the art of this disclosure that various modifications and variations can be conceived without departing from the scope of the technical idea set forth in the claims, and such modifications and variations will naturally fall within the technical scope of this disclosure. [Explanation of symbols]
[0181] 1 Dialogue Agent System, 3 User Terminals, 10 Dialogue Servers, 30 Agent Servers, 40 Operator Terminals, 50 LLM Servers, 60 History Servers, 116 Dialogue Processing Unit, 117 Feature Analysis Unit, 136 Response Control Unit, 137 Task Execution Unit, 140 First Memory Unit, 141 Skill Definition Data, 142 Strength Data, 143a~143f Strength Sets, 144a~144c, 145a~145c, 146a~146c Adjustment Parameter Sets, 150 Second Memory Unit, 151 Dialogue Rule Data, 155 Third Memory Unit, 156 User Data, 157 Business Knowledge Data, 166 History Evaluation Unit, 167 Data Update Unit, 180 System Prompts, K1~K3 Dialogue Skills (Major Classification), K11~K31 Dialogue Skills (Medium Classification), K11a~K31e Dialogue skills (subcategories), P1-P6 dialogue stages
Claims
1. A conversational agent system that interacts with users, In a dialogue session, a dialogue processing unit receives dialogue input from the user and outputs a dialogue response, A response control unit that controls the generation of the dialogue response corresponding to the dialogue input by an artificial intelligence (AI) based language model, Skill definition data that defines multiple dialogue skills for generating different responses to the same input in a dialogue, and Strength data that defines a strength set indicating the strength of each of the multiple dialogue skills exhibited in the generation of the aforementioned dialogue response. The first memory unit that stores, Includes, The strength data defines different strength sets for the multiple dialogue stages that constitute the dialogue session, The response control unit controls the language model to generate the dialogue response corresponding to the dialogue input according to the strengths assigned to the plurality of dialogue skills according to the strength set defined by the strength data for the current dialogue stage determined during the progress of the dialogue session. Dialogue agent system.
2. The strength data further defines a set of different strength adjustment parameters for multiple user states that the user may take in the dialogue session. The response control unit controls the language model to adjust the strengths assigned to the multiple dialogue skills according to a set of strength adjustment parameters defined by the strength data for the user's current user state, which is determined during the dialogue session. The dialogue agent system according to claim 1.
3. The aforementioned strength data further defines a set of different strength adjustment parameters for multiple user types. The response control unit controls the language model to adjust the strengths assigned to the multiple dialogue skills according to a set of strength adjustment parameters defined by the strength data for the user type of the user. The dialogue agent system according to claim 1.
4. The aforementioned strength data further defines a set of different strength adjustment parameters for multiple requirement types. The response control unit controls the language model to adjust the strengths assigned to the multiple dialogue skills according to a set of strength adjustment parameters defined by the strength data for the requirements type of the dialogue session. The dialogue agent system according to claim 1.
5. A conversational agent system that interacts with a user, In a dialogue session, a dialogue processing unit receives dialogue input from the user and outputs a dialogue response, A response control unit that controls the generation of the dialogue response corresponding to the dialogue input by an artificial intelligence (AI) based language model, Skill definition data that defines multiple dialogue skills for generating different responses to the same input in a dialogue, and Strength data that defines a strength set indicating the strength of each of the multiple dialogue skills exhibited in the generation of the aforementioned dialogue response. The first memory unit that stores, Includes, The strength data defines different strength sets for multiple user states that the user may take in the dialogue session. The response control unit controls the language model to generate the dialogue response corresponding to the dialogue input according to the strengths assigned to the plurality of dialogue skills according to the strength set defined by the strength data for the current user state of the user determined during the dialogue session. Dialogue agent system.
6. The response control unit, The definitions of the multiple dialogue skills based on the aforementioned skill definition data, and The strengths assigned to the plurality of conversation skills based on the strength data By inputting a prompt describing the above into the language model, the language model is made to generate the dialogue response. The dialogue agent system according to claim 1 or 5.
7. The response control unit, The definitions of the multiple dialogue skills based on the aforementioned skill definition data, and The instruction is to assign strengths to the multiple dialogue skills based on the strength data and generate the dialogue response. By inputting a prompt describing the above into the language model, the language model is made to generate the dialogue response. The dialogue agent system according to claim 1 or 5.
8. The aforementioned dialogue agent system A second storage unit stores dialogue rule data that defines rules for transitioning to the next stage or ending the dialogue for each of the aforementioned multiple dialogue stages. It further includes, The response control unit controls the language model to generate the dialogue response for advancing the dialogue session according to the dialogue rule data. The dialogue agent system according to claim 1.
9. The dialogue agent system according to claim 8, wherein the response control unit controls the language model so as to preferentially exhibit, in generating the dialogue response, a dialogue skill defined as contributing to improving the user's state among the plurality of dialogue skills, when the user's current user state, determined during the progress of the dialogue session, deviates from a predetermined acceptable range.
10. The aforementioned multiple conversational skills are Solution-related skills for identifying at least one of the user's requirements and solutions to those requirements in the aforementioned dialogue session, Relationship-related skills for building or improving the relationship between the user and the dialogue agent in the aforementioned dialogue session, and Skills related to facilitating the aforementioned dialogue session toward its conclusion, The dialogue agent system according to claim 1 or 5, comprising at least the following:
11. The aforementioned skill definition data further defines control skills for controlling the generation of the dialogue response by the plurality of dialogue skills, The strength data further defines the strength of the control skills exhibited in the generation of the dialogue response, The response control unit controls the language model to generate the dialogue response corresponding to the dialogue input, based on the strength data, according to the strengths assigned to the plurality of dialogue skills and the control skills. The dialogue agent system according to claim 1 or 5.
12. The response control unit assigns the strength to the plurality of dialogue skills based on the strength data and random variables. The aforementioned dialogue agent system An evaluation unit that obtains an evaluation score related to the results of the dialogue session after the end of the dialogue session, A data update unit updates the strength data based on the strength of the multiple dialogue skills demonstrated in the dialogue session, when the evaluation score obtained by the evaluation unit meets a predetermined standard. The dialogue agent system according to claim 1 or 5, further comprising:
13. The aforementioned dialogue agent system An evaluation unit that obtains an evaluation score related to the results of the dialogue session after the end of the dialogue session, A data update unit updates the strength data based on the specific behavior of the dialogue agent system in the dialogue session, when the evaluation score obtained by the evaluation unit meets a predetermined standard. The dialogue agent system according to claim 1 or 5, further comprising:
Citation Information
Patent Citations
Information processing device
JP2025064234A
Dialogue program, device and method for expressing character's listening sense according to user's emotions
JP7423490B2
Generation device, generation method, and generation program
JP7736858B1