Topic module set creator, dialogue device, method for creating topic module set, dialogue method, and computer program

The topic module set creation device and method enhance dialogue systems by structuring topic modules hierarchically with activation conditions, enabling seamless dialogue even in complex scenarios, addressing the limitations of finite state machines in anticipating all transition patterns.

JP2024176904AActive Publication Date: 2024-12-19CYBER AGENT +1
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2023095767
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-09
Publication Date
2024-12-19
Estimated Expiration
2043-06-09

AI Technical Summary

Technical Problem

Conventional dialogue systems using finite state machines face complexity in designing all context of topic transitions, leading to breakdowns when complex patterns cannot be fully anticipated, affecting both spoken and text dialogues.

Method used

A topic module set creation device and method that includes a hierarchical structure of topic modules with activation conditions, using state information to determine topics based on user interactions, allowing for flexible and anticipatory dialogue flow even in complex scenarios.

Benefits of technology

Enables continuous and effective dialogue by anticipating and adapting to user responses, ensuring seamless conversation even when complex transition patterns are not fully anticipated, improving user interaction in dialogue systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024176904000001_ABST
    Figure 2024176904000001_ABST
Patent Text Reader

Abstract

To keep a dialogue going even when complex topic transition patterns cannot be anticipated.SOLUTION: A dialogue device includes: a topic module set creation unit that creates a topic module set including a plurality of topic modules indicating a topic to be provided to a user as a dialogue partner when a predetermined condition is met, based on one or more scenarios describing a one-way dialogue flow; a topic determination unit that determines the topic according to a user state or a system based on the topic module set created by the topic module set creation unit and state information representing at least the user or a system state; and an output unit that outputs a content according to the determined topic.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a topic module set creation device, a dialogue device, a topic module set creation method, a dialogue method, and a computer program. [Background technology]

[0002] Conventionally, research has been conducted on dialogue systems between humans and dialogue robots (see, for example, Non-Patent Document 1). Approaches to implementing dialogue systems include a method using machine learning and a method using a finite state machine. In a method using machine learning, the system can be controlled by learned patterns and can return some kind of response in response to human utterances, making it possible to continue the dialogue. On the other hand, in a method using machine learning, the system relies on learned patterns, and therefore may not be able to carry out the dialogue intended by the designer. Furthermore, even if a specific behavior needs to be corrected, it cannot be easily modified.

[0003] In contrast, in the method using a finite state machine, the designer manually writes the rules, so it is easy to realize the interaction that the designer intended. Furthermore, if you want to modify a specific behavior, you only need to modify the rules related to that specific behavior. For this reason, the method using a finite state machine is also widely used. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] Kazunori Komatani, “Configuration and Future of Speech Dialogue Systems”, [online], [Retrieved June 9, 2023], Internet<URL: https: / / system.jpaa.or.jp / patent / viewPdf / 3307> , Vol. 72 No. 8 Summary of the Invention [Problem to be solved by the invention]

[0005] In the method using a finite state machine, it is necessary to design all contexts of topic transitions. Therefore, as the number of transition patterns increases, the design may become complicated. In actual operation, it is difficult to design a system that covers all transition patterns. In such cases, there is a problem that the conversation breaks down because the conversation cannot transition to a new topic in an undesigned location. This problem is not limited to conversations between humans and conversational robots through speech, but is also common in conversations through text.

[0006] In view of the above circumstances, an object of the present invention is to provide a technique that can continue a conversation even when complex topic transition patterns cannot be fully anticipated. [Means for solving the problem]

[0007] One aspect of the present invention is a topic module set creation device that includes a topic module set creation unit that creates a topic module set including a plurality of topic modules indicating topics to be provided to a user who is the other party in a conversation when certain conditions are satisfied, based on one or more scenarios describing a one-way flow of conversation.

[0008] One aspect of the present invention is the above-mentioned topic module set creation device, in which at least one or more topic modules are set with an activation condition that includes at least one combination of a candidate state and variables for representing the state of the user or system, and the topic module set creation unit creates the topic module set by associating content according to the topic indicated in the topic module with each topic module and arranging multiple topic modules in a hierarchical structure in a predetermined priority order.

[0009] One aspect of the present invention is an interactive device comprising: the above-mentioned topic module set creation device; a topic determination unit that determines a topic corresponding to the status of the user or the system based on the topic module set created by the topic module set creation device and status information representing at least the status of the user or the system; and an output unit that outputs content corresponding to the determined topic.

[0010] One aspect of the present invention is the above-mentioned dialogue device, wherein at least one or more topic modules are set with an activation condition including at least one combination of a candidate state and variables for representing the state of the user or the system, and the topic module set creation unit creates the topic module set by associating content according to the topic indicated in the topic module with each topic module and arranging multiple topic modules in a hierarchical structure in a predetermined priority order.

[0011] One aspect of the present invention is the above-mentioned dialogue device, further comprising a state information creation unit that creates the state information by associating a variable with each candidate state, wherein one scenario is composed of a plurality of topics, and each topic constituting the scenario is treated as a candidate state.

[0012] One aspect of the present invention is the above-mentioned dialogue device, wherein when creating the state information, the state information creation unit integrates multiple topics that have similar meanings among the topics that make up the scenario into a single topic.

[0013] One aspect of the present invention is the above-mentioned dialogue device, further comprising a state update unit that updates state information regarding the user in accordance with at least the user's spoken content or the content input by text, and updates state information regarding the system in accordance with the spoken content or action in the system, wherein the state update unit updates the state information by updating variables of candidate states in accordance with the user's spoken content or the content input by text, or the spoken content or action in the system.

[0014] One aspect of the present invention is the above-mentioned dialogue device, wherein the topic determination unit determines, based on the status information, a topic with a high priority among the topics associated with the satisfied activation conditions as a topic corresponding to the status of the user or the system.

[0015] One aspect of the present invention is the dialogue device described above, wherein, when there is no topic module that satisfies the activation condition, the topic determination unit selects a dialogue module for which the activation condition is not set.

[0016] One aspect of the present invention is the above-mentioned dialogue device, further comprising an operation control unit that controls the operation of a robot connected to the device, an agent displayed on a display device, or a voice output device based on the topic or information based on the topic determined by the topic determination unit.

[0017] One aspect of the present invention is a topic module set creation method that creates a topic module set including multiple topic modules indicating topics to be provided to a user who is the other party in a conversation when certain conditions are met, based on one or more scenarios describing a one-way flow of conversation.

[0018] One aspect of the present invention is a dialogue method in which a topic module set is created based on one or more scenarios describing a one-way dialogue flow, the topic module set including a plurality of topic modules indicating topics to be provided to a user who is the other party in a dialogue when certain conditions are satisfied, and based on the topic module set and status information representing at least the status of the user or system, a topic is determined according to the status of the user or the system, and content according to the determined topic is output.

[0019] One aspect of the present invention is a computer program for causing the topic module set creation device or the dialogue device to function as described above. Effect of the Invention

[0020] According to the present invention, it is possible to continue a dialogue even when complex topic transition patterns cannot be fully anticipated. [Brief description of the drawings]

[0021] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a dialogue system according to an embodiment. [Diagram 2] FIG. 4 is a diagram illustrating an example of state information according to an embodiment. [Diagram 3] FIG. 2 is a diagram showing an example (part 1) of a topic module set in the embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of output language information in the embodiment. [Diagram 5] FIG. 2 is a diagram illustrating an example of a scenario in an embodiment. [Figure 6] FIG. 11 is a diagram for explaining a method for creating state information in the embodiment. [Figure 7] FIG. 11 is a diagram for explaining a method for creating state information in the embodiment. [Figure 8] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 9] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 10] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 11] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 12] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 13] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 14] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 15] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 16] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 17] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 18] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 19] 11 is a diagram for explaining a method for creating a topic module set in an embodiment. FIG. [Figure 20] FIG. 1 is a sequence diagram (part 1) showing a process flow of the dialogue system according to an embodiment. [Figure 21] FIG. 11 is a diagram illustrating an example of updating state information in the embodiment. [Figure 22] FIG. 2 is a diagram showing an example (part 2) of a topic module set in the embodiment. [Figure 23] FIG. 1 is a sequence diagram (part 1) showing a process flow of the dialogue system according to an embodiment. [Figure 24] FIG. 11 is a diagram illustrating an example of updating state information in the embodiment. [Diagram 25] FIG. 11 is a diagram illustrating an example of updating state information in the embodiment. [Figure 26] FIG. 11 is a diagram showing an example (part 3) of a topic module set in the embodiment. [Figure 27] FIG. 3 is a sequence diagram (part 3) showing the flow of processing in the dialogue system according to the embodiment. [Figure 28] FIG. 11 is a diagram illustrating an example of updating state information in the embodiment. [Figure 29] FIG. 11 is a diagram showing an example (part 4) of a topic module set in the embodiment. [Diagram 30] FIG. 4 is a sequence diagram (part 4) showing the flow of processing in the dialogue system according to the embodiment. [Diagram 31] FIG. 11 is a diagram illustrating an example of updating state information in the embodiment. [Diagram 32] FIG. 13 is a diagram illustrating an example of a configuration of a dialogue system according to a modified example. [Diagram 33] FIG. 13 is a diagram showing an example (part 5) of a topic module set in a modified example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0022] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. (summary) In the dialogue device of the present invention, when a predetermined condition is satisfied, a topic to be provided to a user is determined based on a topic module set including multiple topic modules indicating a topic to be provided to the user, who is the dialogue partner, and status information indicating the user's status according to the user's actions, the user's speech content, or the content input by text, and content based on the determined topic is output to the user (audio output or text output). The topic to be provided to the user, who is the dialogue partner, is material for dialogue with the user, and may be any matter. The topic module set is composed of multiple topic modules arranged in a hierarchical structure according to priority order.

[0023] The dialogue in the present invention includes a dialogue by voice between a user and an interactive device, a dialogue by text between a user and an interactive device, and a dialogue by voice between a user or an interactive device and a dialogue by text between the other. In the description of one embodiment, a dialogue by voice between a user and an interactive device will be taken as an example.

[0024] Furthermore, the dialogue device of the present invention creates a topic module set and state information based on one or more scenarios in which a one-way dialogue flow is described. Here, the one-way dialogue flow refers to a topic flow that is expected to be exchanged until a certain subject reaches a goal that the subject wants to achieve in a dialogue with the dialogue partner. For example, the goal that the subject wants to achieve in a dialogue with the dialogue partner is "recommend a ramen shop." In this case, one-way dialogue topics that are expected to be exchanged to reach the goal include "Are you hungry?", "Want to eat ramen?", and "Can I recommend a ramen shop?". One-way dialogue flows can be, for example, asking "Are you hungry?" followed by asking "Want to eat ramen?", followed by asking "Can I recommend a ramen shop?", followed by "I will recommend a ramen shop."

[0025] The dialogue device of the present invention creates a topic module set and state information using one or more scenarios in which the above-mentioned one-way dialogue flow is described.The dialogue device then uses the created topic module set and state information to determine a topic to be provided to the user, and outputs content based on the determined topic to the user (audio output or text output).

[0026] The topic module set is created based on the subsumption architecture technology used in the field of mobile robots. The topic module set in the present invention differs from module sets created by conventional subsumption architecture technology in that the topic module set can be created automatically based on a scenario and that the user's state is taken into account. For example, in the subsumption architecture used in the field of mobile robots, a module set is constructed by arranging each pre-created module according to a predetermined priority. In contrast, the dialogue system in the present invention can automatically create a topic module set based on a scenario that describes a one-way dialogue flow.

[0027] Furthermore, in the subsumption architecture used in the field of mobile robots, whether or not the activation condition is satisfied is determined based only on the information (e.g., sensor output) input to each module constituting a module set, and information on behavior when the condition is satisfied is output. In contrast, in the dialogue system of the present invention, whether or not a predetermined condition is satisfied is determined based on a plurality of candidate states for representing the user's state, such as information input to each topic module constituting a topic module set (e.g., the user's state according to the content of the user's utterance = current state) and history information of the dialogue with the user conducted up to that point (e.g., the user's state in the past dialogue = past state), and information on behavior when the predetermined condition is satisfied is output. In this way, in the dialogue system of the present invention, the next topic to be provided to the user is determined from the flow of the past dialogue, so that it is possible to continue the dialogue even when complex topic transition patterns cannot be fully anticipated. Each embodiment will be described in detail below.

[0028] (Embodiment) [Configuration of dialogue system 100] 1 is a diagram showing an example of a configuration of a dialogue system 100 according to an embodiment. The dialogue system 100 includes a dialogue device 10, a camera 20, a microphone 30, a speaker 40, and a display device 50. The camera 20, the microphone 30, the speaker 40, and the display device 50 are connected to the dialogue device 10 by wire or wirelessly.

[0029] The dialogue device 10 determines a topic to be provided to a user who is a dialogue target, and realizes a dialogue with the user by outputting content corresponding to the determined topic. For example, the dialogue device 10 realizes a dialogue with the user by outputting a voice having content corresponding to the determined topic. The dialogue device 10 is configured using an information processing device such as a personal computer.

[0030] The camera 20 captures a moving image of the periphery of the interactive device 10. The camera 20 generates a video signal corresponding to the captured moving image, and inputs image information based on the video signal to the interactive device 10.

[0031] The microphone 30 collects sounds around the interactive device 10. For example, the microphone 30 acquires the voice of a user approaching the interactive device 10. The microphone 30 generates a voice signal based on the acquired voice. The microphone 30 outputs the generated voice signal to the interactive device 10. The microphone 30 may be provided inside the interactive device 10.

[0032] The speaker 40 outputs a voice signal generated by the interactive device 10. For example, the speaker 40 outputs a voice message according to a determined topic. The speaker 40 is provided near the display device 50 (for example, to the side of the display device 50 or behind the display device 50).

[0033] The display device 50 is an image display device such as a liquid crystal display, an organic EL (Electro Luminescence) display, an electrophoretic display, or the like. The display device 50 displays an agent expressed in two dimensions. The agent expressed in two dimensions is, for example, a character displayed on the screen of the display device 50. The speaker 40 and the display device 50 may be integrated.

[0034] Next, a functional configuration of the dialogue device 10 will be described. The dialogue device 10 includes a storage unit 11 and a control unit 12. The storage unit 11 stores a dictionary 111, state information 112, a topic module set 113, output language information 114, operation control information 115, etc. The storage unit 11 is configured using a storage device such as a magnetic storage device or a semiconductor storage device.

[0035] The dictionary 111 is a dictionary used for semantic analysis in natural language processing.

[0036] The state information 112 is information that represents the state of the user. The user here is a user who is a target of dialogue with the dialogue device 10. FIG. 2 is a diagram showing an example of the state information 112. As shown in FIG. 2, the state information 112 is composed of a plurality of candidate states for representing the state of the user and variables associated with each of the plurality of candidate states. In the example shown in FIG. 2, the candidate states are the user states determined based on the user's utterance, but the candidate states may include states related to the user's actions (e.g., a person approaches, a person stops, a person waves, etc.) detected from an image obtained by the camera 20. The candidate states represent, for example, states that the user can take in a topic that is expected to be exchanged until a goal to be achieved in a dialogue with the user is reached.

[0037] For example, suppose the goal to be achieved in a dialogue with a user is "recommend a ramen shop" or "recommend a pasta shop." In this case, possible topics exchanged to reach the goal include "Are you tired?", "Are you hungry?", "Do you want to eat ramen?", "Do you want to eat pasta?", "Can we recommend a ramen shop?", "Can we recommend a pasta shop?", etc. Considering these topics, the following can be considered as candidate states for the user: being tired, being hungry, wanting to eat ramen, wanting to eat pasta, wanting a ramen shop recommended, wanting a pasta shop recommended, having heard a ramen shop recommendation, having heard a pasta shop recommendation.

[0038] The variables used are Y (Yes) which indicates that the user's state is a corresponding candidate state, N (No) which indicates that the user's state is not a corresponding candidate state, and U (Unknown) which indicates that it is not specified whether the user's state is a corresponding candidate state or not. Y is one aspect of the first variable, N is one aspect of the second variable, and U is one aspect of the third variable. When the dialogue device 10 starts processing, all of the candidate state variables are set to initial values ​​(e.g., U).

[0039] The above-mentioned topics and candidate states are merely examples, and the designer may freely set the topics and candidate states. In the following description, the above-mentioned topics and candidate states are used as examples to describe the configuration.

[0040] Returning to FIG. 1, the explanation continues. The topic module set 113 is configured to include a plurality of topic modules each indicating a topic to be provided to a user who is a conversation partner when a predetermined condition is satisfied. FIG. 3 is a diagram showing an example (part 1) of the topic module set 113. The topic module set 113 is configured, for example, by arranging each topic module 113-1 to 113-9 in a hierarchical structure in a predetermined priority order as shown in FIG. The priority order in which the modules are arranged in the hierarchical structure can be freely changed according to the purpose of the designer.

[0041] 3, all topic modules 113-n (n is an integer equal to or greater than 1) are arranged in order of distance from the goal (the number of topics passed through to reach the goal). For example, suppose that the goals to be achieved in a dialogue with a user are "recommend a ramen restaurant" and "recommend a pasta restaurant", the topics leading to the goal "recommend a ramen restaurant" are "Are you hungry?" ⇒ "Do you want to eat ramen?" ⇒ "Can we recommend a ramen restaurant?" ⇒ "Recommend a ramen restaurant", and the topics leading to the goal "recommend a pasta restaurant" are "Are you tired?" ⇒ "Are you hungry?" ⇒ "Do you want to eat pasta?" ⇒ "Can we recommend a pasta restaurant?" ⇒ "Recommend a pasta restaurant".

[0042] In this case, the topic "Are you tired?" is the furthest from the goal (distance = 4), followed by "Are you hungry?" (distance = 3), followed by "Do you want to eat ramen?" and "Do you want to eat pasta?" (distance = 2), followed by "Can I introduce you to a ramen shop?" and "Can I introduce you to a pasta shop?" (distance = 1). Then, by arranging each topic in a predetermined order of priority (for example, in order of distance from the goal, and giving priority to ramen over pasta), and setting the corresponding start-up conditions, the configuration shown in Figure 3 is obtained.

[0043] The start condition is a condition for outputting the contents of the associated topic to the user, and is composed of, for example, a combination of two or more of the states indicated in the state information 112. The start condition needs to be changed according to the arrangement of the topics as described above, but can be a condition that takes into account the contents of the user's utterance.

[0044] Returning to Fig. 1, the explanation will continue. The output language information 114 is information on character strings for dialogue corresponding to a topic determined based on the topic module set 113. Fig. 4 is a diagram showing an example of the output language information 114. As shown in Fig. 4, the output language information 114 associates a topic with an output voice character string. For example, when the topic determined based on the topic module set 113 is "Ask if you are tired", it is indicated that "Aren't you tired?" is selected as the character string for dialogue.

[0045] Returning to Fig. 1, the explanation will be continued. The action control information 115 includes information for controlling the action of the agent to be displayed on the display device 50. For example, the action control information 115 may be a table in which a topic or an output voice character string is associated with a control content. The control content is content for controlling the action of the agent (for example, facial expressions, gestures, etc.).

[0046] Returning to Fig. 1, the explanation will be continued. The control unit 12 controls the entire dialogue device 10. The control unit 12 is configured using a processor such as a CPU (Central Processing Unit) and a memory. The control unit 12 executes a program to realize the functions of a topic module set creation unit 120, a state information creation unit 121, a detection unit 122, a voice recognition unit 123, an analysis unit 124, a state update unit 125, a topic determination unit 126, a language generation unit 127, a voice synthesis unit 128, and an operation control unit 129.

[0047] Some or all of the topic module set creation unit 120, state information creation unit 121, detection unit 122, voice recognition unit 123, analysis unit 124, state update unit 125, topic determination unit 126, language generation unit 127, voice synthesis unit 128, and operation control unit 129 may be realized by hardware (including circuitry) such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array), or may be realized by cooperation between software and hardware. The program may be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a non-transitory storage medium such as a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, or a storage device such as a hard disk built into a computer system. The program may be transmitted via an electric communication line.

[0048] Some of the functions of the topic module set creation unit 120, the state information creation unit 121, the detection unit 122, the voice recognition unit 123, the analysis unit 124, the state update unit 125, the topic determination unit 126, the language generation unit 127, the voice synthesis unit 128 and the operation control unit 129 do not need to be pre-installed in the dialogue device 10, and may be realized by installing additional application programs in the dialogue device 10.

[0049] The topic module set creation unit 120 creates a topic module set based on one or more scenarios in which a one-way dialogue flow is described. The topic module set creation unit 120 stores the created topic module set in the storage unit 11. The topic module set created by the topic module set creation unit 120 is the topic module set 113 stored in the storage unit 11. The scenario is created in advance by a user. The scenario may be created by an external device and input to the dialogue device 10, or may be created by the user operating the dialogue device 10.

[0050] The state information creating unit 121 creates state information by treating each topic constituting a scenario as a candidate state and associating a variable with each candidate state. The state information creating unit 121 stores the created state information in the storage unit 11. The state information created by the state information creating unit 121 is the state information 112 stored in the storage unit 11.

[0051] The detection unit 122 detects the behavior of a person based on a video image captured by the camera 20. Examples of the behavior of a person include an action or behavior of a person, such as a person approaching the dialogue device 10, a person stopping, or a person waving. Note that the method of detecting the behavior of a person is not limited to this, and any method that can detect a person may be used. For example, the detection unit 122 may detect the behavior of a person based on information detected by a sensor (not shown). For example, the detection unit 122 may detect the behavior of a person when information on the user's behavior is input from another device.

[0052] The voice recognition unit 123 executes a voice recognition process. The voice recognition process is a process of generating a character string based on a voice signal. The voice recognition unit 123 executes the voice recognition process to generate a character string based on a voice signal output from the microphone 30. The voice recognition unit 123 may generate a character string using a known method.

[0053] The analysis unit 124 performs natural language processing using the character string generated by the voice recognition unit 123 and the dictionary 111 stored in the storage unit 11, thereby analyzing the content of the user's speech.

[0054] The state update unit 125 updates the state information 112 based on the speech content (user's speech content) analyzed by the analysis unit 124 or the behavior of the person detected by the detection unit 122. Specifically, the state update unit 125 updates the variables of the candidate states according to the speech content based on the speech content analyzed by the analysis unit 124. Furthermore, the state update unit 125 updates the variables of the candidate states according to the speech content based on the behavior of the person detected by the detection unit 122. For example, when the behavior of the person detected by the detection unit 122 is the behavior of "a person waving his / her hand", the state update unit 125 updates the variables associated with "the behavior of a person waving his / her hand" in the state information 112. The state update unit 125 notifies the topic determination unit 126 that the state information 112 has been updated.

[0055] In response to the state information 112 being updated by the state update unit 125, the topic determination unit 126 determines a topic according to the state of the user based on the state information 112 and the topic module set 113. Specifically, the topic determination unit 126 determines whether or not any of the start conditions in the topic modules 113-n constituting the topic module set 113 is satisfied based on the state of the user indicated by the state information 112, and determines a topic with a high priority among the topics associated with the start conditions whose conditions are satisfied as the topic according to the state of the user.

[0056] The language generation unit 127 generates a character string to be output as speech, based on the topic determined by the topic determination unit 126 and the output language information 114 .

[0057] The voice synthesis unit 128 generates a voice signal corresponding to the character string generated by the language generation unit 127. The voice signal generated by the voice synthesis unit 128 is output from the speaker 40. That is, the voice synthesis unit 128 outputs the content according to the determined topic from the speaker 40. The voice synthesis unit 128 is a positional aspect of an output unit.

[0058] The operation control unit 129 controls the operation of the agent to be displayed on the display device 50, based on the topic or information based on the topic determined by the topic determination unit 126, and on the operation control information 115. Specifically, the operation control unit 129 refers to the operation control information 115 and acquires control content associated with the topic determined by the topic determination unit 126. The operation control unit 129 generates video information of the agent performing an operation according to the acquired control content, and controls the operation of the agent by displaying the generated video information on the display device 50.

[0059] When a table in which an output voice character string and a control content are associated with each other is used as the operation control information 115, the operation control unit 129 refers to the output language information 114 and acquires an output voice character string associated with the topic determined by the topic determination unit 126. The operation control unit 129 refers to the operation control information 115 and acquires the control content associated with the acquired output voice character string. The operation control unit 129 generates video information of an agent performing an operation according to the acquired control content, and causes the display device 50 to display the generated video information, thereby controlling the operation of the agent.

[0060] [Creating topic module sets and state information] Next, a method for creating a topic module set and state information will be specifically described. A scenario used by the topic module set creation unit 120 to create a topic module set and state information is shown in FIG. 5. FIG. 5 is a diagram showing an example of a scenario in the embodiment. FIG. 5 shows three scenarios SC1, SC2, and SC3. Scenario SC1 is a scenario that assumes that the goal to be achieved in a dialogue with a user is "recommending a ramen shop". In scenario SC1, the topics are set in the following order as an example of a one-way dialogue flow that is assumed to be exchanged toward the goal: "Are you hungry?" -> "Do you want to eat ramen?" -> "Can I introduce a ramen shop?" -> "Recommend a ramen shop". In this way, one scenario SC is composed of multiple topics.

[0061] Scenario SC2 is a scenario that assumes that the goal to be achieved in a dialogue with a user is to "recommend a pasta restaurant." In scenario SC2, therefore, as an example of a one-way dialogue flow that is assumed to take place toward the goal, the topics are set in the following order: "Are you tired?" -> "Are you hungry?" -> "Do you want to eat pasta?" -> "Can I recommend a pasta restaurant?" -> "Recommend a pasta restaurant."

[0062] Scenario SC3 is a scenario that assumes that the goal to be achieved in a dialogue with a user is to "recommend a massage parlor." In this scenario, as an example of a one-way dialogue flow that is assumed to take place toward the goal, the topics are set in the following order: "Are you tired?" ⇒ "Would you like to know how to relax?" ⇒ "Can I recommend a massage parlor?" ⇒ "Recommend a massage parlor."

[0063] As shown in FIG. 5, each scenario SC does not have a branch such as changing the topic. If you want to branch such as changing the topic, you can create a new scenario SC that starts with a different flow halfway through. Each scenario SC shown in FIG. 5 is created assuming only the case where the user, who is the conversation partner, responds with a positive opinion to the content according to one topic. For example, in scenario SC1, it is assumed that the user, who is the conversation partner, responds with a positive opinion such as "yes" or "I'm hungry" to the content according to the topic "Are you hungry?" (for example, "Are you hungry?"), and a topic such as "Do you want to eat ramen?" is set after the topic "Are you hungry?".

[0064] Although a scenario SC can be created assuming a case where a negative opinion (for example, "No" or "Different") is responded to, for the sake of concise and clear explanation, the scenario SC described below assumes only a case where the user, who is the dialogue partner, responds with a positive opinion. Each scenario SC shown in Fig. 5 is an example, and the topic in the scenario SC may be changed as appropriate.

[0065] First, a method of creating state information will be described with reference to FIG. 6 and FIG. 7. The state information creating unit 121 receives one or more scenarios SC created as described above. Based on the input scenario SC, the state information creating unit 121 creates state information by setting each topic constituting the scenario SC as a candidate state and associating a variable with each candidate state. Specifically, as shown in FIG. 6, the state information creating unit 121 first divides each input scenario SC into topics. Next, the state information creating unit 121 sets each divided topic as a candidate state and associates a variable (for example, "U" as an initial value) with each candidate state. As described above, the variable U is a variable that indicates that it is not specified whether the user's state is the associated candidate state or not. Next, the state information creating unit 121 searches for a candidate state having the same meaning among multiple candidate states as shown in FIG. 7.

[0066] The state information creation unit 121 is not particularly limited in the method of searching for a candidate state having the same meaning among a plurality of candidate states. For example, a pre-trained language model may be used, or a trained model in which a teacher label indicating that two variables have the same meaning may be used. When using a pre-trained language model, the state information creation unit 121 searches for a candidate state having the same meaning among a plurality of candidate states based on the similarity of vectors. The language model may be a Transformer-based model. The state information creation unit 121 searches for a candidate state having the same meaning by any of the above-mentioned methods. In the example shown in FIG. 7, the state information creation unit 121 searches for two candidate states, "Are you hungry?", as candidate states having the same meaning, and searches for two candidate states, "Are you tired?" and "Are you not tired?", as candidate states having the same meaning.

[0067] The state information creating unit 121 selects one candidate state from among multiple candidate states having the same meaning obtained as a search result, and deletes the remaining candidate states. In the example shown in FIG. 7, the state information creating unit 121 selects one candidate state indicating "Are you hungry?" from two candidate states, for example, "Are you hungry?", and deletes the remaining candidate state indicating "Are you hungry?". Furthermore, in the example shown in FIG. 7, the state information creating unit 121 selects one candidate state indicating "Tired?" from two candidate states, for example, "Tired?" and "Are you not tired?", and deletes the remaining candidate state indicating "Are you not tired?". In this way, the state information creating unit 121 performs adjustment so that multiple candidate states having the same meaning do not exist. Then, the state information creating unit 121 creates the state information 112 shown in FIG. 2 by combining the combinations of the candidate states and variables obtained as a result of the above-mentioned processing.

[0068] Next, a method for creating a topic module set will be described with reference to Figs. 8 to 19. The topic module set creation unit 120 receives one or more scenarios SC created as described above. The topic module set creation unit 120 creates each topic constituting the input one or more scenarios SC as a topic module. At this time, the topic module set creation unit 120 may unify terms for topics that have the same meaning and create them as a topic module. For example, "Are you tired?", which is one of the topics constituting scenario SC2, and "Are you tired?", which is one of the topics constituting scenario SC3, have the same meaning. Therefore, the topic module set creation unit 120 unifies the terms to either "Are you tired?" or "Are you tired?" and creates them as a topic module. Fig. 8 shows a case where "Are you tired?", which is one of the topics constituting SC3, is changed to "Are you tired?" and created as a topic module.

[0069] Next, the topic module set creation unit 120 sets a start condition for each topic module based on the topic connections. The topic module set creation unit 120 performs three procedures (start condition setting 1 to setting 3) as a procedure for setting the start condition. First, as start condition setting 1, the topic module set creation unit 120 associates a start condition (IF: variable corresponding to topic == Unknown) with each topic module as shown in Figs. 9 and 10. The purpose of start condition setting 1 is to prevent the user from repeating a topic that has already been answered.

[0070] For example, in order to avoid asking "Are you hungry?" again after asking "Are you hungry?", the topic module set creation unit 120 sets IF: hungry == Unknown for the topic "Are you hungry?" as a start condition for outputting content corresponding to the topic "Are you hungry?". This means that the module is started only when it is not specified whether the user is hungry or not. For example, if the user is once inquired about whether he / she is hungry or not, the user's state changes according to the user's answer (the variable associated with the candidate state changes), so that the condition IF: hungry == Unknown is no longer satisfied. As a result, the topic "Are you hungry?" is not selected. This can achieve the purpose of setting the start condition 1, which is to not repeat a topic that the user has once answered. Here, the topic "Are you hungry?" has been described as an example, but start conditions are set for other topic modules in the same way as shown in Figs. 9 and 10 to prevent the user from repeating a topic that the user has once answered.

[0071] Next, the topic module set creation unit 120 adds a start condition (IF: future topic of each topic == Unknown) related to a topic toward a goal to be achieved, based on each topic constituting each scenario SC, as shown in Figs. 11 to 13, as the setting 2 of the start condition. For example, in the case where the topics are set in the order of "Are you hungry?" ⇒ "Do you want to eat ramen?" ⇒ "Can I introduce a ramen shop?" ⇒ "Recommend a ramen shop" as in the scenario SC1, the topics assumed to be used to reach the goal to be achieved ("Recommend a ramen shop") based on "Are you hungry?" are "Do you want to eat ramen?", "Can I introduce a ramen shop?", and "Recommend a ramen shop". Therefore, the topic module set creation unit 120 additionally sets the conditions "Want to eat ramen == Unknown", "Can I introduce a ramen shop == Unknown", and "Have I heard a ramen shop recommended == Unknown" to the start condition associated with the topic of "Are you hungry?".

[0072] Similarly, using "Do you want to eat ramen?" as a reference, the topics expected to lead to a goal to be achieved ("recommend a ramen shop") are "Can I introduce a ramen shop?" and "Recommend a ramen shop." Therefore, the topic module set creation unit 120 sets additional conditions of "Ramen shop introduction OK==Unknown" and "Have I heard a ramen shop recommendation==Unknown" to the activation conditions associated with the topic of "Do you want to eat ramen?". Similarly, using "Ramen shop introduction OK?" as a reference, the topic expected to lead to a goal to be achieved ("Recommend a ramen shop") is "Recommend a ramen shop." Therefore, the topic module set creation unit 120 sets additional conditions of "Have I heard a ramen shop recommendation==Unknown" to the activation conditions associated with the topic of "Ramen shop introduction OK?".

[0073] The above explanation is about the scenario SC1, but the topic module set creation unit 120 performs the same process for other scenarios SC (for example, scenarios SC2 and SC3). As a result, the start condition is additionally set as shown in Figs. 11 to 13. The purpose of setting 2 is to not select a topic module in which the topic to be reached has already been reached. For example, it is considered that the user can imagine that the topic "Are you hungry?" has a next topic related to "Hungry == YES or NO" in the system. Therefore, when responding to "Are you hungry?", if the next topic not related to "Hungry" follows, the user may wonder why the topic "Are you hungry?" was used. To prevent such a situation, the start condition of setting 2 is added, and topic modules in which the topic to be reached does not exist (has already been reached) are identified.

[0074] Next, the topic module set creation unit 120 additionally sets conditions defined in the start conditions associated with the second and subsequent topics among the topics constituting each scenario SC as start condition setting 3, as shown in Figs. 14 to 16. The purpose of start condition setting 3 is to set a definition that serves as a basis for talking about the second and subsequent topics associated with the start conditions. In order to output content corresponding to the second and subsequent topics, a condition is that a positive response (for example, "yes" or "free") is obtained from the conversation partner to the previous topic.

[0075] For example, in order to output content corresponding to the second topic "Do you want to eat ramen?" constituting scenario SC1, a condition is that a positive response (e.g., "yes" or "free") is obtained from the conversation partner to the first topic "Are you hungry?" constituting scenario SC1. Furthermore, in order to output content corresponding to the third topic "Can I introduce you to a ramen shop?" constituting scenario SC1, a condition is that a positive response (e.g., "yes" or "free") is obtained from the conversation partner to the second topic "Do you want to eat ramen?" constituting scenario SC1. Furthermore, in order to output content corresponding to the fourth topic "Recommend a ramen shop?" constituting scenario SC1, a condition is that a positive response (e.g., "yes" or "free") is obtained from the conversation partner to the third topic "Can I introduce you to a ramen shop?" constituting scenario SC1. Therefore, the topic module set creation unit 120 additionally sets the definition content regarding the previous topic to "YES" (previous topic == YES) among the contents defined in the start conditions associated with the second and subsequent topics.

[0076] For example, the topic module set creation unit 120 additionally sets the content of the previous topic "Are you hungry?" from "hungry==Unknown" to "hungry==Yes" in the content of the definition of the activation condition associated with the topic "Do you want to eat ramen?" shown in Fig. 14. This makes it possible to set the activation condition for outputting the content corresponding to the topic "Do you want to eat ramen?" to be satisfied when a positive response is obtained from the conversation partner to the previous topic "Are you hungry?".

[0077] Similarly, the topic module set creation unit 120 additionally sets the content of the previous topic "Do you want to eat ramen?" from "Do you want to eat ramen == Unknown" to "Do you want to eat ramen == Yes" in the content of the definition of the activation condition associated with the topic "Can I introduce a ramen shop?" shown in Fig. 14. This makes it possible to set the activation condition to be satisfied for outputting the content corresponding to the topic "Do you want to eat ramen?" when a positive response is obtained from the conversation partner for the previous topic "Do you want to eat ramen?".

[0078] Similarly, the topic module set creation unit 120 additionally sets the content of the previous topic "Ramen shop introduction OK?" from "Ramen shop introduction OK==Unknown" to "Ramen shop introduction OK==Yes" among the contents of the definition of the activation condition associated with the topic "Recommend a ramen shop" shown in Fig. 14. This makes it possible to set the activation condition for outputting the content corresponding to the topic "Recommend a ramen shop" to be satisfied when a positive response is obtained from the conversation partner for the previous topic "Ramen shop introduction OK?".

[0079] The above explanation is about scenario SC1, but the topic module set creation unit 120 also performs similar processing for other scenarios SC (for example, scenario SC2 and scenario SC3). This makes it possible to set additional content defined in the start conditions as shown in Figures 14 to 16. As described above, the topic module set creation unit 120 sets start conditions for each topic module by performing processes 1 to 3 of start conditions.

[0080] Next, the topic module set creation unit 120 sets an output voice character string for each topic module, as shown in Figs. 17 to 19. This is a character string for the dialogue device 10 to output by voice when the activation condition of the topic module is satisfied. The topic module set creation unit 120 may automatically generate an output voice character string according to the context of the dialogue, or may set it using a character string created by a designer or the like together with the scenario SC. When automatically generating an output voice character string, a language model or a generative model may be used. When using a character string created by a designer or the like together with the scenario SC, the designer creates a character string in association with each topic constituting the scenario SC. The topic module set creation unit 120 sets the character string as it is as an output voice character string for each topic module in association with each topic.

[0081] When the process described in FIG. 8 to FIG. 19 is completed, the topic module set creation unit 120 generates a list in which the start conditions, topic modules, and output voice character strings are associated with each other by arranging a plurality of topic modules in a hierarchical structure in a predetermined priority order. The topic module set creation unit 120 creates a combination of the content of the topic module and the output voice character string from the generated list as output language information. The topic module set creation unit 120 stores the created output language information in the storage unit 11. Furthermore, the topic module set creation unit 120 creates a combination of the start conditions and the topic module from the generated list as a topic module set. The topic module set creation unit 120 stores the created topic module set in the storage unit 11. In the following description, for the sake of simplicity, a topic module set created only from the content of scenarios SC1 and SC2 will be used for description. In addition, a topic module set created using scenario SC3 may also be used for description as necessary.

[0082] [Processing of the dialogue system 100 (part 1)] Fig. 20 is a sequence diagram (part 1) showing the flow of processing of the dialogue system 100 in the embodiment. In the explanation of the processing of Fig. 20, it is assumed that the topic modules 113-n are arranged in the hierarchical structure shown in Fig. 3. In Fig. 20, the character string on the arrow from the user to the dialogue device 10 is the voice output by the dialogue device 10, and the character string on the arrow from the dialogue device 10 to the user is the content of the user's utterance analyzed by the dialogue device 10. Furthermore, it is assumed that the variables of each state shown in the state information 112 at the start of the processing of Fig. 20 are initial values ​​(e.g., U).

[0083] The topic determination unit 126 of the dialogue device 10 determines a topic based on the state information 112 and the topic module set 113 when the detection unit 122 detects the user's behavior at the start of processing and the state update unit 125 updates the state information 112. The variables of each state shown in the state information 112 at the start of processing in FIG. 20 are "U" as shown in FIG. 21(A). The topic determination unit 126 refers to the topic module set 113 and selects a topic module 113-n that includes a condition that is satisfied by a combination of variables associated with each candidate state in the state information 112 and has a high priority. For example, the topic determination unit 126 selects the topic module 113-7 with the highest priority among the topic modules 113-n that include a condition that is a combination of variables (for example, each candidate state is "U") associated with each candidate state in the state information 112 shown in FIG. 21(A) and satisfies the combination of variables defined as the start condition. The topic determination unit 126 determines the topic in the selected topic module 113-7 (for example, “asking if you are hungry”) as the topic to be output. The topic determination unit 126 outputs information about the determined topic to the state update unit 125.

[0084] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if you're hungry") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if you're hungry"). In the example shown in FIG. 4, the output language information 114 selects "Are you hungry?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "Are you hungry?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "Are you hungry?" is output from the speaker 40 (step S101).

[0085] It is assumed that the user utters "It's free" in response to the voice output from the speaker 40 (step S102). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "It's free". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0086] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you're hungry", and the utterance content analyzed by the analysis unit 124 is "empty". Then, the state update unit 125 selects "hungry" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0087] As shown in FIG. 21(B), the state update unit 125 updates the variable "U" associated with the state "hungry" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 21(B), the variable of each state shown in the state information 112 at this point is "Y" for the state "hungry" shown in the state information 112, and "U" for other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0088] For example, the topic determination unit 126 selects the topic module 113-5 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition, which is a combination of variables associated with each candidate state in the state information 112 shown in FIG. 21(B) (for example, the candidate state “hungry” is “Y” and other states are “U”). The topic determination unit 126 determines the topic in the selected topic module 113-5 (for example, “ask if you want to eat ramen”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0089] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat ramen" and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat ramen"). In the example shown in FIG. 4, the output language information 114 selects "If you're hungry, don't you want to eat ramen?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If you're hungry, don't you want to eat ramen?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "If you're hungry, don't you want to eat ramen?" is output from the speaker 40 (step S103).

[0090] It is assumed that the user utters "I want to eat" in response to the voice output from the speaker 40 (step S104). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "I want to eat". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0091] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you want to eat ramen", and the utterance content analyzed by the analysis unit 124 is "want to eat". Then, the state update unit 125 selects "want to eat ramen" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0092] As shown in FIG. 21(C), the state update unit 125 updates the variable "U" associated with the state "I want to eat ramen" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 21(C), the variables of each state shown in the state information 112 at this point are "Y" for the states "I'm hungry" and "I want to eat ramen" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0093] For example, the topic determination unit 126 selects the topic module 113-3 with the highest priority among the topic modules 113-n that include a condition that satisfies the combination of variables defined as the activation condition and is a combination of variables associated with each candidate state in the state information 112 shown in FIG. 21(C) (for example, the candidate states “I'm hungry” and “I want to eat ramen” are “Y”, and other states are “U”). The topic determination unit 126 determines the topic in the selected topic module 113-3 (for example, “Ask if it's OK to introduce a ramen shop”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0094] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a ramen shop") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a ramen shop"). In the example shown in FIG. 4, the output language information 114 selects "If you want to eat ramen, can I introduce you to a ramen shop?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If you want to eat ramen, can I introduce you to a ramen shop?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "If you want to eat ramen, can I introduce you to a ramen shop?" is output from the speaker 40 (step S105).

[0095] It is assumed that the user utters "good" in response to the voice output from the speaker 40 (step S106). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "good". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0096] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "Ask if it's OK to introduce a ramen shop," and the utterance content analyzed by the analysis unit 124 is "Sure." Then, the state update unit 125 selects "Ramen shop introduction OK" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0097] As shown in FIG. 21(D), the state update unit 125 updates the variable "U" associated with the state "Ramen restaurant introduction OK" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 21(D), the variables of each state shown in the state information 112 at this point are "Y" for the states "Hungry", "Want to eat ramen", and "Ramen restaurant introduction OK" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0098] For example, the topic determination unit 126 selects the topic module 113-1 with the highest priority among the topic modules 113-n that include a condition that satisfies the combination of variables defined as the activation condition, which is a combination of variables associated with each candidate state in the state information 112 shown in FIG. 21(D) (for example, the candidate states “hungry”, “want to eat ramen”, and “ramen restaurant recommendation OK” are “Y”, and other states are “U”). The topic determination unit 126 determines the topic in the selected topic module 113-1 (for example, “recommend a ramen restaurant”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0099] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "recommend a ramen shop") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "recommend a ramen shop"). In the example shown in FIG. 4, the output language information 114 selects "If you are OK with introducing a ramen shop, I recommend a ramen shop called XX" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If you are OK with introducing a ramen shop, I recommend a ramen shop called XX" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, a voice saying "If you are OK with introducing a ramen shop, I recommend a ramen shop called XX" is output from the speaker 40 (step S107).

[0100] It is assumed that the user utters "I understand" in response to the voice output from the speaker 40 (step S108). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "I understand". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0101] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "recommend a ramen shop", and the utterance content analyzed by the analysis unit 124 is "I understand". Then, the state update unit 125 selects "I heard a ramen shop recommended" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0102] As shown in FIG. 21(E), the state update unit 125 updates the variable "U" associated with the state "I heard a ramen shop recommendation" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 21(E), the variables of each state shown in the state information 112 at this time are "Y" for the states "I'm hungry", "I want to eat ramen", "I'm OK with a ramen shop recommendation" and "I heard a ramen shop recommendation" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0103] However, at the present time, there is no topic that can be selected. In this case, the dialogue device 10 ends the dialogue with the user. Note that, when the dialogue ends, the state update unit 125 initializes all variables in each state indicated by the state information 112. This makes it possible to respond even when a dialogue with a new user occurs.

[0104] Fig. 22 is a diagram showing an example (part 2) of the topic module set 113. In the example shown in Fig. 22, all topic modules 113-n are arranged in order of distance from the goal (the number of topics to be passed through on the way to the goal). By arranging in such an order, it is possible to obtain as much information as possible about the user's state.

[0105] [Processing of the dialogue system 100 (part 2)] Fig. 23 is a sequence diagram (part 2) showing the flow of processing of the dialogue system 100 in the embodiment. In the explanation of the processing of Fig. 23, it is assumed that the topic modules 113-n are arranged in the hierarchical structure shown in Fig. 22. In Fig. 23, the character string on the arrow from the user to the dialogue device 10 is the voice output by the dialogue device 10, and the character string on the arrow from the dialogue device 10 to the user is the content of the user's utterance analyzed by the dialogue device 10. Furthermore, it is assumed that the variables of each state shown in the state information 112 at the start of processing in Fig. 23 are initial values.

[0106] The topic determination unit 126 of the dialogue device 10 determines a topic based on the state information 112 and the topic module set 113 when the detection unit 122 detects the user's behavior and the state update unit 125 updates the state information 112. The variables of each state shown in the state information 112 at the start of processing in FIG. 23 are "U" as shown in FIG. 24(A). The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112. For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 24(A) (for example, each candidate state is "U") and selects the topic module 113-9 with the highest priority among the topic modules 113-n that include a condition that satisfies the combination of variables defined as the start condition. The topic determination unit 126 determines the topic in the selected topic module 113-9 (for example, “Ask if you are tired”) as the topic to be output. The topic determination unit 126 outputs information about the determined topic to the state update unit 125.

[0107] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if you are tired") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if you are tired"). In the example shown in FIG. 4, the output language information 114 selects "Aren't you tired?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "Aren't you tired?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "Aren't you tired?" is output from the speaker 40 (step S201).

[0108] It is assumed that the user utters "I'm tired" in response to the voice output from the speaker 40 (step S202). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user has uttered "I'm tired". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0109] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you are tired," and the utterance content analyzed by the analysis unit 124 is "tired." Thus, the state update unit 125 selects "tired" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0110] As shown in FIG. 24(B), the state update unit 125 updates the variable "U" associated with the state "tired" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 24(B), the variable of each state shown in the state information 112 at this point is "Y" for the state "tired" shown in the state information 112, and "U" for other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0111] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 24(B) (for example, the candidate state “tired” is “Y” and other states are “U”), and selects the topic module 113-8 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-8 (for example, “asking if you are hungry”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0112] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if you're hungry") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if you're hungry"). In the example shown in FIG. 4, the output language information 114 selects "Are you hungry?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "Are you hungry?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "Are you hungry?" is output from the speaker 40 (step S203).

[0113] It is assumed that the user utters "It's free" in response to the voice output from the speaker 40 (step S204). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user by voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "It's free". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0114] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you're hungry", and the utterance content analyzed by the analysis unit 124 is "empty". Then, the state update unit 125 selects "hungry" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0115] As shown in FIG. 24(C), the state update unit 125 updates the variable "U" associated with the state "hungry" shown in the state information 112 to "Y". When the state information 112 is updated by the state update unit 125, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 24(C), the variables of each state shown in the state information 112 at this point are "Y" for the states "tired" and "hungry" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0116] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 24(C) (for example, the candidate states "tired" and "hungry" are "Y", and other states are "U"), and selects the topic module 113-5 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-5 (for example, "asking if you want to eat ramen") as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0117] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat ramen" and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat ramen"). In the example shown in FIG. 4, the output language information 114 selects "If you're hungry, don't you want to eat ramen?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If you're hungry, don't you want to eat ramen?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "If you're hungry, don't you want to eat ramen?" is output from the speaker 40 (step S205).

[0118] It is assumed that the user utters "I want to eat" in response to the voice output from the speaker 40 (step S206). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "I want to eat". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0119] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you want to eat ramen", and the utterance content analyzed by the analysis unit 124 is "want to eat". Then, the state update unit 125 selects "want to eat ramen" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0120] As shown in FIG. 24(D), the state update unit 125 updates the variable "U" associated with the state "I want to eat ramen" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 24(D), the variables of each state shown in the state information 112 at this point are "Y" for the states "Tired", "Hungry" and "I want to eat ramen" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0121] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 24(D) (for example, the candidate states “tired”, “hungry”, and “want to eat ramen” are “Y”, and other states are “U”), and selects the topic module 113-6 with the highest priority among the topic modules 113-n that include a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-6 (for example, “ask if you want to eat pasta”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0122] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat pasta") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat pasta"). In the example shown in FIG. 4, the output language information 114 selects "If you're hungry, don't you want to eat pasta?" as the output speech character string. The speech synthesis unit 128 generates a voice signal corresponding to the output speech character string "If you're hungry, don't you want to eat pasta?" selected by the language generation unit 127, and outputs the generated voice signal via the speaker 40. As a result, the voice "If you're hungry, don't you want to eat pasta?" is output from the speaker 40 (step S207).

[0123] It is assumed that the user utters "I want to eat" in response to the voice output from the speaker 40 (step S208). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "I want to eat". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0124] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you want to eat pasta", and the utterance content analyzed by the analysis unit 124 is "want to eat". Then, the state update unit 125 selects "want to eat pasta" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0125] As shown in FIG. 24(E), the state update unit 125 updates the variable "U" associated with the state "want to eat pasta" shown in the state information 112 to "Y". When the state information 112 is updated by the state update unit 125, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 24(E), the variables of each state shown in the state information 112 at this point are "Y" for the states "tired", "hungry", "want to eat ramen", and "want to eat pasta" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0126] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 24(E) (for example, the candidate states “tired”, “hungry”, “want to eat ramen”, and “want to eat pasta” are “Y”, and other states are “U”), and selects the topic module 113-3 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-3 (for example, “ask if it's OK to introduce a ramen restaurant”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0127] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a ramen shop") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a ramen shop"). In the example shown in FIG. 4, the output language information 114 selects "If you want to eat ramen, can I introduce you to a ramen shop?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If you want to eat ramen, can I introduce you to a ramen shop?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "If you want to eat ramen, can I introduce you to a ramen shop?" is output from the speaker 40 (step S209).

[0128] It is assumed that the user utters "good" in response to the voice output from the speaker 40 (step S210). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "good". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0129] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "Ask if it's OK to introduce a ramen shop," and the utterance content analyzed by the analysis unit 124 is "Sure." Then, the state update unit 125 selects "Ramen shop introduction OK" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0130] As shown in FIG. 24(F), the state update unit 125 updates the variable "U" associated with the state "Ramen restaurant introduction OK" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 24(F), the variables of each state shown in the state information 112 at this time are "Y" for the states "Tired", "Hungry", "Want to eat ramen", "Want to eat pasta", and "Ramen restaurant introduction OK" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0131] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 24(F) (for example, the candidate states “tired”, “hungry”, “want to eat ramen”, “want to eat pasta”, and “ramen restaurant introduction OK” are “Y”, and other states are “U”), and selects the topic module 113-4 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-4 (for example, “ask if pasta restaurant introduction is OK”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0132] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a pasta restaurant") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a pasta restaurant"). In the example shown in FIG. 4, the output language information 114 selects "If you want to eat pasta, can I introduce you to a pasta restaurant?" as the output speech character string. The speech synthesis unit 128 generates a voice signal corresponding to the output speech character string "If you want to eat pasta, can I introduce you to a pasta restaurant?" selected by the language generation unit 127, and outputs the generated voice signal via the speaker 40. As a result, the voice "If you want to eat pasta, can I introduce you to a pasta restaurant?" is output from the speaker 40 (step S211).

[0133] It is assumed that the user utters "good" in response to the voice output from the speaker 40 (step S212). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "good". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0134] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "Ask if it's OK to introduce a pasta restaurant", and the utterance content analyzed by the analysis unit 124 is "Sure". Then, the state update unit 125 selects "Pasta restaurant introduction OK" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0135] As shown in FIG. 25(A), the state update unit 125 updates the variable "U" associated with the state "pasta restaurant introduction OK" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 25(A), the variables of each state shown in the state information 112 at this time are "Y" for the states "tired", "hungry", "want to eat ramen", "want to eat pasta", "ramen restaurant introduction OK" and "pasta restaurant introduction OK" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0136] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 25(A) (for example, the candidate states “tired”, “hungry”, “want to eat ramen”, “want to eat pasta”, “ramen restaurant introduction OK”, and “pasta restaurant introduction OK” are “Y”, and other states are “U”) and selects the topic module 113-1 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-1 (for example, “recommend a ramen restaurant”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0137] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "recommend a ramen shop") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "recommend a ramen shop"). In the example shown in FIG. 4, the output language information 114 selects "If you are OK with introducing a ramen shop, I recommend a ramen shop called XX" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If you are OK with introducing a ramen shop, I recommend a ramen shop called XX" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, a voice saying "If you are OK with introducing a ramen shop, I recommend a ramen shop called XX" is output from the speaker 40 (step S213).

[0138] It is assumed that the user utters "I understand" in response to the voice output from the speaker 40 (step S214). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "I understand". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0139] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "recommend a ramen shop", and the utterance content analyzed by the analysis unit 124 is "I understand". Then, the state update unit 125 selects "I heard a ramen shop recommended" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0140] As shown in FIG. 25(B), the state update unit 125 updates the variable "U" associated with the state "ramen shop recommendation" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 25(B), the variables of each state shown in the state information 112 at this time are "Y" for the states "tired", "hungry", "want to eat ramen", "want to eat pasta", "ramen shop introduction OK", "pasta shop introduction OK" and "ramen shop recommendation" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0141] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 25(B) (for example, the candidate states “tired”, “hungry”, “want to eat ramen”, “want to eat pasta”, “ramen restaurant introduction OK”, “pasta restaurant introduction OK”, and “ramen restaurant recommendation” are “Y”, and other states are “U”), and selects the topic module 113-2 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-2 (for example, “recommend a pasta restaurant”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0142] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "recommend a pasta restaurant") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "recommend a pasta restaurant"). In the example shown in FIG. 4, the output language information 114 selects "If you are OK with a pasta restaurant introduction, I recommend a pasta restaurant called XX" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If you are OK with a pasta restaurant introduction, I recommend a pasta restaurant called XX" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, a voice saying "If you are OK with a pasta restaurant introduction, I recommend a pasta restaurant called XX" is output from the speaker 40 (step S215).

[0143] It is assumed that the user utters "I understand" in response to the voice output from the speaker 40 (step S216). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "I understand". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0144] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "recommend a pasta restaurant", and the utterance content analyzed by the analysis unit 124 is "I understand". Then, the state update unit 125 selects "I heard a pasta restaurant recommended" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0145] As shown in FIG. 25(C), the state update unit 125 updates the variable "U" associated with the state "I heard a pasta restaurant recommendation" shown in the state information 112 to "Y". When the state information 112 is updated by the state update unit 125, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 25(C), the variables of each state shown in the state information 112 at this time are "Y" for the states "I'm hungry", "I want to eat ramen", "I'm OK with a ramen restaurant recommendation", "I heard a ramen restaurant recommendation" and "I heard a pasta restaurant recommendation" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0146] However, at the present time, there is no topic that can be selected. In this case, the dialogue device 10 ends the dialogue with the user. Note that, when the dialogue ends, the state update unit 125 initializes all variables in each state indicated by the state information 112. This makes it possible to respond even when a dialogue with a new user occurs.

[0147] Fig. 26 is a diagram showing an example (part 3) of the topic module set 113. In the example shown in Fig. 26, all topic modules 113-n are arranged in such a way that topics related to a goal to be prioritized are prioritized. In Fig. 26, the goal "recommend a ramen shop" is arranged to be prioritized over the goal "recommend a pasta shop". By arranging in this order, it is possible to give top priority to a goal with a high priority, regardless of how far the goal may be among multiple goals.

[0148] [Processing of the dialogue system 100 (part 3)] Fig. 27 is a sequence diagram (part 3) showing the flow of processing of the dialogue system 100 in the embodiment. In the explanation of the processing of Fig. 27, it is assumed that the topic modules 113-n are arranged in the hierarchical structure shown in Fig. 26. In Fig. 27, the character string on the arrow from the user to the dialogue device 10 is the voice output by the dialogue device 10, and the character string on the arrow from the dialogue device 10 to the user is the content of the user's utterance analyzed by the dialogue device 10. Furthermore, it is assumed that the variables of each state shown in the state information 112 at the start of the processing of Fig. 27 are initial values.

[0149] The topic determination unit 126 of the dialogue device 10 determines a topic based on the state information 112 and the topic module set 113 when the detection unit 122 detects the user's behavior and the state update unit 125 updates the state information 112. The variables of each state shown in the state information 112 at the start of processing in FIG. 27 are "U" as shown in FIG. 28(A). The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n that includes a condition that is satisfied by a combination of variables associated with each candidate state in the state information 112 and has the highest priority. For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 28(A) (for example, each candidate state is "U") and selects the topic module 113-7 with the highest priority among the topic modules 113-n that include a condition that satisfies the combination of variables defined as the start condition. The topic determination unit 126 determines the topic in the selected topic module 113-7 (for example, “asking if you are hungry”) as the topic to be output. The topic determination unit 126 outputs information about the determined topic to the state update unit 125.

[0150] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if you're hungry") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if you're hungry"). In the example shown in FIG. 4, the output language information 114 selects "Are you hungry?" as the output speech character string. The speech synthesis unit 128 generates a voice signal corresponding to the output speech character string "Are you hungry?" selected by the language generation unit 127, and outputs the generated voice signal via the speaker 40. As a result, the voice "Are you hungry?" is output from the speaker 40 (step S301).

[0151] It is assumed that the user utters "It's free" in response to the voice output from the speaker 40 (step S302). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "It's free". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0152] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you're hungry", and the utterance content analyzed by the analysis unit 124 is "empty". Then, the state update unit 125 selects "hungry" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0153] As shown in FIG. 28(B), the state update unit 125 updates the variable "U" associated with the state "hungry" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 28(B), the variable of each state shown in the state information 112 at this point is "Y" for the state "hungry" shown in the state information 112, and "U" for other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0154] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 28(B) (for example, the candidate state “hungry” is “Y” and other states are “U”), and selects the topic module 113-5 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-5 (for example, “ask if you want to eat ramen”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0155] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat ramen" and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat ramen"). In the example shown in FIG. 4, the output language information 114 selects "If you're hungry, don't you want to eat ramen?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If you're hungry, don't you want to eat ramen?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "If you're hungry, don't you want to eat ramen?" is output from the speaker 40 (step S303).

[0156] It is assumed that the user utters "I don't want to eat" in response to the voice output from the speaker 40 (step S304). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user has uttered "I don't want to eat". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0157] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you want to eat ramen", and the utterance content analyzed by the analysis unit 124 is "don't want to eat". Then, the state update unit 125 selects "want to eat ramen" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0158] As shown in FIG. 28(C), the state update unit 125 updates the variable "U" associated with the state "want to eat ramen" shown in the state information 112 to "N". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 28(C), the variables of each state shown in the state information 112 at this point are "Y" for the state "hungry" shown in the state information 112, "N" for the state "want to eat ramen" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0159] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 28(C) (for example, the candidate state "hungry" is "Y", the state "want to eat ramen" shown in the state information 112 is "N", and other states are "U") and selects the topic module 113-6 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-6 (for example, "ask if you want to eat pasta") as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0160] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat pasta") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "ask if you want to eat pasta"). In the example shown in FIG. 4, the output language information 114 selects "If you're hungry, don't you want to eat pasta?" as the output speech character string. The speech synthesis unit 128 generates a voice signal corresponding to the output speech character string "If you're hungry, don't you want to eat pasta?" selected by the language generation unit 127, and outputs the generated voice signal via the speaker 40. As a result, the voice "If you're hungry, don't you want to eat pasta?" is output from the speaker 40 (step S305).

[0161] It is assumed that the user utters "I want to eat" in response to the voice output from the speaker 40 (step S206). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "I want to eat". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0162] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you want to eat pasta", and the utterance content analyzed by the analysis unit 124 is "want to eat". Then, the state update unit 125 selects "want to eat pasta" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0163] As shown in FIG. 28(D), the state update unit 125 updates the variable "U" associated with the state "want to eat pasta" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 28(D), the variables of each state shown in the state information 112 at this point are "Y" for the states "hungry" and "want to eat pasta" shown in the state information 112, "N" for the state "want to eat ramen" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0164] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 28(D) (for example, the candidate states “hungry” and “want to eat pasta” are “Y”, the state “want to eat ramen” shown in the state information 112 is “N”, and other states are “U”) and selects the topic module 113-4 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-4 (for example, “ask if it's OK to introduce a pasta restaurant”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0165] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a pasta restaurant") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a pasta restaurant"). In the example shown in FIG. 4, the output language information 114 selects "If you want to eat pasta, can I introduce you to a pasta restaurant?" as the output speech character string. The speech synthesis unit 128 generates a voice signal corresponding to the output speech character string "If you want to eat pasta, can I introduce you to a pasta restaurant?" selected by the language generation unit 127, and outputs the generated voice signal via the speaker 40. As a result, the voice "If you want to eat pasta, can I introduce you to a pasta restaurant?" is output from the speaker 40 (step S307).

[0166] It is assumed that the user utters "good" in response to the voice output from the speaker 40 (step S208). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "good". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0167] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "Ask if it's OK to introduce a pasta restaurant", and the utterance content analyzed by the analysis unit 124 is "Sure". Then, the state update unit 125 selects "Pasta restaurant introduction OK" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0168] As shown in FIG. 28(E), the state update unit 125 updates the variable "U" associated with the state "pasta restaurant introduction OK" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 28(E), the variables of each state shown in the state information 112 at this time are "Y" for the states "hungry", "want to eat pasta", and "pasta restaurant introduction OK" shown in the state information 112, "N" for the state "want to eat ramen" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0169] For example, the topic determination unit 126 refers to the combination of variables associated with each candidate state in the state information 112 shown in FIG. 28(E) (for example, the candidate states “hungry”, “want to eat pasta”, and “pasta restaurant recommendation OK” are “Y”, the state “want to eat ramen” shown in the state information 112 is “N”, and other states are “U”) and selects the topic module 113-2 with the highest priority among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition. The topic determination unit 126 determines the topic in the selected topic module 113-2 (for example, “recommend a pasta restaurant”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0170] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "recommend a pasta restaurant") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "recommend a pasta restaurant"). In the example shown in FIG. 4, the output language information 114 selects "If you're OK with a pasta restaurant introduction, I recommend a pasta restaurant called XX" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If you're OK with a pasta restaurant introduction, I recommend a pasta restaurant called XX" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, a voice saying "If you're OK with a pasta restaurant introduction, I recommend a pasta restaurant called XX" is output from the speaker 40 (step S309).

[0171] It is assumed that the user utters "I understand" in response to the voice output from the speaker 40 (step S310). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "I understand". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0172] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "recommend a pasta restaurant", and the utterance content analyzed by the analysis unit 124 is "I understand". Then, the state update unit 125 selects "I heard a pasta restaurant recommended" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0173] As shown in FIG. 28(F), the state update unit 125 updates the variable "U" associated with the state "I heard a pasta restaurant recommendation" shown in the state information 112 to "Y". When the state information 112 is updated by the state update unit 125, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 28(F), the variables of each state shown in the state information 112 at this time are "Y" for the states "I'm hungry", "I want to eat pasta", "I'm OK with a pasta restaurant recommendation" and "I heard a pasta restaurant recommendation" shown in the state information 112, "N" for the state "I want to eat ramen" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0174] However, at the present time, there is no topic that can be selected. In this case, the dialogue device 10 ends the dialogue with the user. Note that, when the dialogue ends, the state update unit 125 initializes all variables in each state indicated by the state information 112. This makes it possible to respond even when a dialogue with a new user occurs.

[0175] The above description has shown the process in which the user only gives positive replies to the output from the dialogue device 10. In a general dialogue, it is also assumed that a negative reply will be given. In the dialogue device 10 of the present invention, a natural change of topic is possible even when a negative reply is given, by using a combination of topic modules constituting a topic module set. A detailed description will be given below. First, a topic module set 113 as shown in FIG. 29 is used for the description. FIG. 29 is a diagram showing an example (part 4) of a topic module set 113 in the embodiment. The topic module set 113 is configured, for example, by arranging topic modules 113-11 to 113-18 in a hierarchical structure in a predetermined priority order as shown in FIG. 29.

[0176] 29, all topic modules 113-11 to 113-18 are arranged in order of distance from the goal (the number of topics passed through to the goal). For example, suppose that the goals to be achieved in a dialogue with a user are "recommend a ramen shop" and "recommend a massage shop", and the topics leading to the goal "recommend a ramen shop" are "Are you hungry?" -> "Do you want to eat ramen?" -> "Can we recommend a ramen shop?" -> "Recommend a ramen shop", and the topics leading to the goal "recommend a massage shop" are "Are you tired?" -> "Want to know how to relax?" -> "Can we recommend a massage shop?" -> "Recommend a massage shop".

[0177] In this case, the topics "Are you tired?" and "Are you hungry?" are the furthest from the goal (distance = 3), followed by "Do you want to eat ramen?" and "Do you want to know how to relax?" (distance = 2), and then "Can I recommend a ramen shop?" and "Can I recommend a massage shop?" are the closest to the goal (distance = 1). Then, by arranging each topic in a predetermined order of priority (for example, in order of distance from the goal, and ramen over massage), and setting the corresponding activation conditions, the configuration shown in Figure 29 is obtained.

[0178] [Processing of the dialogue system 100 (part 4)] Fig. 30 is a sequence diagram (part 4) showing the flow of processing of the dialogue system 100 in the embodiment. In the explanation of the processing of Fig. 30, it is assumed that the topic modules 113-n are arranged in the hierarchical structure shown in Fig. 29. In Fig. 30, the character string on the arrow from the user to the dialogue device 10 is the voice output by the dialogue device 10, and the character string on the arrow from the dialogue device 10 to the user is the content of the user's utterance analyzed by the dialogue device 10. Furthermore, it is assumed that the variables of each state indicated in the state information 112 at the start of the processing of Fig. 30 are initial values ​​(e.g., U).

[0179] The topic determination unit 126 of the dialogue device 10 determines a topic based on the state information 112 and the topic module set 113 when the detection unit 122 detects the user's behavior at the start of processing and the state update unit 125 updates the state information 112. The variables of each state shown in the state information 112 at the start of processing in FIG. 30 are "U" as shown in FIG. 31(A). The topic determination unit 126 refers to the topic module set 113 and selects a topic module 113-n that includes a condition that is satisfied by a combination of variables associated with each candidate state in the state information 112 and has a high priority. For example, the topic determination unit 126 selects the topic module 113-17 with the highest priority among the topic modules 113-n that include a combination of variables (e.g., each candidate state is "U") associated with each candidate state in the state information 112 shown in FIG. 31(A) and that satisfies the combination of variables defined as the start condition. The topic determination unit 126 determines the topic in the selected topic module 113-17 (for example, “asking if you are hungry”) as the topic to be output. The topic determination unit 126 outputs information about the determined topic to the state update unit 125.

[0180] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if you're hungry") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if you're hungry"). In the example shown in FIG. 4, the output language information 114 selects "Are you hungry?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "Are you hungry?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "Are you hungry?" is output from the speaker 40 (step S401).

[0181] It is assumed that the user utters "No vacancy" in response to the voice output from the speaker 40 (step S402). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user by voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "No vacancy". The status update unit 125 updates the status information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0182] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you're hungry", and the utterance content analyzed by the analysis unit 124 is "not hungry". Then, the state update unit 125 selects "hungry" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0183] As shown in FIG. 31(B), the state update unit 125 updates the variable "U" associated with the state "hungry" shown in the state information 112 to "N". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 31(B), the variable of each state shown in the state information 112 at this point is "N" for the state "hungry" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0184] For example, the topic determination unit 126 selects the topic module 113-18 with the highest priority among the topic modules 113-n that include a condition that satisfies the combination of variables defined as the activation condition, which is a combination of variables associated with each candidate state in the state information 112 shown in FIG. 31(B) (for example, the candidate state “hungry” is “N” and other states are “U”). The topic determination unit 126 determines the topic in the selected topic module 113-18 (for example, “asking if the person is tired”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0185] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "Ask if you are tired") and the output language information 114. Specifically, the language generation unit 127 refers to the output language information 114 shown in FIG. 4 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if you are tired"). In the example shown in FIG. 4, the output language information 114 selects "Aren't you tired?" as the output speech character string. The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "Aren't you tired?" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, the voice "Aren't you tired?" is output from the speaker 40 (step S403).

[0186] It is assumed that the user utters "I'm tired" in response to the voice output from the speaker 40 (step S404). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user has uttered "I'm tired". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0187] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "asking if you are tired," and the utterance content analyzed by the analysis unit 124 is "tired." Thus, the state update unit 125 selects "tired" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0188] As shown in FIG. 31(C), the state update unit 125 updates the variable "U" associated with the state "tired" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 31(C), the variables of each state shown in the state information 112 at this point are "N" for the state "hungry" shown in the state information 112, "Y" for "tired", and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0189] For example, the topic determination unit 126 selects the topic module 113-16 with the highest priority among the topic modules 113-n that include a condition that satisfies the combination of variables defined as the activation condition, which is a combination of variables associated with each candidate state in the state information 112 shown in FIG. 31(C) (for example, the candidate state “hungry” is “N”, “tired” is “Y”, and other states are “U”). The topic determination unit 126 determines the topic in the selected topic module 113-16 (for example, “ask if you want to know how to heal”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0190] The language generation unit 127 generates a character string to be output as voice based on the topic determined by the topic determination unit 126 (for example, "Ask if you want to know how to heal") and the output language information 114. Here, the output voice character string corresponding to scenario SC3 is not shown in the output language information 114 shown in FIG. 4 (this is omitted for convenience of explanation), but the output voice character string corresponding to scenario SC3 is shown in FIG. 19. When the content corresponding to scenario SC3 is included in the topic module set as shown in FIG. 29, the topic module set creation unit 120 generates the output voice character string corresponding to scenario SC3 in FIG. 19 so that it is included in the output language information 114. Here, the output voice character string corresponding to scenario SC3 will be described with reference to FIG. 19.

[0191] Specifically, the language generation unit 127 refers to the output speech character string shown in FIG. 19 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (for example, "asking if you want to know how to heal"). In the example shown in FIG. 19, "If you're tired, don't you want to know how to heal?" is selected as the output speech character string corresponding to the determined topic (for example, "asking if you want to know how to heal"). The speech synthesis unit 128 generates a voice signal corresponding to the output speech character string "If you're tired, don't you want to know how to heal?" selected by the language generation unit 127, and outputs the generated voice signal via the speaker 40. As a result, the voice "If you're tired, don't you want to know how to heal?" is output from the speaker 40 (step S405).

[0192] It is assumed that the user utters "I want to know" in response to the voice output from the speaker 40 (step S406). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user has uttered "I want to know". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0193] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance contents analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "Ask if you want to know how to heal," and the utterance contents analyzed by the analysis unit 124 are "I want to know." Therefore, the state update unit 125 selects "I want to know how to heal" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0194] As shown in FIG. 31(D), the state update unit 125 updates the variable "U" associated with the state "I want to know how to heal" shown in the state information 112 to "Y". When the state update unit 125 updates the state information 112, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 31(D), the variables of each state shown in the state information 112 at this point are "N" for the state "hungry", "Y" for "tired" and "I want to know how to heal", and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0195] For example, the topic determination unit 126 selects the topic module 113-14 with the highest priority from among the topic modules 113-n that include a condition that satisfies the combination of variables defined as the activation condition and is a combination of variables associated with each candidate state in the state information 112 shown in FIG. 31(D) (for example, the candidate state “hungry” is “N”, “tired” and “want to know how to heal” are “Y”, and other states are “U”). The topic determination unit 126 determines the topic in the selected topic module 113-14 (for example, “ask if it's OK to introduce a massage shop”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0196] The language generation unit 127 generates a character string to be output as voice based on the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a massage shop") and the output language information 114. Specifically, the language generation unit 127 refers to the output voice character string shown in FIG. 19 and selects an output voice character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a massage shop"). In the example shown in FIG. 19, "If you want to know how to heal, can I introduce you to a massage shop?" is selected as the output voice character string corresponding to the topic determined by the topic determination unit 126 (e.g., "Ask if it's OK to introduce a massage shop"). The voice synthesis unit 128 generates a voice signal corresponding to the output voice character string "If you want to know how to heal, can I introduce you to a massage shop?" selected by the language generation unit 127, and outputs the generated voice signal via the speaker 40. As a result, the voice "If you want to know how to heal, can I introduce you to a massage shop?" is output from the speaker 40 (step S407).

[0197] It is assumed that the user utters "good" in response to the voice output from the speaker 40 (step S408). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "good". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0198] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance contents analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "Ask if it's OK to introduce a massage shop", and the utterance contents analyzed by the analysis unit 124 are "OK". Then, the state update unit 125 selects "Massage shop introduction OK" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0199] As shown in FIG. 31(E), the state update unit 125 updates the variable "U" associated with the state "Massage shop introduction OK" shown in the state information 112 to "Y". When the state information 112 is updated by the state update unit 125, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 31(E), the variables of each state shown in the state information 112 at this time are "N" for the state "Hungry", "Tired", "Want to know how to heal", and "Massage shop introduction OK" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0200] For example, the topic determination unit 126 selects the topic module 113-12 with the highest priority from among the topic modules 113-n including a condition that satisfies the combination of variables defined as the activation condition, which is a combination of variables associated with each candidate state in the state information 112 shown in FIG. 31(E) (for example, the candidate state “hungry” is “N”, “tired”, “want to know how to relax”, and “massage shop recommendation OK” are “Y”, and other states are “U”). The topic determination unit 126 determines the topic in the selected topic module 113-12 (for example, “recommend a massage shop”) as the topic to be output. The topic determination unit 126 outputs information related to the determined topic to the state update unit 125.

[0201] The language generation unit 127 generates a character string to be output as speech based on the topic determined by the topic determination unit 126 (e.g., "recommend a massage parlor") and the output language information 114. Specifically, the language generation unit 127 refers to the output speech character string shown in FIG. 19 and selects an output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "recommend a massage parlor"). In the example shown in FIG. 19, "If massage parlor introduction is OK, I recommend a massage parlor named XX" is selected as the output speech character string corresponding to the topic determined by the topic determination unit 126 (e.g., "recommend a massage parlor"). The speech synthesis unit 128 generates a speech signal corresponding to the output speech character string "If massage parlor introduction is OK, I recommend a massage parlor named XX" selected by the language generation unit 127, and outputs the generated speech signal via the speaker 40. As a result, a speech "If massage parlor introduction is OK, I recommend a massage parlor named XX" is output from the speaker 40 (step S409).

[0202] It is assumed that the user utters "I understand" in response to the voice output from the speaker 40 (step S410). The voice uttered by the user is input to the dialogue device 10 via the microphone 30. The voice recognition unit 123 generates a character string corresponding to the voice uttered by the user through voice recognition processing. The character string generated by the voice recognition unit 123 is analyzed by the analysis unit 124 through natural language processing. As a result, it is analyzed that the user uttered "I understand". The state update unit 125 updates the state information 112 based on the content of the utterance analyzed by the analysis unit 124.

[0203] Specifically, the state update unit 125 selects a corresponding candidate state from the candidate states indicated in the state information 112, based on the information on the topic output from the topic determination unit 126 and the utterance content analyzed by the analysis unit 124. For example, the information on the topic output from the topic determination unit 126 is "recommend a massage parlor", and the utterance content analyzed by the analysis unit 124 is "I understand". Then, the state update unit 125 selects "I heard a massage parlor recommended" as the corresponding candidate state. Note that, when the topic in the topic module 113-n is associated in advance with each candidate state indicated in the state information 112, the state update unit 125 may select the candidate state associated with the information on the topic output from the topic determination unit 126.

[0204] As shown in FIG. 31(F), the state update unit 125 updates the variable "U" associated with the state "heard about a massage shop recommendation" shown in the state information 112 to "Y". When the state information 112 is updated by the state update unit 125, the topic determination unit 126 determines the next topic to talk about based on the updated state information 112 and the topic module set 113. As shown in FIG. 31(F), the variables of each state shown in the state information 112 at this time are "N" for the state "hungry", "want to know how to heal", "massage shop introduction OK", and "heard about a massage shop recommendation" shown in the state information 112, and "U" for the other states. The topic determination unit 126 refers to the topic module set 113 and selects the topic module 113-n with the highest priority that includes a condition satisfied by a combination of variables associated with each candidate state in the state information 112.

[0205] However, there is no topic that can be selected at the present time. In this case, the dialogue device 10 ends the dialogue with the user. The state update unit 125 may initialize some or all of the variables in response to an instruction from another device or functional unit. In this way, in the process shown in FIG. 30, even if a negative response is obtained from the user, the dialogue can be continued by naturally switching to another topic.

[0206] (Configuration in which a user and the dialogue device 10 have a dialogue through text) The above is an explanation of one embodiment of a configuration in which the dialogue device 10 determines a topic according to the content of a user's utterance and outputs the content of the determined topic by voice. Next, a configuration in which the user and the dialogue device 10 have a dialogue by text will be explained. When configured in this way, the dialogue system 100 does not need to include the microphone 30 and the speaker 40. Furthermore, the dialogue device 10 does not need to include the voice recognition unit 123 and the voice synthesis unit 128. A text output means such as a chatbot is used as a means for outputting the content related to the topic by text.

[0207] When a user and the dialogue device 10 have a text dialogue, the user inputs a character string related to the dialogue content to the dialogue device 10 via a communication device such as a smartphone owned by the user or an input device such as a keyboard connected to the dialogue device 10. The analysis unit 124 of the dialogue device 10 analyzes the content input by the user by performing natural language processing using the input character string and the dictionary 111 stored in the storage unit 11. The process from the analysis of the content by the analysis unit 124 to the generation of the character string by the language generation unit 127 is the same as the process described above, except that voice and speech are replaced with text. Thereafter, the dialogue device 10 causes the display control unit (not shown) to display the character string generated by the language generation unit 127 on the display device 50. The display control unit is a function realized by the control unit 12.

[0208] When configured in this way, even a user with a hearing impairment can use the dialogue system 100. In this way, the convenience of the dialogue system 100 can be improved.

[0209] (A user conducts a dialogue by voice, and the dialogue device 10 conducts a dialogue by text) A configuration will be described in which a user conducts a dialogue by voice and the dialogue device 10 conducts a dialogue by text. When configured in this way, the dialogue system 100 does not need to include a speaker 40. Furthermore, the dialogue device 10 does not need to include a voice synthesis unit 128. When a user conducts a dialogue by voice and the dialogue device 10 conducts a dialogue by text, the process from voice input by the microphone 30 to generation of a character string by the language generation unit 127 is the same as the process in the above-mentioned embodiment. Thereafter, the dialogue device 10 causes a display control unit (not shown) to display the character string generated by the language generation unit 127 on the display device 50. The display control unit is a function realized by the control unit 12.

[0210] When configured in this way, even a user with a hearing impairment can use the dialogue system 100. In this way, the convenience of the dialogue system 100 can be improved.

[0211] (A user interacts with the text, and the interactive device 10 interacts with the voice output.) A configuration will be described in which a user dialogues by text and the dialogue device 10 dialogues by voice output. In this configuration, the dialogue system 100 does not need to include a microphone 30. Furthermore, the dialogue device 10 does not need to include a voice recognition unit 123. In the case where a user dialogues by text and the dialogue device 10 dialogues by voice output, the user inputs a character string related to the dialogue content to the dialogue device 10 via a communication device such as a smartphone held by the user or an input device such as a keyboard connected to the dialogue device 10. The analysis unit 124 of the dialogue device 10 analyzes the content input by the user by performing natural language processing using the input character string and the dictionary 111 stored in the storage unit 11. The subsequent processing is the same as the processing described in the above-mentioned embodiment.

[0212] When configured in this way, even a user who has difficulty speaking can use the dialogue system 100. In this way, the convenience of the dialogue system 100 can be improved.

[0213] According to the dialogue system 100 configured as above, the topic module set creation unit 120 of the dialogue device 10 creates a topic module set including a plurality of topic modules indicating topics to be provided to a user who is a dialogue partner when a predetermined condition is satisfied, based on one or more scenarios describing a one-way dialogue flow. The dialogue device 10 determines a topic according to the state of the user based on the state information 112 and the topic module set 113, and outputs content based on the determined topic. In this way, the dialogue device 10 can refer to the state information 112 and output content based on a topic that satisfies the activation condition from among the plurality of topic modules 113-n. Therefore, content based on a topic according to the state of the user can be output. Furthermore, since the dialogue device 10 can output content based on any of the topics that satisfy the activation condition, it is possible to continue the dialogue even when complex topic transition patterns cannot be fully anticipated.

[0214] As described above, the dialogue device 10 uses one or more scenarios SC in which a one-way dialogue flow is described. This eliminates the need for a designer to create a scenario SC that includes complex branches, and allows the designer to simply create one or more scenarios SC in which a one-way dialogue flow is described. The dialogue device 10 can easily create a topic module set by using one or more scenarios SC in which a one-way dialogue flow is described.

[0215] The dialogue device 10 updates the state information 112 according to the contents of the user's utterance or the contents input by text. This allows the dialogue device 10 to determine a topic taking into account the dialogue history. Therefore, the dialogue device 10 can reduce the probability of selecting a topic unrelated to past conversations. This makes it possible to continue the dialogue.

[0216] The topic module set is arranged in a hierarchical structure with each topic module having a set priority, and the dialogue device 10 determines the topic with the highest priority among the topics associated with the satisfied activation conditions based on the state information as the topic corresponding to the user's state. This allows the dialogue to proceed in line with the designer's intention.

[0217] <Variation 1> The order of the topic modules 113-n constituting the topic module set 113 may be changed before, after, or during processing. For example, assuming that the order of the topic modules 113-n is the order of FIG. 3 at the start of processing, the dialogue device 10 may change the order of the topic modules 113-n to the order of FIG. 22 during or after the end of processing. When configured in this way, the dialogue device 10 may hold a plurality of pieces of information regarding the order of the topic modules 113-n, and change the order of the topic modules 113-n at the timing when a sorting condition is satisfied. The sorting condition may be, for example, the end of one process (e.g., the process of FIG. 20, FIG. 23, FIG. 27, etc.), the arrival of a predetermined time, or an instruction to change from the outside. Such a configuration allows for greater freedom in how the dialogue proceeds, thereby improving convenience.

[0218] <Variation 2> In the dialogue system 100 described above, a two-dimensional agent is displayed on the display device 50, and it appears as if the agent is speaking. In contrast, instead of the display device 50, a robot may be installed near the dialogue device 10, and it may be configured so that the robot is speaking. FIG. 30 is a diagram showing an example of the configuration of a dialogue system 100a in a modified example. The dialogue system 100a includes a dialogue device 10a, a camera 20, a microphone 30, a speaker 40, and a robot 60. The camera 20, the microphone 30, the speaker 40, and the robot 60 are connected to the dialogue device 10a by wire or wirelessly.

[0219] The robot 60 executes a predetermined operation by controlling the functions provided in the robot 60, such as each driving mechanism, light emitting unit, speaker, or camera, according to the control information transmitted by the dialogue device 10a. For example, the robot 60 operates by activating a driving mechanism provided in each joint of the neck, shoulder, or arm. The robot 60 may be in the form of an animal that walks by activating a driving mechanism provided in each joint of the shoulder, leg, or the like. The robot 60 may be a bipedal robot (humanoid) that walks independently by activating a driving mechanism provided in each joint of the shoulder, leg, or the like. The robot 60 may be a mobile robot (agentized robot) that can move on wheels or endless tracks. The robot 60 is placed on a plate-shaped platform, such as a table or a reception desk.

[0220] The dialogue device 10a includes a storage unit 11a and a control unit 12a. The storage unit 11a stores a dictionary 111, state information 112, a topic module set 113, output language information 114, and operation control information 115a. The storage unit 11a is configured using a storage device such as a magnetic storage device or a semiconductor storage device. The operation control information 115a includes information for controlling the robot 60. For example, the operation control information 115a may be a table in which a topic or an output voice character string is associated with a control content. The control content is for controlling functions provided in the robot 60, such as each driving mechanism, a light emitting unit, a speaker, or a camera.

[0221] The control unit 12a controls the entire dialogue device 10a. The control unit 12a is configured using a processor such as a CPU and a memory. The control unit 12a executes a program to realize the functions of a topic module set creation unit 120, a state information creation unit 121, a detection unit 122, a voice recognition unit 123, an analysis unit 124, a state update unit 125, a topic determination unit 126, a language generation unit 127, a voice synthesis unit 128, and an operation control unit 129a.

[0222] Some or all of the topic module set creation unit 120, state information creation unit 121, detection unit 122, voice recognition unit 123, analysis unit 124, state update unit 125, topic determination unit 126, language generation unit 127, voice synthesis unit 128, and operation control unit 129a may be realized by hardware (including circuitry) such as ASIC, PLD, FPGA, etc., or may be realized by cooperation between software and hardware. The program may be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a non-transitory storage medium such as a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, etc., or a storage device such as a hard disk built into a computer system. The program may be transmitted via an electric communication line.

[0223] Some of the functions of the topic module set creation unit 120, the state information creation unit 121, the detection unit 122, the voice recognition unit 123, the analysis unit 124, the state update unit 125, the topic determination unit 126, the language generation unit 127, the voice synthesis unit 128 and the operation control unit 129a do not need to be pre-installed in the dialogue device 10a, and may be realized by installing additional application programs in the dialogue device 10a.

[0224] The movement control unit 129a controls the movement of the robot 60 based on the topic or information based on the topic determined by the topic determination unit 126 and the movement control information 115a. Specifically, the movement control unit 129 refers to the movement control information 115a and acquires control content associated with the topic determined by the topic determination unit 126. The movement control unit 129a generates control information for executing the acquired control content. The movement control unit 129a controls the movement of the robot 60 by outputting the generated control information to the robot 60.

[0225] When a table in which an output voice character string and a control content are associated with each other is used as the operation control information 115a, the operation control unit 129a refers to the output language information 114 and acquires an output voice character string associated with the topic determined by the topic determination unit 126. The operation control unit 129a refers to the operation control information 115a and acquires a control content associated with the acquired output voice character string. The operation control unit 129a generates control information for executing the acquired control content. The operation control unit 129a controls the operation of the robot 60 by outputting the generated control information to the robot 60.

[0226] <Variation 3> In the above embodiment, even if information on the user's state regarding a certain topic has already been obtained, depending on the flow of processing, the contents of that topic may be output as voice, resulting in an unnatural dialogue. This phenomenon may occur when a topic is skipped and the contents of the previous topic are heard instead of the topic that should be confirmed. For example, assume that the user's answer to the topic "Want to know about pasta restaurants?" in the sequence has already been obtained. In the above configuration, even in such a situation, if the topic modules 113-n of "Want to eat pasta?" and "Are you hungry?", which are assumed before the topic "Want to know about pasta restaurants?", satisfy the activation conditions, those topics may be selected and output. Therefore, even if the topic development is such that an introduction of a pasta restaurant can be expected, such as "Are you hungry?" → "Want to eat pasta?", the topic "Want to know about pasta restaurants?", which should be selected next, may not be selected, and may become another topic sequence such as "Want to eat ramen?", which may cause the user to feel that the topic development is disappointing and unnatural.

[0227] Therefore, in the above-described embodiment, there is a method of adding, with &, as a start condition for each topic module 113-n, that the answer to the topic appearing after the topic module 113-n in the sequence is not filled in. For example, the topic module 113-n having the topic "Do you want to eat pasta?" adds, with &, a condition that the state variable "I want to know where to find pasta restaurants" that records the answer to the next topic, is set to the initial value. Similarly, the topic module 113-n having the topic "Are you hungry?" adds, with &, a condition that the state variable "I want to eat pasta" that records the answer to the subsequent topic, is set to the initial value, is set to the initial value, is set to the pasta restaurant, and so on. These start conditions make it possible to prevent previous topics from being selected when a user's answer to a topic appearing later in each sequence has already been obtained.

[0228] <Modification 4> In the above-mentioned embodiment, there are cases where a change of topic by the user cannot be handled. This is because the above-mentioned topic selection rule does not necessarily allow the dialogue device 10, 10a to select the next topic based on the content of the user's previous utterance. Specifically, when a user's utterance that activates a topic module 13-n with a lower priority than the currently selected topic module 13-n is obtained, the dialogue device 10, 10a repeats the previous topic as it is, and therefore cannot select a topic that reflects the user's previous utterance. For example, consider a case where a topic "Want to know about pasta restaurants?" that corresponds to the last step of a certain sequence is being executed. At this time, even if the user changes the topic and makes a statement to the effect that "I also want to eat ramen," which is the basis for the topic of another sequence, in the next turn, the current topic "Want to know about pasta restaurants?", which has a higher priority in the hierarchical structure, takes precedence, so the topic is not changed immediately to reflect the previous user's utterance "I also want to eat ramen." As a result, the dialogue device 10, 10a will not accept the user's intention to change the topic, and will instead behave in a way that prioritizes the dialogue device 10, 10a's own intention and presents a topic. In such a situation, there is a high possibility that the user's motivation to dialogue will be reduced. On the other hand, if the dialogue device 10, 10a is constantly taking the user's remarks into account, there is a possibility that the dialogue device 10, 10a will not be able to guide the topic at all. Pushing through the dialogue device 10, 10a's intention to a certain extent may emphasize the intention and desire of the dialogue system 100, leading to an improved sense of dialogue.

[0229] Therefore, the topic determination unit 126 may determine the topic to be spoken to inform the user that the variable in the state information 112 has been updated (for example, when the variable "I want to eat ramen" is updated to "Y", the utterance "I see, so you want to eat ramen" is made). This allows the user to understand the user's statement itself and maintain a sense of dialogue even if the dialogue device 10, 10a does not respond to a change of topic from the user, such as "I see, so you want to eat ramen. Um, on that note, do you want to eat pasta?".

[0230] <Variation 5> In the above-described embodiment, a topic that allows the user to reach the target topic as quickly as possible is always selected. However, if this continues many times, the user may sense that the dialogue system 100 has an intention to lead the user to some kind of target topic (e.g., a date invitation, advertisement). For example, in the case of advertisement, hiding the intention affects the success or failure of the advertisement, so this behavior may reduce the success rate of the advertisement. To improve this behavior, for example, control may be considered in which the system behaves in a chatty manner on topics with low advertisement intention most of the time, and occasionally develops a topic that leads the user to the advertisement.

[0231] Two methods for implementing such a function will be described below. One is to set topic module groups and dynamically change their priorities. A topic module group is a unit that groups together multiple topic modules 113-n with similar functions. For example, the hierarchy of topic modules 113-n that are composed of topics at the beginning of each sequence is defined as a chat topic module group, and the hierarchical structure of topics at the end of the sequence is defined as an advertising topic module group. Until a certain number of topics are covered from the start of the dialogue or the end of the advertising, the priority of the chat topic module group is set higher than that of the advertising topic module group. After that, when a certain number of topics are covered, the priority of the advertising topic module group is changed to a relatively high priority. This makes it possible to continue to focus on the topics at the beginning of each sequence, which have low advertising intention, and to execute a sequence that leads to the target topic at a relatively low frequency.

[0232] The other is to design topic strategy sequences for small talk and set the priority of those sequences high. This makes it possible to realize behavior such as sequences for small talk being executed and consumed at the beginning of a conversation, and sequences for advertising being executed after that.

[0233] <Variation 6> In the above-described embodiment, while the topic-guiding dialogue is targeted, topics such as the essential contents of advertisements, such as the location of a store or the features of a product, or answers to questions from users are not targeted. Therefore, the dialogue device 10, 10a may be configured to output such topics by voice. It is desirable that answers to questions from users are always given priority over any other topics presented by the dialogue device 10, 10a. Therefore, in the dialogue device 10, 10a, an answer module set is placed higher than the above-mentioned topic module set 113 (for example, a module set of topic-guiding dialogue). The answer topic module outputs a relevant topic (answer) when a question from a user is detected, similar to the topic module set 113. By placing the answer topic module higher than each module of the topic-guiding dialogue, the output of the answer topic module is always selected with priority over the output of the topic-guiding dialogue, so that questions from users can be answered at any time.

[0234] In the above-described embodiment, a topic for which an answer has been given once is not selected, but it is assumed that there are cases where the same topic may be desired to be selected again as time passes or as the dialogue progresses. For example, questions such as "Are you hungry?" and "Are you tired?" are topics that may be desired to be asked again after a certain amount of time has passed, even if an answer has been given once. Therefore, the dialogue device 10, 10a may be configured to initialize some or all of the variables indicated by the state information 112 when a predetermined amount of time has passed.

[0235] <Variation 7> In the above-described embodiment, a configuration was shown in which the content according to the topic is provided to the user from a robot or an agent displayed on a display device, but other means may be used as a means for providing the content according to the topic to the user. As another means, for example, a smart speaker (voice output device) may be used. When a smart speaker is used, the voice synthesis unit 128 outputs the content according to the determined topic from the smart speaker. When a smart speaker is used, the dialogue system 100 does not need to include the camera 20, the speaker 40, and the display device 50, and the dialogue system 100a does not need to include the camera 20 and the speaker 40. The dialogue by the dialogue systems 100 and 100a is started when the smart speaker recognizes an utterance from the user. When configured in this way, the operation control units 129 and 129a control the operation of the smart speaker.

[0236] In the above-described configuration, a configuration has been shown in which a topic is determined based on the user's speech content or the content input by text. The topic determination unit 126 may be configured to determine a topic by taking into account the user's action in addition to the user's speech content or the content input by text. When configured in this way, a topic module is required in which the user's action is set as a start condition and a topic to be provided to the user when the start condition related to the user's action is satisfied is associated with the start condition. Furthermore, information regarding the user's action as a state is set in the state information 112.

[0237] For a topic module whose activation condition is a user's action, for example, a user's action against the robot, such as "a hand is reaching out towards the robot" or "trying to unplug the robot", is set as the activation condition. Furthermore, as a topic to be discussed when the activation condition is satisfied, for example, a topic for the robot to avoid danger in response to the user's action, such as "be careful". As an output voice string corresponding to the topic "be careful", "don't touch it" or "don't unplug it" is set in the output language information 114.

[0238] By placing the topic module for crisis avoidance for the robot created in this way at the top priority in the topic module set 113, when the detection unit 122 detects an action of a hand reaching out to the robot 60, the state update unit 125 updates the state information 112 based on the user's action detected by the detection unit 122. The topic determination unit 126 refers to the topic module set 113 and determines, as the topic, "Caution", which is associated with the activation condition for which "a hand is reaching out to the robot" is "Y". Then, the language generation unit 127 outputs, by voice or text, the content "Don't touch me", which is associated with the determined topic "Caution".

[0239] Similarly, when the detection unit 122 detects an action of trying to unplug the robot 60, the state update unit 125 updates the state information 112 based on the user's action detected by the detection unit 122. The topic determination unit 126 refers to the topic module set 113 and determines, as a topic, "Caution" associated with the activation condition for which "trying to unplug the robot's power" is "Y". Then, the language generation unit 127 outputs, by voice or text, the content "Don't unplug it" associated with the determined topic "Caution". The user's action is detected by the detection unit 122 as described above.

[0240] As another example, the following configuration may be used as a topic module with a user's action as a start condition. For example, a topic module may be used in which a user's action toward the robot, such as "waving at the robot 60 or the agent displayed on the display device 50" or "moving close to the robot 60 or the agent displayed on the display device 50" is set as a start condition, and a topic for a user's action, such as "controlling the action of the robot, the agent, or the audio output device" is set as a topic when the start condition is satisfied. Examples of action control according to the topic "controlling the action of the robot, the agent, or the audio output device" include "waving back" and "tilting the head." Note that the action control according to the topic is included in the action control information 115, 115a.

[0241] By arranging the topic module created in this way in the topic module set 113, when the user waves his / her hand at the robot 60 or the agent displayed on the display device 50, the topic determination unit 126 refers to the topic module set 113, and when the detection unit 122 detects the action of waving his / her hand at the robot 60 or the agent displayed on the display device 50, the state update unit 125 updates the state information 112 based on the user's action detected by the detection unit 122. The topic determination unit 126 refers to the topic module set 113 and determines, as a topic, "control the action of any of the robot, agent, or audio output device" associated with the activation condition in which "the user waves his / her hand at the robot 60 or the agent displayed on the display device 50" is "Y". Then, the action control unit 129, 129a refers to the action control information 115, 115a and controls the robot 60 or the agent to perform an action based on the content of "wave back" associated with the determined topic "control the action of any of the robot, agent, or audio output device".

[0242] Similarly, when the detection unit 122 detects that the user has brought his / her face closer to the robot 60 or the agent displayed on the display device 50, the state update unit 125 updates the state information 112 based on the user's action detected by the detection unit 122. The topic determination unit 126 refers to the topic module set 113 and determines, as a topic, "control the action of any of the robot, agent, or audio output device" associated with the activation condition for which "the user has brought his / her face closer to the robot 60 or the agent displayed on the display device 50" is "Y". Then, the action control unit 129, 129a refers to the action control information 115, 115a and controls the robot 60 or the agent to perform an action based on the content of "tilt head" associated with the determined topic "control the action of any of the robot, agent, or audio output device".

[0243] With the above configuration, it is possible to determine the topic of conversation depending on the user's actions, enabling conversations to be held in accordance with various situations.

[0244] <Variation 8> In the above embodiment, the state information 112 is information that represents the state of the user. However, the state information 112 may include information that represents not only the state of the user but also the state of the dialogue system 100. Here, the state of the dialogue system 100 represents a state according to the operation performed by the dialogue system 100. For example, examples of the state of the dialogue system 100 include "uttered XX times" and "performed △△ operation YY times". In actual operation, it is assumed that the dialogue device 10 will utter the same content multiple times to one user or perform the same operation multiple times. By determining the content of the utterance to the user by taking into account the state of the utterances and operations performed by the devices (e.g., the dialogue device 10, etc.) that constitute such a dialogue system 100, the range of utterances can be expanded more than when the content of the utterance is determined only by the state of the user. In this case, the storage unit 11 of the dialogue device 10 stores information that represents the state of the user and the state of the dialogue system 100 as the state information 112. Furthermore, in the topic modules that constitute the topic module set 113, a start condition including the state of the dialogue system 100 is registered. The state update unit 125 updates variables of the user's state information according to the user's utterance content or the content input by text, and updates variables of the state information of the dialogue system 100 according to the utterance content or the action in the dialogue system 100. The topic determination unit 126 determines a topic according to the state of the user and the state of the dialogue system 100 based on the state information 112 and the topic module set 113.

[0245] The topic determination unit 126 may determine a topic according to the state of the dialogue system 100 based on the state information 112 and the topic module set 113. In the dialogue system 100a, the state information 112 may also include information representing not only the state of the user but also the state of the dialogue system 100.

[0246] <Variation 9> In the above embodiment, an example was shown in which the start condition is configured by a combination of any two or more of the states indicated in the state information 112, but the start condition only needs to include at least one candidate state.

[0247] <Modification 10> In the above-described embodiment, a configuration in which a start condition is associated with each topic module constituting the topic module set 113 has been shown, but a topic module set 113 including a topic module to which no start condition is associated may also be included. FIG. 33 is a diagram showing an example (part 5) of a topic module set in a modified example. The topic module set 113 shown in FIG. 33 is configured by adding a new topic module 113-20 to the topic module set 113 shown in FIG. 2. The topic module 113-20 has no start condition set, and is placed at the lowest priority position. Therefore, the topic module 113-20 is executed when the start condition is not satisfied for all of the topic modules 113-1 to 113-9 that have a higher priority than the topic module 113-20. The topic module 113-n to which no start condition is set may be placed anywhere.

[0248] As shown in FIG. 33, a response by an AI may be set as a topic module 113-n for which no activation condition is set. For example, an AI response may be an AI such as ChatGPT that automatically creates a sentence according to the input contents. In this way, the AI ​​automatically creates a sentence according to the dialogue contents from the user, and the voice synthesis unit 128 of the dialogue device 10 generates a voice signal corresponding to the generated character string. Then, the voice signal generated by the voice synthesis unit 128 is output from the speaker 40. With this configuration, it is possible to continue the dialogue even if the contents cannot be created in the scenario.

[0249] <Modification 11> In the above-described embodiment, the dialogue device 10 is configured to include the topic module set creation unit 120. The topic module set creation unit 120 may be implemented in a device different from the dialogue device 10. In such a configuration, the device including the topic module set creation unit 120 may be referred to as a topic module set creation device. The topic module set creation unit 120 included in the topic module set creation device creates a topic module set by the above-described method. The topic module set created by the topic module set creation unit 120 may be stored in the dialogue device 10 via a recording medium, or may be transmitted from the topic module set creation device to the dialogue device 10 by communication. The recording medium is, for example, a USB (Universal Serial Bus), an SD card, a hard disk, or the like.

[0250] By configuring in this way, the topic module set is created by a device different from the dialogue device 10, so there is no need to create the topic module set in the dialogue device 10 that actually dialogues with the user. Therefore, the processing load of the dialogue device 10 can be reduced. Furthermore, in a topic module set creation device having a topic module set, a topic module set including a plurality of topic modules indicating a topic to be provided to a user who is a dialogue partner when a predetermined condition is satisfied is created based on one or more scenarios in which a one-way dialogue flow is described. This eliminates the need for a designer to create a scenario SC including complex branches, and only requires creating one or more scenarios SC in which a one-way dialogue flow is described. Then, the topic module set creation device can easily create a topic module set by using one or more scenarios SC in which a one-way dialogue flow is described. The topic module set is configured to be able to output the content of any topic that satisfies the start condition. Therefore, in actual operation, it becomes possible to continue the dialogue even when complex topic transition patterns cannot be fully anticipated.

[0251] Although an embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and designs that do not deviate from the gist of the present invention are also included. [Explanation of symbols]

[0252] 10, 10a...Dialogue device, 20...Camera, 30...Microphone, 40...Speaker, 50...Display device, 60...Robot, 11, 11a...Memory unit, 12, 12a...Control unit, 120...Topic module set creation unit, 121...State information creation unit, 122...Detection unit, 123...Speech recognition unit, 124...Analysis unit, 125...State update unit, 126...Topic determination unit, 127...Language generation unit, 128...Speech synthesis unit, 129, 129a...Movement control unit

Claims

1. a topic module set creation unit that creates a topic module set including a plurality of topic modules each indicating a topic to be provided to a user who is a conversation partner when a predetermined condition is satisfied, based on one or more scenarios in which a one-way conversation flow is described; A topic module set creation device comprising:

2. At least one or more topic modules are set with an activation condition including at least one combination of a candidate state and a variable for expressing a state of the user or the system; the topic module set creation unit creates the topic module set by associating contents according to the topic shown in the topic module with each topic module and arranging the plurality of topic modules in a hierarchical structure in a predetermined order of priority; 2. The topic module set creation device according to claim 1.

3. The topic module set creation device according to claim 1 ; a topic determination unit that determines a topic according to the state of the user or the system based on the topic module set created by the topic module set creation device and state information that represents at least the state of the user or the system; an output unit that outputs content according to the determined topic; An interactive device comprising:

4. A scenario consists of multiple topics, a state information creating unit that creates the state information by treating each topic constituting the scenario as a candidate state and associating a variable with each candidate state, 4. An interactive device according to claim 3.

5. the state information creating unit, when creating the state information, integrates a plurality of topics having a similar meaning among the topics constituting the scenario into one topic; 5. An interactive device according to claim 4.

6. A state update unit updates state information about the user in response to at least the contents of the user's speech or the contents input by text, and updates state information about the system in response to the contents of the speech or the actions in the system, The state update unit updates the state information by updating a variable of a candidate state according to the user's utterance content or the content input by text, or the utterance content or the action in the system.

4. An interactive device according to claim 3.

7. the topic determination unit determines, based on the state information, a topic with a high priority among the topics associated with the satisfied activation condition as a topic corresponding to the state of the user or the system.

4. An interactive device according to claim 3.

8. the topic determination unit, when it is necessary to switch to a topic constituting a second scenario during a dialogue based on a first scenario, determines a next topic from among the topics constituting the second scenario based on the state information; 4. An interactive device according to claim 3.

9. the topic determination unit, when there is no topic module that satisfies the activation condition, selects a dialogue module for which the activation condition is not set.

4. An interactive device according to claim 3.

10. and an operation control unit that controls an operation of a robot connected to the device, an agent displayed on a display device, or a voice output device based on the topic or information based on the topic determined by the topic determination unit.

4. An interactive device according to claim 3.

11. A topic module set creation method for creating a topic module set including multiple topic modules indicating topics to be provided to a user who is the other party in a conversation when certain conditions are met, based on one or more scenarios describing a one-way dialogue flow.

12. A topic module set is created based on one or more scenarios describing a one-way dialogue flow, the topic module set including a plurality of topic modules each indicating a topic to be provided to a user who is a dialogue partner when a predetermined condition is satisfied. Based on the topic module set and on status information representing at least the status of the user or the system, a topic is determined according to the status of the user or the system; and outputting content according to the determined topic.

13. Computer, A computer program for causing the topic module set creation device according to claim 1 to function as the dialogue device according to claim 3.

Citation Information

Patent Citations

  • Interactive method, interactive device, interactive program, and recording medium

    JP2007047488A

  • Automatic conversation system and conversation scenario editing device

    JP2010048980A

  • Information processing system, information processor, and information processing method

    JP2018072560A

  • Utterance control program, information processor, and utterance control method

    JP2018167339A

  • Subject provision system

    JP2019067433A