WO2023195115A1 - 会話装置、会話方法、及び非一時的なコンピュータ可読媒体 - Google Patents

会話装置、会話方法、及び非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2023195115A1
WO2023195115A1 PCT/JP2022/017233 JP2022017233W WO2023195115A1 WO 2023195115 A1 WO2023195115 A1 WO 2023195115A1 JP 2022017233 W JP2022017233 W JP 2022017233W WO 2023195115 A1 WO2023195115 A1 WO 2023195115A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
conversation
data
output
psychological state
Prior art date
Application number
PCT/JP2022/017233
Other languages
English (en)
French (fr)
Inventor
勝 青木
隆司 前野
亮太郎 井上
淳一 中野
春華 茂刈
麻代 武田
智彩 岩科
大裕 古木
杏 大堀
Original Assignee
日本電気株式会社
慶應義塾
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社, 慶應義塾 filed Critical 日本電気株式会社
Priority to PCT/JP2022/017233 priority Critical patent/WO2023195115A1/ja
Publication of WO2023195115A1 publication Critical patent/WO2023195115A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer

Definitions

  • the present disclosure relates to a conversation device, a conversation method, and a non-transitory computer-readable medium.
  • Patent Document 1 discloses a robot that speaks to a user.
  • the robot of Patent Document 1 uses an image of the user to classify the current posture of the user into one of "standing,” “sitting,” and “lying down.” Further, the robot of Patent Document 1 uses the user's image to classify the user's current activity state into either “active” or “stationary.” Furthermore, the robot of Patent Document 1 uses audio data representing environmental sounds to change the current environmental sound into an environmental sound that makes the user feel uncomfortable when uttered, and an environmental sound that does not make the user feel uncomfortable when uttered. Classify.
  • the robot of Patent Document 1 determines whether or not the user will be in a bad mood if he/she speaks, and if it is determined that the user will not be in a bad mood by speaking, then the robot will speak. .
  • the method of appropriately outputting a message to the user is not limited to the method of determining the timing of speech based on the user's posture classification, activity state classification, and environmental sound classification described above.
  • the present disclosure has been made in view of such problems, and one of its purposes is to provide a new technique for outputting messages to users.
  • the conversation device of the present disclosure includes an acquisition unit that acquires reference data regarding a user, a determination unit that uses the reference data to determine an output timing to output an output message to the user, and an input that is input by the user.
  • the apparatus further comprises a conversation executing means for executing a conversation with the user by acquiring a message 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.
  • At least one of the reference data used by the determining means includes schedule data of the user, data regarding the content of the user's email, data regarding the content of the user's remarks at an event, and the user's activities in a network service. , data regarding the frequency or accuracy of input operations performed by the user, or data generated from biological signals emitted by the user.
  • the conversation method of the present disclosure is executed by a computer.
  • the method includes an obtaining step of obtaining reference data regarding a user, a determining step of determining an output timing for outputting an output message to the user using the reference data, and obtaining an input message input by the user. and a conversation execution step of executing a conversation with the user by outputting an output message to the user.
  • at least one of the output messages is output at the determined output timing.
  • At least one of the reference data used in the determining step includes schedule data of the user, data regarding the content of the user's email, data regarding the content of the user's remarks at an event, and the user's activities in a network service. , data regarding the frequency or accuracy of input operations performed by the user, or data generated from biological signals emitted by the user.
  • 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.
  • a new technique for outputting a message to a user is provided.
  • FIG. 2 is a diagram illustrating an overview of the operation of the conversation device according to the embodiment.
  • FIG. 2 is a block diagram illustrating the functional configuration of a conversation device.
  • FIG. 2 is a block diagram illustrating the hardware configuration of a computer that implements the conversation device.
  • FIG. 2 is a diagram illustrating an environment in which a conversation device is used.
  • 3 is a flowchart illustrating the flow of processing executed by the conversation device.
  • predetermined values such as predetermined values and threshold values are stored in advance in a storage device or the like that can be accessed by a device that uses the values.
  • the storage unit is configured by one or more arbitrary number of storage devices.
  • FIG. 1 is a diagram illustrating an overview of a conversation device 2000 according to an embodiment.
  • FIG. 1 is a diagram for easy understanding of the outline of the conversation device 2000, and the operation of the conversation device 2000 is not limited to that shown in FIG. 1.
  • the conversation device 2000 has a function of having a conversation with the user 40.
  • the conversation with the user 40 here means exchanging messages with the user 40.
  • Conversation device 2000 outputs output message 10 in a manner that user 40 can view.
  • the conversation device 2000 also obtains an input message 20, which is a message input by the user 40.
  • the output message 10 can be said to be a statement made by the conversation device 2000 in a conversation between the user 40 and the conversation device 2000.
  • the input message 20 can be said to be a statement made by the user 40 in a conversation between the user 40 and the conversation device 2000.
  • the output message 10 may be a message representing a reply to the input message 20 (hereinafter referred to as a reply message), or may be a message other than the reply message.
  • chatbot One of the functions of computers that communicate with users in this way is something called a "chatbot.”
  • the conversation device 2000 is not limited to a type called a chatbot.
  • the conversation device 2000 uses the reference data 30 to determine the timing of outputting all or part of the output message 10 to the user 40. The conversation device 2000 then outputs the output message 10 at the determined output timing.
  • the reference data 30 is data indicating information regarding the user 40.
  • at least one of the reference data 30 used by the conversation device 2000 includes schedule data of the user 40, data regarding the content of the user's 40 email, data regarding the content of the user's 40 remarks at an event such as a meeting, and SNS. (Social Networking Service) and other network services, data regarding the frequency or accuracy of input operations performed by the user 40, or biometric data generated from biosignals emitted from the user 40. It will be done.
  • the conversation device 2000 only needs to use at least one or more of the types of data listed here as the reference data 30, and in addition to these types of data, the conversation device 2000 may also use other types of data as the reference data 30. Good too.
  • the conversation device 2000 identifies a time when the user 40 has extra time (hereinafter referred to as an extra time) based on the schedule data, and outputs the output message 10 at the extra time.
  • an extra time a time when the user 40 has extra time (hereinafter referred to as an extra time) based on the schedule data, and outputs the output message 10 at the extra time.
  • the margin time is an example of output timing, and the output timing is not limited to the margin time.
  • the conversation device 2000 uses the reference data 30 to determine the output timing for output messages 10 other than reply messages, while determining the output timing for reply messages without using the reference data 30.
  • the conversation device 2000 uses the reference data 30 to determine the output timing for output messages 10 other than reply messages, while determining the output timing for reply messages without using the reference data 30.
  • a reply message is output immediately after being generated.
  • the reply message is output after a predetermined period of time has elapsed from the time when the input message 20 was acquired.
  • the output timing of the reply message is not limited to the timing illustrated here.
  • the output timing of the reply message may be determined using the reference data 30. Other examples of the output timing of the response message will be described later.
  • the output timing of at least one output message 10 among the output messages 10 output to the user 40 is determined using the reference data 30.
  • at least one of the reference data 30 includes schedule data of the user 40, data regarding the content of the user's 40 email, data regarding the content of the user's 40 utterances at an event such as a conference, and data regarding the content of the user's 40 activities in the network service. data, data regarding the frequency or accuracy of input operations performed by the user 40, or biometric data generated from biosignals emitted by the user 40.
  • the conversation device 2000 provides a new technique for determining the timing to output a message to the user 40.
  • FIG. 2 is a block diagram illustrating the functional configuration of the conversation device 2000 of the embodiment.
  • the conversation device 2000 includes an acquisition section 2020, a determination section 2040, and a conversation execution section 2060.
  • the acquisition unit 2020 acquires the reference data 30.
  • the determining unit 2040 determines the output timing of the output message 10 using the reference data 30.
  • the conversation execution unit 2060 outputs the output message 10 at the determined output timing.
  • Each functional component of the conversation device 2000 may be realized by hardware that implements each functional component (e.g., a hardwired electronic circuit, etc.), or by a combination of hardware and software (e.g., an electronic circuit). It may also be realized by a combination of a circuit and a program that controls it. A case in which each functional component of the conversation device 2000 is realized by a combination of hardware and software will be further described below.
  • FIG. 3 is a block diagram illustrating the hardware configuration of computer 1000 that implements conversation device 2000.
  • Computer 1000 is any computer.
  • the computer 1000 is a stationary computer such as a PC (Personal Computer) or a server machine.
  • the computer 1000 is a portable computer such as a smartphone or a tablet terminal.
  • Computer 1000 may be a dedicated computer designed to implement conversation device 2000, or may be a general-purpose computer.
  • each function of the conversation device 2000 is realized on the computer 1000 by installing a predetermined application on the computer 1000.
  • the above application is composed of programs for realizing each functional component of the conversation device 2000.
  • the method for acquiring the above program is arbitrary.
  • the program can be obtained from a storage medium (DVD disc, USB memory, etc.) in which the program is stored.
  • the program can be obtained by downloading the program from a server device that manages a storage device in which the program is stored.
  • 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 through which the processor 1040, memory 1060, storage device 1080, input/output interface 1100, and network interface 1120 exchange data with each other.
  • the method for connecting the processors 1040 and the like to each other is not limited to bus connection.
  • the processor 1040 is a variety of processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an FPGA (Field-Programmable Gate Array).
  • the memory 1060 is a main storage device implemented using RAM (Random Access Memory) or the like.
  • the storage device 1080 is an auxiliary storage device implemented using a hard disk, an SSD (Solid State Drive), a memory card, a ROM (Read Only Memory), or the like.
  • the input/output interface 1100 is an interface for connecting the computer 1000 and an input/output device.
  • an input device such as a keyboard
  • an output device such as a display device are connected to the input/output interface 1100.
  • 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).
  • the storage device 1080 stores programs that implement each functional component of the conversation device 2000 (programs that implement the aforementioned applications). Processor 1040 implements each functional component of conversation device 2000 by reading this program into memory 1060 and executing it.
  • the conversation device 2000 may be realized by one computer 1000 or by multiple computers 1000. In the latter case, the configurations of each computer 1000 do not need to be the same and can be different.
  • FIG. 4 is a diagram illustrating an environment in which the conversation device 2000 is used.
  • the conversation device 2000 is realized by a user terminal 50, as shown in the upper part of FIG.
  • the user terminal 50 is any computer (desktop PC, laptop PC, smartphone, tablet terminal, etc.) used by the user 40.
  • the conversation device 2000 can be implemented on the user terminal 50.
  • the usage of the user terminal 50 is arbitrary.
  • the user terminal 50 is a terminal that the user 40 uses to perform his duties at his workplace.
  • the user terminal 50 may be a mobile terminal that the user 40 uses privately or a terminal at home.
  • the user terminal 50 outputs the output message 10 so as to be displayed on a display device provided in the user terminal 50 or a display device connected to the user terminal 50.
  • the user terminal 50 may output the output message 10 as audio data.
  • 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 or a software keyboard, or may be performed by voice input.
  • the user terminal 50 obtains the input message 20 input using these various methods.
  • the conversation device 2000 may respond to a message from the user 40, or may initiate a conversation by itself. In the latter case, for example, the conversation device 2000 starts the conversation by outputting the output message 10 at various timings. For example, when the user 40 goes to work and starts the user terminal 50, the conversation device 2000 outputs an output message 10 expressing morning greetings and encouragement. In addition, for example, the conversation device 2000 outputs the output message 10 urging 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.
  • the conversation device 2000 improves the psychological state of the user 40 (for example, increases the happiness level) by becoming the user 40's chat partner.
  • the conversation device 2000 behaves as if the user 40 were a colleague, senior, boss, or friend outside the company, and has a conversation with the user 40.
  • the purpose of using the conversation device 2000 is not limited to improving the psychological state of the user 40.
  • the conversation device 2000 may be realized by a computer other than the user terminal 50.
  • conversation device 2000 is realized by server device 60.
  • 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 the output message 10 output from the server device 60 and outputs the received output message 10. Further, the user terminal 50 receives an input message 20 from the user 40 and transmits the input message 20 to the server device 60.
  • the conversation device 2000 is realized by the server device 60 in this way, there are various methods for exchanging information between the user terminal 50 and the server device 60.
  • the server device 60 provides a website for conversation between the user 40 and the conversation device 2000.
  • the user terminal 50 obtains a web page for having a conversation with the conversation device 2000 by accessing this web site using the browser software of the user terminal 50.
  • this web page is a chat page that displays a conversation between the user 40 and the conversation device 2000.
  • the user 40 transmits the input message 20 and receives the output message 10 at the user terminal 50.
  • a dedicated application for having a conversation with the conversation device 2000 may be installed on the user terminal 50.
  • the user 40 transmits the input message 20 and receives the output message 10 at the user terminal 50.
  • conversation device 2000 may be implemented as a robot that converses with a user.
  • the conversation device 2000 may be built into the robot, or may be realized as a server device that communicates with the robot via a network.
  • FIG. 5 is a flowchart illustrating the flow of processing executed by the conversation device 2000 of the embodiment.
  • the acquisition unit 2020 acquires the reference data 30 (S102).
  • the determining unit 2040 determines the output timing of the output message 10 using the reference data 30 (S104).
  • the conversation execution unit 2060 outputs the output message 10 at the determined output timing (S106).
  • the acquisition unit 2020 acquires the reference data 30 (S102).
  • various data can be employed as the reference data 30.
  • the schedule data of the user 40 can be used as the reference data 30.
  • the reference data 30 may be data representing various activities performed by the user 40.
  • Examples of data representing the activities of the user 40 include data representing the contents of emails sent by the user 40, data regarding comments made by the user 40 at events (such as meetings) in which the user 40 participated, or various networks such as SNS. Data regarding the activities of the user 40 in the service can be used.
  • the network service from which the reference data 30 is to be obtained may be one that only people belonging to a specific group, such as the company to which the user 40 belongs, can participate (in-house SNS, etc.); It may be something that unspecified people can participate in.
  • the data representing the activity of the user 40 may be data representing the frequency of input operations performed on the user terminal 50.
  • the reference data 30 may be data representing the state of the user 40.
  • the data representing the state of the user 40 is data representing the accuracy of inputs performed by the user 40 (few key input errors, etc.).
  • the data representing the state of the user 40 is observation data obtained by observing the user 40.
  • the observation data is generated by a sensor sensing the user 40.
  • the observation data generated by the sensor is, for example, a facial image generated by a camera that photographs the user's 40 face.
  • the observation data generated by the sensor is biological data generated from a biological signal emitted from the user 40. Biometric data is generated by biosensors that detect biosignals.
  • the biological data includes, for example, body temperature data and heartbeat data.
  • the acquisition unit 2020 acquires the reference data 30.
  • the reference data 30 is schedule data of the user 40.
  • the acquisition unit 2020 acquires schedule data from a storage unit in which schedule data is stored.
  • the schedule data of the user 40 is managed by a service on the 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.
  • the acquisition unit 2020 acquires the schedule data of the user 40 by accessing the network service where the schedule data of the user 40 is managed.
  • various existing techniques can be used as specific techniques for acquiring schedule data of a specific user from a network service.
  • the reference data 30 is data representing the content of the user's 40 email.
  • the acquisition unit 2020 acquires data representing the content of the user's 40 email by accessing the storage unit in which the user's 40 email is stored.
  • the acquisition unit 2020 may acquire data representing the content of the user's 40 email by accessing a mail server where the user's 40 email is managed.
  • the reference data 30 is data representing the user's 40 utterances at the event.
  • the reference data 30 is audio data or text data (minutes data, etc.) in which statements of each participant at the event are recorded.
  • the acquisition unit 2020 acquires the reference data 30 from the storage unit in which such audio data and text data are stored.
  • the reference data 30 is data representing the activity of the user 40 in the network service.
  • the acquisition unit 2020 accesses the network service and acquires data representing the user's 40 activities.
  • 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 SNS (for example, activity data in SNS).
  • the reference data 30 is data representing the frequency of input operations performed on the user terminal 50.
  • 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 uses the acquired information to generate data representing the frequency of input operations (for example, 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.
  • 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.
  • the reference data 30 is data representing the accuracy of the user's 40 input operation.
  • the acquisition unit 2020 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 uses the acquired information to generate data representing the accuracy of the input operation (for example, data representing the low frequency of key input errors).
  • various existing methods can be used as a specific method for generating data representing the accuracy of input operations from the history of input operations. Note that 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.
  • observation data 30 is observation data obtained by observing the user 40.
  • observation data is transmitted to conversation device 2000 from the sensor that generated the observation data.
  • the acquisition unit 2020 acquires observation data by receiving observation data transmitted from a sensor.
  • the acquisition unit 2020 may acquire observation data by accessing a storage unit in which observation data is stored.
  • the determining unit 2040 determines the output timing of the output message 10 (S104). For example, the determining 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.
  • the determining unit 2040 may determine the output timing of the output message 10 by repeatedly determining whether the current time is suitable as the output timing of 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 current timing is suitable for outputting the output message 10. Then, in response to the determining unit 2040 determining that the current time is suitable as the output timing for the output message 10, the conversation execution unit 2060 outputs the output message 10.
  • the output messages 10 are roughly divided into two types, for example, reply messages and non-reply messages.
  • the output timings of each of the reply message and other output messages 10 will be illustrated below.
  • the conversation execution unit 2060 generates the reply message and then immediately outputs the reply message.
  • the determining unit 2040 determines the output timing of a reply message representing a reply to the input message 20 based on the time when the input message 20 is acquired. For example, the determining unit 2040 sets the time obtained by adding the length of the response interval to the acquisition time of the input message 20 as the output timing of the output message 10.
  • the response interval is an interval from obtaining an input message 20 to outputting an output message 10 representing a response to the input message 20.
  • the length of the response interval may be statically determined or dynamically determined.
  • the length of the response interval is specified by the user 40.
  • the conversation device 2000 receives the designation of the length of the response interval from the user 40.
  • the length of the response interval may be specified as an absolute value such as "1 second", or may be specified as a relative value such as "long" or "short".
  • the person who specifies the response interval is not limited to the user 40, and may be the administrator of the conversation device 2000 or the like.
  • the length of the response interval is preferably determined so that the conversation with the user 40 becomes more natural.
  • the determining unit 2040 determines the length of the reply interval according to the length of the input message 20.
  • a function for converting the length of the input message 20 into the length of the reply interval is determined in advance.
  • the determining unit 2040 inputs the length of the input message 20 to this function, and uses the value output from this function as the length of the response interval.
  • the length of the input message 20 is determined by the number of characters in the character string representing the input message 20.
  • the length of the input message 20 may be expressed by the number of words included in the input message 20.
  • the function that converts the length of the input message 20 into the length of the response interval may be manually set by the administrator of the conversation device 2000, or may be automatically generated by analyzing data.
  • the function that converts the length of the input message 20 into the length of the response interval is defined as, for example, a monotonically non-decreasing function that outputs a larger value as the length of the input message 20 becomes longer.
  • a monotonically non-decreasing function that outputs a larger value as the length of the input message 20 becomes longer.
  • this function can be used to convert the length of the input message 20 to the appropriate length of the response interval. It is generated by regression analysis using multiple pieces of data.
  • the method for determining the length of the response interval is not limited to the method using the length of the input message 20.
  • the determining unit 2040 may determine the length of the response interval based on a history of the length of time that has elapsed from outputting the output message 10 to acquiring the input message 20 in the past. By doing so, it becomes possible to output the output message 10 in accordance with the rhythm of the user's 40 conversation.
  • the determining unit 2040 specifies the length of time from outputting the output message 10 to acquiring the input message 20 for each of the multiple interactions that have occurred with the user 40 so far, and Calculate length statistics. This statistical value is then used as the length of the response interval.
  • the determination unit 2040 uses the reference data 30 to determine the output timing, for example. There are various methods for determining the output timing using the reference data 30. For example, the determining unit 2040 uses the reference data 30 to identify a time when the user 40 has time to spare (sleep time), and determines the slack time as the output timing of the output message 10. If the user 40 does not have much time, it is likely that the user 40 is busy with work or the like, so it is highly likely that it is not desirable to output the output message 10. By setting the output timing at a time when the user 40 has plenty of time, the output message 10 can be output without interfering with the user's 40 work.
  • the determining unit 2040 uses the user's 40 schedule data to identify the most recent time at which no event is shown in the user's 40 schedule. The determining unit 2040 then uses the specified time as a margin time. In this case, the user's 40 schedule data is used as the reference data 30.
  • the determining unit 2040 selects the most recent 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 longer than a predetermined time. It may be calculated as a margin time.
  • the determining unit 2040 may continuously monitor the activities of the user 40 and set the timing at which the frequency of the user's 40 activities becomes low as the output timing. That is, the determination of "whether the present time is suitable as the output timing of the output message 10" is realized by the determination of "whether the current frequency of activity of the user 40 is low.” By doing so, the output message 10 is output when it is determined that the current activity frequency of the user 40 is low.
  • the output timing is set to be the timing when the user's 40 activity frequency becomes low, the output message 10 can be output without interfering with the user's 40 work.
  • the activity frequency of the user 40 can be expressed, for example, by the frequency of input operations on the user terminal 50.
  • data representing the frequency of input operations on the user terminal 50 is used as the reference data 30.
  • the determining 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 less than or equal to the threshold value. On the other hand, if the frequency of input operations on the user terminal 50 is greater than the threshold, the determining unit 2040 determines that the frequency of the user's 40 activities is not low.
  • the determining 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. That is, the determination of "whether the present time is suitable as the output timing for the output message 10" is realized by the determination of "whether the current concentration level of the user 40 is low.” By doing so, the output message 10 is output when it is determined that the current concentration level of the user 40 is low.
  • the output timing it is preferable to allow the user 40 to concentrate on work etc. while the user's concentration is high. Therefore, by setting the output timing to be the timing when the concentration level of the user 40 becomes low, the output message 10 can be outputted without interfering with the user's 40 work or the like.
  • an output message 10 urging a break is outputted at a timing when the user 40's concentration is low.
  • the determining unit 2040 periodically acquires reference data 30 and uses the acquired reference data 30 to determine whether the current concentration of the user 40 is low. If it is determined that the concentration level of the user 40 is low, it is determined that the current time is suitable as the output timing for the output message 10. On the other hand, if it is determined that the concentration level of the user 40 is not low, it is determined that the current time is not suitable as the timing for outputting the output message 10.
  • this determination is performed using a discrimination model that identifies whether or not the user's concentration is low in response to input of a predetermined type of data.
  • a discrimination model that identifies whether or not the user's concentration is low in response to input of a predetermined type of data.
  • various machine learning models such as neural networks can be used. This identification model is trained in advance using a plurality of training data consisting of pairs of ⁇ input data about a person and a flag indicating whether the person's concentration is low.''
  • observation data such as a facial image or biometric data of the user 40 can be used.
  • the determining unit 2040 continuously monitors the level of fatigue of the user 40 and detects the timing at which the level of fatigue of the user 40 becomes high as the output timing. That is, the determination of "whether the present time is suitable as the output timing for the output message 10" is realized by the determination of "whether the current user 40 is highly fatigued.” By doing so, the output message 10 is output when it is determined that the current degree of fatigue of the user 40 is high.
  • the output timing is such that the output message 10 urging the user to take a break is output at a timing when the user 40 is highly fatigued.
  • the determining unit 2040 periodically acquires the reference data 30 and uses the acquired reference data 30 to determine whether the current degree of fatigue of the user 40 is high. If it is determined that the fatigue level of the user 40 is high, it is determined that the current time is suitable as the output timing for the output message 10. On the other hand, if it is determined that the degree of fatigue of the user 40 is not high, it is determined that the current time is not suitable as the timing for outputting the output message 10.
  • this determination is performed using a discrimination model that identifies whether the user 40 is highly fatigued in response to input of a predetermined type of data.
  • a discrimination model that identifies whether the user 40 is highly fatigued in response to input of a predetermined type of data.
  • various machine learning models such as neural networks can be used. This identification model is trained in advance using a plurality of training data consisting of pairs of "input data about a person and a flag indicating whether the person is highly fatigued.”
  • observation data such as a facial image or biometric data of the user 40 can be used.
  • the determining unit 2040 determines that the user's 40 concentration is low. In this case, the determining unit 2040 obtains reference data 30 representing 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. The determining unit 2040 determines that the concentration of the user 40 is low when the number of operation errors per unit time is equal to or greater than the threshold value. On the other hand, if the number of operation errors per unit time is less than the threshold, the determining unit 2040 determines that the concentration of the user 40 is not low.
  • the same method may be used for all output messages 10 other than reply messages, or a different method may be used for each type of output message 10.
  • timing information that associates the type of output message 10 with the method for determining the output timing of the output message 10 of that type is stored in advance in a storage unit that is accessible from the conversation device 2000.
  • the determining unit 2040 uses timing information to identify a method for determining the output timing corresponding to the type of the output message 10. Then, the determining unit 2040 determines the output timing of the output message 10 using the specified determination method.
  • the conversation execution unit 2060 may be configured to use all of the data among the various data described above to determine the output timing, or may be configured to use some of the data to determine the output timing. You can. 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 for determining the output timing.
  • schedule data it may be possible to specify which type of event, out of multiple types of events, schedule data is to be used for determining the output timing.
  • the conversation execution unit 2060 outputs the output message 10 at the output timing determined by the determination unit 2040 (S106).
  • various modes can be adopted as the mode of outputting the output message 10.
  • the conversation execution unit 2060 displays character string data and image data representing the output message 10 on a display device.
  • the conversation execution unit 2060 causes a speaker or the like to output audio data representing the output message 10.
  • 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 implemented on different computers, the conversation execution unit 2060 transmits the output message 10 to the user terminal 50. .
  • 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.
  • the conversation model generates an output message 10 in response to a predetermined generation condition being met. Furthermore, the determining unit 2040 determines the output timing for the generated output message 10. Then, the conversation execution unit 2060 outputs the output message 10 at the output timing determined by the determination unit 2040.
  • various generation conditions can be determined depending on the type of output message 10.
  • the types of output messages 10 will be illustrated, and the generation conditions and the method for determining the contents of the output messages 10 will be illustrated for each of the illustrated types of output messages 10.
  • the conversation model utilizes various data, such as reference data 30, to generate the output message 10.
  • reference data 30 to generate the output message 10.
  • conditions for generating the output message 10 will be illustrated for each type of data used to generate the output message 10.
  • the conversation execution unit 2060 periodically acquires a portion of the schedule data of the user 40.
  • schedule data of the user 40 is acquired for a period of predetermined length starting from the current time.
  • the conversation model generates the output message 10 with the generation condition that "the schedule data includes a schedule related to a predetermined event."
  • the predetermined event is, for example, a meeting or a business trip. Note that instead of all events, only a specific event (for example, a meeting or business trip that meets specific requirements) may be treated as an event that satisfies the generation condition.
  • the conversation execution unit 2060 extracts event data representing information regarding each event from the acquired schedule data, and inputs the extracted event data to the conversation model.
  • the event data indicates, for example, the name of the event, the start time and end time of the event, and the location where the event will take place.
  • the conversation model uses input event data to determine whether the generation conditions described above are satisfied. For example, if the input event data represents an event such as a specific meeting, 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 meeting, the conversation model determines that the generation condition is not satisfied.
  • the conversation model If the generation conditions are met, for example, the conversation model generates an output message 10 to be output to the user 40 after the event ends.
  • Various types of output messages can be adopted as the output message 10 that is output after the event ends.
  • the output message 10 output after the end of the event is a message congratulating the end of the event, such as "Thank you for your hard work at the meeting.”
  • the output message 10 output after the event is a message urging the user to take a break, such as "Why don't you make some coffee and take a break?"
  • the output message 10 output after the end of an event is a message that prompts the start of a conversation regarding the ended event, such as "How was today's meeting?".
  • the output message 10 output after the event ends may be a combination of the various messages described above (such as "Thank you for the meeting. Why don't you make some coffee and take a break?").
  • the conversation model may generate an output message 10 that is output before the start of the event.
  • the output message 10 that is output before the start of the event is, for example, an encouraging message such as "Good luck in the meeting” or "Let's speak actively in today's meeting.”
  • the output message 10 that is output before the start of the event is a message urging the user not to forget anything, such as "Have you forgotten anything?".
  • the conversation model For example, assume that the sending time of the email sent by the user 40 is included in the overtime period. In this case, for example, the conversation model generates an output message 10 expressing effort, such as "Thank you for staying up late.” For example, assume that the number of times the user 40 sends e-mails on a given day is greater than a predetermined number of times (for example, the average number of e-mails sent per day). In this case, for example, the conversation model generates an output message 10 urging the user to take a break, such as "You seem busy. Why don't you take a break?"
  • ⁇ Data regarding comments made at the event>>> Assume that the data used to generate the output message 10 is data related to what the user 40 said at the event. In this case, for example, the number of comments made by the user 40 at the event is used as the generation condition. In this case, the conversation execution unit 2060 uses the reference data 30 to calculate the number of utterances made by the user 40, and inputs the number of times into the conversation model.
  • the conversation model If the number of inputs is greater than or equal to the first threshold, the conversation model generates an output message 10 that praises the user for speaking a lot, such as "You did a great job by saying a lot today.” On the other hand, if the number of utterances by the user 40 is less than or equal to the second threshold, the conversation model outputs an output message that encourages the user to increase the number of utterances, such as "Next time, try increasing the number of utterances.” Generate 10.
  • the same value may be used for the first threshold value and the second threshold value, or different values may be used for the first threshold value and the second threshold value. Note that in the latter case, a value larger than the second threshold is used as the first threshold.
  • the frequency of statements may be used instead of the number of statements.
  • the frequency of statements is expressed, for example, by the number of statements made per unit time.
  • the conversation model handles cases where the frequency of utterances is equal to or greater than a threshold value in the same way as cases where the number of utterances is equal to or greater than the threshold value.
  • the conversation model treats cases where the frequency of utterances is less than the threshold in the same way as cases where the number of utterances is less than the threshold.
  • the conversation model For example, assume that user 40 uploads a photo containing object X to SNS. In this case, for example, the conversation model generates an output message 10 such as "You have uploaded a photo of X.”
  • the conversation model generates an output message 10 such as "So you went to Y.”
  • ⁇ 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 an output message 10 representing a statement related to the state.
  • the conversation model generates an output message 10 urging a break when the user 40 has low concentration or high fatigue.
  • the method of determining whether the user's 40 has a low concentration level and the method of determining whether the user's 40 has a high degree of fatigue are as described above.
  • the conversation execution unit 2060 generates the output message 10 using only data other than the reference data 30, or generates the output message 10 using both data other than the reference data 30 and the reference data 30.
  • the conversation model acquires news data that is data representing news, and generates the output message 10 using the acquired news data.
  • news data may be acquired periodically or irregularly.
  • the conversation device 2000 is configured to receive push notification news data from a website or the like.
  • 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 the user 40 belongs, news distributed on an SNS in which the user 40 participates, and the like.
  • the conversation device 2000 may allow the user 40 to specify which news data will be used to generate the output message 10. For example, the user 40 specifies that only news data distributed within a specific group (for example, only news within the company to which the user belongs) is to be used in the output message 10.
  • the conversation model When using news data in this way, for example, the condition is "new news data has been received.”
  • the conversation model then generates an output message 10 representing the utterance regarding the news indicated in the newly received news data.
  • the conversation model may generate an output message 10 only if it receives news that is considered to be of interest to the user 40.
  • the generation condition is that "news data indicating news that is predicted to be of interest to the user 40 has been received.”
  • the conversation model determines whether the user 40 has the news represented by the news data. If it is determined that the user 40 is interested, the conversation model generates an output message 10.
  • the conversation device 2000 receives in advance an input specifying one or more types of news of interest, and stores the specified types of news in an arbitrary storage unit.
  • the conversation model determines that the news is of interest to the user 40 when the type of news indicated in the input news data matches the type specified in advance by the user 40 .
  • the conversation model may predict the types of news that the user 40 is interested in from various activities of the user 40.
  • the news that the user 40 is interested in may include a past conversation between the user 40 and the conversation device 2000, the contents of the user's email, a statement made at an event by the user 40, or the user's 40 activity on a network service. It is predicted from
  • the conversation execution unit 2060 may be configured to generate the output message 10 using all of the various data described above, or may generate the output message 10 using some of the data. It may be configured as follows. 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.
  • schedule data it may be possible to specify which type of event, out of multiple types of events, schedule data is to be used for generating the output message 10.
  • a reply message is generated based on the input message 20. For example, each time the conversation execution unit 2060 acquires an input message 20, it inputs the input message 20 into the conversation model.
  • the conversation model generates a reply message based on the input message 20 that has been input.
  • the conversation model may generate a reply message using not only the input message 20 input most recently but also the input message 20 input earlier.
  • the conversation execution unit 2060 may generate the output message 10 using psychological state data representing the psychological state of the user 40.
  • the conversation execution unit 2060 uses the psychological state data to identify a type that matches the psychological state of the user 40 from among a plurality of predetermined types of psychological states.
  • the conversation execution unit 2060 then generates the output message 10, taking into account the type of psychological state of the user 40 that has been identified.
  • the psychological state data of the user 40 is stored in advance in a storage unit that is accessible from the conversation device 2000.
  • a conversation model is prepared for each of a plurality of psychological states that the user 40 may have.
  • Each conversation model is configured to generate an output message 10 appropriate for a corresponding state of mind.
  • Conversation execution unit 2060 identifies the type of psychological state of user 40 using psychological state data. Then, the conversation execution unit 2060 inputs data (reference data 30, input message 20, etc.) used to generate the output message 10 into the conversation model corresponding to the specified type. Thereby, the conversation device 2000 can output an appropriate output message 10 according to the psychological state of the user 40.
  • the psychological state data indicates scores for each of one or more factors related to the psychological state of the user 40.
  • the psychological state data indicates scores 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.
  • the conversation execution unit 2060 uses happiness data representing the happiness level of the user 40 as psychological state data.
  • the happiness data is data indicating the user 40's score for each of the four factors of happiness disclosed in Non-Patent Document 1.
  • the method of expressing the user's happiness level is not limited to the method disclosed in Non-Patent Document 1.
  • Various types of psychological states can be adopted. For example, two types can be adopted: a good state and a bad state.
  • a conversation model is prepared for each type of psychological state, two conversations are created: one corresponding to the case where the user 40 is in a good psychological state and one corresponding to the case where the user 40 is not in a good psychological state.
  • a model is prepared.
  • the conversation execution unit 2060 uses the psychological state data to calculate an index value representing the degree of good psychological state of the user 40.
  • this index value for example, the statistical value (average value, median value, etc.) of the score shown in the psychological state data can be used.
  • the conversation execution unit 2060 determines that the psychological state of the user 40 is good when the calculated index value is greater than or equal to the threshold value. On the other hand, if the calculated index value is less than the threshold value, it is determined that the psychological state of the user 40 is not good.
  • the conversation execution unit 2060 determines whether the psychological state of the user 40 is good for each of the n factors. For example, when the psychological state data indicates scores for each of n factors, conversation execution unit 2060 determines whether the score of each of the n factors is equal to or greater than a threshold value. For factors whose scores are equal to or higher than the threshold, it is determined that the psychological state is good. On the other hand, for factors whose scores are less than the threshold, it is determined that the psychological state is not good.
  • the score threshold used to determine whether the psychological state is good or not.
  • the score threshold is statically set by the administrator of the conversation device 2000 or the like.
  • the score threshold is dynamically determined by the conversation execution unit 2060.
  • the conversation execution unit 2060 acquires a plurality of past psychological state data of the user 40, and calculates the statistical value of the score shown in each of the acquired past psychological state data. Then, the conversation execution unit 2060 uses the calculated statistical value as a threshold value.
  • the score threshold is determined using not only the scores of the user 40 but also the scores of people other than the user 40.
  • the conversation execution unit 2060 obtains the psychological state data of each other person belonging to the same group as the user 40, and calculates the statistical value of the score in that group. The calculated statistical value is then used as a score threshold for that group.
  • the score threshold may be determined using psychological state data of any person, not just those who belong to a specific group.
  • the score threshold is set for each factor.
  • different output messages 10 are generated depending on whether the score for the "Let's try it! factor, which is one of the four factors of happiness, is high or low.
  • a high score for the "Let's try it! factor indicates that the user 40 is highly motivated. Therefore, when the score of the "Let's try it! factor is equal to or higher than the threshold, an output message 10 with characteristics that promotes action is generated, such as "Check next week's schedule and do your best.” do.
  • a low score for the "Let's try it! factor indicates that the user 40 is in a state of low motivation.
  • the output message 10 with features that promote behavior of gratitude and praise, such as "Don't forget to express your gratitude this week," will be sent. Allow it to be generated.
  • a low score for 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 below the threshold, it is said to encourage behavior that focuses on others, such as "Let's express our gratitude to one person, no matter who it is.” An output message 10 having characteristics is generated.
  • the conversation device 2000 acquires psychological state data.
  • the psychological state data of the user 40 is stored in advance in a storage section that is accessible from the conversation device 2000.
  • the conversation device 2000 obtains the psychological state data of the user 40 by accessing this storage unit.
  • the psychological state data is generated using the results of a questionnaire conducted on the user 40.
  • Non-Patent Document 1 For example, assume that happiness level data indicating scores for each of the four factors of happiness disclosed in Non-Patent Document 1 is used as psychological state data.
  • Non-Patent Document 1 shows four questions for each of the four factors of happiness. That is, 16 questions for measuring the user's happiness level are disclosed. Therefore, the user 40 is asked to answer a questionnaire showing these 16 questions.
  • Happiness data can be generated based on the user's 40 answers to each of these 16 questions.
  • Non-Patent Document 1 More specifically, in Non-Patent Document 1, four answer values are obtained for each of the four factors. Therefore, as the score for each factor, the statistical value of the answer values for each of the four questions regarding that factor can be used.
  • Presentation of a questionnaire for generating psychological state data (for example, 16 questions regarding the four factors of happiness) and generation of psychological state data using the results of the questionnaire may be performed by the conversation device 2000, or This may be performed by a device other than the conversation device 2000.
  • the conversation device 2000 presents a questionnaire when the user 40 sets up a conversation with the conversation device 2000.
  • User 40 inputs answers to the questionnaire presented by conversation device 2000.
  • Conversation device 2000 uses this answer to generate psychological state data.
  • the conversation device 2000 uses the psychological state data to determine a conversation model to be used in the conversation with the user 40.
  • the conversation model generates the output message 10 based on various data input to the conversation model (hereinafter referred to as input data).
  • a method for generating the output message 10 from input data is, for example, predetermined as a generation rule.
  • a generation rule is predetermined such that when schedule data indicating a specific event is input, an output message "XXX thank you for your hard work" is generated.
  • the type and name of the event shown in the schedule data are embedded in the "XXX" portion.
  • the conversation model generates an output message 10 based on input data and generation rules.
  • conversation models are prepared for each of a plurality of psychological states
  • a generation rule prepared according to the psychological state corresponding to the conversation model is applied to each conversation model.
  • the conversation model may be composed of a machine learning model that is trained in advance to output the output message 10 in response to input data.
  • the conversation model is trained using a plurality of training data in which input data is associated with messages to be generated in response to the input data. Note that various existing methods can be used as specific methods for training a conversation model configured as a machine learning model.
  • each conversation model is trained using training data prepared according to the psychological state corresponding to the conversation model.
  • the conversation model may be configured to generate the output message 10 using one input data, or may be configured to generate the output message 10 using a plurality of time-series input data. good. For example, by treating time-series input messages 20 as input data, it is possible to generate output messages 10 that take into account the context of the conversation.
  • the conversation model learns characteristics such as the wording used in the output message 10. For example, the conversation model learns the characteristics of comments made to the user 40 by people around the user 40 from sentences included in emails received by the user 40, messages from other users to the user 40 on SNS, etc. Then, the conversation model generates the output message 10 so that the output message 10 has the same characteristics as the utterances of people around the user 40.
  • the conversation model generates the output message 10 using polite language.
  • the conversation model may learn the characteristics of the user's 40 comments from the content of the email sent by the user 40 or the user's 40 comments on SNS or the like. In this case, the conversation model generates the output message 10 so that it has characteristics similar to those of the user's 40 utterance.
  • the reference data 30 may be used to make the conversation model learn the characteristics of words to be included in the output message 10. For example, when there are multiple words with similar meanings, which word to use may differ depending on the person.
  • the conversation model learns the words included in the user's 40 utterances from the contents of the email sent by the user 40 or the user's 40 utterances on SNS or the like. In this case, the conversation model utilizes the same words that the user 40 utilizes to generate the output message 10. Learning such a conversation model can also be expressed as "generating or customizing a word dictionary using the user's 40 utterances.”
  • the data used to make the conversation model learn the various features described above is not limited to the reference data 30.
  • the conversation model may be made to learn the characteristics of the user's 40 utterances (input messages 20) in past conversations.
  • Conversation device 2000 may store the history of conversations with user 40 (that is, 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 the user 40 belongs. By doing so, it is possible to prevent the conversation history from being viewed by a person related to the user 40, such as the administrator of the group. Therefore, the privacy of the user 40 can be protected.
  • the conversation device 2000 may allow the user 40 to specify whether or not the conversation history can be viewed by a person other than the user 40.
  • the conversation device 2000 is operated in the company to which the user 40 belongs, the user 40 is allowed to specify whether or not the conversation history can be viewed by the user's boss or the like.
  • the conversation model of the conversation device 2000 is preferably updated through conversations with the user 40.
  • the conversation device 2000 is configured to behave as a pseudo person and have a conversation with the user 40.
  • the longer the user 40 has used the conversation device 2000 or the more times the user 40 has conversed with the conversation device 2000 the more the tone of the pseudo person expressed by the conversation device 2000 (i.e. , the wording in the output message 10) changes to a friendly tone.
  • the conversation device 2000 behaves as a pseudo person in this way, it may be possible to designate one type of the pseudo person from among a plurality of types.
  • the type of person that can be specified is, for example, the relationship with the user 40 (colleague, senior, boss, private friend, etc.), gender, or personality.
  • the conversation device 2000 may be configured to behave as a pseudo person who belongs to the same group (for example, department) as the user 40. In this case, when the user 40's affiliation is changed to a new group, the conversation device 2000 may also newly behave as a pseudo person in the new group. This can be achieved, for example, by initializing the conversation model in response to the user 40 being transferred to another department.
  • the conversation device 2000 may behave not as one pseudo person but as a plurality of pseudo persons and have a conversation with the user 40.
  • the conversation device 2000 normally converses with the user 40 as a first person, and at some timing converses with the user 40 as a different second person.
  • the conversation device 2000 normally behaves as a colleague in the same department as the user 40, and periodically or irregularly behaves as a colleague in another department.
  • Different conversation models are used for these conversations as different people. Note that when visually displaying the conversation between the user 40 and the conversation device 2000 on a chat page or the like, it is preferable to use a different display (for example, an avatar) for each person to whom the conversation device 2000 acts.
  • the conversation device 2000 may determine the type of the pseudo person using the input message 20 and the reference data 30. For example, the conversation device 2000 uses the content of the conversation with the user 40 (i.e., the content of the input message 20) and information that shows the work style of the user 40 (schedule data, email data, etc.) to identify the person type. select. For example, when conversation device 2000 finds out from the content of input message 20 that user 40 is not feeling well, it outputs output message 10 asking for details of the symptoms. Then, the conversation device 2000 selects an expert who matches the symptoms of the user 40 as the person type of the conversation device 2000, according to the content of the input message 20 representing a reply to the output message 10.
  • the conversation device 2000 selects an expert who matches the symptoms of the user 40 as the person type of the conversation device 2000, according to the content of the input message 20 representing a reply to the output message 10.
  • the conversation device 2000 selects a health manager as the person type.
  • the conversation device 2000 selects an industrial physician as the person type.
  • the conversation device 2000 may immediately select an industrial physician as the person type.
  • the conversation device 2000 selects a person in an appropriate position as the person type of the conversation device 2000 based on the schedule data. For example, if the schedule data includes many meetings with customers or other departments, the conversation device 2000 selects the conversation model of a senior employee as the person type so that the person behaves as a person with a lot of experience. On the other hand, if the schedule data does not include many such meetings, conversation device 2000 selects colleague as the person type.
  • the conversation device 2000 determines the person type based on information that can grasp the private life of the user 40 (for example, data representing activities on SNS etc.). select. For example, when the user 40 is preparing for a special life event (such as marriage, childbirth, or child's higher education), the conversation device 2000 selects a financial advisor as the person type. On the other hand, if such a life event is not forthcoming, the conversation device 2000 selects a colleague, a senior employee, or a friend outside the company as the person type.
  • a special life event such as marriage, childbirth, or child's higher education
  • the conversation device 2000 may automatically switch the person type (that is, switch the conversation model), or may perform the switch after obtaining the consent of the user 40.
  • the conversation device 2000 asks the user 40 about switching the person type through a conversation such as "I know someone who is an industrial doctor, so would you like to consult with him?" Then, the conversation device 2000 switches the person type when consent is obtained from the user 40. Note that when the person type is switched, by taking over the content of the conversation up to that point, it is possible to start a conversation that reflects the past events to some extent.
  • the program includes a set of instructions (or software code) for causing the computer to perform one or more of the functions described in the embodiments when loaded into the computer.
  • the program may be stored on a non-transitory computer readable medium or a tangible storage medium.
  • computer readable or tangible storage media may include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD - Including ROM, digital versatile disc (DVD), Blu-ray disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disc storage or other magnetic storage device.
  • the program may be transmitted on a transitory computer-readable medium or a communication medium.
  • transitory computer-readable or communication media includes electrical, optical, acoustic, or other forms of propagating signals.
  • an acquisition means for acquiring reference data regarding the user; determining means for determining an output timing for outputting an output message to the user 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 executing means outputs at least one of the output messages at the determined output timing,
  • At least one of the reference data used by the determining means includes schedule data of the user, data regarding the content of the user's email, data regarding the content of the user's remarks at an event, and the user's activities in a network service.
  • a conversation device comprising data regarding the content of the user, data regarding the frequency or accuracy of input operations performed by the user, or data generated from biological signals emitted by the user.
  • the determining means is obtaining schedule data of the user as the reference data;
  • the determining means is obtaining data regarding input operations performed by the user as the reference data; Calculating the user's activity frequency, level of concentration, or level of fatigue using data related to the input operation, Supplementary Note 1, wherein the output timing is determined to be a timing when the user's activity frequency is below a threshold value, a timing when the user's concentration is below the threshold value, or a timing when the user's fatigue level is above the threshold value.
  • Conversation device is obtaining data regarding input operations performed by the user as the reference data; Calculating the user's activity frequency, level of concentration, or level of fatigue using data related to the input operation, Supplementary Note 1, wherein the output timing is determined to be a timing when the user's activity frequency is below a threshold value, a timing when the user's concentration is below the threshold value, or a timing when the user's fatigue level is above the threshold value.
  • the conversation execution means includes: obtaining psychological state data representing the psychological state of the user; identifying the type of psychological state of the user from among multiple types of psychological states using the psychological state data; The conversation device according to any one of Supplementary Notes 1 to 3, wherein the conversation device generates the output message based on the identified type of psychological state of the user.
  • the conversation execution means includes: It has conversation models that correspond to multiple types of psychological states, The conversation device according to appendix 4, wherein the conversation device generates the output message using the conversation model corresponding to the identified type of psychological state of the user.
  • the psychological state data indicates scores for each of a plurality of factors representing the degree of happiness
  • the conversation execution means includes: The conversation device according to appendix 4, wherein the type of psychological state of the user is specified by determining whether or not a score of at least one factor indicated by the psychological state data is equal to or higher than a threshold value.
  • (Appendix 7) a retrieval step of retrieving reference data about the 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; The conversation execution step outputs at least one of the output messages at the determined output timing, At least one of the reference data used in the determining step includes schedule data of the user, data regarding the content of the user's email, data regarding the content of the user's remarks at an event, and the user's activities in a network service.
  • a computer-implemented conversation method comprising data regarding the content of the user, data regarding the frequency or accuracy of input operations performed by the user, or data generated from biological signals emitted by the user.
  • Appendix 8 In the determining step, obtaining schedule data of the user as the reference data; The conversation method according to appendix 7, wherein the output timing is determined to be before or after the event indicated in the schedule data.
  • the output timing is determined to be a timing when the user's activity frequency is below a threshold value, a timing when the user's concentration is below the threshold value, or a timing when the user's fatigue level is above the threshold value. Conversation method.
  • (Appendix 10) In the conversation execution step, obtaining psychological state data representing the psychological state of the user; identifying the type of psychological state of the user from among multiple types of psychological states using the psychological state data; The conversation method according to any one of appendices 7 to 9, wherein the output message is generated based on the identified type of psychological state of the user.
  • (Appendix 11) In the conversation execution step, It has conversation models that correspond to multiple types of psychological states, The conversation method according to appendix 10, wherein the output message is generated using the conversation model corresponding to the identified type of psychological state of the user.
  • the psychological state data indicates scores for each of a plurality of factors representing the degree of happiness,
  • the conversation method according to appendix 10 wherein the type of psychological state of the user is identified by determining whether or not a score of at least one factor indicated by the psychological state data is equal to or higher than a threshold value.
  • (Appendix 13) a retrieval step of retrieving reference data about the user; a determining step of determining an output timing for outputting an output message to the user using the reference data;
  • At least one of the reference data used in the determining step includes schedule data of the user, data regarding the content of the user's email, data regarding the content of the user's remarks at an event, and the user's activities in a network service.
  • a non-transitory computer-readable medium containing data regarding the content of the user, data regarding the frequency or accuracy of input operations performed by the user, or data generated from biological signals emitted by the user.
  • Appendix 14 In the determining step, obtaining schedule data of the user as the reference data; The computer-readable medium according to appendix 13, wherein the output timing is determined to be before or after the event indicated in the schedule data.
  • Appendix 17 In the conversation execution step, It has conversation models that correspond to multiple types of psychological states, 17.
  • the psychological state data indicates scores for each of a plurality of factors representing the degree of happiness,
  • the computer-readable medium according to appendix 16 wherein the type of psychological state of the user is specified by determining whether or not a score of at least one factor indicated by the psychological state data is equal to or higher than a threshold value.
  • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

会話装置(2000)は、参照データ(30)を利用して、ユーザ(40)へ出力メッセージを出力する出力タイミングを決定する。会話装置(2000)は、ユーザ(40)によって入力された入力メッセージ(20)の取得と、ユーザ(40)に対する出力メッセージ(10)の出力とによって、ユーザ(40)との会話を実行する。ここで、少なくとも1つの出力メッセージ(10)は、上記決定された出力タイミングで出力される。参照データ(30)の少なくとも1つには、ユーザ(40)のスケジュールデータ、ユーザ(40)のメールの内容に関するデータ、イベントにおけるユーザ(40)の発言の内容に関するデータ、ネットワークサービスにおけるユーザ(40)の活動の内容に関するデータ、ユーザ(40)によって行われた入力操作の頻度若しくは正確性に関するデータ、又はユーザ(40)から発せられる生体信号から生成されたデータが含まれる。

Description

会話装置、会話方法、及び非一時的なコンピュータ可読媒体
 本開示は、会話装置、会話方法、及び非一時的なコンピュータ可読媒体に関する。
 ユーザに対してメッセージを出力するコンピュータが開発されている。例えば特許文献1は、ユーザに対して発話するロボットを開示している。特許文献1のロボットは、ユーザの画像を利用して、現在のユーザの姿勢を「立っている」、「座っている」、及び「横たわっている」のいずれか1つに分類する。また、特許文献1のロボットは、ユーザの画像を利用して、現在のユーザの活動状態を「活動している」と「静止している」のいずれか1つに分類する。さらに、特許文献1のロボットは、環境音を表す音声データを利用して、現在の環境音を、発話するとユーザが不機嫌になる環境音と、発話してもユーザが不機嫌にならない環境音とに分類する。そして、特許文献1のロボットは、これらの分類の結果に基づいて、発話するとユーザが不機嫌になるか否かを判定し、発話してもユーザが不機嫌にならないと判定した場合に、発話を行う。
特開2019-113696号公報
「幸福度の推奨アンケート(SWLS、幸せの4因子など)について」、[online]、慶應義塾大学大学院システムデザイン・マネジメント研究科ヒューマンシステムデザイン研究室、[2022年2月16日検索]、インターネット<URL: http://lab.sdm.keio.ac.jp/maenolab/questionnaire.html>
 ユーザに対して適切にメッセージを出力する方法は、前述したユーザの姿勢の分類、活動状態の分類、及び環境音の分類に基づいて発話のタイミングを決定する方法だけには限定されない。本開示はこのような課題に鑑みてなされたものであり、その目的の一つは、ユーザに対してメッセージを出力する新たな技術を提供することである。
 本開示の会話装置は、ユーザに関する参照データを取得する取得手段と、前記参照データを利用して、前記ユーザへ出力メッセージを出力する出力タイミングを決定する決定手段と、前記ユーザによって入力された入力メッセージの取得と、前記ユーザに対する出力メッセージの出力とによって、前記ユーザとの会話を実行する会話実行手段と、を有する。
 前記会話実行手段は、少なくとも1つの前記出力メッセージを、前記決定された出力タイミングで出力する。
 前記決定手段によって利用される前記参照データの少なくとも1つには、前記ユーザのスケジュールデータ、前記ユーザのメールの内容に関するデータ、イベントにおける前記ユーザの発言の内容に関するデータ、ネットワークサービスにおける前記ユーザの活動の内容に関するデータ、前記ユーザによって行われた入力操作の頻度若しくは正確性に関するデータ、又は前記ユーザから発せられる生体信号から生成されたデータが含まれる。
 本開示の会話方法は、コンピュータによって実行される。当該方法は、ユーザに関する参照データを取得する取得ステップと、前記参照データを利用して、前記ユーザへ出力メッセージを出力する出力タイミングを決定する決定ステップと、前記ユーザによって入力された入力メッセージの取得と、前記ユーザに対する出力メッセージの出力とによって、前記ユーザとの会話を実行する会話実行ステップと、を有する。
 前記会話実行ステップにおいて、少なくとも1つの前記出力メッセージを、前記決定された出力タイミングで出力する。
 前記決定ステップによって利用される前記参照データの少なくとも1つには、前記ユーザのスケジュールデータ、前記ユーザのメールの内容に関するデータ、イベントにおける前記ユーザの発言の内容に関するデータ、ネットワークサービスにおける前記ユーザの活動の内容に関するデータ、前記ユーザによって行われた入力操作の頻度若しくは正確性に関するデータ、又は前記ユーザから発せられる生体信号から生成されたデータが含まれる。
 本開示の非一時的なコンピュータ可読媒体は、本開示の情報提供方法をコンピュータに実行させるプログラムを格納している。
 本開示によれば、ユーザに対してメッセージを出力する新たな技術が提供される。
実施形態の会話装置の動作の概要を例示する図である。 会話装置の機能構成を例示するブロック図である。 会話装置を実現するコンピュータのハードウエア構成を例示するブロック図である。 会話装置の利用環境を例示する図である。 会話装置によって実行される処理の流れを例示するフローチャートである。
 以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。また、特に説明しない限り、所定値や閾値などといった予め定められている値は、その値を利用する装置からアクセス可能な記憶装置などに予め格納されている。さらに、特に説明しない限り、記憶部は、1つ以上の任意の数の記憶装置によって構成される。
<概要>
 図1は、実施形態の会話装置2000の概要を例示する図である。ここで、図1は、会話装置2000の概要の理解を容易にするための図であり、会話装置2000の動作は、図1に示したものに限定されない。
 会話装置2000は、ユーザ40と会話をする機能を持つ。ここでいうユーザ40との会話とは、ユーザ40との間でメッセージのやりとりを行うことを意味する。会話装置2000は、ユーザ40が閲覧可能な態様で、出力メッセージ10を出力する。また、会話装置2000は、ユーザ40によって入力されたメッセージである入力メッセージ20を取得する。
 出力メッセージ10は、ユーザ40と会話装置2000との会話における、会話装置2000の発言ということができる。一方、入力メッセージ20は、ユーザ40と会話装置2000との会話における、ユーザ40の発言ということができる。ここで、出力メッセージ10は、入力メッセージ20に対する返答を表すメッセージ(以下、返答メッセージ)であってもよいし、返答メッセージ以外のメッセージであってもよい。
 このようにユーザと会話をするコンピュータの機能の一つとして、「チャットボット」などと呼ばれるものがある。ただし、会話装置2000は、チャットボットと呼ばれる種類のものには限定されない。
 会話装置2000は、ユーザ40に対して出力する出力メッセージ10の全て又は一部について、その出力のタイミングを、参照データ30を利用して決定する。そして、会話装置2000は、決定した出力タイミングで出力メッセージ10を出力する。
 参照データ30は、ユーザ40に関する情報を示すデータである。ここで、会話装置2000によって利用される参照データ30の少なくとも1つには、ユーザ40のスケジュールデータ、ユーザ40のメールの内容に関するデータ、会議等のイベントにおけるユーザ40の発言の内容に関するデータ、SNS(Social Networking Service)等のネットワークサービスにおけるユーザ40の活動の内容に関するデータ、ユーザ40によって行われる入力操作の頻度若しくは正確性に関するデータ、又はユーザ40から発せられる生体信号から生成された生体データが含まれる。ただし、会話装置2000は、ここで挙げた種類のデータの少なくとも1つ以上を参照データ30として利用すればよく、これらの種類のデータに加え、他の種類のデータを参照データ30として利用してもよい。
 例えば、参照データ30として、ユーザ40のスケジュールデータを利用するとする。この場合、例えば会話装置2000は、スケジュールデータに基づいて、ユーザ40の時間に余裕がある時刻(以下、余裕時刻)を特定し、その余裕時刻に出力メッセージ10を出力する。なお、余裕時刻は出力タイミングの一例であり、出力タイミングは余裕時刻に限定されない。
 なお、参照データ30を利用せずに出力タイミングが決定される出力メッセージ10が存在してもよい。例えば会話装置2000は、返答メッセージ以外の出力メッセージ10については、参照データ30を利用して出力タイミングを決定する一方で、返答メッセージについては、参照データ30を利用せずに出力タイミングを決定するように構成されてもよい。例えば返答メッセージは、生成された直後に出力される。その他にも例えば、返答メッセージは、入力メッセージ20を取得した時刻から所定の時間が経過した後に出力される。ただし、返答メッセージの出力タイミングは、ここで例示したタイミングに限定されない。また、返答メッセージの出力タイミングは、参照データ30を利用して決定されてもよい。返答メッセージの出力タイミングのその他の例については後述する。
<作用効果の例>
 本実施形態の会話装置2000によれば、ユーザ40に対して出力される出力メッセージ10のうち、少なくとも1つの出力メッセージ10の出力タイミングが、参照データ30を利用して決定される。また、参照データ30の少なくとも1つは、ユーザ40のスケジュールデータ、ユーザ40のメールの内容に関するデータ、会議等のイベントにおけるユーザ40の発言の内容に関するデータ、ネットワークサービスにおけるユーザ40の活動の内容に関するデータ、ユーザ40によって行われる入力操作の頻度若しくは正確性に関するデータ、又はユーザ40から発せられる生体信号から生成された生体データが含まれる。このように、会話装置2000によれば、ユーザ40に対してメッセージを出力するタイミングを決定する新たな技術が提供される。
 以下、本実施形態の会話装置2000について、より詳細に説明する。
<機能構成の例>
 図2は、実施形態の会話装置2000の機能構成を例示するブロック図である。会話装置2000は、取得部2020、決定部2040、及び会話実行部2060を有する。取得部2020は参照データ30を取得する。決定部2040は、参照データ30を利用して、出力メッセージ10の出力タイミングを決定する。会話実行部2060は、決定した出力タイミングで出力メッセージ10を出力する。
<ハードウエア構成の例>
 会話装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、会話装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図3は、会話装置2000を実現するコンピュータ1000のハードウエア構成を例示するブロック図である。コンピュータ1000は、任意のコンピュータである。例えばコンピュータ1000は、PC(Personal Computer)やサーバマシンなどといった、据え置き型のコンピュータである。その他にも例えば、コンピュータ1000は、スマートフォンやタブレット端末などといった可搬型のコンピュータである。コンピュータ1000は、会話装置2000を実現するために設計された専用のコンピュータであってもよいし、汎用のコンピュータであってもよい。
 例えば、コンピュータ1000に対して所定のアプリケーションをインストールすることにより、コンピュータ1000で、会話装置2000の各機能が実現される。上記アプリケーションは、会話装置2000の各機能構成部を実現するためのプログラムで構成される。なお、上記プログラムの取得方法は任意である。例えば、当該プログラムが格納されている記憶媒体(DVD ディスクや USB メモリなど)から、当該プログラムを取得することができる。その他にも例えば、当該プログラムが格納されている記憶装置を管理しているサーバ装置から、当該プログラムをダウンロードすることにより、当該プログラムを取得することができる。
 コンピュータ1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
 プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
 入出力インタフェース1100は、コンピュータ1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
 ネットワークインタフェース1120は、コンピュータ1000をネットワークに接続するためのインタフェースである。このネットワークは、LAN(Local Area Network)であってもよいし、WAN(Wide Area Network)であってもよい。
 ストレージデバイス1080は、会話装置2000の各機能構成部を実現するプログラム(前述したアプリケーションを実現するプログラム)を記憶している。プロセッサ1040は、このプログラムをメモリ1060に読み出して実行することで、会話装置2000の各機能構成部を実現する。
 会話装置2000は、1つのコンピュータ1000で実現されてもよいし、複数のコンピュータ1000で実現されてもよい。後者の場合において、各コンピュータ1000の構成は同一である必要はなく、それぞれ異なるものとすることができる。
<会話装置2000の利用環境の例>
 会話装置2000に関する理解をより容易にするために、会話装置2000の利用環境を例示する。図4は、会話装置2000の利用環境を例示する図である。例えば会話装置2000は、図4の上段に示されているように、ユーザ端末50で実現される。ユーザ端末50は、ユーザ40によって利用される任意のコンピュータ(デスクトップ PC、ラップトップ PC、スマートフォン、又はタブレット端末など)である。例えば、コンピュータに会話装置2000としての機能を持たせるアプリケーションをユーザ端末50にインストールすることにより、ユーザ端末50で会話装置2000を実現することができる。
 ユーザ端末50の利用用途は任意である。例えばユーザ端末50は、ユーザ40が職場で職務の遂行に利用する端末である。その他にも例えば、ユーザ端末50は、ユーザ40がプライベートで利用する携帯端末や自宅の端末であってもよい。
 例えばユーザ端末50は、ユーザ端末50に設けられているディスプレイ装置や、ユーザ端末50に接続されているディスプレイ装置などに表示されるように、出力メッセージ10を出力する。その他にも例えば、ユーザ端末50は、音声データとして出力メッセージ10を出力してもよい。
 ユーザ40は、ユーザ端末50に対して入力操作を行うことで、入力メッセージ20の入力を行う。入力操作は、ハードウエアキーボードやソフトウエアキーボードを利用して行われてもよいし、音声入力によって行われてもよい。ユーザ端末50は、このような種々の方法で入力された入力メッセージ20を取得する。
 会話装置2000は、ユーザ40からのメッセージに返答してもよいし、自ら会話を開始してもよい。後者の場合、例えば会話装置2000は、種々のタイミングで出力メッセージ10を出力することで、会話を開始する。例えば、ユーザ40が会社に出勤してユーザ端末50を起動したら、会話装置2000は、朝の挨拶や励ましを表す出力メッセージ10を出力する。その他にも例えば、会話装置2000は、ユーザ40が疲れているタイミングで、休憩を促す出力メッセージ10を出力する。出力メッセージ10の内容や出力タイミングのその他のバリエーションについては後述する。
 会話装置2000は、ユーザ40の雑談相手になることで、ユーザ40の心理状態を良好にする(例えば、幸福度を上げる)ことが好適である。例えば会話装置2000は、あたかもユーザ40の同僚、先輩、上司、又は社外の友人などのように振る舞って、ユーザ40と会話を行う。ただし、会話装置2000の利用目的は、ユーザ40の心理状態を良好にすることには限定されない。
 会話装置2000は、ユーザ端末50以外のコンピュータで実現されてもよい。例えば、図4の下段の図において、会話装置2000は、サーバ装置60で実現されている。この例において、ユーザ端末50は、ネットワークを介してユーザ端末50と接続されており、ユーザ40とサーバ装置60との間のインタフェースとして機能する。具体的には、ユーザ端末50は、サーバ装置60から出力された出力メッセージ10を受信して、受信した出力メッセージ10を出力する。また、ユーザ端末50は、ユーザ40から入力メッセージ20の入力を受け付け、入力された入力メッセージ20をサーバ装置60へ送信する。
 このようにサーバ装置60で会話装置2000が実現されるケースにおいて、ユーザ端末50とサーバ装置60との間で情報のやりとりをする方法は様々である。例えばサーバ装置60は、ユーザ40と会話装置2000との間で会話を行うための Web サイトを提供する。ユーザ端末50は、ユーザ端末50のブラウザソフトウエアを利用してこの web サイトにアクセスすることで、会話装置2000と会話をするための web ページを取得する。例えばこの web ページは、ユーザ40と会話装置2000との会話を表示するチャットページである。ユーザ40は、この web ページを利用することにより、ユーザ端末50で、入力メッセージ20の送信及び出力メッセージ10の受信を行う。 
 その他にも例えば、会話装置2000と会話を行うための専用アプリケーションが、ユーザ端末50にインストールされてもよい。ユーザ40は、このアプリケーションを利用することにより、ユーザ端末50で、入力メッセージ20の送信及び出力メッセージ10の受信を行う。
 図4を説明した会話装置2000の利用環境はあくまで例示であり、会話装置2000の利用環境はここで説明されるものに限定されない。例えば会話装置2000は、ユーザと会話するロボットとして実現されてもよい。この場合、会話装置2000は、ロボットの内部に組み込まれてもよいし、ネットワークを介してロボットと通信するサーバ装置として実現されてもよい。
<処理の流れ>
 図5は、実施形態の会話装置2000によって実行される処理の流れを例示するフローチャートである。取得部2020は、参照データ30を取得する(S102)。決定部2040は、参照データ30を利用して、出力メッセージ10の出力タイミングを決定する(S104)。会話実行部2060は、決定した出力タイミングで出力メッセージ10を出力する(S106)。
<参照データ30の取得:S102>
 取得部2020は、参照データ30を取得する(S102)。前述したように、参照データ30としては、様々なデータを採用することができる。例えば前述したように、ユーザ40のスケジュールデータを参照データ30として利用することができる。その他にも例えば、参照データ30は、ユーザ40が行った種々の活動を表すデータであってもよい。
 ユーザ40の活動を表すデータとしては、例えば、ユーザ40によって送信されたメールの内容を表すデータ、ユーザ40が参加したイベント(会議など)におけるユーザ40の発言に関するデータ、又は SNS 等の種々のネットワークサービスにおけるユーザ40の活動に関するデータなどを利用することができる。なお、参照データ30の取得対象とするネットワークサービスは、ユーザ40が所属している会社などといった特定のグループに属している人のみが参加可能なもの(社内 SNS など)であってもよいし、不特定の人が参加可能なものであってもよい。その他にも例えば、ユーザ40の活動を表すデータは、ユーザ端末50に対して行われる入力操作の頻度を表すデータであってもよい。
 その他にも例えば、参照データ30は、ユーザ40の状態を表すデータであってよい。例えばユーザ40の状態を表すデータは、ユーザ40によって行われた入力の正確性の高さ(キー入力ミスの少なさなど)を表すデータである。その他にも例えば、ユーザ40の状態を表すデータは、ユーザ40を観測することで得られる観測データである。例えば観測データは、ユーザ40をセンシングするセンサによって生成される。センサによって生成される観測データは、例えば、ユーザ40の顔を撮影するカメラによって生成される顔画像である。その他にも例えば、センサによって生成される観測データは、ユーザ40から発せられる生体信号から生成される生体データである。生体データは、生体信号を検出する生体センサによって生成される。生体データは、例えば、体温データや心拍データなどである。
 取得部2020が参照データ30を取得する方法は様々である。例えば参照データ30がユーザ40のスケジュールデータであるとする。例えば取得部2020は、スケジュールデータが格納されている記憶部から、スケジュールデータを取得する。その他にも例えば、ユーザ40のスケジュールデータがネットワーク上のサービスで管理されているとする。これは例えば、クラウドサービスとして提供されているカレンダーシステムで、ユーザ40のスケジュールが管理されているような場合である。この場合、取得部2020は、ユーザ40のスケジュールデータが管理されているネットワークサービスへアクセスすることで、ユーザ40のスケジュールデータを取得する。ここで、特定のユーザのスケジュールデータをネットワークサービスから取得する具体的な技術には、既存の種々の技術を利用することができる。
 参照データ30がユーザ40のメールの内容を表すデータであるとする。例えば取得部2020は、ユーザ40のメールが格納されている記憶部にアクセスすることで、ユーザ40のメールの内容を表すデータを取得する。その他にも例えば、取得部2020は、ユーザ40のメールが管理されているメールサーバにアクセスすることで、ユーザ40のメールの内容を表すデータを取得してもよい。
 参照データ30がイベントにおけるユーザ40の発言を表すデータであるとする。この場合、例えば参照データ30は、イベントにおける各参加者の発言が記録されている音声データやテキストデータ(議事録データなど)である。取得部2020は、このような音声データやテキストデータが格納されている記憶部から、参照データ30を取得する。
 参照データ30が、ネットワークサービスにおけるユーザ40の活動を表すデータであるとする。この場合、例えば取得部2020は、当該ネットワークサービスにアクセスして、ユーザ40の活動を表すデータを取得する。ここで、SNS 等のネットワークサービスにおける特定のユーザの活動を表すデータ(例えば、SNS におけるアクティビティデータ)を取得する具体的な手法には、既存の種々の手法を利用することができる。
 参照データ30が、ユーザ端末50に対して行われる入力操作の頻度を表すデータであるとする。この場合、例えば取得部2020は、ユーザ端末50上でキー入力等の入力操作を監視するソフトウエアから、ユーザ40によって行われた入力操作の履歴を表す情報を取得する。そして取得部2020は、取得した情報を用いて、入力操作の頻度を表すデータ(例えば、単位時間当たりの入力操作の回数を表すデータ)を生成する。ここで、特定のユーザによって行われた入力操作の履歴を表すデータを取得する方法には、既存の種々の方法を利用することができる。なお、入力操作の履歴を用いて入力操作の頻度を表すデータを生成する処理は、会話装置2000以外によって行われてもよい。
 参照データ30が、ユーザ40の入力操作の正確性を表すデータであるとする。この場合も取得部2020は、例えば、ユーザ端末50上で入力操作を監視するソフトウエアから、ユーザ40によって行われた入力操作の履歴を表す情報を取得する。そして取得部2020は、取得した情報を用いて、入力操作の正確性を表すデータ(例えばキー入力ミスの頻度の低さを表すデータ)を生成する。ここで、入力操作の履歴から入力操作の正確性を表すデータを生成する具体的な方法には、既存の種々の方法を利用することができる。なお、入力操作の履歴を用いて入力操作の正確性を表すデータを生成する処理は、会話装置2000以外によって行われてもよい。
 参照データ30が、ユーザ40を観測することで得られる観測データであるとする。この場合、例えば観測データは、その観測データを生成したセンサから、会話装置2000へ送信される。取得部2020は、センサから送信された観測データを受信することで、観測データを取得する。その他にも例えば、取得部2020は、観測データが格納されている記憶部にアクセスすることで、観測データを取得してもよい。
<出力タイミングの決定:S104>
 決定部2040は、出力メッセージ10の出力タイミングを決定する(S104)。例えば決定部2040は、出力メッセージ10の出力タイミングとして将来の時刻を算出し、算出した時刻に出力メッセージ10が出力されるように設定する。この場合、設定した時刻が到来するまで、出力メッセージ10の出力が保留される。そして、設定した時刻が到来したことに応じて、会話実行部2060が、出力メッセージ10の出力を行う。
 その他にも例えば、決定部2040は、現在が出力メッセージ10の出力タイミングとして適しているか否かを繰り返し判定することで、出力メッセージ10の出力タイミングを決定してもよい。この場合、会話実行部2060によって出力メッセージ10が生成された後、現在がその出力メッセージ10の出力タイミングとして適していると判定されるまで、出力メッセージ10の出力が保留される。そして、決定部2040により、現在が出力メッセージ10の出力タイミングとして適していると判定されたことに応じて、会話実行部2060が、出力メッセージ10の出力を行う。
 出力メッセージ10は、例えば、返答メッセージと、返答メッセージ以外という2つの種類に大別される。以下、返答メッセージとそれ以外の出力メッセージ10のそれぞれについて、その出力タイミングを例示する。
<<返答メッセージの出力タイミング>>
 対象メッセージが返答メッセージである場合、例えば会話実行部2060は、返答メッセージを生成した後、即時にその返答メッセージを出力する。その他にも例えば、決定部2040が、入力メッセージ20を取得した時刻に基づいて、その入力メッセージ20への返答を表す返答メッセージの出力タイミングを決定する。例えば決定部2040は、入力メッセージ20の取得時刻に対して返答インターバルの長さを加算した時刻を、出力メッセージ10の出力タイミングとして設定する。返答インターバルは、入力メッセージ20を取得してから、その入力メッセージ20に対する返答を表す出力メッセージ10を出力するまでのインターバルである。
 ここで、返答インターバルの長さは、静的に定められていてもよいし、動的に決定されてもよい。前者の場合、例えば返答インターバルの長さは、ユーザ40によって指定される。この場合、会話装置2000は、返答インターバルの長さの指定をユーザ40から受け付ける。返答インターバルの長さは、「1秒」などのように絶対的な値で指定されてもよいし、「長め」や「短め」などのような相対的な値で指定されてもよい。なお、返答インターバルを指定する人物はユーザ40には限定されず、会話装置2000の管理者などであってもよい。
 返答インターバルが動的に決定される場合、返答インターバルの長さは、ユーザ40との会話がより自然なものとなるように決定されることが好適である。返答インターバルの長さを動的に決定する方法は様々である。例えば決定部2040は、入力メッセージ20の長さに応じて、返答インターバルの長さを決定する。この場合、例えば、入力メッセージ20の長さを返答インターバルの長さに変換する関数を予め定めておく。決定部2040は、入力メッセージ20の長さをこの関数に入力し、この関数から出力された値を、返答インターバルの長さとして利用する。
 ここで、入力メッセージ20の長さを定める尺度は様々である。例えば入力メッセージ20の長さは、入力メッセージ20を表す文字列の文字数で定められる。その他にも例えば、入力メッセージ20の長さは、入力メッセージ20に含まれる単語の数で表されてもよい。
 入力メッセージ20の長さを返答インターバルの長さに変換する関数は、会話装置2000の管理者等によって手動で設定されてもよいし、データの解析によって自動的に生成されてもよい。前者の場合、入力メッセージ20の長さを返答インターバルの長さに変換する関数は、例えば、入力メッセージ20の長さが長いほど大きい値を出力する単調非減少関数として定められる。ここで、人同士が会話をする場合、一方の人の発言が長いほど、他方の人がその発言に対する返答を考えるために要する時間が長くなる蓋然性が高い。そこで、入力メッセージ20の長さが長いほど返答インターバルの長さを長くすることにより、人同士の会話のリズムを再現する。
 入力メッセージ20の長さを返答インターバルの長さに変換する関数が、データの解析によって自動的に生成される場合、例えばこの関数は、入力メッセージ20の長さと返答インターバルの適切な長さとが対応づけられたデータを複数用いた回帰分析によって生成される。
 返答インターバルの長さを決定する方法は、入力メッセージ20の長さを利用する方法に限定されない。例えば決定部2040は、過去に出力メッセージ10を出力してから入力メッセージ20を取得するまでに経過した時間の長さの履歴に基づいて、返答インターバルの長さを決定してもよい。こうすることで、ユーザ40の会話のリズムに合わせて出力メッセージ10を出力することができるようになる。
 例えば決定部2040は、これまでにユーザ40と行われた複数回のやりとりそれぞれについて、出力メッセージ10を出力してから入力メッセージ20を取得するまでの時間の長さを特定し、特定した時間の長さの統計値を算出する。そして、この統計値を、返答インターバルの長さとして利用する。
<<返答メッセージ以外の出力タイミング>>
 出力メッセージ10が返答メッセージ以外である場合、例えば決定部2040は、参照データ30を利用して、出力タイミングを決定する。参照データ30を利用して出力タイミングを決定する方法は様々である。例えば決定部2040は、参照データ30を利用して、ユーザ40の時間に余裕がある時刻(余裕時刻)を特定し、その余裕時刻を、出力メッセージ10の出力タイミングとして決定する。ユーザ40の時間に余裕がない場合、ユーザ40が作業等で忙しいと考えられるため、出力メッセージ10を出力することは好ましくない蓋然性が高い。ユーザ40の時間に余裕があるタイミングを出力タイミングとすることにより、ユーザ40の作業等の邪魔にならないように出力メッセージ10を出力することができる。
 例えば決定部2040は、ユーザ40のスケジュールデータを用いて、ユーザ40のスケジュールにイベントが示されていない直近の時刻を特定する。そして決定部2040は、特定した時刻を、余裕時刻として利用する。この場合、参照データ30として、ユーザ40のスケジュールデータが利用される。
 ここで、スケジュールにイベントが示されていない場合であっても、次のイベントの開始時刻までのインターバルが短い場合には、ユーザ40の時間に余裕がない可能性がある。例えば、2つの会議の間に5分間のインターバルがある場合、このインターバルは、ユーザ40にとって余裕のある時間ではない蓋然性が高い。そこで例えば、決定部2040は、1)ユーザ40のスケジュールにイベントが示されていない、かつ、2)次のイベントまでの時間が所定時間以上である、という2つ条件を満たす直近の時刻を、余裕時刻として算出してもよい。
 その他にも例えば、決定部2040は、ユーザ40の活動を継続的に監視し、ユーザ40の活動の頻度が低くなったタイミングを、出力タイミングとしてしてもよい。すなわち、「現在が出力メッセージ10の出力タイミングとして適しているか否か」の判定を、「現在のユーザ40の活動頻度が低いか否か」の判定で実現する。こうすることで、現在のユーザ40の活動頻度が低いと判定された場合に、出力メッセージ10が出力される。
 ユーザ40の活動頻度が高い間も、ユーザ40が作業等で忙しいと考えられるため、出力メッセージ10を出力することは好ましくない蓋然性が高い。そこで、ユーザ40の活動頻度が低くなったタイミングを出力タイミングとすることにより、ユーザ40の作業等の邪魔にならないように出力メッセージ10を出力できる。
 ユーザ40の活動頻度は、例えば、ユーザ端末50に対する入力操作の頻度で表すことができる。この場合、参照データ30として、ユーザ端末50に対する入力操作の頻度を表すデータが利用される。決定部2040は、ユーザ端末50に対する入力操作の頻度が閾値以下である場合に、ユーザ40の活動頻度が低いと判定する。一方、ユーザ端末50に対する入力操作の頻度が閾値より大きい場合、決定部2040は、ユーザ40の活動頻度が低くないと判定する。
 その他にも例えば、決定部2040は、ユーザ40の集中力の高さを継続的に監視し、ユーザ40の集中力が低くなったタイミングを、出力タイミングとして検出する。すなわち、「現在が出力メッセージ10の出力タイミングとして適しているか否か」の判定を、「現在のユーザ40の集中力が低いか否か」の判定で実現する。こうすることで、現在のユーザ40の集中力が低いと判定された場合に、出力メッセージ10が出力される。
 ここで、ユーザ40の集中力が高い間は、ユーザ40が作業等に集中できるようにすることが好ましい。そこで、ユーザ40の集中力が低くなったタイミングを出力タイミングとすることにより、ユーザ40の作業等の邪魔にならないように出力メッセージ10を出力できる。
 また、ユーザ40の集中力が低い場合、ユーザ40は、休憩を取るなどによって、集中力を回復させることが好ましい。そこで例えば、ユーザ40の集中力が低いタイミングを出力タイミングとして、休憩を促す出力メッセージ10等が出力されるようにする。
 例えば決定部2040は、定期的に参照データ30を取得し、取得した参照データ30を利用して、現在のユーザ40の集中力が低いか否かを判定する。そして、ユーザ40の集中力が低いと判定された場合に、現在が出力メッセージ10の出力タイミングとして適していると判定される。一方、ユーザ40の集中力が低くないと判定された場合、現在が出力メッセージ10の出力タイミングとして適していないと判定される。
 ユーザ40の集中力が低いか否かを判定する具体的な手法は様々である。例えばこの判定は、所定の種類のデータが入力されたことに応じて、ユーザ40の集中力が低いか否かを識別する識別モデルを利用して行われる。識別モデルとしては、ニューラルネットワークなどといった種々の機械学習モデルを利用することができる。この識別モデルは、「人に関する入力データ、その人の集中力が低いか否かを表すフラグ」というペアで構成される訓練データを複数利用して、予め訓練されている。識別モデルへの入力データとしては、例えば、ユーザ40の顔画像や生体データなどといった観測データを利用することができる。
 その他にも例えば、決定部2040は、ユーザ40の疲労度の高さを継続的に監視し、ユーザ40の疲労度が高くなったタイミングを、出力タイミングとして検出する。すなわち、「現在が出力メッセージ10の出力タイミングとして適しているか否か」の判定を、「現在のユーザ40の疲労度が高いか否か」の判定で実現する。こうすることで、現在のユーザ40の疲労度が高いと判定された場合に、出力メッセージ10が出力される。
 ここで、ユーザ40の疲労度が高くなっている場合、ユーザ40は、休憩を取るなどして、疲労を減らすことが好適である。そこで例えば、ユーザ40の疲労度が高いタイミングを出力タイミングとして、休憩を促す出力メッセージ10等が出力されるようにする。
 例えば決定部2040は、定期的に参照データ30を取得し、取得した参照データ30を利用して、現在のユーザ40の疲労度が高いか否かを判定する。そして、ユーザ40の疲労度が高いと判定された場合に、現在が出力メッセージ10の出力タイミングとして適していると判定される。一方、ユーザ40の疲労度が高くないと判定された場合、現在が出力メッセージ10の出力タイミングとして適していないと判定される。
 ユーザ40の疲労度が高いか否かを判定する具体的な手法は様々である。例えばこの判定は、所定の種類のデータが入力されたことに応じて、ユーザ40の疲労度が高いか否かを識別する識別モデルを利用して行われる。識別モデルとしては、ニューラルネットワークなどといった種々の機械学習モデルを利用することができる。この識別モデルは、「人に関する入力データ、その人の疲労度が高いか否かを表すフラグ」というペアで構成される訓練データを複数利用して、予め訓練されている。識別モデルへの入力データとしては、例えば、ユーザ40の顔画像や生体データなどといった観測データを利用することができる。
 その他にも例えば、決定部2040は、ユーザ40によって行われた入力操作の正確性が低い場合に、ユーザ40の集中力が低いと判定する。この場合、決定部2040は、ユーザ40によって行われた入力操作の正確性を表す参照データ30を取得する。例えばこの参照データ30は、単位時間当たりの操作ミスの回数を示す。決定部2040は、単位時間当たりの操作ミスの回数が閾値以上である場合に、ユーザ40の集中力が低いと判定する。一方、単位時間当たりの操作ミスの回数が閾値未満である場合、決定部2040は、ユーザ40の集中力が低くないと判定する。
 ここで、出力タイミングを決定する方法は、返答メッセージ以外の全ての出力メッセージ10に対して同じ方法が用いられてもよいし、出力メッセージ10の種類ごとに異なる方法が用いられてもよい。後者の場合、出力メッセージ10の種類と、その種類の出力メッセージ10の出力タイミングを決定する方法とを対応づけているタイミング情報を、予め会話装置2000からアクセス可能な記憶部に格納しておく。決定部2040は、会話実行部2060によって出力メッセージ10が生成された際、その出力メッセージ10の種類に対応する出力タイミングの決定方法を、タイミング情報を利用して特定する。そして、決定部2040は、特定した決定方法により、出力メッセージ10の出力タイミングを決定する。
 会話実行部2060は、前述した種々のデータのうち、全てのデータを出力タイミングの決定に利用するように構成されてもよいし、一部のデータを出力タイミングの決定に利用するように構成されてもよい。後者の場合、例えば会話装置2000は、出力タイミングの決定に利用するデータの種類を、予めユーザ40に選択させる。
 なお、「スケジュールデータ」や「メールデータ」などといった比較的大きな分類についての指定だけでなく、さらに細かな分類が指定できるようにしてもよい。例えば、スケジュールデータであれば、複数種類のイベントのうち、どの種類のイベントに関するスケジュールデータを出力タイミングの決定に利用するのかを、指定できるようにしてもよい。
<出力メッセージ10の出力:S106>
 会話実行部2060は、決定部2040によって決定された出力タイミングで出力メッセージ10を出力する(S106)。ここで、出力メッセージ10の出力の態様には、様々な態様を採用することができる。例えば会話実行部2060は、出力メッセージ10を表す文字列データや画像データを、ディスプレイ装置に表示させる。その他にも例えば、会話実行部2060は、出力メッセージ10を表す音声データを、スピーカー等に出力させる。その他にも例えば、会話実行部2060は、他の装置に対して出力メッセージ10を送信する。例えば図4の下段に例示されているように、ユーザ端末50と会話装置2000とが互いに異なるコンピュータで実現されている場合、会話実行部2060は、ユーザ端末50に対して出力メッセージ10を送信する。
<出力メッセージ10の生成>
 ここでは、会話実行部2060が出力メッセージ10を生成する方法について例示する。例えば会話実行部2060は、出力メッセージ10を生成するための会話モデルを有し、その会話モデルを利用して、出力メッセージ10を生成する。
 会話モデルは、所定の生成条件が満たされたことに応じて、出力メッセージ10を生成する。さらに、生成された出力メッセージ10について、決定部2040が出力タイミングを決定する。そして、会話実行部2060は、決定部2040によって決定された出力タイミングで、出力メッセージ10を出力する。
 ここで、生成条件としては、出力メッセージ10の種類に応じて様々なものが定められうる。以下、出力メッセージ10の種類を例示し、例示した各種類の出力メッセージ10について、その生成条件や、出力メッセージ10の内容を決定する方法を例示する。
<<返答メッセージ以外の出力メッセージ10の生成について>>
 例えば会話モデルは、参照データ30などの種々のデータを利用して、出力メッセージ10を生成する。以下、出力メッセージ10の生成に利用されるデータの種類ごとに、出力メッセージ10の生成条件等を例示する。
<<<スケジュールデータ>>>
 例えば出力メッセージ10が、ユーザ40のスケジュールデータを利用して生成されるとする。この場合、例えば会話実行部2060は、定期的に、ユーザ40のスケジュールデータの一部を取得する。例えば、現在時刻を始期とする所定長の期間について、ユーザ40のスケジュールデータが取得される。
 例えば会話モデルは、「スケジュールデータに所定のイベントに関するスケジュールが含まれること」を生成条件として、出力メッセージ10の生成を行う。所定のイベントは、例えば、会議や出張などである。なお、全てのイベントでは無く、特定のイベント(例えば、特定の要件と満たす会議や出張)のみが、生成条件を満たすイベントとして扱われてもよい。
 上記の生成条件が満たされているか否かを判定するために、会話実行部2060は、取得したスケジュールデータから、イベントごとに、そのイベントに関する情報を表すイベントデータを抽出し、会話モデルへ入力する。イベントデータは、例えば、イベントの名称、イベントの開始時刻と終了時刻、及びイベントが行われる場所などを示す。
 例えば会話モデルは、入力されたイベントデータを用いて、前述した生成条件が満たされるか否かを判定する。例えば、入力されたイベントデータが、特定の会議等のイベントを表している場合、会話モデルは、生成条件が満たされていると判定する。一方、入力されたイベントデータが、特定の会議等のイベントを表していない場合、会話モデルは、生成条件が満たされていないと判定する。
 生成条件が満たされている場合、例えば会話モデルは、そのイベントの終了後にユーザ40へ出力するための出力メッセージ10を生成する。イベントの終了後に出力される出力メッセージ10としては、様々なものを採用しうる。イベントの終了後に出力される出力メッセージ10は、例えば、「会議お疲れ様。」などのように、イベントの終了をねぎらうメッセージである。その他にも例えば、イベントの終了後に出力される出力メッセージ10は、「コーヒーを淹れて休憩してはどうかな?」などのように、休憩を促すメッセージである。その他にも例えば、イベントの終了後に出力される出力メッセージ10は、「今日の会議はどうだった?」などのように、終了したイベントに関する会話の開始を促すメッセージである。また、イベントの終了後に出力される出力メッセージ10は、前述した種々のメッセージの組み合わせ(「会議おつかれさま。コーヒーを入れて休憩してはどうかな?」など)であってもよい。
 会話モデルは、イベントの開始前に出力される出力メッセージ10を生成してもよい。イベントの開始前に出力される出力メッセージ10は、例えば、「会議がんばってね。」や「今日の会議では積極的に発言してみよう。」などといった励ましのメッセージである。その他にも例えば、イベントの開始前に出力される出力メッセージ10は、「忘れ物はないかな?」などのように忘れ物をしないように促すメッセージなどである。
<<<メールデータ>>>
 例えば出力メッセージ10が、ユーザ40のメールデータに基づいて生成されるとする。この場合、例えば会話モデルは、メールの送信時刻や送信回数などに基づいて、出力メッセージを生成する。
 例えば、ユーザ40によって送信されたメールの送信時刻が、残業の時間帯に含まれるとする。この場合、例えば会話モデルは、「夜遅くまでお疲れ様。」などのように、労いを表す出力メッセージ10を生成する。その他にも例えば、ユーザ40によってその日に送信されたメールの回数が、所定回数(例えば、一日当たりの平均送信回数)よりも多いとする。この場合、例えば会話モデルは、「忙しそうですね。少し休憩してはどうですか。」などのように、休憩を促す出力メッセージ10を生成する。
<<<イベントにおける発言に関するデータ>>>
 出力メッセージ10の生成に利用されるデータが、イベントにおけるユーザ40の発言に関するデータであるとする。この場合、例えばイベントにおけるユーザ40の発言の回数が、生成条件に利用される。この場合、会話実行部2060は、参照データ30を用いてユーザ40の発言の回数を算出し、その回数を会話モデルへ入力する。
 入力された回数が第1の閾値以上である場合、会話モデルは、「今日はたくさん発言してがんばったね。」などのように、発言が多かったことを褒める出力メッセージ10を生成する。一方、ユーザ40の発言の回数が第2の閾値未満以下である場合、会話モデルは、「次回は発言の回数を増やしてみよう。」などのように、発言の回数を増やすことを促す出力メッセージ10を生成する。ここで、第1の閾値と第2の閾値の値には、互いに同一の値が利用されてもよいし、互いに異なる値が利用されてもよい。なお、後者の場合、第1の閾値には第2の閾値よりも大きい値が利用される。
 ここで、発言の回数の代わりに、発言の頻度が利用されてもよい。発言の頻度は、例えば、単位時間当たりの発言の回数で表される。例えば会話モデルは、発言の頻度が閾値以上であるケースを、発言の回数が閾値以上であるケースと同様に扱う。一方、会話モデルは、発言の頻度が閾値未満であるケースを、発言の回数が閾値未満であるケースと同様に扱う。
<<<ネットワークサービスにおける活動を表すデータ>>>
 例えば出力メッセージ10が、SNS 等のネットワークサービスにおけるユーザ40の活動を表すデータに基づいて生成されるとする。この場合、例えば会話モデルは、SNS 等におけるユーザの活動を認知したことを示す出力メッセージ10を生成する。
 例えばユーザ40が、物体Xが含まれる写真を SNS にアップロードしたとする。この場合、例えば会話モデルは、「Xの写真をアップロードされていましたね。」などといった出力メッセージ10を生成する。
 その他にも例えば、ユーザ40が、観光地Yへの旅行の感想を表すコメントを SNS に投稿したとする。この場合、例えば会話モデルは、「Yへ行ってきたのですね。」などといった出力メッセージ10を生成する。
 その他にも例えば、ユーザ40が、出来事Zに関するニュースなどを引用した投稿を SNS にアップロードしたとする。この場合、例えば会話モデルは、「Zに関心があるのですね。」などといった出力メッセージ10を生成する。
<<<ユーザ40の状態を表すデータ>>>
 出力メッセージ10の生成に利用されるデータが、ユーザ40の状態を表すデータであるとする。この場合、例えば会話モデルは、ユーザ40の状態が所定の状態となった場合に、その状態に関連のある発言を表す出力メッセージ10を生成する。
 例えば会話モデルは、ユーザ40の集中力が低い場合や、ユーザ40の疲労度が高い場合に、休憩を促す出力メッセージ10を生成する。ここで、ユーザ40の集中力が低いか否かを判定する方法と、ユーザ40の疲労度が高いか否かを判定する方法は、前述した通りである。
<<<参照データ30以外のデータ>>>
 会話実行部2060は、参照データ30以外のデータのみを利用して出力メッセージ10を生成したり、参照データ30以外のデータと参照データ30の双方を利用して出力メッセージ10を生成したりしてもよい。例えば、会話モデルは、ニュースを表すデータであるニュースデータを取得し、取得したニュースデータを利用して出力メッセージ10を生成する。ここで、ニュースデータの取得は、定期的に行われてもよいし、不定期に行われてもよい。後者の場合、例えば、web サイト等からプッシュ通知されるニュースデータを受信するように、会話装置2000を構成しておく。
 ニュースデータは、特定のグループ内で配信されるニュースのデータであってもよいし、不特定多数の人へ向けて配信される一般的なニュースの情報であってもよい。特定のグループ内で配信されるニュースとしては、例えば、ユーザ40が所属している会社内で配信されているニュースや、ユーザ40が参加している SNS で配信されているニュースなどである。会話装置2000は、どのニュースデータを出力メッセージ10の生成に利用するのか、ユーザ40に指定させてもよい。例えばユーザ40は、特定のグループ内で配信されているニュースデータのみ(例えば所属している会社内のニュースのみ)を出力メッセージ10に利用するように指定する。
 このようにニュースデータを利用する場合、例えば、「新たなニュースデータを受信した」という条件である。そして、会話モデルは、新たに受信したニュースデータに示されているニュースに関する発言を表す出力メッセージ10を生成する。
 会話モデルは、ユーザ40が興味を持つと考えられるニュースを受信した場合のみ、出力メッセージ10を生成してもよい。この場合、生成条件は、「ユーザ40が興味を持つと予測されるニュースを示すニュースデータを受信した」という条件となる。会話モデルは、ニュースデータが入力されたことに応じて、そのニュースデータが表すニュースに対してユーザ40を持つか否かを判定する。ユーザ40が興味を持つと判定された場合、会話モデルは出力メッセージ10を生成する。
 ここで、特定のニュースにユーザが興味を持つか否かを判定する方法には、種々の方法を利用することができる。例えば、会話装置2000は、興味のあるニュースの種類を1つ以上指定する入力を予め受け付け、指定されたニュースの種類を任意の記憶部に格納しておく。会話モデルは、入力されたニュースデータに示されているニュースの種類が、ユーザ40によって予め指定された種類と合致する場合に、ユーザ40が興味を持つニュースであると判定する。
 その他にも例えば、会話モデルは、ユーザ40の種々の活動から、ユーザ40が興味を持つニュースの種類を予測してもよい。例えば、ユーザ40が興味を持つニュースは、ユーザ40と会話装置2000との間の過去の会話や、ユーザ40のメールの内容、ユーザ40のイベントでの発言、又はユーザ40のネットワークサービス上の活動などから予測される。
<<出力メッセージ10の生成に利用するデータの選択>>
 会話実行部2060は、前述した種々のデータのうち、全てのデータを利用して出力メッセージ10を生成するように構成されてもよいし、一部のデータを利用して出力メッセージ10を生成するように構成されてもよい。後者の場合、例えば会話装置2000は、出力メッセージ10の生成に利用するデータの種類を、予めユーザ40に選択させる。
 なお、「スケジュールデータ」や「メールデータ」などといった比較的大きな分類についての指定だけでなく、さらに細かな分類が指定できるようにしてもよい。例えば、スケジュールデータであれば、複数種類のイベントのうち、どの種類のイベントに関するスケジュールデータを出力メッセージ10の生成に利用するのかを、指定できるようにしてもよい。
<<返答メッセージの生成について>>
 返答メッセージは、入力メッセージ20に基づいて生成される。例えば会話実行部2060は、入力メッセージ20を取得する度に、その入力メッセージ20を会話モデルへ入力する。会話モデルは、入力された入力メッセージ20に基づいて、返答メッセージを生成する。ここで、会話モデルは、直近に入力された入力メッセージ20だけでなく、それよりも前に入力された入力メッセージ20も利用して、返答メッセージを生成してもよい。
<<ユーザ40の心理状態を考慮した出力メッセージ10の生成>>
 ユーザ40に対して発するメッセージの適切な内容は、ユーザ40の心理状態によって左右されうる。そこで会話実行部2060は、ユーザ40の心理状態を表す心理状態データを用いて、出力メッセージ10を生成してもよい。例えば会話実行部2060は、心理状態データを用いて、所定の複数種類の心理状態の中から、ユーザ40の心理状態に合致する種類を特定する。そして、会話実行部2060は、特定したユーザ40の心理状態の種類を加味して、出力メッセージ10を生成する。ここで、ユーザ40の心理状態データは、会話装置2000からアクセス可能な記憶部に予め格納されているものとする。
 例えば、ユーザ40が取り得る複数の心理状態それぞれについて、会話モデルを用意しておく。各会話モデルは、対応する心理状態に適した出力メッセージ10を生成するように構成されている。会話実行部2060は、心理状態データを用いてユーザ40の心理状態の種類を特定する。そして、会話実行部2060は、特定した種類に対応する会話モデルに、出力メッセージ10の生成に利用するデータ(参照データ30や入力メッセージ20など)を入力する。これにより、会話装置2000は、ユーザ40の心理状態に応じた適切な出力メッセージ10を出力することができる。
 例えば心理状態データは、ユーザ40の心理状態に関する1つ以上の因子それぞれについてのスコアを示す。例えば心理状態データが、ユーザ40の心理状態に関する n 個の因子それぞれについてのスコアを示す場合、心理状態データは、n 次元ベクトルで表すことができる。
 心理状態データとしては、種々のデータを利用することができる。例えば会話実行部2060は、心理状態データとして、ユーザ40の幸福度を表す幸福度データを利用する。例えば幸福度データは、非特許文献1に開示されている幸せの4因子それぞれについてのユーザ40のスコアを示すデータである。ただし、ユーザの幸福度を表す方法は、非特許文献1に開示されている方法に限定されない。
 心理状態の種類としては、様々な種類を採用することができる。例えば、良好な状態と良好でない状態という2つの種類を採用することができる。心理状態の種類ごとに会話モデルが用意される場合、ユーザ40の心理状態が良好である場合に対応する会話モデルと、ユーザ40の心理状態が良好でない場合に対応する会話モデルという、2つの会話モデルが用意される。
 ユーザ40の心理状態が良好であるか否かを判定するために、例えば会話実行部2060は、心理状態データを用いて、ユーザ40心理状態の良好度合いを表す指標値を算出する。この指標値としては、例えば、心理状態データに示されているスコアの統計値(平均値や中央値など)を利用することができる。
 会話実行部2060は、算出した指標値が閾値以上である場合に、ユーザ40の心理状態が良好であると判定する。一方、算出した指標値が閾値未満である場合に、ユーザ40の心理状態が良好でないと判定する。
 その他にも例えば、ユーザ40の心理状態は、前述した複数の因子それぞれが良好であるか否かの組み合わせによって表されてもよい。この場合、因子の数が n 個であれば、心理状態が 2^n 種類存在する。そこで、会話モデルを利用する場合、2^n 種類の会話モデルが用意される。例えば前述した幸せの4因子に基づいてユーザ40の幸福度を表す心理状態データを利用する場合、心理状態の種類が 2^4=16 種類存在する。そのため、16種類の会話モデルが用意される。
 ユーザ40の心理状態を特定するために、会話実行部2060は、n 個の因子それぞれについて、ユーザ40の心理状態が良好であるか否かを判定する。例えば心理状態データが n 個の因子それぞれについてのスコアを示す場合、会話実行部2060は、n 個の因子それぞれについて、その因子のスコアが閾値以上であるか否かを判定する。スコアが閾値以上である因子については、心理状態が良好であると判定される。一方、スコアが閾値未満である因子については、心理状態が良好でないと判定される。
 ここで、心理状態が良好であるか否かの判定に用いるスコアの閾値を定める方法には、種々の方法を採用しうる。例えばスコアの閾値は、会話装置2000の管理者等によって静的に設定される。
 その他にも例えば、スコアの閾値は、会話実行部2060によって動的に決定される。例えば会話実行部2060は、ユーザ40の過去の心理状態データを複数取得し、取得した過去の複数の心理状態データそれぞれに示されているスコアの統計値を算出する。そして、会話実行部2060は、算出した統計値を閾値として利用する。
 その他にも例えば、スコアの閾値は、ユーザ40だけでなく、ユーザ40以外の人物のスコアも利用して決定される。例えば会話実行部2060は、ユーザ40と同じグループに属する他の人物それぞれの心理状態データを取得し、そのグループにおけるスコアの統計値を算出する。そして、算出された統計値を、そのグループにおけるスコアの閾値として利用する。また、特定のグループに所属している人に限らず、任意の人物の心理状態データを利用して、スコアの閾値が決定されてもよい。
 なお、前述したように、心理状態データが複数の因子それぞれについてスコアを示す場合、スコアの閾値は因子ごとに設定される。
<<<ユーザ40の心理状態に適した出力メッセージ10の具体例>>>
 ユーザ40の心理状態に適した出力メッセージ10の具体例を示す。ここでは、心理状態データとして、非特許文献1に開示されている幸せの4因子に基づく幸福度データが利用されるとする。また、以下の具体例では、各週の最後の営業日の終業時刻が近くなったタイミングで(例えば、終業時刻の所定時間前に)出力される出力メッセージ10のバリエーションが例示されている。
 例えば、幸せの4因子の1つである「やってみよう!」因子についてのスコアが高い場合と低い場合とで、異なる出力メッセージ10が生成されるようにする。「やってみよう!」因子のスコアが高いことは、ユーザ40の意欲が高い状態であることを表す。そこで、「やってみよう!」因子のスコアが閾値以上である場合、「来週のスケジュールを確認して頑張ろう。」のように、行動を促進する特徴を持つ出力メッセージ10が生成されるようにする。一方、「やってみよう!」因子のスコアが低いことは、ユーザ40の意欲が低い状態であることを表す。そのため、「やってみよう!」因子のスコアが閾値未満である場合、「今週出来たことを振りかえってみよう。」のように、実績に目を向けることで自己有用感を高める、という特徴を持つ出力メッセージ10が生成されるようにする。

 その他にも例えば、幸せの4因子の1つである「ありがとう!」因子についてのスコアが高い場合と低い場合とで、異なる出力メッセージ10が生成されるようにする。「ありがとう!」因子のスコアが高いことは、ユーザ40が他者に感謝できたり、他者を称賛できたりする状態であることを表す。そこで、「ありがとう!」因子のスコアが閾値以上である場合、「今週の感謝を忘れずに伝えておきましょう。」のように、感謝や称賛の行動を促進する特徴を持つ出力メッセージ10が生成されるようにする。一方、「ありがとう!」因子のスコアが低いことは、ユーザ40の心理状態が自己中心的になっていることを表す。そのため、「ありがとう!」因子のスコアが閾値未満である場合、「誰でも良いので、1人の人に感謝の気持ちを伝えてみよう。」のように、他者に関心を向ける行動を促すという特徴を持つ出力メッセージ10が生成されるようにする。
 その他にも例えば、幸せの4因子の1つである「なんとかなる!」因子についてのスコアが高い場合と低い場合とで、異なる出力メッセージ10が生成されるようにする。「なんとかなる!」因子のスコアが高いことは、ユーザ40がリスクを受容できる状態であることを表す。そこで、「なんとかなる!」因子のスコアが閾値以上である場合、「来週はどこまで出来るか、楽しみですね。」のように、挑戦を応援する特徴を持つ出力メッセージ10が生成されるようにする。一方、「なんとかなる!」因子のスコアが低いことは、ユーザ40の心理状態がリスクを強く感じている状態であることを表す。そのため、「なんとかなる!」因子のスコアが閾値未満である場合、「一日一日を乗り切って、今週も頑張りましたね。」のように、近くの目標を意識させて自己効力感を高めるという特徴を持つ出力メッセージ10が生成されるようにする。
 その他にも例えば、幸せの4因子の1つである「ありのままに!」因子についてのスコアが高い場合と低い場合とで、異なる出力メッセージ10が生成されるようにする。「ありのままに!」因子のスコアが高いことは、ユーザ40の自己肯定感が高いという状態であることを表す。そこで、「ありのままに!」因子のスコアが閾値以上である場合、「あなたらしく頑張っていこう。」のように、マイペースを受容するという特徴を持つ出力メッセージ10が生成されるようにする。一方、「ありのままに!」因子のスコアが低いことは、ユーザ40の心理状態が、自己肯定感が低い状態であることを表す。そのため、「ありのままに!」因子のスコアが閾値未満である場合、「時には自分のペースを守りましょう。」のように、自分で自分を受容するという特徴を持つ出力メッセージ10が生成されるようにする。
<<<心理状態データの取得方法>>>
 会話装置2000が心理状態データを取得する方法は様々である。例えばユーザ40の心理状態データは、会話装置2000からアクセス可能な記憶部に予め格納されている。会話装置2000は、この記憶部にアクセスすることで、ユーザ40の心理状態データを取得する。
 ユーザ40の心理状態データを生成する方法は任意である。例えば心理状態データは、ユーザ40に対して行ったアンケートの結果を用いて生成される。
 例えば心理状態データとして、非特許文献1に開示されている幸せの4因子それぞれのスコアを示す幸福度データを利用するとする。非特許文献1には、幸せの4因子それぞれについて、4つの質問が示されている。すなわち、ユーザの幸福度を測るための16個の質問が開示されている。そこで、ユーザ40に、この16個の質問を示すアンケートに答えてもらう。幸福度データは、この16個の質問それぞれに対するユーザ40の回答に基づいて生成することができる。
 より具体的には、非特許文献1では、4つの因子それぞれについて、4つの回答値が得られる。そこで、各因子のスコアとして、その因子に関する4つの質問それぞれの回答値の統計値を利用することができる。
 心理状態データを生成するためのアンケート(例えば、幸せの4因子に関する16個の質問)の提示や、アンケートの結果を利用した心理状態データの生成は、会話装置2000によって行われてもよいし、会話装置2000以外の装置によって行われてもよい。前者の場合、例えば会話装置2000は、会話装置2000との会話の設定をユーザ40に行わせる際に、アンケートの提示を行う。ユーザ40は、会話装置2000によって提示されたアンケートに対する回答を入力する。会話装置2000は、この回答を用いて心理状態データを生成する。そして、会話装置2000は、その心理状態データを用いて、ユーザ40との会話に用いる会話モデルを決定する。
<入力データから出力メッセージ10を生成する方法について>
 前述したように、会話モデルは、会話モデルに入力される種々のデータ(以下、入力データ)に基づいて、出力メッセージ10を生成する。入力データから出力メッセージ10を生成する方法は、例えば、予め生成ルールとして定められている。例えば、特定のイベントを示すスケジュールデータが入力されたら、「XXXお疲れ様」という出力メッセージを生成するといった生成ルールが予め定められている。ここで、「XXX」の部分には、スケジュールデータに示されているイベントの種類や名称が埋め込まれる。会話モデルは、入力データと生成ルールとに基づいて、出力メッセージ10を生成する。
 ここで、複数の心理状態それぞれについて会話モデルを用意しておく場合、各会話モデルには、その会話モデルに対応する心理状態に合わせて用意された生成ルールが適用される。
 その他にも例えば、会話モデルは、入力データが入力されたことに応じて出力メッセージ10を出力するように予め訓練された、機械学習モデルで構成されてもよい。この場合、例えば会話モデルは、入力データと、その入力データが入力されたことに応じて生成されるべきメッセージとを対応づけた訓練データを複数用いて訓練される。なお、機械学習モデルとして構成される会話モデルを訓練する具体的な手法には、既存の種々の手法を利用することができる。
 ここで、複数の心理状態それぞれについて会話モデルを用意しておく場合、各会話モデルは、その会話モデルに対応する心理状態に合わせて用意された訓練データを用いて訓練される。
 会話モデルは、1つの入力データを利用して出力メッセージ10を生成するように構成されてもよいし、時系列の複数の入力データを利用して出力メッセージ10を生成するように構成されてもよい。例えば、時系列の入力メッセージ20を入力データとして扱うことで、会話のコンテキストを考慮した出力メッセージ10を生成することができる。
 ここで、参照データ30を利用して、出力メッセージ10に利用する言葉使いなどの特徴を、会話モデルに学習させておくことが好適である。例えば会話モデルは、ユーザ40が受信したメールに含まれる文章や、SNS 等における他のユーザからユーザ40へのメッセージなどから、ユーザ40の周囲の人物からユーザ40に対する発言の特徴を学習する。そして、会話モデルは、ユーザ40の周囲の人物の発言の特徴と同様の特徴となるように、出力メッセージ10を生成する。
 より具体的な例としては、ユーザ40の周囲の人物の発言が丁寧な言葉遣いである場合(ですます調子である場合など)、会話装置2000からユーザ40への発言も丁寧な言葉遣いであることが好ましい蓋然性が高い。そこでこのような場合、会話モデルは、丁寧な言葉遣いを用いて出力メッセージ10を生成する。
 また、会話モデルは、ユーザ40が送信したメールの内容や SNS 等におけるユーザ40の発言から、ユーザ40の発言の特徴を学習してもよい。この場合、会話モデルは、ユーザ40の発言の特徴と同様の特徴を持つように、出力メッセージ10を生成する。
 その他にも例えば、参照データ30を利用して、出力メッセージ10に含める単語の特徴を、会話モデルに学習させてもよい。例えば、同様の意味を持つ複数の単語がある場合、その中のどの単語を利用するのかは、人によって異なりうる。そこで例えば、会話モデルは、ユーザ40が送信したメールの内容や SNS 等におけるユーザ40の発言から、ユーザ40の発言に含まれる単語を学習する。この場合、会話モデルは、ユーザ40が利用する単語と同じ単語を利用して、出力メッセージ10を生成する。このような会話モデルの学習は、「ユーザ40の発言を利用して単語辞書を生成又はカスタマイズする」とも表現できる。
 なお、前述した種々の特徴を会話モデルに学習させるために利用するデータは、参照データ30には限定されない。例えば、過去の会話におけるユーザ40の発言(入力メッセージ20)の特徴を会話モデルに学習させてもよい。
<会話装置2000のその他の機能>
 会話装置2000は、ユーザ40との会話の履歴(すなわち、出力メッセージ10及び入力メッセージ20の履歴)を、任意の記憶部に格納してもよい。会話履歴が格納される記憶部は、ユーザ40が所属するグループによって管理されているシステムの外部に設けられてもよい。こうすることにより、そのグループの管理者など、ユーザ40と関係のある人物に会話履歴が閲覧されてしまうことを避けることができる。よって、ユーザ40のプライバシーを保護することができる。
 また、会話装置2000は、会話履歴をユーザ40以外の人物に閲覧可能とするか否かを、ユーザ40に指定させてもよい。例えば、ユーザ40が所属している会社で会話装置2000が運用される場合において、会話履歴をユーザ40の上司などが閲覧できるようにするか否かを、ユーザ40が指定できるようにする。
 会話装置2000の会話モデルは、ユーザ40との会話を通じて更新されていくことが好適である。例えば会話装置2000が、擬似的な人物として振る舞ってユーザ40との会話を行うように構成されているとする。この場合、例えば、ユーザ40が会話装置2000を利用した期間が長くなるほど、又は、ユーザ40が会話装置2000と会話した回数が多くなるほど、会話装置2000によって表される擬似的な人物の口調(すなわち、出力メッセージ10における言葉の表現)が、親しみのある口調に変化するようにする。なお、このように会話装置2000が擬似的な人物として振る舞う場合、当該擬似的な人物のタイプを、複数のタイプのうちから1つ指定できるようにしてもよい。指定可能な人物のタイプは、例えば、ユーザ40との関係(同僚、先輩、上司、又はプライベートの友達など)、性別、又は性格などである。
 また、会話装置2000は、ユーザ40と同じグループ(例えば部署)に所属している擬似的な人物として振る舞うように構成されてもよい。この場合、ユーザ40の所属が新しいグループに変更されたら、会話装置2000も新たに、その新しいグループにいる擬似的な人物として振る舞うようにしてもよい。これは例えば、ユーザ40が別の部署に異動したことに応じて、会話モデルを初期化するなどの方法によって実現できる。
 また、会話装置2000は、一人の擬似的な人物ではなく、複数の擬似的な人物として振る舞って、ユーザ40との会話を行ってもよい。例えば会話装置2000は、通常時は第1の人物としてユーザ40と会話をし、何らかのタイミングで別の第2の人物としてユーザ40と会話をするようにする。例えば、会話装置2000は、通常時はユーザ40と同じ部署の同僚として振る舞い、定期的又は不定期に、他部署の同僚として振る舞うようにする。これら別々の人物としての会話には、それぞれ異なる会話モデルが利用される。なお、ユーザ40と会話装置2000との会話をチャットページなどで視覚的に表示する場合、会話装置2000が振る舞う人物ごとに、異なる表示(例えばアバター)を利用することが好適である。
 会話装置2000が擬似的な人物として振る舞う場合、会話装置2000は、当該擬似的な人物のタイプを、入力メッセージ20や参照データ30を用いて決定してもよい。例えば会話装置2000は、ユーザ40との会話の内容(すなわち、入力メッセージ20の内容)や、ユーザ40の働き方の状況が分かる情報(スケジュールデータやメールデータなど)を利用して、人物タイプを選択する。例えば、会話装置2000は、ユーザ40の体調が悪いことが、入力メッセージ20の内容から分かった場合、症状の詳細を尋ねる出力メッセージ10を出力する。そして、会話装置2000は、この出力メッセージ10に対する返答を表す入力メッセージ20の内容に応じて、ユーザ40の症状に合った専門家を、会話装置2000の人物タイプとして選択する。
 例えば、入力メッセージ20の内容から、ユーザ40の症状が食欲不振であることが分かった場合、会話装置2000は、人物タイプとして健康管理士を選択する。一方、入力メッセージ20の内容から、ユーザ40の症状が不眠であることが分かった場合、会話装置2000は、人物タイプとして産業医を選択する。
 その他にも例えば、会話装置2000は、「辞めたい」や「死にたい」などといった特定のキーワードが入力メッセージ20に含まれていた場合、すぐに、人物タイプとして産業医を選択してもよい。
 その他にも例えば、会話装置2000は、入力メッセージ20の内容が仕事に関する不安を表す場合に、スケジュールデータに基づいて、適切な立場の人物を、会話装置2000の人物タイプとして選択する。例えば、スケジュールデータに顧客や他部署との打ち合わせが多く含まれる場合、会話装置2000は、経験豊富な人物として振る舞うように、先輩社員の会話モデルを人物タイプとして選択する。一方、スケジュールデータにこのような打ち合わせ等が多く含まれない場合には、会話装置2000は、人物タイプとして同僚を選択する。
 その他にも例えば、会話装置2000は、入力メッセージ20の内容が私生活に関する不安を表す場合に、ユーザ40の私生活を把握できる情報(例えば、SNS 等における活動を表すデータ)に基づいて、人物タイプを選択する。例えば、ユーザ40が特別なライフイベント(結婚、出産、又は子供の進学など)を控えている場合、会話装置2000は、人物タイプとしてファイナンシャルアドバイザーを選択する。一方、このようなライフイベントを控えていない場合、会話装置2000は、人物タイプとして、同僚、先輩社員、又は社外の友達などを選択する。
 ここで、会話装置2000は、人物タイプの切り替え(すなわち、会話モデルの切り替え)を自動的に行ってもよいし、ユーザ40の同意を得た上で行ってもよい。後者の場合、例えば会話装置2000は、「産業医の知り合いがいるから、その人に相談してみる?」などといった会話を通じて、ユーザ40に対し、人物タイプの切り替えについて打診する。そして、会話装置2000は、ユーザ40から同意を得られた場合に、人物タイプを切り替える。なお、人物タイプが切り替わったときに、それまでの会話の内容を引き継ぐことにより、過去の経緯をある程度反映させた会話を開始することができる。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 なお、上述の例において、プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 ユーザに関する参照データを取得する取得手段と、
 前記参照データを利用して、前記ユーザへ出力メッセージを出力する出力タイミングを決定する決定手段と、
 前記ユーザによって入力された入力メッセージの取得と、前記ユーザに対する出力メッセージの出力とによって、前記ユーザとの会話を実行する会話実行手段と、を有し、
 前記会話実行手段は、少なくとも1つの前記出力メッセージを、前記決定された出力タイミングで出力し、
 前記決定手段によって利用される前記参照データの少なくとも1つには、前記ユーザのスケジュールデータ、前記ユーザのメールの内容に関するデータ、イベントにおける前記ユーザの発言の内容に関するデータ、ネットワークサービスにおける前記ユーザの活動の内容に関するデータ、前記ユーザによって行われた入力操作の頻度若しくは正確性に関するデータ、又は前記ユーザから発せられる生体信号から生成されたデータが含まれる、会話装置。
 (付記2)
 前記決定手段は、
  前記参照データとして、前記ユーザのスケジュールデータを取得し、
  前記スケジュールデータに示されているイベントの前又は後を、前記出力タイミングとして決定する、付記1に記載の会話装置。
 (付記3)
 前記決定手段は、
  前記ユーザによって行われた入力操作に関するデータを前記参照データとして取得し、
  前記入力操作に関するデータを用いて、前記ユーザの活動頻度、集中力の高さ、又は疲労度の高さを算出し、
  前記ユーザの活動頻度が閾値以下であるタイミング、前記ユーザの集中力が閾値以下であるタイミング、又は前記ユーザの疲労度が閾値以上であるタイミングを、前記出力タイミングとして決定する、付記1に記載の会話装置。
 (付記4)
 前記会話実行手段は、
  前記ユーザの心理状態を表す心理状態データを取得し、
  前記心理状態データを用いて、複数種類の心理状態の中から、前記ユーザの心理状態の種類を特定し、
  前記特定した前記ユーザの心理状態の種類に基づいて、前記出力メッセージを生成する、付記1から3いずれか一項に記載の会話装置。
 (付記5)
 前記会話実行手段は、
  複数種類の心理状態それぞれに対応する会話モデルを有し、
  前記特定した前記ユーザの心理状態の種類に対応する前記会話モデルを用いて、前記出力メッセージを生成する、付記4に記載の会話装置。
 (付記6)
 前記心理状態データは、幸福度を表す複数の因子それぞれについてのスコアを示し、
 前記会話実行手段は、
  前記心理状態データが示す少なくとも1つの因子について、その因子のスコアが閾値以上であるか否かを判定することで、前記ユーザの心理状態の種類を特定する、付記4に記載の会話装置。
 (付記7)
 ユーザに関する参照データを取得する取得ステップと、
 前記参照データを利用して、前記ユーザへ出力メッセージを出力する出力タイミングを決定する決定ステップと、
 前記ユーザによって入力された入力メッセージの取得と、前記ユーザに対する出力メッセージの出力とによって、前記ユーザとの会話を実行する会話実行ステップと、を有し、
 前記会話実行ステップは、少なくとも1つの前記出力メッセージを、前記決定された出力タイミングで出力し、
 前記決定ステップによって利用される前記参照データの少なくとも1つには、前記ユーザのスケジュールデータ、前記ユーザのメールの内容に関するデータ、イベントにおける前記ユーザの発言の内容に関するデータ、ネットワークサービスにおける前記ユーザの活動の内容に関するデータ、前記ユーザによって行われた入力操作の頻度若しくは正確性に関するデータ、又は前記ユーザから発せられる生体信号から生成されたデータが含まれる、コンピュータによって実行される会話方法。
 (付記8)
 前記決定ステップにおいて、
  前記参照データとして、前記ユーザのスケジュールデータを取得し、
  前記スケジュールデータに示されているイベントの前又は後を、前記出力タイミングとして決定する、付記7に記載の会話方法。
 (付記9)
 前記決定ステップにおいて、
  前記ユーザによって行われた入力操作に関するデータを前記参照データとして取得し、
  前記入力操作に関するデータを用いて、前記ユーザの活動頻度、集中力の高さ、又は疲労度の高さを算出し、
  前記ユーザの活動頻度が閾値以下であるタイミング、前記ユーザの集中力が閾値以下であるタイミング、又は前記ユーザの疲労度が閾値以上であるタイミングを、前記出力タイミングとして決定する、付記7に記載の会話方法。
 (付記10)
 前記会話実行ステップにおいて、
  前記ユーザの心理状態を表す心理状態データを取得し、
  前記心理状態データを用いて、複数種類の心理状態の中から、前記ユーザの心理状態の種類を特定し、
  前記特定した前記ユーザの心理状態の種類に基づいて、前記出力メッセージを生成する、付記7から9いずれか一項に記載の会話方法。
 (付記11)
 前記会話実行ステップにおいて、
  複数種類の心理状態それぞれに対応する会話モデルを有し、
  前記特定した前記ユーザの心理状態の種類に対応する前記会話モデルを用いて、前記出力メッセージを生成する、付記10に記載の会話方法。
 (付記12)
 前記心理状態データは、幸福度を表す複数の因子それぞれについてのスコアを示し、
 前記会話実行ステップにおいて、
  前記心理状態データが示す少なくとも1つの因子について、その因子のスコアが閾値以上であるか否かを判定することで、前記ユーザの心理状態の種類を特定する、付記10に記載の会話方法。
 (付記13)
 ユーザに関する参照データを取得する取得ステップと、
 前記参照データを利用して、前記ユーザへ出力メッセージを出力する出力タイミングを決定する決定ステップと、
 前記ユーザによって入力された入力メッセージの取得と、前記ユーザに対する出力メッセージの出力とによって、前記ユーザとの会話を実行する会話実行ステップと、をコンピュータに実行させるプログラムを格納しており、
 前記会話実行ステップは、少なくとも1つの前記出力メッセージを、前記決定された出力タイミングで出力し、
 前記決定ステップによって利用される前記参照データの少なくとも1つには、前記ユーザのスケジュールデータ、前記ユーザのメールの内容に関するデータ、イベントにおける前記ユーザの発言の内容に関するデータ、ネットワークサービスにおける前記ユーザの活動の内容に関するデータ、前記ユーザによって行われた入力操作の頻度若しくは正確性に関するデータ、又は前記ユーザから発せられる生体信号から生成されたデータが含まれる、非一時的なコンピュータ可読媒体。
 (付記14)
 前記決定ステップにおいて、
  前記参照データとして、前記ユーザのスケジュールデータを取得し、
  前記スケジュールデータに示されているイベントの前又は後を、前記出力タイミングとして決定する、付記13に記載のコンピュータ可読媒体。
 (付記15)
 前記決定ステップにおいて、
  前記ユーザによって行われた入力操作に関するデータを前記参照データとして取得し、
  前記入力操作に関するデータを用いて、前記ユーザの活動頻度、集中力の高さ、又は疲労度の高さを算出し、
  前記ユーザの活動頻度が閾値以下であるタイミング、前記ユーザの集中力が閾値以下であるタイミング、又は前記ユーザの疲労度が閾値以上であるタイミングを、前記出力タイミングとして決定する、付記13に記載のコンピュータ可読媒体。
 (付記16)
 前記会話実行ステップにおいて、
  前記ユーザの心理状態を表す心理状態データを取得し、
  前記心理状態データを用いて、複数種類の心理状態の中から、前記ユーザの心理状態の種類を特定し、
  前記特定した前記ユーザの心理状態の種類に基づいて、前記出力メッセージを生成する、付記13から15いずれか一項に記載のコンピュータ可読媒体。
 (付記17)
 前記会話実行ステップにおいて、
  複数種類の心理状態それぞれに対応する会話モデルを有し、
  前記特定した前記ユーザの心理状態の種類に対応する前記会話モデルを用いて、前記出力メッセージを生成する、付記16に記載のコンピュータ可読媒体。
 (付記18)
 前記心理状態データは、幸福度を表す複数の因子それぞれについてのスコアを示し、
 前記会話実行ステップにおいて、
  前記心理状態データが示す少なくとも1つの因子について、その因子のスコアが閾値以上であるか否かを判定することで、前記ユーザの心理状態の種類を特定する、付記16に記載のコンピュータ可読媒体。
10      出力メッセージ
20      入力メッセージ
30      参照データ
40      ユーザ
50      ユーザ端末
60      サーバ装置
1000     コンピュータ
1020     バス
1040     プロセッサ
1060     メモリ
1080     ストレージデバイス
1100     入出力インタフェース
1120     ネットワークインタフェース
2000     会話装置
2020     取得部
2040     決定部
2060     会話実行部

Claims (18)

  1.  ユーザに関する参照データを取得する取得手段と、
     前記参照データを利用して、前記ユーザへ出力メッセージを出力する出力タイミングを決定する決定手段と、
     前記ユーザによって入力された入力メッセージの取得と、前記ユーザに対する出力メッセージの出力とによって、前記ユーザとの会話を実行する会話実行手段と、を有し、
     前記会話実行手段は、少なくとも1つの前記出力メッセージを、前記決定された出力タイミングで出力し、
     前記決定手段によって利用される前記参照データの少なくとも1つには、前記ユーザのスケジュールデータ、前記ユーザのメールの内容に関するデータ、イベントにおける前記ユーザの発言の内容に関するデータ、ネットワークサービスにおける前記ユーザの活動の内容に関するデータ、前記ユーザによって行われた入力操作の頻度若しくは正確性に関するデータ、又は前記ユーザから発せられる生体信号から生成されたデータが含まれる、会話装置。
  2.  前記決定手段は、
      前記参照データとして、前記ユーザのスケジュールデータを取得し、
      前記スケジュールデータに示されているイベントの前又は後を、前記出力タイミングとして決定する、請求項1に記載の会話装置。
  3.  前記決定手段は、
      前記ユーザによって行われた入力操作に関するデータを前記参照データとして取得し、
      前記入力操作に関するデータを用いて、前記ユーザの活動頻度、集中力の高さ、又は疲労度の高さを算出し、
      前記ユーザの活動頻度が閾値以下であるタイミング、前記ユーザの集中力が閾値以下であるタイミング、又は前記ユーザの疲労度が閾値以上であるタイミングを、前記出力タイミングとして決定する、請求項1に記載の会話装置。
  4.  前記会話実行手段は、
      前記ユーザの心理状態を表す心理状態データを取得し、
      前記心理状態データを用いて、複数種類の心理状態の中から、前記ユーザの心理状態の種類を特定し、
      前記特定した前記ユーザの心理状態の種類に基づいて、前記出力メッセージを生成する、請求項1から3いずれか一項に記載の会話装置。
  5.  前記会話実行手段は、
      複数種類の心理状態それぞれに対応する会話モデルを有し、
      前記特定した前記ユーザの心理状態の種類に対応する前記会話モデルを用いて、前記出力メッセージを生成する、請求項4に記載の会話装置。
  6.  前記心理状態データは、幸福度を表す複数の因子それぞれについてのスコアを示し、
     前記会話実行手段は、
      前記心理状態データが示す少なくとも1つの因子について、その因子のスコアが閾値以上であるか否かを判定することで、前記ユーザの心理状態の種類を特定する、請求項4に記載の会話装置。
  7.  ユーザに関する参照データを取得する取得ステップと、
     前記参照データを利用して、前記ユーザへ出力メッセージを出力する出力タイミングを決定する決定ステップと、
     前記ユーザによって入力された入力メッセージの取得と、前記ユーザに対する出力メッセージの出力とによって、前記ユーザとの会話を実行する会話実行ステップと、を有し、
     前記会話実行ステップは、少なくとも1つの前記出力メッセージを、前記決定された出力タイミングで出力し、
     前記決定ステップによって利用される前記参照データの少なくとも1つには、前記ユーザのスケジュールデータ、前記ユーザのメールの内容に関するデータ、イベントにおける前記ユーザの発言の内容に関するデータ、ネットワークサービスにおける前記ユーザの活動の内容に関するデータ、前記ユーザによって行われた入力操作の頻度若しくは正確性に関するデータ、又は前記ユーザから発せられる生体信号から生成されたデータが含まれる、コンピュータによって実行される会話方法。
  8.  前記決定ステップにおいて、
      前記参照データとして、前記ユーザのスケジュールデータを取得し、
      前記スケジュールデータに示されているイベントの前又は後を、前記出力タイミングとして決定する、請求項7に記載の会話方法。
  9.  前記決定ステップにおいて、
      前記ユーザによって行われた入力操作に関するデータを前記参照データとして取得し、
      前記入力操作に関するデータを用いて、前記ユーザの活動頻度、集中力の高さ、又は疲労度の高さを算出し、
      前記ユーザの活動頻度が閾値以下であるタイミング、前記ユーザの集中力が閾値以下であるタイミング、又は前記ユーザの疲労度が閾値以上であるタイミングを、前記出力タイミングとして決定する、請求項7に記載の会話方法。
  10.  前記会話実行ステップにおいて、
      前記ユーザの心理状態を表す心理状態データを取得し、
      前記心理状態データを用いて、複数種類の心理状態の中から、前記ユーザの心理状態の種類を特定し、
      前記特定した前記ユーザの心理状態の種類に基づいて、前記出力メッセージを生成する、請求項7から9いずれか一項に記載の会話方法。
  11.  前記会話実行ステップにおいて、
      複数種類の心理状態それぞれに対応する会話モデルを有し、
      前記特定した前記ユーザの心理状態の種類に対応する前記会話モデルを用いて、前記出力メッセージを生成する、請求項10に記載の会話方法。
  12.  前記心理状態データは、幸福度を表す複数の因子それぞれについてのスコアを示し、
     前記会話実行ステップにおいて、
      前記心理状態データが示す少なくとも1つの因子について、その因子のスコアが閾値以上であるか否かを判定することで、前記ユーザの心理状態の種類を特定する、請求項10に記載の会話方法。
  13.  ユーザに関する参照データを取得する取得ステップと、
     前記参照データを利用して、前記ユーザへ出力メッセージを出力する出力タイミングを決定する決定ステップと、
     前記ユーザによって入力された入力メッセージの取得と、前記ユーザに対する出力メッセージの出力とによって、前記ユーザとの会話を実行する会話実行ステップと、をコンピュータに実行させるプログラムを格納しており、
     前記会話実行ステップは、少なくとも1つの前記出力メッセージを、前記決定された出力タイミングで出力し、
     前記決定ステップによって利用される前記参照データの少なくとも1つには、前記ユーザのスケジュールデータ、前記ユーザのメールの内容に関するデータ、イベントにおける前記ユーザの発言の内容に関するデータ、ネットワークサービスにおける前記ユーザの活動の内容に関するデータ、前記ユーザによって行われた入力操作の頻度若しくは正確性に関するデータ、又は前記ユーザから発せられる生体信号から生成されたデータが含まれる、非一時的なコンピュータ可読媒体。
  14.  前記決定ステップにおいて、
      前記参照データとして、前記ユーザのスケジュールデータを取得し、
      前記スケジュールデータに示されているイベントの前又は後を、前記出力タイミングとして決定する、請求項13に記載のコンピュータ可読媒体。
  15.  前記決定ステップにおいて、
      前記ユーザによって行われた入力操作に関するデータを前記参照データとして取得し、
      前記入力操作に関するデータを用いて、前記ユーザの活動頻度、集中力の高さ、又は疲労度の高さを算出し、
      前記ユーザの活動頻度が閾値以下であるタイミング、前記ユーザの集中力が閾値以下であるタイミング、又は前記ユーザの疲労度が閾値以上であるタイミングを、前記出力タイミングとして決定する、請求項13に記載のコンピュータ可読媒体。
  16.  前記会話実行ステップにおいて、
      前記ユーザの心理状態を表す心理状態データを取得し、
      前記心理状態データを用いて、複数種類の心理状態の中から、前記ユーザの心理状態の種類を特定し、
      前記特定した前記ユーザの心理状態の種類に基づいて、前記出力メッセージを生成する、請求項13から15いずれか一項に記載のコンピュータ可読媒体。
  17.  前記会話実行ステップにおいて、
      複数種類の心理状態それぞれに対応する会話モデルを有し、
      前記特定した前記ユーザの心理状態の種類に対応する前記会話モデルを用いて、前記出力メッセージを生成する、請求項16に記載のコンピュータ可読媒体。
  18.  前記心理状態データは、幸福度を表す複数の因子それぞれについてのスコアを示し、
     前記会話実行ステップにおいて、
      前記心理状態データが示す少なくとも1つの因子について、その因子のスコアが閾値以上であるか否かを判定することで、前記ユーザの心理状態の種類を特定する、請求項16に記載のコンピュータ可読媒体。
PCT/JP2022/017233 2022-04-07 2022-04-07 会話装置、会話方法、及び非一時的なコンピュータ可読媒体 WO2023195115A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/017233 WO2023195115A1 (ja) 2022-04-07 2022-04-07 会話装置、会話方法、及び非一時的なコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/017233 WO2023195115A1 (ja) 2022-04-07 2022-04-07 会話装置、会話方法、及び非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2023195115A1 true WO2023195115A1 (ja) 2023-10-12

Family

ID=88242729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/017233 WO2023195115A1 (ja) 2022-04-07 2022-04-07 会話装置、会話方法、及び非一時的なコンピュータ可読媒体

Country Status (1)

Country Link
WO (1) WO2023195115A1 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6332624A (ja) * 1986-07-28 1988-02-12 Canon Inc 情報処理装置
JP2009140332A (ja) * 2007-12-07 2009-06-25 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
JP2017119336A (ja) * 2015-12-28 2017-07-06 ヴイストン株式会社 ロボット、ロボット制御方法並びにロボットプログラム
WO2017130497A1 (ja) * 2016-01-28 2017-08-03 ソニー株式会社 通信システムおよび通信制御方法
WO2017163509A1 (ja) * 2016-03-22 2017-09-28 ソニー株式会社 情報処理システムおよび情報処理方法
JP2018013894A (ja) * 2016-07-19 2018-01-25 Gatebox株式会社 画像表示装置、話題選択方法、話題選択プログラム
JP2018079544A (ja) * 2016-11-17 2018-05-24 株式会社サテライトオフィス ロボットまたは音声対応電子回路モジュール制御システム
JP2019057061A (ja) * 2017-09-20 2019-04-11 富士ゼロックス株式会社 情報出力装置及びプログラム
JP2019101805A (ja) * 2017-12-04 2019-06-24 トヨタ自動車株式会社 対話システム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6332624A (ja) * 1986-07-28 1988-02-12 Canon Inc 情報処理装置
JP2009140332A (ja) * 2007-12-07 2009-06-25 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
JP2017119336A (ja) * 2015-12-28 2017-07-06 ヴイストン株式会社 ロボット、ロボット制御方法並びにロボットプログラム
WO2017130497A1 (ja) * 2016-01-28 2017-08-03 ソニー株式会社 通信システムおよび通信制御方法
WO2017163509A1 (ja) * 2016-03-22 2017-09-28 ソニー株式会社 情報処理システムおよび情報処理方法
JP2018013894A (ja) * 2016-07-19 2018-01-25 Gatebox株式会社 画像表示装置、話題選択方法、話題選択プログラム
JP2018079544A (ja) * 2016-11-17 2018-05-24 株式会社サテライトオフィス ロボットまたは音声対応電子回路モジュール制御システム
JP2019057061A (ja) * 2017-09-20 2019-04-11 富士ゼロックス株式会社 情報出力装置及びプログラム
JP2019101805A (ja) * 2017-12-04 2019-06-24 トヨタ自動車株式会社 対話システム

Similar Documents

Publication Publication Date Title
Pahwa et al. Mental illness disclosure decision making.
US10635752B2 (en) Method and system for creating interactive inquiry and assessment bots
Easwara Moorthy et al. Privacy concerns for use of voice activated personal assistant in the public space
Willoughby et al. Does context matter? Examining PRISM as a guiding framework for context-specific health risk information seeking among young adults
Barak et al. Does activity level in online support groups for distressed adolescents determine emotional relief
Wang More than words? The effect of line character sticker use on intimacy in the mobile communication environment
Cravens et al. Fooling around on Facebook: The perceptions of infidelity behavior on social networking sites
Law et al. Making sense in primary care: Levelling the playing field for people with communication difficulties
CN106910513A (zh) 情绪智能聊天引擎
CN110892416A (zh) 多模态对话代理
US20140278506A1 (en) Automatically evaluating and providing feedback on verbal communications from a healthcare provider
Maddock et al. What is the relationship among religiosity, self-perceived problematic pornography use, and depression over time?
Judge et al. Perceptions of the design of voice output communication aids
Brewer et al. Exploring traditional phones as an e-mail interface for older adults
Murphy et al. Childhood parental mental illness: Living with fear and mistrust
Campbell et al. Measuring the impact of technology on couple relationships: The development of the technology and intimate relationship assessment
US10366620B2 (en) Linguistic analysis of stored electronic communications
Holtgraves et al. Texting versus talking: An exploration in telecommunication language
Higginbotham et al. The effect of context priming and task type on augmentative communication performance
Zhan et al. Predicting employee dissent expression in organizations: A cost and benefit approach
Lazarević et al. Ambulatory assessment of language use: evidence on the temporal stability of electronically activated recorder and stream of consciousness data
Hill Advances in augmentative and alternative communication as quality-of-life technology
Lelic et al. Focusing on positive listening experiences improves hearing aid outcomes in experienced hearing aid users
JP2018013997A (ja) コミュニケーション支援装置、コミュニケーション支援方法およびコミュニケーション支援プログラム
WO2023195115A1 (ja) 会話装置、会話方法、及び非一時的なコンピュータ可読媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22936514

Country of ref document: EP

Kind code of ref document: A1