Conversation device, conversation method, and program

JPWO2023195115A5Inactive Publication Date: 2024-12-20
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024513632
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2024-10-01
Publication Date
2024-12-20
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing conversation devices lack a sophisticated method to determine optimal timing for outputting messages to users based on their dynamic schedules, email content, network activities, and biological signals, leading to inefficient interaction.

Method used

A conversation device and method that acquires reference data including schedule information, email content, network activities, and biological signals to determine the best timing for outputting messages, ensuring timely and relevant interactions with users.

Benefits of technology

Enhances user interaction by delivering messages at appropriate times, improving user engagement and psychological well-being by considering user activity levels and emotional states.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

This conversation device (2000) determines an output timing, at which an output message is to be outputted to a user (40), using reference data (30). The conversation device (2000) acquires an input message (20) inputted by the user (40) and outputs an output message (10) to the user (40), thereby conversing with the user (40). At least one output message (10) is outputted at the determined output timing. At least one item of the reference data (30) includes schedule data pertaining to the user (40), data relating to contents of an email of the user (40), data relating to contents of an utterance of the user (40) in an event, data relating to contents of an activity of the user (40) on a network service, data relating to the frequency or accuracy of an input operation performed by the user (40), or data generated from a biological signal emitted from the user (40).
Need to check novelty before this filing date? Find Prior Art

Description

Conversation device, conversation method, and non-transitory computer-readable medium

[0001] The present disclosure relates to a conversation device, a conversation method, and a non-transitory computer-readable medium.

[0002] Computers that output messages to users have been developed. For example, Patent Document 1 discloses a robot that speaks to a user. The robot in Patent Document 1 uses an image of the user to classify the user's current posture into one of "standing," "sitting," and "lying down." The robot also uses an image of the user to classify the user's current activity state into one of "active" and "stationary." Furthermore, the robot in Patent Document 1 uses audio data representing environmental sounds to classify the current environmental sounds into environmental sounds that will upset the user if spoken to and environmental sounds that will not upset the user if spoken to. Based on the results of these classifications, the robot in Patent Document 1 then determines whether speaking will upset the user, and speaks if it determines that speaking will not upset the user.

[0003] Japanese Patent Application Laid-Open No. 2019-113696

[0004] "Recommended Happiness Questionnaires (SWLS, Four Factors of Happiness, etc.)," ​​[online], Human Systems Design Laboratory, Graduate School of System Design and Management, Keio University, [Retrieved February 16, 2022], Internet <URL: http: / / lab.sdm.keio.ac.jp / maenolab / questionnaire.html>

[0005] The method for appropriately outputting a message to a user is not limited to the method of determining the timing of utterance based on the classification of the user's posture, the classification of the activity state, and the classification of the environmental sound. The present disclosure has been made in view of the above-mentioned problems, and one of its objectives is to provide a new technology for outputting a message to a user.

[0006] The conversation device of the present disclosure includes an acquisition means for acquiring reference data related to a user, a determination means for determining an output timing for outputting an output message to the user using the reference data, and a conversation execution means for executing a conversation with the user by acquiring an input message input by the user and outputting the output message to the user. The conversation execution means outputs at least one of the output messages at the determined output timing. At least one of the reference data used by the determination means includes the user's schedule data, data related to the content of the user's email, data related to the content of the user's comments at an event, data related to the content of the user's activities in a network service, data related to the frequency or accuracy of input operations performed by the user, or data generated from a biological signal emitted by the user.

[0007] The conversation method disclosed herein is executed by a computer. The method includes an acquisition step of acquiring reference data related to a user, a determination step of using the reference data to determine an output timing for outputting an output message to the user, and a conversation execution step of executing a conversation with the user by acquiring an input message input by the user and outputting the output message to the user. In the conversation execution step, at least one of the output messages is output at the determined output timing. At least one of the reference data used in the determination step includes the user's schedule data, data related to the content of the user's email, data related to the content of the user's comments at an event, data related to the content of the user's activities in a network service, data related to the frequency or accuracy of input operations performed by the user, or data generated from a biosignal emitted by the user.

[0008] The non-transitory computer-readable medium of the present disclosure stores a program that causes a computer to execute the information providing method of the present disclosure.

[0009] According to the present disclosure, a new technique for outputting a message to a user is provided.

[0010] It is a diagram illustrating an example of an outline of the operation of a conversation device of an embodiment. It is a block diagram illustrating an example of the functional configuration of the conversation device. It is a block diagram illustrating an example of the hardware configuration of a computer that realizes the conversation device. It is a diagram illustrating an example of a usage environment of the conversation device. It is a flowchart illustrating an example of the flow of processing executed by the conversation device.

[0011] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In each drawing, the same or corresponding elements are designated by the same reference numerals, and duplicate explanations will be omitted as necessary for clarity. Furthermore, unless otherwise specified, predetermined values ​​such as predetermined values ​​and threshold values ​​are stored in advance in a storage device accessible from a device that uses the values. Furthermore, unless otherwise specified, the storage unit is composed of one or any number of storage devices.

[0012] <Overview> Fig. 1 is a diagram illustrating an example of an overview of a conversation device 2000 according to an embodiment. Fig. 1 is a diagram for facilitating understanding of the overview of the conversation device 2000, and the operation of the conversation device 2000 is not limited to that shown in Fig. 1.

[0013] The conversation device 2000 has the function of having a conversation with the user 40. Here, conversation with the user 40 means exchanging messages with the user 40. The conversation device 2000 outputs an output message 10 in a format that can be viewed by the user 40. The conversation device 2000 also acquires an input message 20, which is a message input by the user 40.

[0014] Output message 10 can be considered to be a utterance from conversation device 2000 in a conversation between user 40 and conversation device 2000. On the other hand, input message 20 can be considered to be a utterance from user 40 in a conversation between user 40 and conversation device 2000. Here, output message 10 may be a message representing a reply to input message 20 (hereinafter referred to as a reply message), or may be a message other than a reply message.

[0015] One of the functions of a computer that converses with a user in this way is called a "chatbot." However, conversation device 2000 is not limited to the type called a chatbot.

[0016] Conversation device 2000 determines the output timing for all or part of output message 10 to be output to user 40, using reference data 30. Conversation device 2000 then outputs output message 10 at the determined output timing.

[0017] Reference data 30 is data that indicates information about user 40. Here, at least one of the reference data 30 used by conversation device 2000 includes schedule data of user 40, data related to the content of emails from user 40, data related to the content of comments made by user 40 at events such as meetings, data related to the content of activities of user 40 on network services such as SNS (Social Networking Service), data related to the frequency or accuracy of input operations performed by user 40, or biometric data generated from biometric signals emitted by user 40. However, conversation device 2000 only needs to use at least one of the types of data listed here as reference data 30, and may use other types of data in addition to these types of data as reference data 30.

[0018] For example, assume that schedule data of user 40 is used as reference data 30. In this case, for example, conversation device 2000 identifies a time when user 40 has some free time (hereinafter referred to as "free time") based on the schedule data, and outputs output message 10 at that free time. Note that the free time is an example of output timing, and output timing is not limited to free time.

[0019] It should be noted that there may be output messages 10 whose output timing is determined without using the reference data 30. For example, the conversation device 2000 may be configured to determine the output timing of output messages 10 other than reply messages using the reference data 30, while determining the output timing of reply messages without using the reference data 30. For example, a reply message may be output immediately after it is generated. As another example, a reply message may be output after a predetermined time has elapsed since the input message 20 was acquired. However, the output timing of a reply message is not limited to the timing exemplified here. The output timing of a reply message may also be determined using the reference data 30. Other examples of the output timing of a reply message will be described later.

[0020] <Example of Action and Effect> According to the conversation device 2000 of this embodiment, the output timing of at least one of the output messages 10 output to the user 40 is determined using reference data 30. Furthermore, at least one of the reference data 30 includes schedule data of the user 40, data related to the content of emails from the user 40, data related to the content of comments made by the user 40 at events such as meetings, data related to the content of the activities of the user 40 in network services, data related to the frequency or accuracy of input operations performed by the user 40, or biometric data generated from biometric signals emitted by the user 40. In this way, the conversation device 2000 provides a new technology for determining the timing to output a message to the user 40.

[0021] The conversation device 2000 of this embodiment will be described in more detail below.

[0022] <Example of Functional Configuration> Fig. 2 is a block diagram illustrating an example of the functional configuration of a conversation device 2000 according to an embodiment. The conversation device 2000 includes an acquisition unit 2020, a determination unit 2040, and a conversation execution unit 2060. The acquisition unit 2020 acquires reference data 30. The determination unit 2040 uses the reference data 30 to determine the output timing of the output message 10. The conversation execution unit 2060 outputs the output message 10 at the determined output timing.

[0023] <Example of Hardware Configuration> Each functional component of conversation device 2000 may be realized by hardware that realizes that functional component (e.g., a hardwired electronic circuit, etc.), or by a combination of hardware and software (e.g., a combination of an electronic circuit and a program that controls it, etc.). Below, we will further explain the case where each functional component of conversation device 2000 is realized by a combination of hardware and software.

[0024] 3 is a block diagram illustrating an example of the hardware configuration of computer 1000 that realizes conversation device 2000. Computer 1000 is any computer. For example, computer 1000 is a stationary computer such as a PC (Personal Computer) or a server machine. Alternatively, computer 1000 may be a portable computer such as a smartphone or tablet terminal. Computer 1000 may be a dedicated computer designed to realize conversation device 2000, or may be a general-purpose computer.

[0025] For example, by installing a predetermined application on computer 1000, each function of conversation device 2000 is realized on computer 1000. The application is configured as a program for realizing each functional component of conversation device 2000. Note that any method for acquiring the program is possible. For example, the program can be acquired from a storage medium (such as a DVD disc or USB memory) on which the program is stored. Alternatively, the program can be acquired by downloading it from a server device that manages the storage device on which the program is stored.

[0026] The computer 1000 has a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120. The bus 1020 is a data transmission path for the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 to transmit and receive data to and from each other. However, the method of connecting the processor 1040 and the like to each other is not limited to bus connection.

[0027] The processor 1040 is a processor such as a central processing unit (CPU), a graphics processing unit (GPU), or a field-programmable gate array (FPGA). The memory 1060 is a main storage device realized using a random access memory (RAM) or the like. The storage device 1080 is an auxiliary storage device realized using a hard disk, a solid state drive (SSD), a memory card, a read only memory (ROM), or the like.

[0028] The input / output interface 1100 is an interface for connecting the computer 1000 to an input / output device. For example, the input / output interface 1100 is connected to an input device such as a keyboard and an output device such as a display device.

[0029] The network interface 1120 is an interface for connecting the computer 1000 to a network. This network may be a LAN (Local Area Network) or a WAN (Wide Area Network).

[0030] Storage device 1080 stores programs (programs that realize the above-mentioned applications) that realize the various functional components of conversation device 2000. Processor 1040 reads these programs into memory 1060 and executes them to realize the various functional components of conversation device 2000.

[0031] Conversation device 2000 may be realized by one computer 1000, or by multiple computers 1000. In the latter case, the configuration of each computer 1000 does not need to be the same, and can be different from each other.

[0032] <Example of Usage Environment of Conversation Device 2000> To facilitate understanding of the conversation device 2000, an example usage environment of the conversation device 2000 will be illustrated. FIG. 4 is a diagram illustrating an example usage environment of the conversation device 2000. For example, the conversation device 2000 is realized by a user terminal 50, as shown in the upper part of FIG. 4. The user terminal 50 is any computer (such as a desktop PC, laptop PC, smartphone, or tablet terminal) used by a user 40. For example, the conversation device 2000 can be realized by the user terminal 50 by installing an application on the user terminal 50 that gives the computer the functionality of the conversation device 2000.

[0033] The user terminal 50 may be used for any purpose. For example, the user terminal 50 may be a terminal used by the user 40 to perform work at the workplace. Alternatively, the user terminal 50 may be a mobile terminal or a home terminal used by the user 40 for personal use.

[0034] For example, the user terminal 50 outputs the output message 10 so that it is displayed on a display device provided in the user terminal 50 or a display device connected to the user terminal 50. Alternatively, for example, the user terminal 50 may output the output message 10 as audio data.

[0035] The user 40 inputs the input message 20 by performing an input operation on the user terminal 50. The input operation may be performed using a hardware keyboard, a software keyboard, or by voice input. The user terminal 50 acquires the input message 20 input by such various methods.

[0036] The conversation device 2000 may respond to a message from the user 40, or may initiate a conversation on its own. In the latter case, the conversation device 2000 may initiate a conversation by outputting an output message 10 at various times. For example, when the user 40 arrives at work and starts up the user terminal 50, the conversation device 2000 outputs an output message 10 expressing a morning greeting or encouragement. Alternatively, for example, the conversation device 2000 may output an output message 10 encouraging the user 40 to take a break when the user 40 is tired. Other variations in the content and output timing of the output message 10 will be described later.

[0037] Conversation device 2000 preferably improves the psychological state of user 40 (for example, increases happiness) by chatting with user 40. For example, conversation device 2000 behaves as if it were a colleague, senior colleague, boss, or friend outside the company of user 40, and converses with user 40. However, the purpose of using conversation device 2000 is not limited to improving the psychological state of user 40.

[0038] The conversation device 2000 may be realized by a computer other than the user terminal 50. For example, in the lower diagram of FIG. 4 , the conversation device 2000 is realized by a server device 60. In this example, the user terminal 50 is connected to the user terminal 50 via a network and functions as an interface between the user 40 and the server device 60. Specifically, the user terminal 50 receives an output message 10 output from the server device 60 and outputs the received output message 10. The user terminal 50 also accepts an input message 20 from the user 40 and transmits the input message 20 to the server device 60.

[0039] In this case where the conversation device 2000 is realized by the server device 60, there are various methods for exchanging information between the user terminal 50 and the server device 60. For example, the server device 60 provides a website for a conversation between the user 40 and the conversation device 2000. The user terminal 50 accesses this website using the browser software of the user terminal 50 to obtain a web page for a conversation with the conversation device 2000. For example, this web page is a chat page that displays the conversation between the user 40 and the conversation device 2000. The user 40 uses this web page to send an input message 20 and receive an output message 10 at the user terminal 50.

[0040] Alternatively, for example, a dedicated application for conducting a conversation with the conversation device 2000 may be installed on the user terminal 50. By using this application, the user 40 sends an input message 20 and receives an output message 10 on the user terminal 50.

[0041] The usage environment of conversation device 2000 described in Figure 4 is merely an example, and the usage environment of conversation device 2000 is not limited to that described here. For example, conversation device 2000 may be realized as a robot that converses with a user. In this case, conversation device 2000 may be incorporated inside the robot, or may be realized as a server device that communicates with the robot via a network.

[0042] 5 is a flowchart illustrating the flow of processing executed by the conversation device 2000 of this embodiment. The acquisition unit 2020 acquires reference data 30 (S102). The determination unit 2040 uses the reference data 30 to determine the output timing of the output message 10 (S104). The conversation execution unit 2060 outputs the output message 10 at the determined output timing (S106).

[0043] <Acquisition of Reference Data 30: S102> The acquisition unit 2020 acquires the reference data 30 (S102). As described above, various data can be used as the reference data 30. For example, as described above, schedule data of the user 40 can be used as the reference data 30. Alternatively, for example, the reference data 30 may be data representing various activities performed by the user 40.

[0044] Examples of data representing the activities of user 40 include data representing the content of emails sent by user 40, data related to comments made by user 40 at events (such as conferences) attended by user 40, and data related to the activities of user 40 on various network services such as SNS. Note that the network service from which reference data 30 is acquired may be one that only people belonging to a specific group, such as the company to which user 40 belongs, can participate (such as an in-house SNS), or one that is open to the general public. Another example of data representing the activities of user 40 may be data representing the frequency of input operations performed on user terminal 50.

[0045] Alternatively, for example, the reference data 30 may be data representing the state of the user 40. For example, the data representing the state of the user 40 is data representing the accuracy of the input made by the user 40 (such as the number of keystroke errors). Alternatively, for example, the data representing the state of the user 40 is observation data obtained by observing the user 40. For example, the observation data is generated by a sensor that senses the user 40. The observation data generated by the sensor is, for example, a facial image generated by a camera that captures the face of the user 40. Alternatively, for example, the observation data generated by the sensor is biometric data generated from biometric signals emitted from the user 40. The biometric data is generated by a biometric sensor that detects the biometric signals. The biometric data is, for example, body temperature data, heart rate data, etc.

[0046] There are various methods by which the acquisition unit 2020 acquires the reference data 30. For example, assume that the reference data 30 is schedule data of the user 40. For example, the acquisition unit 2020 acquires the schedule data from a storage unit in which the schedule data is stored. Alternatively, assume that the schedule data of the user 40 is managed by a service on a network. This is the case, for example, when the schedule of the user 40 is managed by a calendar system provided as a cloud service. In this case, the acquisition unit 2020 acquires the schedule data of the user 40 by accessing the network service in which the schedule data of the user 40 is managed. Here, various existing technologies can be used as specific techniques for acquiring the schedule data of a specific user from the network service.

[0047] Assume that the reference data 30 is data representing the content of emails from the user 40. For example, the acquisition unit 2020 acquires the data representing the content of emails from the user 40 by accessing a storage unit in which the emails from the user 40 are stored. Alternatively, for example, the acquisition unit 2020 may acquire the data representing the content of emails from the user 40 by accessing a mail server in which the emails from the user 40 are managed.

[0048] Assume that the reference data 30 is data representing statements made by a user 40 at an event. In this case, the reference data 30 is, for example, audio data or text data (such as minutes data) in which statements made by each participant at the event are recorded. The acquisition unit 2020 acquires the reference data 30 from a storage unit in which such audio data or text data is stored.

[0049] Assume that the reference data 30 is data representing the activities of the user 40 in a network service. In this case, for example, the acquisition unit 2020 accesses the network service and acquires the data representing the activities of the user 40. Here, various existing methods can be used as a specific method for acquiring data representing the activities of a specific user in a network service such as an SNS (for example, activity data in the SNS).

[0050] Assume that the reference data 30 is data representing the frequency of input operations performed on the user terminal 50. In this case, for example, the acquisition unit 2020 acquires information representing the history of input operations performed by the user 40 from software that monitors input operations such as key inputs on the user terminal 50. The acquisition unit 2020 then uses the acquired information to generate data representing the frequency of input operations (e.g., data representing the number of input operations per unit time). Various existing methods can be used to acquire data representing the history of input operations performed by a specific user. Note that the process of generating data representing the frequency of input operations using the history of input operations may be performed by a device other than the conversation device 2000.

[0051] Assume that the reference data 30 is data representing the accuracy of input operations by the user 40. In this case, the acquisition unit 2020 also acquires information representing the history of input operations performed by the user 40, for example, from software that monitors input operations on the user terminal 50. The acquisition unit 2020 then uses the acquired information to generate data representing the accuracy of the input operations (for example, data representing the low frequency of key input errors). Various existing methods can be used to generate data representing the accuracy of input operations from the history of input operations. The process of generating data representing the accuracy of input operations using the history of input operations may be performed by a device other than the conversation device 2000.

[0052] Assume that the reference data 30 is observation data obtained by observing the user 40. In this case, for example, the observation data is transmitted to the conversation device 2000 from a sensor that generated the observation data. The acquisition unit 2020 acquires the observation data by receiving the observation data transmitted from the sensor. Alternatively, for example, the acquisition unit 2020 may acquire the observation data by accessing a storage unit in which the observation data is stored.

[0053] <Determining Output Timing: S104> The determination unit 2040 determines the output timing of the output message 10 (S104). For example, the determination unit 2040 calculates a future time as the output timing of the output message 10, and sets the output message 10 to be output at the calculated time. In this case, the output of the output message 10 is suspended until the set time arrives. Then, in response to the arrival of the set time, the conversation execution unit 2060 outputs the output message 10.

[0054] Alternatively, for example, the determination unit 2040 may determine the output timing of the output message 10 by repeatedly determining whether the present time is suitable for outputting the output message 10. In this case, after the output message 10 is generated by the conversation execution unit 2060, the output of the output message 10 is suspended until it is determined that the present time is suitable for outputting the output message 10. Then, in response to the determination unit 2040 determining that the present time is suitable for outputting the output message 10, the conversation execution unit 2060 outputs the output message 10.

[0055] The output messages 10 are roughly divided into two types: reply messages and messages other than reply messages. The output timings of the reply messages and the other output messages 10 will be exemplified below.

[0056] <<Reply Message Output Timing>> When the target message is a reply message, for example, the conversation executing unit 2060 generates the reply message and then immediately outputs it. Alternatively, for example, the determining unit 2040 determines the output timing of a reply message representing a reply to the input message 20 based on the time at which the input message 20 is acquired. For example, the determining unit 2040 sets the time at which the input message 20 is acquired plus the length of the reply interval as the output timing of the output message 10. The reply interval is the interval from when the input message 20 is acquired to when the output message 10 representing a reply to the input message 20 is output.

[0057] Here, the length of the response interval may be statically determined or dynamically determined. In the former case, the length of the response interval is specified by user 40, for example. In this case, conversation device 2000 accepts the specification of the length of the response interval from user 40. The length of the response interval may be specified as an absolute value such as "1 second," or as a relative value such as "long" or "short." Note that the person who specifies the response interval is not limited to user 40, but may also be an administrator of conversation device 2000, for example.

[0058] When the reply interval is dynamically determined, it is preferable that the length of the reply interval be determined so as to make the conversation with the user 40 more natural. There are various methods for dynamically determining the length of the reply interval. For example, the determination unit 2040 determines the length of the reply interval based on the length of the input message 20. In this case, for example, a function that converts the length of the input message 20 into the length of the reply interval is determined in advance. The determination unit 2040 inputs the length of the input message 20 into this function and uses the value output from this function as the length of the reply interval.

[0059] Here, there are various measures for determining the length of the input message 20. For example, the length of the input message 20 is determined by the number of characters in a string representing the input message 20. Alternatively, for example, the length of the input message 20 may be expressed by the number of words included in the input message 20.

[0060] The function that converts the length of the input message 20 into the length of the reply interval may be manually set by an administrator of the conversation device 2000, or may be automatically generated by data analysis. In the former case, the function that converts the length of the input message 20 into the length of the reply interval is defined, for example, as a monotonically non-decreasing function that outputs a larger value the longer the length of the input message 20. Here, when people are conversing, the longer one person's utterance is, the more likely it is that the other person will need longer to think of a response to that utterance. Therefore, by lengthening the reply interval the longer the length of the input message 20, the rhythm of conversation between people is reproduced.

[0061] When a function that converts the length of an input message 20 into the length of a reply interval is automatically generated by analyzing data, for example, this function is generated by regression analysis using multiple pieces of data that correspond to the length of an input message 20 and an appropriate length of a reply interval.

[0062] The method for determining the length of the reply interval is not limited to using the length of the input message 20. For example, the determination unit 2040 may determine the length of the reply interval based on a history of the length of time that has elapsed since the output message 10 was previously output and until the input message 20 was acquired. This allows the output message 10 to be output in accordance with the rhythm of the user 40's conversation.

[0063] For example, the determination unit 2040 determines the length of time from when the output message 10 is output until when the input message 20 is acquired for each of the multiple exchanges that have taken place with the user 40, calculates a statistical value of the determined length of time, and uses this statistical value as the length of the reply interval.

[0064] <<Output Timing for Messages Other Than Reply Messages>> When the output message 10 is a message other than a reply message, for example, the determination unit 2040 determines the output timing by using the reference data 30. There are various methods for determining the output timing by using the reference data 30. For example, the determination unit 2040 uses the reference data 30 to identify a time when the user 40 has some free time (free time), and determines this free time as the output timing for the output message 10. When the user 40 does not have much free time, it is likely that the user 40 is busy with work or the like, and therefore it is highly likely that it is not desirable to output the output message 10. By setting the output timing to a time when the user 40 has some free time, the output message 10 can be output without interfering with the work or the like of the user 40.

[0065] For example, the determination unit 2040 uses the schedule data of the user 40 to identify the nearest time when no event is indicated in the schedule of the user 40. The determination unit 2040 then uses the identified time as the slack time. In this case, the schedule data of the user 40 is used as the reference data 30.

[0066] Here, even if no event is shown in the schedule, if the interval until the start time of the next event is short, the user 40 may not have enough time. For example, if there is a five-minute interval between two meetings, this interval is highly likely to be too short for the user 40. Therefore, for example, the determination unit 2040 may calculate, as the leeway time, the nearest time that satisfies the following two conditions: 1) no event is shown in the schedule of the user 40, and 2) the time until the next event is equal to or longer than a predetermined time.

[0067] Alternatively, for example, the determination unit 2040 may continuously monitor the activity of the user 40 and determine the timing when the frequency of the activity of the user 40 becomes low as the output timing. That is, the determination of "whether the present is a suitable timing to output the output message 10" is realized by determining "whether the current activity frequency of the user 40 is low." In this way, the output message 10 is output when it is determined that the current activity frequency of the user 40 is low.

[0068] Even when the activity frequency of the user 40 is high, the user 40 is likely to be busy with work, etc., and it is therefore highly likely that it is not desirable to output the output message 10. Therefore, by setting the timing when the activity frequency of the user 40 is low as the output timing, the output message 10 can be output without interfering with the work, etc., of the user 40.

[0069] The activity frequency of the user 40 can be expressed, for example, by the frequency of input operations on the user terminal 50. In this case, data representing the frequency of input operations on the user terminal 50 is used as the reference data 30. The determination unit 2040 determines that the activity frequency of the user 40 is low when the frequency of input operations on the user terminal 50 is equal to or less than a threshold. On the other hand, when the frequency of input operations on the user terminal 50 is greater than the threshold, the determination unit 2040 determines that the activity frequency of the user 40 is not low.

[0070] Alternatively, for example, the determination unit 2040 continuously monitors the level of concentration of the user 40 and detects the timing when the concentration of the user 40 becomes low as the output timing. In other words, the determination of "whether the present is a suitable timing to output the output message 10" is realized by determining "whether the current concentration of the user 40 is low." In this way, when it is determined that the current concentration of the user 40 is low, the output message 10 is output.

[0071] Here, it is preferable to allow the user 40 to concentrate on work or the like while the level of concentration of the user 40 is high. Therefore, by setting the timing of output when the level of concentration of the user 40 becomes low, the output message 10 can be output without interfering with the work or the like of the user 40.

[0072] Furthermore, when the user 40 has low concentration, it is preferable for the user 40 to recover his / her concentration by taking a break, etc. Therefore, for example, the timing when the user 40 has low concentration is set as the output timing, and an output message 10 or the like urging the user 40 to take a break is output.

[0073] For example, the determination unit 2040 periodically acquires the reference data 30 and determines whether the current level of concentration of the user 40 is low, using the acquired reference data 30. If it is determined that the level of concentration of the user 40 is low, it determines that the present is a suitable time to output the output message 10. On the other hand, if it is determined that the level of concentration of the user 40 is not low, it determines that the present is not a suitable time to output the output message 10.

[0074] There are various specific methods for determining whether the user 40 has low concentration. For example, this determination is made using a discrimination model that identifies whether the user 40 has low concentration in response to input of a predetermined type of data. As the discrimination model, various machine learning models such as a neural network can be used. This discrimination model is trained in advance using multiple pieces of training data each consisting of a pair of "input data related to a person, and a flag indicating whether the person has low concentration." As input data to the discrimination model, for example, observation data such as a facial image or biometric data of the user 40 can be used.

[0075] Alternatively, for example, the determination unit 2040 continuously monitors the level of fatigue of the user 40 and detects the timing when the fatigue level of the user 40 increases as the output timing. That is, the determination of "whether the present is a suitable timing to output the output message 10" is realized by determining "whether the current fatigue level of the user 40 is high." In this way, when it is determined that the current fatigue level of the user 40 is high, the output message 10 is output.

[0076] Here, if the fatigue level of the user 40 is high, it is preferable for the user 40 to reduce the fatigue by taking a break, etc. Therefore, for example, the timing when the fatigue level of the user 40 is high is set as the output timing, and an output message 10 encouraging the user to take a break or the like is output.

[0077] For example, the determination unit 2040 periodically acquires the reference data 30 and determines whether the current fatigue level of the user 40 is high using the acquired reference data 30. If it is determined that the fatigue level of the user 40 is high, it determines that the present is a suitable time to output the output message 10. On the other hand, if it is determined that the fatigue level of the user 40 is not high, it determines that the present is not a suitable time to output the output message 10.

[0078] There are various specific methods for determining whether the user 40 has a high level of fatigue. For example, this determination is made using a discrimination model that identifies whether the user 40 has a high level of fatigue in response to input of a predetermined type of data. As the discrimination model, various machine learning models such as a neural network can be used. This discrimination model is trained in advance using multiple pieces of training data each consisting of a pair of "input data related to a person, and a flag indicating whether the person has a high level of fatigue." As input data to the discrimination model, for example, observation data such as a facial image or biometric data of the user 40 can be used.

[0079] Alternatively, for example, if the accuracy of the input operation performed by the user 40 is low, the determination unit 2040 determines that the concentration of the user 40 is low. In this case, the determination unit 2040 acquires reference data 30 that indicates the accuracy of the input operation performed by the user 40. For example, this reference data 30 indicates the number of operation errors per unit time. If the number of operation errors per unit time is equal to or greater than a threshold, the determination unit 2040 determines that the concentration of the user 40 is low. On the other hand, if the number of operation errors per unit time is less than the threshold, the determination unit 2040 determines that the concentration of the user 40 is not low.

[0080] Here, the method for determining the output timing may be the same for all output messages 10 other than reply messages, or a different method may be used for each type of output message 10. In the latter case, timing information associating the type of output message 10 with the method for determining the output timing of that type of output message 10 is stored in advance in a storage unit accessible from the conversation device 2000. When the conversation executing unit 2060 generates an output message 10, the determination unit 2040 uses the timing information to identify the method for determining the output timing corresponding to the type of output message 10. Then, the determination unit 2040 determines the output timing of the output message 10 using the identified determination method.

[0081] Conversation execution unit 2060 may be configured to use all of the various data described above to determine the output timing, or may be configured to use only a portion of the data to determine the output timing. In the latter case, conversation device 2000, for example, allows user 40 to select in advance the type of data to be used to determine the output timing.

[0082] It is also possible to specify not only relatively broad categories such as "schedule data" and "email data," but also more detailed categories. For example, in the case of schedule data, it may be possible to specify which type of event, out of multiple types of events, the schedule data relating to which event is to be used to determine the output timing.

[0083] <Output of Output Message 10: S106> The conversation execution unit 2060 outputs the output message 10 at the output timing determined by the determination unit 2040 (S106). Here, various modes can be adopted for outputting the output message 10. For example, the conversation execution unit 2060 displays character string data or image data representing the output message 10 on a display device. As another example, the conversation execution unit 2060 outputs audio data representing the output message 10 to a speaker or the like. As another example, the conversation execution unit 2060 transmits the output message 10 to another device. For example, as illustrated in the lower part of FIG. 4 , when the user terminal 50 and the conversation device 2000 are realized by different computers, the conversation execution unit 2060 transmits the output message 10 to the user terminal 50.

[0084] <Generation of Output Message 10> Here, an example will be given of a method by which the conversation execution unit 2060 generates the output message 10. For example, the conversation execution unit 2060 has a conversation model for generating the output message 10, and generates the output message 10 using the conversation model.

[0085] The conversation model generates an output message 10 in response to a predetermined generation condition being satisfied. Furthermore, the determination unit 2040 determines the output timing for the generated output message 10. The conversation execution unit 2060 then outputs the output message 10 at the output timing determined by the determination unit 2040.

[0086] Here, various generation conditions can be defined depending on the type of output message 10. Below, examples of types of output message 10 are given, and for each type of output message 10, examples of the generation conditions and methods for determining the contents of the output message 10 are given.

[0087] <<Regarding Generation of Output Messages 10 Other Than Reply Messages>> For example, the conversation model generates the output message 10 by using various data such as reference data 30. Below, examples of conditions for generating the output message 10 are given for each type of data used to generate the output message 10.

[0088] <<<Schedule Data>>> For example, assume that the output message 10 is generated using schedule data of the user 40. In this case, for example, the conversation execution unit 2060 periodically acquires a portion of the schedule data of the user 40. For example, the schedule data of the user 40 is acquired for a predetermined period starting from the current time.

[0089] For example, the conversation model generates the output message 10 with the generation condition that "the schedule data includes a schedule related to a specific event." The specific event may be, for example, a conference or a business trip. Note that only specific events (for example, conferences or business trips that meet specific requirements) may be treated as events that satisfy the generation condition, rather than all events.

[0090] To determine whether the above generation conditions are met, the conversation execution unit 2060 extracts event data representing information about each event from the acquired schedule data and inputs the extracted event data into the conversation model. The event data indicates, for example, the name of the event, the start and end times of the event, and the location where the event is held.

[0091] For example, the conversation model uses the input event data to determine whether the above-mentioned generation condition is satisfied. For example, if the input event data represents an event such as a specific conference, the conversation model determines that the generation condition is satisfied. On the other hand, if the input event data does not represent an event such as a specific conference, the conversation model determines that the generation condition is not satisfied.

[0092] If the generation condition is satisfied, for example, the conversation model generates an output message 10 to be output to the user 40 after the event ends. A variety of output messages 10 may be used as the output message 10 to be output after the event ends. For example, the output message 10 to be output after the event ends is a message praising the user for completing the event, such as "Thank you for your hard work at the meeting." Another example of the output message 10 to be output after the event ends is a message encouraging the user to take a break, such as "Why don't you make some coffee and take a break?" Another example of the output message 10 to be output after the event ends is a message encouraging the user to start a conversation about the event, such as "How was the meeting today?" Furthermore, the output message 10 to be output after the event ends may be a combination of the various messages described above (e.g., "Thank you for your hard work at the meeting. Why don't you make some coffee and take a break?").

[0093] The conversation model may generate an output message 10 that is output before the start of an event. The output message 10 that is output before the start of an event may be, for example, an encouraging message such as "Do your best in the meeting" or "Try to speak up proactively in today's meeting." Another example of the output message 10 that is output before the start of an event may be a message that urges people not to forget something, such as "Did you forget anything?"

[0094] <<<<Email Data>>> For example, assume that the output message 10 is generated based on the email data of the user 40. In this case, the conversation model generates the output message based on the time the email was sent, the number of times it was sent, and so on.

[0095] For example, suppose the time at which an email sent by user 40 is sent falls within a time period during which the user is working overtime. In this case, the conversation model generates an output message 10 expressing appreciation, such as "Thank you for your hard work until late at night." Alternatively, suppose the number of emails sent by user 40 that day is greater than a predetermined number (e.g., the average number of emails sent per day). In this case, the conversation model generates an output message 10 encouraging the user to take a break, such as "You seem busy. Why don't you take a short break?"

[0096] <<<<Data Related to Speech at an Event>>> Assume that the data used to generate the output message 10 is data related to speech made by the user 40 at an event. In this case, for example, the number of speeches made by the user 40 at the event is used as a generation condition. In this case, the conversation executing unit 2060 calculates the number of speeches made by the user 40 using the reference data 30 and inputs this number into the conversation model.

[0097] If the number of inputs is equal to or greater than the first threshold, the conversation model generates an output message 10 praising the user for speaking a lot, such as, "You did a great job speaking a lot today." On the other hand, if the number of times the user 40 has spoken is less than the second threshold, the conversation model generates an output message 10 encouraging the user 40 to speak more, such as, "Try speaking more next time." Here, the first threshold and the second threshold may be the same value or different values. In the latter case, the first threshold is greater than the second threshold.

[0098] Here, utterance frequency may be used instead of the number of utterances. The utterance frequency is expressed, for example, as the number of utterances per unit time. For example, the conversation model treats cases where the utterance frequency is equal to or greater than a threshold in the same way as cases where the number of utterances is equal to or greater than the threshold. On the other hand, the conversation model treats cases where the utterance frequency is less than the threshold in the same way as cases where the number of utterances is less than the threshold.

[0099] <<<<Data Representing Activities in a Network Service>>> For example, suppose that the output message 10 is generated based on data representing the activities of a user 40 in a network service such as an SNS. In this case, for example, the conversation model generates the output message 10 indicating that it has recognized the user's activities in the SNS or the like.

[0100] For example, suppose that a user 40 uploads a photo containing an object X to an SNS. In this case, the conversation model generates an output message 10 such as, "I see you uploaded a photo of X."

[0101] Alternatively, for example, suppose that a user 40 posts a comment on an SNS expressing his or her impressions of a trip to tourist spot Y. In this case, the conversation model generates an output message 10 such as, "So you went to Y."

[0102] Alternatively, for example, suppose that a user 40 uploads a post to an SNS quoting news about an event Z. In this case, the conversation model generates an output message 10 such as, "So you're interested in Z."

[0103] <<<<Data Representing the State of User 40>>> Assume that the data used to generate the output message 10 is data representing the state of the user 40. In this case, for example, when the state of the user 40 becomes a predetermined state, the conversation model generates the output message 10 representing a utterance related to that state.

[0104] For example, the conversation model generates an output message 10 encouraging the user 40 to take a break when the user 40 has low concentration or high fatigue level. Here, the method for determining whether the user 40 has low concentration or high fatigue level is as described above.

[0105] <<<<Data Other Than Reference Data 30>>> The conversation execution unit 2060 may generate the output message 10 using only data other than the reference data 30, or may generate the output message 10 using both the reference data 30 and data other than the reference data 30. For example, the conversation model acquires news data, which is data representing news, and generates the output message 10 using the acquired news data. Here, the news data may be acquired periodically or irregularly. In the latter case, for example, the conversation device 2000 is configured to receive news data that is pushed from a website or the like.

[0106] The news data may be news data distributed within a specific group, or general news information distributed to an unspecified number of people. Examples of news distributed within a specific group include news distributed within the company to which user 40 belongs, or news distributed on an SNS in which user 40 participates. Conversation device 2000 may allow user 40 to specify which news data to use in generating output message 10. For example, user 40 may specify that only news data distributed within a specific group (e.g., only news from the company to which user 40 belongs) be used in output message 10.

[0107] When news data is used in this way, for example, a condition is "new news data has been received." Then, the conversation model generates an output message 10 representing a statement related to the news indicated in the newly received news data.

[0108] The conversation model may generate the output message 10 only when it receives news that is expected to interest the user 40. In this case, the generation condition is "news data indicating news that is expected to interest the user 40 is received." In response to the input of news data, the conversation model determines whether the user 40 has interest in the news represented by the news data. If it is determined that the user 40 is interested, the conversation model generates the output message 10.

[0109] Here, various methods can be used to determine whether a particular news item is of interest to the user. For example, the conversation device 2000 receives in advance an input specifying one or more types of news of interest, and stores the specified news types in an arbitrary storage unit. If the news type indicated in the input news data matches the type specified in advance by the user 40, the conversation model determines that the news item is of interest to the user 40.

[0110] Alternatively, for example, the conversation model may predict the type of news that the user 40 is interested in based on various activities of the user 40. For example, the news that the user 40 is interested in is predicted based on past conversations between the user 40 and the conversation device 2000, the content of emails sent by the user 40, comments made by the user 40 at events, or the user 40's activities on network services.

[0111] <<Selection of Data to be Used to Generate Output Message 10>> The conversation execution unit 2060 may be configured to use all of the various data described above to generate the output message 10, or may be configured to use only some of the data to generate the output message 10. In the latter case, for example, the conversation device 2000 allows the user 40 to select in advance the type of data to be used to generate the output message 10.

[0112] It is also possible to specify not only relatively broad categories such as "schedule data" and "email data," but also more detailed categories. For example, in the case of schedule data, it may be possible to specify which type of event, out of multiple types of events, the schedule data relating to which event is to be used to generate the output message 10.

[0113] <<Regarding the Generation of Reply Messages>> A reply message is generated based on the input message 20. For example, the conversation execution unit 2060 inputs the input message 20 to the conversation model every time it acquires the input message 20. The conversation model generates a reply message based on the input message 20. Here, the conversation model may generate a reply message using not only the most recently input input message 20, but also input messages 20 input earlier than that.

[0114] <<Generation of Output Message 10 Taking into Account the Psychological State of User 40>> The appropriate content of a message to be sent to user 40 may depend on the psychological state of user 40. Therefore, the conversation executing unit 2060 may generate the output message 10 using psychological state data that represents the psychological state of user 40. For example, the conversation executing unit 2060 uses the psychological state data to identify a type that matches the psychological state of user 40 from among a predetermined number of types of psychological states. Then, the conversation executing unit 2060 generates the output message 10 taking into account the identified type of psychological state of user 40. Here, it is assumed that the psychological state data of user 40 is stored in advance in a storage unit accessible from conversation device 2000.

[0115] For example, a conversation model is prepared for each of a plurality of mental states that the user 40 can be in. Each conversation model is configured to generate an output message 10 appropriate for the corresponding mental state. The conversation execution unit 2060 identifies the type of mental state of the user 40 using the mental state data. The conversation execution unit 2060 then inputs data (such as the reference data 30 and the input message 20) to be used to generate the output message 10 into the conversation model corresponding to the identified type. This allows the conversation device 2000 to output an appropriate output message 10 appropriate for the mental state of the user 40.

[0116] For example, the psychological state data indicates a score for each of one or more factors related to the psychological state of the user 40. For example, if the psychological state data indicates a score for each of n factors related to the psychological state of the user 40, the psychological state data can be represented by an n-dimensional vector.

[0117] Various data can be used as the psychological state data. For example, the conversation executing unit 2060 uses happiness level data that indicates the happiness level of the user 40 as the psychological state data. For example, the happiness level data is data that indicates the score of the user 40 for each of the four happiness factors disclosed in Non-Patent Document 1. However, the method of indicating the happiness level of the user is not limited to the method disclosed in Non-Patent Document 1.

[0118] Various types of psychological states can be used. For example, two types, a good state and a bad state, can be used. When a conversation model is prepared for each type of psychological state, two conversation models are prepared: one corresponding to the case where the psychological state of the user 40 is good, and the other corresponding to the case where the psychological state of the user 40 is bad.

[0119] In order to determine whether the psychological state of the user 40 is good or not, for example, the conversation executing unit 2060 uses the psychological state data to calculate an index value that indicates the degree of goodness of the psychological state of the user 40. For example, a statistical value (such as an average or median) of the scores indicated in the psychological state data can be used as this index value.

[0120] The conversation executing unit 2060 determines that the psychological state of the user 40 is good when the calculated index value is equal to or greater than the threshold value, and determines that the psychological state of the user 40 is not good when the calculated index value is less than the threshold value.

[0121] Alternatively, for example, the psychological state of user 40 may be expressed by a combination of whether each of the above-mentioned multiple factors is good or bad. In this case, if there are n factors, there are 2^n types of psychological states. Therefore, when using a conversation model, 2^n types of conversation models are prepared. For example, when using psychological state data that represents the happiness level of user 40 based on the above-mentioned four factors of happiness, there are 2^4=16 types of psychological states. Therefore, 16 types of conversation models are prepared.

[0122] To identify the psychological state of the user 40, the conversation executing unit 2060 determines whether the psychological state of the user 40 is good for each of n factors. For example, when the psychological state data indicates a score for each of n factors, the conversation executing unit 2060 determines whether the score of each of the n factors is equal to or greater than a threshold. For factors whose scores are equal to or greater than the threshold, the psychological state is determined to be good. On the other hand, for factors whose scores are less than the threshold, the psychological state is determined to be bad.

[0123] Here, various methods can be used to determine the score threshold used to determine whether the psychological state is good or not. For example, the score threshold may be statically set by an administrator of conversation device 2000 or the like.

[0124] Alternatively, for example, the score threshold may be dynamically determined by the conversation executing unit 2060. For example, the conversation executing unit 2060 acquires multiple pieces of past psychological state data of the user 40 and calculates statistical values ​​of the scores indicated in each of the acquired multiple pieces of past psychological state data. Then, the conversation executing unit 2060 uses the calculated statistical values ​​as the threshold.

[0125] Alternatively, for example, the score threshold may be determined using not only the scores of the user 40 but also the scores of people other than the user 40. For example, the conversation executing unit 2060 acquires psychological state data of each of the other people who belong to the same group as the user 40, and calculates a statistical value of the scores for that group. The calculated statistical value is then used as the score threshold for that group. Furthermore, the score threshold may be determined using psychological state data of any person, not limited to people who belong to a specific group.

[0126] As described above, when the psychological state data indicates a score for each of a plurality of factors, a threshold value for the score is set for each factor.

[0127] <<<<Specific Examples of Output Messages 10 Suitable for the Psychological State of User 40>>> A specific example of an output message 10 suitable for the psychological state of user 40 will be shown. Here, it is assumed that happiness level data based on the four factors of happiness disclosed in Non-Patent Document 1 is used as the psychological state data. Furthermore, the following specific examples illustrate variations of the output message 10 that are output as the end of work on the last business day of each week approaches (for example, a predetermined time before the end of work).

[0128] For example, different output messages 10 may be generated depending on whether the score for the "Let's try!" factor, one of the four factors of happiness, is high or low. A high score for the "Let's try!" factor indicates that the user 40 is highly motivated. Therefore, when the score for the "Let's try!" factor is equal to or greater than a threshold, an output message 10 is generated that encourages action, such as "Check next week's schedule and do your best." On the other hand, a low score for the "Let's try!" factor indicates that the user 40 is less motivated. Therefore, when the score for the "Let's try!" factor is below a threshold, an output message 10 is generated that increases a sense of self-worth by focusing on achievements, such as "Let's reflect on what we've accomplished this week." Another example is when different output messages 10 may be generated depending on whether the score for the "Thank you!" factor, one of the four factors of happiness, is high or low. A high score for the "Thank you!" factor indicates that the user 40 is able to express gratitude to and praise others. Therefore, if the score of the "Thank you!" factor is equal to or greater than the threshold, an output message 10 is generated that has the characteristic of encouraging behaviors of gratitude and praise, such as "Don't forget to express your gratitude this week." On the other hand, a low score of the "Thank you!" factor indicates that the psychological state of the user 40 is self-centered. Therefore, if the score of the "Thank you!" factor is less than the threshold, an output message 10 is generated that has the characteristic of encouraging behaviors of paying attention to others, such as "Try to express your gratitude to one person, anyone will do."

[0129] In addition, for example, different output messages 10 may be generated depending on whether the score on the "It'll be fine!" factor, one of the four happiness factors, is high or low. A high score on the "It'll be fine!" factor indicates that the user 40 is able to accept risk. Therefore, when the score on the "It'll be fine!" factor is equal to or greater than a threshold, an output message 10 is generated that encourages the user to take on a challenge, such as "I'm looking forward to seeing how far you can go next week." On the other hand, a low score on the "It'll be fine!" factor indicates that the user 40 is in a psychological state where they strongly perceive risk. Therefore, when the score on the "It'll be fine!" factor is below a threshold, an output message 10 is generated that raises the user's awareness of nearby goals and enhances self-efficacy, such as "You've made it through each day and worked hard this week."

[0130] As another example, different output messages 10 may be generated depending on whether the score for the "Just be yourself!" factor, one of the four factors of happiness, is high or low. A high score for the "Just be yourself!" factor indicates that the user 40 has high self-esteem. Therefore, when the score for the "Just be yourself!" factor is equal to or greater than a threshold, an output message 10 is generated that has the characteristic of accepting oneself at one's own pace, such as "Let's do our best to be yourself." On the other hand, a low score for the "Just be yourself!" factor indicates that the user 40 is in a psychological state of low self-esteem. Therefore, when the score for the "Just be yourself!" factor is less than a threshold, an output message 10 is generated that has the characteristic of accepting oneself at one's own pace, such as "Sometimes it's good to keep to your own pace."

[0131] <<<<Methods for Acquiring Psychological State Data>>> There are various methods for conversation device 2000 to acquire psychological state data. For example, psychological state data of user 40 is stored in advance in a storage unit accessible from conversation device 2000. Conversation device 2000 acquires the psychological state data of user 40 by accessing this storage unit.

[0132] Any method may be used to generate the psychological state data of the user 40. For example, the psychological state data may be generated using the results of a questionnaire given to the user 40.

[0133] For example, suppose happiness data indicating scores for each of the four happiness factors disclosed in Non-Patent Document 1 is used as psychological state data. Non-Patent Document 1 presents four questions for each of the four happiness factors. In other words, 16 questions for measuring a user's happiness level are disclosed. The user 40 is then asked to answer a questionnaire containing these 16 questions. The happiness data can be generated based on the user 40's answers to each of these 16 questions.

[0134] More specifically, in Non-Patent Document 1, four answer values ​​are obtained for each of the four factors. Therefore, the score of each factor can be calculated by using the statistical values ​​of the answer values ​​for each of the four questions related to that factor.

[0135] The presentation of a questionnaire for generating psychological state data (e.g., 16 questions related to the four factors of happiness) and the generation of psychological state data using the results of the questionnaire may be performed by conversation device 2000, or by a device other than conversation device 2000. In the former case, for example, conversation device 2000 presents a questionnaire when having user 40 set up a conversation with conversation device 2000. User 40 inputs answers to the questionnaire presented by conversation device 2000. Conversation device 2000 generates psychological state data using these answers. Conversation device 2000 then uses the psychological state data to determine a conversation model to use in a conversation with user 40.

[0136] <Method for generating output message 10 from input data> As described above, the conversation model generates the output message 10 based on various data (hereinafter referred to as input data) input to the conversation model. The method for generating the output message 10 from the input data is, for example, determined in advance as a generation rule. For example, a generation rule may be determined in advance such that when schedule data indicating a specific event is input, an output message saying "Thank you for your hard work, XXX" is generated. Here, the "XXX" portion is filled with the type or name of the event indicated in the schedule data. The conversation model generates the output message 10 based on the input data and the generation rule.

[0137] Here, when a conversation model is prepared for each of a plurality of psychological states, a generation rule prepared in accordance with the psychological state corresponding to the conversation model is applied to each conversation model.

[0138] Alternatively, for example, the conversation model may be configured as a machine learning model that is pre-trained to output the output message 10 in response to input data. In this case, for example, the conversation model is trained using a plurality of training data that associates input data with messages to be generated in response to the input of the input data. Note that various existing techniques can be used as specific techniques for training a conversation model configured as a machine learning model.

[0139] Here, when a conversation model is prepared for each of a plurality of psychological states, each conversation model is trained using training data prepared in accordance with the psychological state corresponding to the conversation model.

[0140] The conversation model may be configured to use one input data to generate the output message 10, or may be configured to use multiple time-series input data to generate the output message 10. For example, by treating time-series input messages 20 as input data, it is possible to generate the output message 10 taking into account the context of the conversation.

[0141] Here, it is preferable to use reference data 30 to have the conversation model learn characteristics such as the wording used in the output message 10. For example, the conversation model learns characteristics of comments made to the user 40 by people around the user 40 from sentences contained in emails received by the user 40, messages from other users to the user 40 on social media, etc. Then, the conversation model generates the output message 10 so that the output message 10 has characteristics similar to the characteristics of the comments made by people around the user 40.

[0142] As a more specific example, if the speech of people around user 40 is polite (such as using polite language), it is highly likely that polite language will also be preferred for speech from conversation device 2000 to user 40. In such a case, the conversation model generates output message 10 using polite language.

[0143] The conversation model may also learn the characteristics of the user's utterances from the content of emails sent by the user 40 or from comments made by the user 40 on social media, etc. In this case, the conversation model generates the output message 10 so that it has characteristics similar to the characteristics of the user's utterances.

[0144] Alternatively, for example, the reference data 30 may be used to train the conversation model on the characteristics of words to be included in the output message 10. For example, when there are multiple words with similar meanings, which words to use may vary from person to person. Therefore, for example, the conversation model learns the words contained in the user 40's utterances from the content of emails sent by the user 40 or from the user's utterances on social media, etc. In this case, the conversation model generates the output message 10 using the same words used by the user 40. Such conversation model learning can also be expressed as "generating or customizing a word dictionary using the user 40's utterances."

[0145] Note that the data used to train the conversation model on the various features described above is not limited to the reference data 30. For example, the conversation model may be trained on features of utterances (input messages 20) made by the user 40 in past conversations.

[0146] <Other Functions of Conversation Device 2000> Conversation device 2000 may store the history of conversations with user 40 (i.e., the history of output messages 10 and input messages 20) in any storage unit. The storage unit in which the conversation history is stored may be provided outside the system managed by the group to which user 40 belongs. This prevents the conversation history from being viewed by people related to user 40, such as the administrator of the group. This allows the privacy of user 40 to be protected.

[0147] Furthermore, conversation device 2000 may allow user 40 to specify whether or not the conversation history is viewable by people other than user 40. For example, if conversation device 2000 is operated in the company to which user 40 belongs, user 40 may specify whether or not the conversation history is viewable by user 40's superiors, etc.

[0148] The conversation model of the conversation device 2000 is preferably updated through conversation with the user 40. For example, assume that the conversation device 2000 is configured to behave as a pseudo-person and converse with the user 40. In this case, for example, the longer the user 40 has used the conversation device 2000, or the more frequently the user 40 has conversed with the conversation device 2000, the more the tone of voice of the pseudo-person represented by the conversation device 2000 (i.e., the verbal expressions in the output message 10) becomes friendly. Note that when the conversation device 2000 behaves as a pseudo-person in this manner, the type of the pseudo-person may be specified as one of multiple types. The type of person that can be specified includes, for example, the relationship with the user 40 (such as a colleague, senior, superior, or private friend), gender, or personality.

[0149] Conversation device 2000 may also be configured to behave as a pseudo-person belonging to the same group (e.g., department) as user 40. In this case, when user 40 changes his / her affiliation to a new group, conversation device 2000 may also be configured to behave as a pseudo-person in the new group. This can be achieved, for example, by initializing the conversation model in response to user 40 being transferred to a different department.

[0150] Furthermore, the conversation device 2000 may behave as multiple pseudo-persons rather than as a single pseudo-person and may converse with the user 40. For example, the conversation device 2000 may normally converse with the user 40 as a first person, and at some timing, converse with the user 40 as a different second person. For example, the conversation device 2000 may normally behave as a colleague in the same department as the user 40, and periodically or irregularly behave as a colleague in another department. A different conversation model is used for each of these conversations as different people. Note that when a conversation between the user 40 and the conversation device 2000 is visually displayed on a chat page or the like, it is preferable to use a different display (e.g., an avatar) for each person that the conversation device 2000 is acting as.

[0151] When conversation device 2000 behaves as a pseudo-person, conversation device 2000 may determine the type of the pseudo-person using input message 20 and reference data 30. For example, conversation device 2000 selects a character type using the content of the conversation with user 40 (i.e., the content of input message 20) or information that indicates the working situation of user 40 (such as schedule data or email data). For example, if conversation device 2000 determines from the content of input message 20 that user 40 is in poor health, it outputs output message 10 inquiring about details of the symptoms. Then, conversation device 2000 selects an expert that matches the symptoms of user 40 as the character type of conversation device 2000, depending on the content of input message 20 that represents a response to output message 10.

[0152] For example, if it is determined from the content of the input message 20 that the symptom of the user 40 is loss of appetite, the conversation device 2000 selects a health care professional as the character type. On the other hand, if it is determined from the content of the input message 20 that the symptom of the user 40 is insomnia, the conversation device 2000 selects an industrial physician as the character type.

[0153] Alternatively, for example, if the input message 20 contains specific keywords such as "I want to quit" or "I want to die," the conversation device 2000 may immediately select an industrial physician as the person type.

[0154] Alternatively, for example, if the content of input message 20 expresses work-related anxiety, conversation device 2000 selects a person of an appropriate position as the person type for conversation device 2000 based on schedule data. For example, if the schedule data includes many meetings with customers or other departments, conversation device 2000 selects a conversation model of a senior employee as the person type so that the person behaves like an experienced person. On the other hand, if the schedule data does not include many such meetings, conversation device 2000 selects a colleague as the person type.

[0155] Alternatively, for example, if the content of the input message 20 expresses anxiety about the user's private life, the conversation device 2000 selects a character type based on information that can provide insight into the user's private life (for example, data representing activities on social media, etc.). For example, if the user 40 is about to have a special life event (such as marriage, childbirth, or a child's entry into higher education), the conversation device 2000 selects a financial advisor as the character type. On the other hand, if no such life event is coming up, the conversation device 2000 selects a colleague, senior employee, or friend outside the company as the character type.

[0156] Here, conversation device 2000 may switch the character type (i.e., switch the conversation model) automatically, or may do so with the consent of user 40. In the latter case, conversation device 2000 may sound out user 40 about switching the character type through a conversation such as, "I know an industrial physician. Why don't you talk to him?" Then, conversation device 2000 switches the character type if consent is obtained from user 40. When the character type is switched, the content of the conversation up to that point can be carried over, allowing a conversation that reflects the past history to some extent to be started.

[0157] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

[0158] In the above examples, the program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable media or tangible storage media include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technologies, CD-ROM, digital versatile disc (DVD), Blu-ray (registered trademark) disc or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may also be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, transitory computer-readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.

[0159] Some or all of the above embodiments can be described as, but are not limited to, the following supplementary notes. (Supplementary Note 1) A conversation device comprising: an acquisition means for acquiring reference data related to a user; a determination means for using the reference data to determine an output timing for outputting an output message to the user; and a conversation execution means for executing a conversation with the user by acquiring an input message input by the user and outputting the output message to the user, wherein the conversation execution means outputs at least one of the output messages at the determined output timing, and at least one of the reference data used by the determination means includes the user's schedule data, data related to the content of the user's email, data related to the content of the user's comments at an event, data related to the content of the user's activities in a network service, data related to the frequency or accuracy of input operations performed by the user, or data generated from a biological signal emitted by the user. (Supplementary Note 2) The conversation device according to Supplementary Note 1, wherein the determination means acquires the user's schedule data as the reference data, and determines the output timing to be before or after an event indicated in the schedule data. (Supplementary Note 3) The conversation device according to Supplementary Note 1, wherein the determination means acquires data related to an input operation performed by the user as the reference data, calculates the activity frequency, concentration level, or fatigue level of the user using the data related to the input operation, and determines, as the output timing, a timing when the activity frequency of the user is below a threshold, a timing when the concentration of the user is below a threshold, or a timing when the fatigue level of the user is above a threshold. (Supplementary Note 4) The conversation device according to any one of Supplementary Notes 1 to 3, wherein the conversation execution means acquires psychological state data representing the user's psychological state, uses the psychological state data to identify a type of the user's psychological state from a plurality of types of psychological states, and generates the output message based on the identified type of the user's psychological state.(Supplementary Note 5) The conversation device according to Supplementary Note 4, wherein the conversation execution means has a conversation model corresponding to each of a plurality of types of psychological states, and generates the output message using the conversation model corresponding to the identified type of psychological state of the user. (Supplementary Note 6) The conversation device according to Supplementary Note 4, wherein the psychological state data indicates a score for each of a plurality of factors representing a happiness level, and the conversation execution means identifies the type of psychological state of the user by determining whether or not the score of at least one factor indicated by the psychological state data is equal to or greater than a threshold. (Supplementary Note 7) A conversation method executed by a computer, comprising: an acquisition step of acquiring reference data related to a user; a determination step of using the reference data to determine an output timing for outputting an output message to the user; and a conversation execution step of executing a conversation with the user by acquiring an input message input by the user and outputting the output message to the user, wherein the conversation execution step outputs at least one of the output messages at the determined output timing, and at least one of the reference data used in the determination step includes schedule data of the user, data related to the content of the user's email, data related to the content of comments made by the user at an event, data related to the content of the user's activities in a network service, data related to the frequency or accuracy of input operations performed by the user, or data generated from a biological signal emitted by the user. (Supplementary Note 8) The conversation method according to Supplementary Note 7, wherein in the determination step, schedule data of the user is acquired as the reference data, and the output timing is determined to be before or after an event indicated in the schedule data.(Supplementary Note 9) The conversation method according to Supplementary Note 7, wherein in the determining step, data related to an input operation performed by the user is obtained as the reference data, the data related to the input operation is used to calculate the user's activity frequency, concentration level, or fatigue level, and the output timing is determined to be a timing when the user's activity frequency is below a threshold, a timing when the user's concentration is below a threshold, or a timing when the user's fatigue level is above a threshold. (Supplementary Note 10) The conversation method according to any one of Supplementary Notes 7 to 9, wherein in the conversation executing step, psychological state data representing the user's psychological state is obtained, the psychological state data is used to identify the type of the user's psychological state from a plurality of types of psychological states, and the output message is generated based on the identified type of the user's psychological state. (Supplementary Note 11) The conversation method according to Supplementary Note 10, wherein in the conversation executing step, a conversation model corresponding to each of a plurality of types of psychological states is provided, and the output message is generated using the conversation model corresponding to the identified type of the user's psychological state. (Appendix 12) The conversation method described in Appendix 10, wherein the psychological state data indicates a score for each of a plurality of factors representing happiness, and in the conversation execution step, the type of psychological state of the user is identified by determining whether the score of at least one factor indicated by the psychological state data is above a threshold.(Supplementary Note 13) A non-transitory computer-readable medium storing a program that causes a computer to execute the following steps: acquiring reference data related to a user; determining using the reference data to determine an output timing for outputting an output message to the user; and executing a conversation with the user by acquiring an input message input by the user and outputting the output message to the user, wherein the conversation executing step outputs at least one of the output messages at the determined output timing, and at least one of the reference data used in the determining step includes schedule data of the user, data related to the content of the user's email, data related to the content of comments made by the user at an event, data related to the content of the user's activities in a network service, data related to the frequency or accuracy of input operations performed by the user, or data generated from a biological signal emitted by the user. (Supplementary Note 14) The computer-readable medium according to Supplementary Note 13, wherein in the determining step, schedule data of the user is acquired as the reference data, and the output timing is determined to be before or after an event indicated in the schedule data. (Supplementary Note 15) The computer-readable medium according to Supplementary Note 13, wherein in the determining step, data related to an input operation performed by the user is obtained as the reference data, The data related to the input operation is used to calculate the activity frequency, concentration level, or fatigue level of the user, and a timing when the activity frequency of the user is below a threshold, a timing when the concentration level of the user is below a threshold, or a timing when the fatigue level of the user is above a threshold is determined as the output timing. (Supplementary Note 16) The computer-readable medium according to any one of Supplementary Notes 13 to 15, wherein in the conversation executing step, psychological state data representing the user's psychological state is obtained, The psychological state data is used to identify the type of the user's psychological state from a plurality of types of psychological states, and The output message is generated based on the identified type of the user's psychological state.(Supplementary Note 17) The computer-readable medium according to Supplementary Note 16, wherein in the conversation execution step, a conversation model corresponding to each of a plurality of types of psychological states is provided, and the output message is generated using the conversation model corresponding to the identified type of psychological state of the user. (Supplementary Note 18) The computer-readable medium according to Supplementary Note 16, wherein the psychological state data indicates a score for each of a plurality of factors representing a happiness level, and in the conversation execution step, the type of psychological state of the user is identified by determining whether or not the score of at least one factor indicated by the psychological state data is equal to or greater than a threshold.

[0160] REFERENCE SIGNS LIST 10 Output message 20 Input message 30 Reference data 40 User 50 User terminal 60 Server device 1000 Computer 1020 Bus 1040 Processor 1060 Memory 1080 Storage device 1100 Input / output interface 1120 Network interface 2000 Conversation device 2020 Acquisition unit 2040 Determination unit 2060 Conversation execution unit

Claims

1. A means for acquiring reference data relating to a user; a determination means for determining an output timing for outputting an output message to the user by using the reference data; a conversation execution means for executing a conversation with the user by acquiring an input message input by the user and outputting an output message to the user, The conversation execution means outputs at least one of the output messages at the determined output timing; A conversation device, wherein at least one of the reference data used by the determination means includes the user's schedule data, data relating to the content of the user's emails, data relating to the content of the user's comments at events, data relating to the content of the user's activities in network services, data relating to the frequency or accuracy of input operations performed by the user, or data generated from biological signals emitted by the user.

2. The determining means is As the reference data, schedule data of the user is obtained; 2. The conversation device according to claim 1, wherein the output timing is determined to be before or after an event indicated in the schedule data.

3. The determining means is acquiring data relating to an input operation performed by the user as the reference data; Calculating the frequency of activity, the level of concentration, or the level of fatigue of the user using data related to the input operation; The conversation device according to claim 1 , wherein the output timing is determined to be a timing when the activity frequency of the user is equal to or lower than a threshold, a timing when the concentration of the user is equal to or lower than a threshold, or a timing when the fatigue level of the user is equal to or higher than a threshold.

4. The conversation execution means includes: acquiring psychological state data representative of a psychological state of the user; Using the psychological state data, identify a type of psychological state of the user from a plurality of types of psychological states; The conversation device according to claim 1 , wherein the output message is generated based on the identified type of mental state of the user.

5. The conversation execution means includes: A conversation model corresponding to each of a plurality of psychological states is provided, The conversation device according to claim 4 , wherein the output message is generated using the conversation model corresponding to the identified type of mental state of the user.

6. the psychological state data indicates a score for each of a plurality of factors expressing a degree of happiness, The conversation execution means includes: The conversation device according to claim 4 , wherein the type of the user's psychological state is identified by determining whether or not a score of at least one factor indicated by the psychological state data is equal to or greater than a threshold value.

7. - an acquisition step for acquiring reference data relating to a user; a determining step of determining an output timing for outputting an output message to the user using the reference data; a conversation execution step of executing a conversation with the user by acquiring an input message input by the user and outputting an output message to the user, In the conversation execution step, at least one of the output messages is output at the determined output timing; A computer-implemented conversation method, wherein at least one of the reference data utilized by the determination step includes the user's schedule data, data relating to the content of the user's emails, data relating to the content of the user's comments at an event, data relating to the content of the user's activities in a network service, data relating to the frequency or accuracy of input operations performed by the user, or data generated from biological signals emitted by the user.

8. In the determining step, As the reference data, schedule data of the user is obtained; 8. The conversation method according to claim 7, wherein the output timing is determined to be before or after an event indicated in the schedule data.

9. - an acquisition step for acquiring reference data relating to a user; a determining step of determining an output timing for outputting an output message to the user using the reference data; a conversation execution step of executing a conversation with the user by acquiring an input message input by the user and outputting an output message to the user, In the conversation execution step, at least one of the output messages is output at the determined output timing; A program wherein at least one of the reference data used by the determination step includes the user's schedule data, data relating to the content of the user's emails, data relating to the content of the user's comments at events, data relating to the content of the user's activities in network services, data relating to the frequency or accuracy of input operations performed by the user, or data generated from biological signals emitted by the user.

10. In the determining step, As the reference data, schedule data of the user is obtained; The program according to claim 9 , wherein the output timing is determined to be before or after an event indicated in the schedule data.