WO2021140816A1 - 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、情報処理システム、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
WO2021140816A1
WO2021140816A1 PCT/JP2020/045667 JP2020045667W WO2021140816A1 WO 2021140816 A1 WO2021140816 A1 WO 2021140816A1 JP 2020045667 W JP2020045667 W JP 2020045667W WO 2021140816 A1 WO2021140816 A1 WO 2021140816A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
user
information processing
utterance
user utterance
Prior art date
Application number
PCT/JP2020/045667
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 ソニーグループ株式会社
Publication of WO2021140816A1 publication Critical patent/WO2021140816A1/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
    • 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/16Sound input; Sound output
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems

Definitions

  • This disclosure relates to an information processing device, an information processing system, an information processing method, and a program. More specifically, the present invention relates to an information processing device, an information processing system, an information processing method, and a program that execute processing and response according to a user's utterance.
  • voice dialogue systems that perform voice recognition of user utterances and perform various processes and responses based on the recognition results is increasing.
  • this voice dialogue system the user's utterance input via the microphone is analyzed, and processing is performed according to the analysis result.
  • the weather information is acquired from the weather information providing server, a system response based on the acquired information is generated, and the generated response is output from the speaker.
  • System utterance "Tomorrow's weather will be sunny, but there may be thunderstorms in the evening.” Output such a system utterance.
  • Agent devices Information processing devices that interact with users in this way are called agent devices and smart speakers.
  • agent devices As conventional techniques disclosed for an agent device that interacts with a user, there are, for example, Patent Document 1 (Japanese Patent Laid-Open No. 2008-090545), Patent Document 2 (Japanese Patent Laid-Open No. 2018-081444), and the like.
  • agent device A that controls the TV and air conditioner in the house in response to a request from the user
  • agent device B that is good at providing information on news and weather information, restaurant search, and meal delivery services
  • agent device C that is good at request processing and the like.
  • agent devices A, B, and C having different processes which are the above-mentioned specialties
  • "Order a delicious pizza” It is necessary to speak to the agent device C, which is good at restaurant search, request processing of meal delivery service, and the like.
  • the user's request is not executed even if the above-mentioned user utterance is made to the other agent devices A and B.
  • the present disclosure has been made in view of the above problems, for example, and makes it possible for another agent device to execute processing for an utterance made by a user on one agent device, thereby reducing the burden on the user. It is an object of the present invention to provide an information processing device, an information processing system, an information processing method, and a program that realize the above.
  • the first aspect of the disclosure is A voice input unit for inputting user utterances, It has a data processing unit that executes the analysis of the user utterance and generates the user utterance interpretation data.
  • the data processing unit When the external second information processing device executes the process corresponding to the user's utterance, The information processing device converts the user utterance interpretation data to generate conversion data that can be understood by the second information processing device, and transmits the converted data to the second information processing device.
  • the second aspect of the present disclosure is It is an information processing system that has multiple information processing devices.
  • the first information processing device is A voice input unit for inputting user utterances, It has a data processing unit that executes the analysis of the user utterance and generates the user utterance interpretation data.
  • the data processing unit When the external second information processing device executes the process corresponding to the user's utterance, The user utterance interpretation data is converted to generate conversion data that can be understood by the second information processing device, and the data is transmitted to the second information processing device.
  • the second information processing device is The information processing system executes processing corresponding to the user's utterance based on the converted data received from the first information processing apparatus.
  • the third aspect of the present disclosure is It is an information processing method executed in an information processing device.
  • the voice input section inputs the user's utterance
  • the data processing department Data processing that executes the analysis of the user utterance and generates the user utterance interpretation data is executed.
  • the data processing unit When the external second information processing device executes the process corresponding to the user's utterance, It is an information processing method that converts the user utterance interpretation data, generates conversion data that can be understood by the second information processing apparatus, and transmits the converted data to the second information processing apparatus.
  • the fourth aspect of the present disclosure is It is an information processing method executed in an information processing system having a plurality of information processing devices.
  • the first information processing device When the external second information processing device executes the processing corresponding to the input user utterance
  • the analysis of the user utterance is executed to generate the user utterance interpretation data, and the user utterance interpretation data is generated.
  • a process of converting the user utterance interpretation data, generating converted data that can be understood by the second information processing device, and transmitting the converted data to the second information processing device is executed.
  • the second information processing device It is an information processing method that executes a process corresponding to the user's utterance based on the converted data received from the first information processing apparatus.
  • the fifth aspect of the present disclosure is A program that executes information processing in an information processing device.
  • the program is installed in the data processing unit. Analyze user utterances to generate user utterance interpretation data When the external second information processing device executes the process corresponding to the user's utterance, It is a program that converts the user utterance interpretation data to generate conversion data that can be understood by the second information processing device, and causes the second information processing device to transmit the converted data.
  • the program of the present disclosure is, for example, a program that can be provided by a storage medium or a communication medium that is provided in a computer-readable format to an information processing device or a computer system that can execute various program codes.
  • a program that can be provided by a storage medium or a communication medium that is provided in a computer-readable format to an information processing device or a computer system that can execute various program codes.
  • system is a logical set configuration of a plurality of devices, and the devices having each configuration are not limited to those in the same housing.
  • a device and a method capable of executing a process according to a user utterance in a device other than the device in which the user utterance is input are realized.
  • the external second information processing device is made to execute the process corresponding to the user utterance
  • the user utterance analysis is executed to generate the user utterance interpretation data
  • the generated user utterance interpretation data is converted.
  • the conversion data that can be understood by the second information processing device is generated and transmitted to the second information processing device.
  • the user utterance interpretation data has an intent corresponding to the intention of the user utterance and a slot corresponding to the element information included in the user utterance, and the data processing unit uses the user utterance interpretation data including the intent and the slot as a second. Converts the data to include intents and slots that the information processor can understand.
  • agent apparatus which is an information processing apparatus which performs a response and processing based on a user's utterance. It is a figure explaining the use example and the problem of a plurality of agent devices. It is a figure explaining the use example and the problem of a plurality of agent devices. It is a figure explaining the specific example of the process executed by the agent apparatus of this disclosure. It is a figure explaining an example of mapping data. It is a figure explaining the sequence of processing using a plurality of agent devices. It is a figure explaining the sequence of processing using a plurality of agent devices. It is a figure explaining the specific example of the agent apparatus list.
  • User utterance interpretation data A (intent, slot) generated by one agent device A and user utterance interpretation data X (intent, slot) required for various agent devices X other than agent device A to execute processing.
  • , Slot is a diagram showing an example of corresponding data. It is a figure explaining the specific processing example of the agent apparatus A, 10 corresponding to the example shown in FIG. 9 (5). It is a figure which shows the flowchart explaining the processing sequence executed by the agent apparatus. It is a figure which shows the flowchart explaining the processing sequence executed by the agent apparatus. It is a figure which shows the flowchart explaining the processing sequence executed by the agent apparatus. It is a figure which shows the flowchart explaining the processing sequence executed by the agent apparatus. It is a figure which shows the flowchart explaining the processing sequence executed by the agent apparatus. It is a figure which shows the flowchart explaining the processing sequence executed by the agent apparatus.
  • FIG. 1 is a diagram showing an example of processing of an agent device 10 that recognizes a user utterance uttered by the user 1 and makes a response.
  • the agent device 10 is a user's utterance, for example.
  • User utterance "Tell me the weather in Osaka tomorrow and afternoon”
  • the voice recognition process of this user utterance is executed.
  • the agent device 10 executes a process based on the voice recognition result of the user's utterance.
  • the agent device 10 makes the following system response.
  • System response "Tomorrow in Osaka, the weather will be fine in the afternoon, but there may be a shower in the evening.”
  • the agent device 10 executes voice synthesis processing (TTS: Text To Speech) to generate and output the above system response.
  • TTS Text To Speech
  • the agent device 10 generates and outputs a response by using the knowledge data acquired from the storage unit in the device or the knowledge data acquired via the network.
  • the agent device 10 shown in FIG. 1 includes a camera 11, a microphone 12, a display unit 13, and a speaker 14, and has a configuration capable of audio input / output and image input / output.
  • voice recognition process and the semantic analysis process for the user's utterance may be performed in the agent device 10 or may be executed in the server on the cloud side.
  • the agent device 10 recognizes the utterance of the user 1 and performs a response based on the utterance of the user. For example, various processes according to the utterance of the user, for example, control of an external device such as a television or an air conditioner in the house. Execute. For example, when the user utterance is a request such as "change the TV channel to 1" or "set the temperature of the air conditioner to 20 degrees", the agent device 10 externally recognizes the voice recognition result of the user utterance. A control signal (Wi-Fi, infrared light, etc.) is output to the device to execute control according to the user's utterance.
  • Wi-Fi Wi-Fi, infrared light, etc.
  • agent device A that controls the TV and air conditioner in the house in response to a request from the user
  • agent device B that is good at providing information on news and weather information, restaurant search, and meal delivery services
  • agent device C that is good at request processing and the like.
  • agent devices A and 10 are placed on the second floor where the user is located, and other agent devices B and 20 are placed on the first floor.
  • the main functions that can be executed by the agent devices A and 10 on the second floor are various information provision processes such as news, weather information, and traffic information.
  • the main functions that can be executed are control of electric appliances (television, air conditioner, etc.) in the house, restaurant search, request for delivery service, and the like.
  • This user utterance is input to the agent devices A and 10 via the microphones of the agent devices A and 10 in front of the user 1.
  • the agent devices A and 10 perform voice analysis of the user's utterance to understand the user's request, but the agent devices A and 10 do not have a delivery service request function.
  • the agent devices A and 10 make the following system utterances to, for example, the user 1. "Sorry, I can't do it.”
  • the processing is not performed.
  • the user 1 must move to the first floor where the agent devices B and 20 having the delivery service request function are located, and make the above user utterance to the agent devices B and 20 again.
  • the information processing device (agent device) of the present disclosure eliminates such a burden on the user.
  • FIG. 4 shows the same settings as described above with reference to FIGS. 2 and 3. That is, the user 1 is on the second floor of the house, the agent devices A and 10 are on the same second floor, and another agent devices B and 20 are placed on the first floor.
  • the main functions that can be executed by the agent devices A and 10 on the second floor are various information provision processes such as news, weather information, and traffic information.
  • the main functions that can be executed are control of electric appliances (television, air conditioner, etc.) in the house, restaurant search, request for delivery service, and the like. Two agent devices having such different characteristics are on the first floor and the second floor, respectively.
  • This user utterance is input to the agent devices A and 10 via the microphones of the agent devices A and 10 in front of the user 1.
  • the agent devices A and 10 execute voice analysis of the user's utterance to understand the user's request. This process is the process shown in FIG. 4 (step S01).
  • step S01) shown in FIG. 4 the agent devices A and 10 interpret the user utterance by performing voice recognition processing, semantic analysis processing, and dialogue state estimation processing for the user utterance.
  • the agent devices A and 10 estimate the intention of the user utterance (Intent) and the element information (slot) which is a meaningful element (significant element) included in the utterance as the interpretation result of the user utterance. ..
  • the intent and slot estimation processing is executed according to the user utterance interpretation algorithm peculiar to the agent devices A and 10.
  • the agent devices A and 10 shown in FIG. 4 generate, for example, the following user utterance interpretation data in (step S01).
  • the agent devices A and 10 understand that the user 1 is requesting the delivery request of the pizza (Margherita) based on the above-mentioned user utterance interpretation data. However, the agent devices A and 10 do not have a pizza delivery request function.
  • the agent devices A and 10 of the present disclosure transfer the user utterance interpretation data to another agent device having a pizza delivery request function.
  • the user utterance interpretation data is transferred to the agent devices B and 20 on the first floor.
  • the agent devices A and 10 directly transfer the user utterance interpretation data (intent a and slot a) generated in the above (step S01) to the agent devices B and 20, the agent devices B and 20 still have these. It may not be possible to execute the process based on the user utterance interpretation data (intent a, slot a), that is, the pizza order process.
  • the user utterance interpretation processing algorithm A executed by the agent devices A and 10 may differ from the user utterance interpretation processing algorithm B executed by the agent devices B and 20.
  • the agent devices A and 10 generate the user utterance interpretation data A (intent a, slot a) according to the user utterance interpretation processing algorithm A of the agent devices A and 10, and the user utterance interpretation data according to the user utterance interpretation processing algorithm A. Processing (for example, a response to a user) is executed according to A (intent a, slot a).
  • the agent devices B and 20 generate the user utterance interpretation data B (intent b, slot b) according to the user utterance interpretation processing algorithm B of the agent devices B and 20, and the user utterance according to the user utterance interpretation processing algorithm B.
  • the process is executed according to the interpretation data B (intent b, slot b).
  • the agent device B , 20 may not be able to execute correct processing (processing according to user request) based on user utterance interpretation data A (intent a, slot a).
  • the agent devices A and 10 execute the process shown in FIG. 4 (step S02).
  • the agent devices A and 10 can use the user utterance interpretation data A (intent a, slot a) generated in (step S01) in the user utterance interpretation data B (intent a, slot a) that the agent devices B and 20 can understand.
  • the process of converting to the intent b and the slot b) (mapping process) is executed.
  • the user utterance interpretation data B corresponds to the user utterance interpretation data (intent b, slot b) generated according to the user utterance interpretation processing algorithm B executed by the agent devices B and 20.
  • the agent devices A and 10 store the mapping data required for this data conversion in the storage unit, and refer to this mapping data to generate the user utterance interpretation data A (intent a, slot) in (step S01).
  • a process (mapping process) of converting a) into user utterance interpretation data B (intent b, slot b) that can be understood by the agent devices B and 20 is executed.
  • the agent devices A and 10 generate the following conversion data (user utterance interpretation data B (intent b, slot b)) shown in FIG. 4 (step S02).
  • user utterance interpretation data B intent b, slot b
  • step S02 the agent devices A and 10 generate the following conversion data (user utterance interpretation data B (intent b, slot b)) shown in FIG. 4 (step S02).
  • This conversion data is executed with reference to the mapping data stored in the storage units of the agent devices A and 10, specifically, the mapping data as shown in FIG. 5, for example.
  • the agent devices B and 20 make the following user utterances, that is, "I want to order pizza. Deliver at 12:00, please Margherita.” This corresponds to the user utterance interpretation data B (intent b, slot b) generated according to the user utterance interpretation processing algorithm B executed by the agent devices B and 20 when the user utterance is directly input.
  • FIG. 5 shows an example of mapping data stored in the storage units of the agent devices A and 10.
  • the mapping data has a configuration in which the following data are associated and registered.
  • the data (B) corresponds to data capable of causing the agent device B to execute the process by applying the API (Application Programming Interface) of the agent devices B and 20.
  • the data is allowed as input data by the API provided by the agent devices B, 20 or the management server of the agent devices B, 20.
  • the agent devices A and 10 have the conversion data generated in (step S02) in (step S03).
  • (Intent b) Pizza order (Slot b1) Delivery time 12:00 (Slot b2)
  • Type Margherita
  • This converted data is transmitted to the agent devices B and 20 on the first floor via the communication unit.
  • the conversion data (user utterance interpretation data B (intent b, slot b)) generated in step S02 is collected by the agent devices B, 20 or the management server of the agent devices B, 20. It can be input to the agent devices B and 20 by the processing using the provided API (Call processing of API).
  • the agent devices B and 20 on the first floor receive the above conversion data from the agent devices A and 10 on the second floor.
  • the agent devices B and 20 execute processing based on the conversion data received from the agent devices A and 10. That is, the process of ordering pizza is performed according to the user's request.
  • the conversion data received from the agent devices A and 10 is the following user utterance, that is, the conversion data received by the agent devices B and 20. "I want to order pizza. Deliver at 12:00, please Margherita.” This is the same as the user utterance interpretation data B (intent b, slot b) generated according to the user utterance interpretation processing algorithm B executed by the agent devices B and 20 when the user utterance is directly input. Therefore, the agent devices B and 20 can accurately understand the intention of the user 1 and execute accurate processing as in the case where the user utterance is directly input from the user 1.
  • agent devices B and 20 it is not necessary to perform user utterance interpretation processing such as voice recognition processing, meaning analysis processing, and dialogue state estimation processing for the user utterance, and the processing can be smoothly performed without delay. It becomes.
  • FIGS. 6 and 7 A processing sequence using a plurality of agent devices will be described with reference to FIGS. 6 and 7.
  • FIGS. 6 and 7 from the left, (1) User who speaks (2) Agent devices A, 10, (3) Agent devices B, 20, These are shown.
  • the processes are executed in the order of steps S21 to S27 shown in FIGS. 6 and 7.
  • the processing of each step will be described in sequence.
  • Step S21 First, in step S21, the user 1 speaks to the agent devices A and 10, and the dialogue process is executed between the user 1 and the agent devices A and 10.
  • Step S22 the agent devices A and 10 execute the user utterance interpretation process by the voice recognition process, the meaning analysis process, and the dialogue state estimation process of the user utterance acquired in the dialogue process of step S21.
  • This processing is performed according to the user utterance interpretation algorithm A executed by the data processing unit (voice analysis unit) of the agent devices A and 10.
  • the agent devices A and 10 are composed of the intention of the user utterance (Intent) and the element information (slot) which is a meaningful element (significant element) included in the utterance as a result of the user utterance interpretation process.
  • User utterance interpretation data A is generated.
  • Steps S23 to S24 The agent devices A and 10 determine whether or not the request of the user 1 can be processed based on the user utterance interpretation data acquired in step S22, and if the processing can be executed, perform the processing. However, this sequence diagram shows a sequence when the agent devices A and 10 determine that the request of the user 1 cannot be processed.
  • the agent devices A and 10 understand that the user 1 requests the delivery request of the pizza (Margherita) based on the user utterance interpretation data acquired in step S22, but the agent devices A and 10 have the agent devices A and 10 requesting the delivery request. , Does not have a pizza delivery request function.
  • the agent devices A and 10 output the following system utterances in step S23.
  • "Cannot process” The user 1 makes the following user utterance in response to this system response.
  • "Transfer to agent device B” The agent devices A and 10 interpret the user utterance and perform a process for transferring the user request to the agent device B according to the user request. That is, the processing of step S25 or less shown in FIG. 7 is performed.
  • the agent devices A and 10 inform the user 1 that the user request cannot be processed, and the user 1 makes a request to transfer the user request to the agent device B as a response.
  • An example is shown.
  • the agent device list shown in FIG. 8 is a list of agent devices recorded in association with identifiers of other agent devices capable of communication, functions of the agent devices, and communication addresses.
  • the agent devices A and 10 may be configured to perform a process of selecting an agent device as a user request transfer destination by referring to the agent device list shown in FIG. 8 stored in the storage unit of the agent devices A and 10.
  • Step S25 When the agent device to which the user request is transferred is determined, the agent devices A and 10 execute the process of step S25. It is assumed that the agent devices to which the user request is transferred are the agent devices B and 20.
  • step S25 the agent devices A and 10 perform a process of converting (mapping) the "user utterance interpretation data A" generated in step S22 into "user utterance interpretation data B" that the agent devices B and 20 can understand. .. That is, the agent devices B and 20 perform a process of converting (mapping) the user utterance interpretation data B (intent, slot) required for executing the process.
  • the agent devices B and 20 generate user utterance interpretation data (intent b, slot b) according to the user utterance interpretation processing algorithm B of the agent devices B and 20.
  • the process is executed according to the generated user utterance interpretation data B (intent b, slot b). Therefore, even if the user utterance interpretation data A (intent a, slot a) according to the user utterance interpretation processing algorithm A generated by the agent devices A and 10 is transmitted to the agent devices B and 20, the agent device B , 20 may not be able to execute correct processing (processing according to user request).
  • the agent devices A and 10 change the "user utterance interpretation data A" generated in step S22 into “user utterance interpretation data B" that the agent devices B and 20 can understand in step S25. Performs conversion (mapping) processing. That is, the agent devices B and 20 perform a process of generating the user utterance interpretation data B (intent, slot) required for executing the process.
  • the agent devices A and 10 store the mapping correspondence data applied to the mapping processing in the storage unit, refer to the mapping correspondence data, and refer to the "user utterance interpretation data A" and the "user utterance interpretation data B". Performs the process of converting to.
  • the corresponding data for mapping stored in the storage unit is "Intents and slots that make up user utterance interpretation data A", It is composed of data corresponding to "tents and slots constituting the user utterance interpretation data B".
  • step S25 the agent devices A and 10 refer to the mapping correspondence data stored in the storage unit, and the agent devices B and 20 can understand the "user utterance interpretation data A" generated in step S22. Performs a process of converting (mapping) into "user utterance interpretation data B".
  • step S02 the following conversion data (user utterance interpretation data B (intent b, slot b)) shown in FIG. 4 (step S02) is generated.
  • (Intent b) Pizza order (Slot b1) Delivery time 12:00 (Slot b2)
  • Type Margherita
  • the agent devices B and 20 have the following user utterances, that is, "I want to order pizza. Deliver at 12:00, please Margherita.” This corresponds to the user utterance interpretation data B (intent b, slot b) generated according to the user utterance interpretation processing algorithm B executed by the agent devices B and 20 when the user utterance is directly input.
  • Step S26 Next, in step S26, the agent devices A and 10 transmit the conversion data (user utterance interpretation data B (intent b, slot b)) generated in step S25 to the agent devices B and 20.
  • conversion data user utterance interpretation data B (intent b, slot b)
  • the conversion data (user utterance interpretation data B (intent b, slot b)) generated by the agent devices A and 10 in step S25 is, for example, the agent devices B, 20 or the management server of the agent devices B, 20. This is the data allowed as input data by the API (Application Programming Interface) provided by.
  • the agent devices A and 10 transfer the conversion data (user utterance interpretation data B (intent b, slot b)) generated in step S25 to the agent devices B and 20 by processing using this API (Call processing of the API). You can enter it.
  • Step S27 The agent devices B and 20 that have input the conversion data (user utterance interpretation data B (intent b, slot b)) from the agent devices A and 10 in step S26 then move the input conversion data (user) in step S27.
  • the process based on the utterance interpretation data B (intent b, slot b)) is executed.
  • the conversion data received from the agent devices A and 10 is such that the agent devices B and 20 make the following user utterances, that is, "I want to order pizza. Deliver at 12:00, please Margherita.”
  • This is the same as the user utterance interpretation data B (intent b, slot b) generated according to the user utterance interpretation processing algorithm B executed by the agent devices B and 20 when the user utterance is directly input. Therefore, the agent devices B and 20 can accurately understand the intention of the user 1 and execute accurate processing as in the case where the user utterance is directly input from the user 1.
  • agent devices B and 20 it is not necessary to perform user utterance interpretation processing such as voice recognition processing, meaning analysis processing, and dialogue state estimation processing for the user utterance, and the processing can be smoothly performed without delay. It becomes.
  • the user utterance interpretation processing algorithm executed by each of the agent devices often differs depending on the type of the agent device.
  • the user utterance interpretation data A (intent, slot) generated by one agent device A and various agent devices X other than the agent device A execute processing for various user utterances.
  • the agent device X is not a single agent device, but various agent devices different from the agent device A.
  • the agent device A corresponds to the agent device X as it is without converting the user utterance interpretation data A (intent, slot) generated by applying the user utterance interpretation algorithm A.
  • the agent device X can be made to execute the correct process according to the user's utterance.
  • the agent device A does not convert the user utterance interpretation data A (intent, slot) generated by applying the user utterance interpretation algorithm A, and the agent device A directly passes through the API corresponding to the agent device X. If input to X, the agent device X may not be able to perform correct processing according to the user's utterance.
  • the agent device A converts the user utterance interpretation data A (intent, slot) generated by applying the user utterance interpretation algorithm A, and enters each of the entries (2) and (3) in FIG. It is necessary to generate conversion data corresponding to the user utterance interpretation data X (intent, slot) of the above and input it to the agent device X via the API corresponding to the agent device X. By performing such conversion data generation and input processing, it is possible to cause the agent device X to execute correct processing according to the user's utterance.
  • 9 (4) and 9 (5) show the user utterance interpretation data A (intent, slot) generated by the agent device A for a certain user utterance, and the user required for the agent device X to execute the process.
  • the intent generated by the agent device A is lower-level data of the intent required for the agent device X to execute the process.
  • the user utterance interpretation data A (intent, slot) generated by the agent device A for a certain user utterance and the user required for the agent device X to execute the process are also shown.
  • the intent generated by the agent device A is higher-level data of the intent required for the agent device X to execute the process.
  • the agent device A converts the user utterance interpretation data A (intent, slot) generated by applying the user utterance interpretation algorithm A, and shows the figure. Generate conversion data corresponding to the user utterance interpretation data X (intent, slot) of each entry of 9 (4) to (7) and input it to the agent device X via the API corresponding to the agent device X. Is required. By performing such conversion data generation and input processing, it is possible to cause the agent device X to execute correct processing according to the user's utterance.
  • time information not included in the user's utterance is set in the slot required for the agent device X to execute the process.
  • the agent A is required for the agent device X to execute the process. Performs processing such as asking a user a question in order to acquire information corresponding to the slot. An example of this processing will be described later.
  • FIG. 10 is a diagram illustrating a specific processing example of the agent devices A and 10 corresponding to the example shown in FIG. 9 (5).
  • Each step of steps S21 to S27 shown in FIG. 10 corresponds to each step of steps S21 to S27 shown in the sequence diagram of FIGS. 6 and 7 described above.
  • step S21 a dialogue process is executed between the user 1 and the agent devices A and 10, and the user 1 executes the following user utterance.
  • User utterance "Searching for a Japanese restaurant and opening it in Osaki from 17:00"
  • step S22 the agent devices A and 10 execute the user utterance interpretation process by the voice recognition process, the meaning analysis process, and the dialogue state estimation process of the user utterance acquired in the dialogue process of step S21.
  • This processing is performed according to the user utterance interpretation algorithm A executed by the data processing unit (voice analysis unit) of the agent devices A and 10.
  • the agent devices A and 10 generate the following user utterance interpretation data A as a result of the user utterance interpretation process.
  • step S25 the agent devices A and 10 convert (map) the "user utterance interpretation data A" generated in step S22 into "user utterance interpretation data B" that the agent devices B and 20 can understand. Perform processing. That is, the agent devices B and 20 perform a process of generating the user utterance interpretation data B (intent, slot) required for executing the process.
  • the agent devices A and 10 generate the following conversion data (user utterance interpretation data B (intent, slot)) in step S25.
  • step S26 the agent devices A and 10 transmit the conversion data (user utterance interpretation data B (intent, slot)) generated in step S25 to the agent devices B and 20.
  • the input is input to the agent devices B and 20 by a process using the API provided by the agent devices B and 20 or the management server of the agent devices B and 20 (API Call process).
  • agent devices B and 20 that have input the conversion data (user utterance interpretation data B (intent, slot)) from the agent devices A and 10 in step S26 then in step S27, input conversion data (user utterance interpretation). Process based on data B (intent, slot)) is executed.
  • the processing result is transmitted from the agent devices B and 20 to the agent devices A and 10, and is presented to the user 1 via the output unit (display unit and speaker) of the agent devices A and 10.
  • FIG. 11 The processing sequence executed by the agent device that directly executes the dialogue with the user will be described with reference to the following flowcharts. Most of the processes shown in the flowcharts shown in FIGS. 11 and 11 are the processes executed by the agent devices A and 10 that directly execute the dialogue with the user, that is, the examples described with reference to FIGS. 4 to 10. is there. A part also includes an agent device that does not directly interact with the user, that is, a process executed by the agent devices B and 20 in the examples described with reference to FIGS. 4 to 10.
  • the processing executed by the agent device A (corresponding to the agent devices A and 10) that directly interacts with the user is shown by a solid line, and the agent device B (agent) that does not directly interact with the user.
  • the processing executed by the devices B and 20) is shown by the dotted line.
  • the process according to the flowchart shown in FIG. 11 and below is executed according to the program stored in the storage unit of the agent device A.
  • it can be executed as a program execution process by a processor such as a CPU having a program execution function.
  • Step S101 First, the agent device A, which directly interacts with the user, inputs the user's utterance in step S101.
  • Step S102 the agent device A executes the user utterance interpretation process by the voice recognition process, the meaning analysis process, and the dialogue state estimation process of the user utterance input in step S101.
  • This processing is performed according to the user utterance interpretation algorithm A executed by the data processing unit (voice analysis unit) of the agent device A.
  • the context dialogue history information
  • the storage unit of the agent device A for example, the past context of each user, that is, the dialogue history information is stored.
  • the user (U1) often talks about cooking.
  • the user (U2) can acquire data such as a lot of stories about cars and travel, and can analyze the user's intent with high accuracy based on these data.
  • step S103 the agent device A is an element that is a meaningful element (significant element) included in the user utterance intention (Intent) or the utterance as a result of the user utterance interpretation process in step S102.
  • User utterance interpretation data A composed of information (slot: Slot) is generated.
  • Step S104 to S105 the agent device A determines whether or not the agent device A itself can execute the process according to the user utterance based on the user utterance interpretation data acquired in step S103. If it is determined that the processing by the agent device A itself is possible, the process proceeds to step S106. On the other hand, if it is determined that the processing by the agent device A itself is not possible, the process proceeds to step S201.
  • Step S106 If it is determined in step S105 that the process corresponding to the user's utterance can be executed by the agent device A itself, the process proceeds to step S106. In this case, the agent device A executes the process according to the user's utterance in step S106.
  • Step S107 After executing the process corresponding to the user's utterance in step S106, the agent device A stores the context such as the dialogue history information between the agent device A and the user in the storage unit in step S107.
  • step S105 a process when it is determined that the process according to the user's utterance cannot be executed by the agent device A itself will be described with reference to the flowchart shown in FIG.
  • Step S201 If it is determined in step S105 that the process corresponding to the user's utterance cannot be executed by the agent device A itself, the agent device A searches for another communicable agent device capable of processing the user request in step S201.
  • an agent device list as shown in FIG. 8 described above is held in the storage unit of the agent device A, and the agent device of the user request transfer destination is selected with reference to this list.
  • the agent device A notifies the user that it cannot be executed, and the user transfers the request to another agent device.
  • the request transfer process may be started on the condition that the request is made.
  • step S202 the agent device A determines whether or not another communicable agent device capable of processing the user request is detected in the search process in step S201. If detected, the process proceeds to step S204. On the other hand, if it is not detected, the process proceeds to step S203.
  • Step S203 If it is determined in the determination process in step S202 that no other communicable agent device capable of processing the user request has been detected, the agent device A informs the user that the process based on the user's utterance cannot be executed in step S203. Generates a system utterance for the user and outputs it to the user.
  • Step S204 On the other hand, if it is determined in the determination process in step S202 that another communicable agent device (agent device B) capable of processing the user request is detected, the agent device A executes the following process in step S204.
  • agent device B another communicable agent device
  • the agent device A converts (maps) the "user utterance interpretation data A" generated in the previous step S103 into "user utterance interpretation data B" that can be understood by the communicable agent device B that can process the user request. To do. That is, the agent devices B and 20 perform a process of converting (mapping) the user utterance interpretation data B (intent, slot) required for executing the process.
  • the agent device A stores the mapping correspondence data applied to this mapping process in the storage unit, refers to the mapping correspondence data, and converts the “user utterance interpretation data A” into the “user utterance interpretation data A”. Performs the process of converting to "data B".
  • the corresponding data for mapping stored in the storage unit is "Intents and slots that make up user utterance interpretation data A”, It is composed of data corresponding to "tents and slots constituting the user utterance interpretation data B".
  • step S204 the agent device A refers to the mapping correspondence data stored in the storage unit, and the agent device B can understand the “user utterance interpretation data A” generated in step S103 as “user utterance interpretation data”. Performs the process of converting (mapping) to "B".
  • Step S205 the agent device A transmits the conversion data (user utterance interpretation data B (intent b, slot b)) generated in step S204 to the agent device B.
  • conversion data user utterance interpretation data B (intent b, slot b)
  • the conversion data (user utterance interpretation data B (intent b, slot b)) generated by the agent device A in step S204 is, for example, an API (Application) provided by the agent device B, the management server of the agent device B, or the like. This is the data allowed by the Programming Interface) as input data.
  • the agent device A may input the conversion data (user utterance interpretation data B (intent b, slot b)) generated in step S204 to the agent device B by a process using this API (Call process of API). it can.
  • Step S206 The process of step S206 is a process executed by the agent device B.
  • the agent device B that has input the conversion data (user utterance interpretation data B (intent b, slot b)) from the agent device A has input conversion data (user utterance interpretation data B (intent)) in step S206.
  • the process based on slot b)) is executed.
  • the conversion data (user utterance interpretation data B (intent b, slot b)) input from the agent device A is the user utterance executed by the agent device B when the agent device B directly inputs the user utterance in step S101.
  • This is data corresponding to user utterance interpretation data B (intent b, slot b) generated according to the interpretation processing algorithm B. Therefore, the agent device B can accurately understand the user's intention and execute accurate processing as in the case where the user's utterance is directly input from the user.
  • agent device B it is not necessary to perform user utterance interpretation processing such as voice recognition processing, meaning analysis processing, and dialogue state estimation processing for the user utterance, and the processing can be smoothly performed without delay. ..
  • step S207 the agent device A receives the processing completion notification from the agent device B.
  • Step S208 the agent device A notifies the user that the process is completed in step S208.
  • a system utterance for notifying the user that the process according to the user's utterance is completed such as "process completed” or "I ordered pizza", is generated and output to the user.
  • agent device A that directly inputs the user utterance cannot execute the process according to the user utterance, another communicable agent device B Will be requested to process.
  • the agent device A converts the user utterance interpretation data A (intent a, slot a) generated based on the user utterance, and executes the process.
  • the understandable user utterance interpretation data B ( Intent b, slot b) is generated.
  • the agent device B cannot execute the process only with the data included in the user utterance interpretation data B (intent b, slot b) generated by converting the user utterance interpretation data A (intent a, slot a). In some cases.
  • the data shown in FIG. 9 described above that is, the user utterance interpretation data A (intent, slot) generated by one agent device A for various user utterances, and various data other than the agent device A. It is the data of the entry (3) and the entries (6) and (7) in the corresponding data example of the user utterance interpretation data X (intent, slot) required for the agent device X to execute the process.
  • the user utterance interpretation data A intent, slot
  • the user utterance interpretation data X intent, slot
  • the user utterance interpretation data X (intent, slot) required for the agent device X of the entry (4) to execute the process is the following data.
  • slots 1 and 2 intents and slots 1 are obtained from the user utterance "Set the timer of the washing machine to 12:00".
  • FIGS. 9 (6) and 9 (7) are shown in FIGS. 9 (6) and 9 (7), respectively.
  • User utterance "Search Italian and search in Osaki”
  • User utterance "Search for a Japanese restaurant and look for it in Osaki”
  • the data shown in FIG. 9 includes user utterance interpretation data X (intents, slots) required for these agent devices X to execute processing.
  • (Slot 1) Opening hours 17: 00-23: 00 Although this slot is included, this (slot) is data that is not acquired from the above user utterance.
  • (Slot 1) Opening hours 17: 00-23: 00 This slot data is required and this data cannot be obtained from user utterances.
  • the agent device A that inputs the user utterance converts the user utterance interpretation data A (intent a, slot a) generated based on the user utterance, and the user utterance interpretation data B (intent b, slot a). Even if b) is generated and transmitted to the agent device B, the agent device B may not be able to execute the process.
  • the agent device B requests the agent device A to acquire the information necessary for executing the process.
  • the agent device A asks a question to the user in response to the information acquisition request from the agent device B, acquires a response from the user, and transmits data based on this response to the agent device B.
  • the agent device B can accurately execute the processing according to the user's utterance.
  • the flowchart shown in FIG. 13 shows a process to be executed following step S205 of the flow described above with reference to FIGS. 11 and 12.
  • the step shown by the solid line is the process executed by the agent device A that directly inputs the user utterance
  • the step shown by the dotted line is the process that communicates with the agent device A and responds to the user utterance.
  • This is a process executed by the agent device B that executes the above.
  • Step S205 The process of step S205 is the process described above with reference to FIG. That is, in step S205, the agent device A transmits the conversion data (user utterance interpretation data B (intent b, slot b)) generated in step S204 to the agent device B.
  • conversion data user utterance interpretation data B (intent b, slot b)
  • Step S211 The processes of steps S211 to S213 are processes executed by the agent device B.
  • the agent device B executes a verification process of the conversion data (user utterance interpretation data B (intent b, slot b)) received from the agent device A in step S204.
  • step S212 it is determined whether or not all the data required for processing in the agent device B is included in the received data from the agent device A. That is, it is determined whether or not there is insufficient information in the user utterance interpretation data B (intent b, slot b) which is the conversion data received from the agent device A. If it is determined that there is insufficient information, the process proceeds to step S212.
  • step S206 the processes of steps S206 to S208 described above with reference to FIG. 12 are executed.
  • Step S212 If the agent device B determines in step S211 that the user utterance interpretation data B (intent b, slot b), which is the conversion data received from the agent device A, has insufficient information, the agent device B processes the process in step S212. To execute.
  • step S212 the agent device B requests the agent device A to ask a question to the user for acquiring the shortage information.
  • the agent device A In response to the request from the agent device B, the agent device A generates a question for acquiring the shortage information and outputs the question to the user. That is, the question is executed, and the process for the user's utterance in response to the user's response to the question is executed.
  • the process executed for the new user utterance is the same process as the processes of steps S102 to S103 and steps S204 to S205 described above with reference to FIGS. 11 and 12.
  • Step S213 the agent device B acquires additional information from the agent device in step S213, and further returns to step S211 to determine whether or not there is insufficient information.
  • step S211 If there is still insufficient information even after inputting additional information, the processes of steps S211 to S213 are repeated. If it is determined in step S211 that there is no insufficient information, the process proceeds to step S206 to execute the process.
  • the agent device B determines that the information required for executing the process is insufficient, it requests the agent device A to acquire the insufficient information and retransmits the insufficient information. , Align the data required for processing and execute the processing. By performing this additional information transmission processing, the agent device B can accurately execute the processing according to the user's utterance.
  • the agent device B that executes the process according to the user's utterance determines whether or not there is insufficient information required for the process execution. In addition to such a processing mode, it is also possible for the agent device A to determine whether or not the information required for processing by the agent device B is insufficient. An example of the processing sequence when this processing is performed will be described with reference to the flowchart shown in FIG.
  • Steps S204 and steps S205 to S208 in the flow shown in FIG. 14 are the same processes as steps S204 and steps S205 to S208 of the flow described above with reference to FIG. Steps S221 to S224 are newly added processes.
  • the processing of steps S221 to S224 is executed by the agent device A following the processing of step S204.
  • the processing of steps S204 and steps S221 to S224 will be described.
  • Step S204 When it is determined that another communicable agent device (agent device B) capable of processing the user request is detected in the determination process in step S202 described above with reference to FIG. 12, the agent device A determines in step S204. Execute the following processing.
  • the agent device A converts (maps) the "user utterance interpretation data A" generated in the previous step S103 into "user utterance interpretation data B" that can be understood by the communicable agent device B that can process the user request. To do. That is, the agent devices B and 20 perform a process of converting (mapping) the user utterance interpretation data B (intent, slot) required for executing the process.
  • the agent device A stores the mapping correspondence data applied to the mapping process in the storage unit, and refers to the mapping correspondence data to refer to the “user utterance interpretation data A” and the “user utterance interpretation data A”. Perform the process of converting to "B”.
  • step S211 of the agent device A the conversion data (user utterance interpretation data B (intent b, slot b)) generated in step S204 is sufficient as information necessary for processing in the agent device B. Or determine if there is a shortage.
  • step S222 it is possible to determine whether or not there is a shortage by referring to, for example, the mapping data stored in the storage unit described above. If it is determined that there is insufficient information, the process proceeds to step S222.
  • step S206 the processes of steps S206 to S208 described above with reference to FIG. 12 are executed.
  • Step S222 If it is determined in step S221 that the conversion data (user utterance interpretation data B (intent b, slot b)) generated in step S204 is insufficient as information necessary for processing in the agent device B, the agent device A executes the process of step S222.
  • step S222 the agent device A generates a question for acquiring the missing information and outputs it to the user, and inputs a new user utterance as a response to the question from the user.
  • Steps S223 to S224 the agent device A executes the processes of steps S223 to S224 for a new user utterance as a response to the question.
  • step S223 the user utterance interpretation process by the voice recognition process, the meaning analysis process, and the dialogue state estimation process of the new user utterance for the question input in step 222 is executed. Further, in step S224, the user utterance interpretation data A (intent, Intent) composed of the intention of the user utterance (Intent) and the element information (slot: Slot) which is a meaningful element (significant element) included in the utterance. Slot) is created.
  • step S204 the process returns to step S204, and the user utterance interpretation data A (intent, slot) additionally generated in step S224 is used as the user utterance interpretation data A (intent, slot) generated based on the previous user utterance. ), And based on the new user utterance interpretation data A (intent, slot) after the addition, the process of generating (mapping) the "user utterance interpretation data B" is performed.
  • step S221 it is determined whether or not the newly generated "user utterance interpretation data B" is sufficient as information necessary for processing in the agent device B. If there is a shortage, the processes of steps S222 to S224 and S204 to S221 are repeated.
  • step S221 If it is determined that the "user utterance interpretation data B" newly generated in step S221 is sufficient as the information necessary for processing in the agent device B, the process proceeds to step S205, and the conversion data (user utterance interpretation data B) is obtained. ) Is transmitted to the agent device B.
  • step S206 the agent device B executes a process based on the transmitted data.
  • the agent device B can execute the process after acquiring all the information necessary for executing the process, and can accurately execute the process according to the user's utterance.
  • the agent device A that directly inputs the user utterance may continuously input the user utterance from the same user or a plurality of different users.
  • the agent device A must manage each of the plurality of user utterances input in this way by distinguishing whether the utterance is about one common task (process) or another task (process). , There is a possibility that wrong processing will be performed.
  • the agent device records the dialogue history information in which the task ID is set for each user utterance, that is, the context in the storage unit.
  • FIG. 15 is a diagram showing a data example of dialogue history information (context) recorded in the storage unit.
  • FIG. 15 shows an example of registration data related to the following two user utterances input at the time (t1) and (t2).
  • the data processing unit of the agent device A for inputting these user utterances generates the registration data of the dialogue history information (context) shown in FIG. 15 and stores it in the storage unit. That is, the following corresponding data is generated and recorded for each user's utterance.
  • A) Task ID (B) User utterance (text data) (C) Spoken user identifier (d) User utterance interpretation data (intent, slot) (E) Processing execution agent identifier
  • the task ID is an utterance related to one task
  • the same ID is set.
  • the time interval of each utterance and the similarity of the domain corresponding to the user utterance estimated in the utterance interpretation process are used.
  • these user utterances are determined to be the same task, and the same task ID is set. Further, when the domains corresponding to the user utterances estimated in the utterance interpretation process executed for each user utterance are similar, it is determined that these user utterances are the same task, and the same task ID is set.
  • the domain is a semantic area of user utterance, and is a superordinate concept of the intent described above.
  • the agent device determines the utterance interpretation data corresponding to the domain, the intention, and the slot in the utterance interpretation process for the user's utterance.
  • the agent device executes the user utterance interpretation process for the input user utterance, and if the plurality of user utterance intervals are within the threshold time and the domains are similar, the utterances related to the same task are used. It is determined that there is, and the same task ID is set and recorded.
  • the two user utterances shown in FIG. 15 are data examples of dialogue history information (context) related to such utterances.
  • FIG. 16 is a data example of dialogue history information (context) related to utterance different from that of FIG.
  • FIG. 16 shows an example of registration data related to the following two user utterances input at the times (t1) and (t2).
  • User utterance at time t1 I want to order a pizza with tomatoes.
  • User utterance at time t2 with delivery at 12:00 timer is set at 8:00 tomorrow morning, and it is the registration data of dialogue history information (context) related to these two user utterances.
  • the agent device executes the user utterance interpretation process for the input user utterances. If the utterance intervals of a plurality of users are within the threshold time and the domains are similar, it is determined that the utterances are related to the same task, and the same task ID is set and recorded.
  • User utterance at time t1 I want to order a pizza with tomatoes.
  • User utterance at time t1 I want to order a pizza with tomatoes.
  • Delivered at 12:00 This user-spoken domain is, for example, (Domain) Delivery processing.
  • User utterance at time t2 Set a timer at 8:00 tomorrow morning, and the domain of this user utterance is, for example. (Domain) Timer setting.
  • the data processing unit of the agent device determines that these two user utterances are not utterances related to the same task, and sets different task IDs for these two utterances.
  • processing for a plurality of utterances for which the same task ID is set is basically executed by one agent device.
  • the processing for a plurality of utterances in which different task IDs are set may be performed by an agent device that executes the processing for each task ID unit.
  • an agent device A that directly inputs the user utterance and an agent device B that communicates with the agent device A and executes processing based on the user utterance without directly inputting the user utterance.
  • An example based on a system using an agent device has been described.
  • FIG. 17 a system configuration example using three or more agent devices may be used.
  • the system shown in FIG. 17 includes agent devices A and 10 that directly input user utterances, and agent devices that communicate with agent devices A and 10 without directly inputting user utterances and execute processing based on user utterances.
  • This is a system that uses three agent devices, B, 20 and agent devices C, 30.
  • a list of agent devices as described above with reference to FIG. 8 is recorded in the storage units of the agent devices A to C.
  • the agent devices A and 10 refer to this list to select the agent device to which the user request is forwarded.
  • the agent device list shown in FIG. 8 is a list of agent devices recorded in association with identifiers of other agent devices capable of communication, functions of the agent devices, and communication addresses.
  • the agent devices A and 10 can perform a process of selecting an agent device as a user request transfer destination by referring to the agent device list shown in FIG. 8 stored in the storage unit of the agent devices A and 10.
  • the agent devices A and 10 that directly input the user utterance do not directly input the user utterance, but communicate with the agent devices A and 10 to execute the process based on the user utterance.
  • An embodiment of transmitting "user utterance interpretation data B" that can be understood by the agent devices B and 20 to the devices B and 20 has been described.
  • the processing executed by the agent devices A and 10 is the user utterance interpretation data A (intent a, slot a) generated according to the user utterance interpretation processing algorithm A, and the user utterance interpretation data B (intent a, slot a) that the agent devices B and 20 can understand.
  • This is a process (mapping process) of converting to the intent b) and the slot b).
  • the agent devices A and 10 transmit the user utterance interpretation data B (intent b, slot b) that the agent devices B and 20 can understand to the agent devices B and 20.
  • the conversion data (user utterance interpretation data B (intent b, slot b)) generated by the agent devices A and 10 is, for example, an API provided by the agent devices B and 20 or the management server of the agent devices B and 20. This is the data allowed as input data by the Application Programming Interface).
  • the agent devices A and 10 input the generated conversion data (user utterance interpretation data B (intent b, slot b)) to the agent devices B and 20 by a process using this API (Call process of API). Can be done.
  • the agent device A, 10 may transmit the user utterance data itself (text data) to the agent devices B and 20 without generating the conversion data (user utterance interpretation data B (intent b, slot b)).
  • the data format input from the agent devices A and 10 to the agent devices B and 20 may be any data allowed by the API used for data input.
  • the following data formats are used depending on the API settings. It may be possible. 1.
  • User utterance itself text data
  • Normalized data of user utterances for example, data obtained by converting hiragana into kanji, data obtained by correcting particle omissions and notational fluctuations, etc.
  • agent devices A and 10 that directly input the user utterance cannot execute the process according to the user utterance, the agent devices B and 20 are requested to perform the process. did.
  • a configuration may be configured in which processing for user utterances is distributed according to the ability of each agent device for natural language processing (NLP: Natural Language Processing).
  • NLP Natural Language Processing
  • Agent device A Agent device B Agent device C Each of these agent devices has the ability of natural language processing (NLP: Natural Language Processing), the ability of speech recognition processing (ASR: Automatic Speech Recognition), the ability of speech synthesis processing (TTS: Text To Speech), and the equipment.
  • NLP Natural Language Processing
  • ASR Automatic Speech Recognition
  • TTS Text To Speech
  • the type of sensor is different.
  • the optimum agent device that executes the process corresponding to the user utterance is selected according to the content of the user utterance and the like, and the selected agent device executes the process.
  • processing corresponding to user utterance can be executed in a more optimal agent device.
  • each agent device In order to realize this process, it is necessary to record a further expanded list of the agent list shown in FIG. 8 described above in the storage unit of each agent device. That is, a list recording information such as the ability of each agent device for natural language processing (NLP), speech recognition processing (ASR), speech synthesis processing (TTS), and the type of attached sensor is stored in the storage unit. Select the agent device to store and refer to this list to execute the process corresponding to the user's speech.
  • NLP natural language processing
  • ASR speech recognition processing
  • TTS speech synthesis processing
  • FIG. 18 is a diagram showing a configuration example of an agent device 100 (information processing device) that recognizes a user utterance and performs processing and a response corresponding to the user utterance.
  • agent device 100 information processing device
  • the agent device 100 includes an input unit 110, an output unit 120, a data processing unit 130, a communication unit 140, and a storage unit 150.
  • the input unit 110 includes a voice input unit (microphone) 111, an image input unit (camera) 112, and a sensor 113.
  • the output unit 120 includes an audio output unit (speaker) 121 and an image output unit (display unit) 122.
  • the voice input unit (microphone) 111 corresponds to, for example, the microphone 12 of the agent device 10 shown in FIG.
  • the image input unit (camera) 112 corresponds to the camera 11 of the agent device 10 shown in FIG.
  • the audio output unit (speaker) 121 corresponds to the speaker 14 of the agent device 10 shown in FIG.
  • the image output unit (display unit) 122 corresponds to the display unit 13 of the agent device 10 shown in FIG.
  • the image output unit (display unit) 122 can be configured by, for example, a projector or the like, or can be configured by using the display unit of a television of an external device.
  • the data processing unit 130 includes an input data analysis unit 160 and a response processing execution unit 170.
  • the input data analysis unit 160 includes a voice analysis unit 161, an image analysis unit 162, a sensor information analysis unit 163, a user utterance correspondence processing execution control unit 164, and a data conversion unit 165.
  • the data processing execution unit 170 includes an output voice generation unit 171, a display information generation unit 172, and a user utterance response processing execution unit 173.
  • the user's spoken voice is input to a voice input unit 111 such as a microphone.
  • the voice input unit (microphone) 111 inputs the input user-spoken voice to the voice analysis unit 161.
  • the voice analysis unit 161 has, for example, an ASR (Automatic Speech Recognition) function, and converts voice data into text data composed of a plurality of words. Further, the utterance semantic analysis process for the text data is executed.
  • the voice analysis unit 161 has a natural language understanding function such as NLU (Natural Language Understanding), and has a meaning element (significant element) included in the user's utterance intention (intent) from the text data. ) (Slot: Slot) is estimated. That is, the user utterance interpretation process is executed to generate the user utterance interpretation data (intent, slot).
  • NLU Natural Language Understanding
  • the agent device 100 can perform accurate processing for the user utterance.
  • the user utterance analysis information acquired by the voice analysis unit 161 is stored in the storage unit 150 and output to the user utterance correspondence processing execution control unit 164.
  • the image input unit 112 captures an image of the speaking user and its surroundings and inputs the image to the image analysis unit 162.
  • the image analysis unit 162 analyzes the facial expression of the utterance user, the user's behavior, the line-of-sight information, the surrounding information of the utterance user, etc. Output to 164.
  • the sensor 113 is composed of a sensor that acquires data necessary for analyzing, for example, temperature, atmospheric pressure, user's line of sight, and the like.
  • the sensor acquisition information is input to the sensor information analysis unit 163.
  • the sensor information analysis unit 163 acquires data such as temperature, atmospheric pressure, and the user's line of sight based on the sensor acquisition information, stores the analysis result in the storage unit 150, and also stores the analysis result in the storage unit 150, and also stores the user speech response processing execution control unit 164. Output to.
  • the user utterance correspondence processing execution control unit 164 includes user utterance interpretation data (intents, slots) generated by the voice analysis unit 161, image analysis information generated by the image analysis unit 162, and a sensor generated by the sensor information analysis unit 163. By inputting the analysis information, it is determined whether the process corresponding to the user's utterance is executed by the own device or another communicable agent device.
  • the data conversion unit 165 determines the user utterance interpretation data A (intent) generated by the voice analysis unit 161.
  • a process (mapping process) of converting a, slot a) into user utterance interpretation data B (intent b, slot b) that can be understood by other agent devices B, 20 that execute user utterance correspondence process is executed.
  • the converted data generated by the data conversion unit 165 is transmitted to another agent device B via the communication unit 140.
  • the storage unit 150 stores the content of the user's utterance, learning data based on the user's utterance, context information such as dialogue history information with the user, display data to be output to the image output unit (display unit) 122, and the like. ..
  • the user utterance interpretation data B in which the user utterance interpretation data A (intent a, slot a) generated by the voice analysis unit 161 can be understood by another agent device.
  • Mapping data for executing the process of converting to (mapping process) is stored.
  • the storage unit 150 stores a list of agent devices in which functional information, access information (communication address), and the like of other communicable agent devices described above with reference to FIG. 8 are recorded.
  • the response processing execution unit 170 includes an output voice generation unit 171, a display information generation unit 172, and a user utterance response processing execution unit 173.
  • the output voice generation unit 171 generates system utterances for the user based on the user utterance analysis data which is the analysis result of the voice analysis unit 161.
  • the response voice information generated by the output voice generation unit 171 is output via the voice output unit 121 such as a speaker.
  • the display information generation unit 172 displays the text information of the system utterance to the user and other presentation information. For example, when the user makes a user utterance to show the world map, the world map is displayed.
  • the world map can be obtained from, for example, a service providing server.
  • the user utterance response processing execution unit 173 executes the processing for the user utterance.
  • the user utterance correspondence processing execution control unit 164 of the input data analysis unit 160 decides to execute the processing corresponding to the user utterance in its own device
  • the user utterance response processing execution unit 173 executes the processing for the user utterance.
  • the user utterance correspondence processing execution unit 173 performs processing for user utterance, that is, music reproduction processing and moving image reproduction processing.
  • the data conversion unit 165 generates the data as described above.
  • the converted data is transmitted to another agent device B via the communication unit 140, and the other agent device B executes a process corresponding to the user's utterance.
  • the communication unit 140 performs communication processing with other agent devices, communication processing with an external server, for example, a server that provides various information such as news information, weather information, music information, and a server that executes voice analysis processing. It is used for.
  • an external server for example, a server that provides various information such as news information, weather information, music information, and a server that executes voice analysis processing. It is used for.
  • the agent device (information processing device) 100 of the present disclosure is not limited to the so-called smart speaker type agent device, and can be in various device forms such as a smartphone or a PC. is there.
  • the agent device (information processing device) 100 recognizes the utterance of the user 1 and performs a response based on the utterance of the user.
  • the agent device (information processing device) 100 also controls an external device 250 such as a television or an air conditioner in response to the utterance of the user.
  • an external device 250 such as a television or an air conditioner
  • the agent device (information processing device) 100 determines the voice recognition result of the user utterance.
  • a control signal Wi-Fi, infrared light, etc. is output to the external device 250 based on the above, and control according to the user's utterance is executed.
  • the agent device (information processing device) 100 is connected to a server 200 that performs various data processing and information provision via a network.
  • the agent device (information processing device) 100 can acquire information necessary for generating a response to a user's utterance from the server 200.
  • the server may be configured to perform voice recognition processing and semantic analysis processing.
  • agent device information processing device
  • FIG. 20 is one specific hardware configuration example of the agent device (information processing device) 100 described above with reference to FIG. 18, and also with reference to FIG. It is also an example of the hardware configuration of the information processing apparatus constituting the server 200 described above.
  • the CPU (Central Processing Unit) 301 functions as a control unit or a data processing unit that executes various processes according to a program stored in the ROM (Read Only Memory) 302 or the storage unit 308. For example, the process according to the sequence described in the above-described embodiment is executed.
  • the RAM (Random Access Memory) 303 stores programs and data executed by the CPU 301. These CPU 301, ROM 302, and RAM 303 are connected to each other by a bus 304.
  • the CPU 301 is connected to the input / output interface 305 via the bus 304, and the input / output interface 305 is connected to an input unit 306 consisting of various switches, a keyboard, a mouse, a microphone, a sensor, etc., and an output unit 307 consisting of a display, a speaker, and the like. Has been done.
  • the CPU 301 executes various processes in response to a command input from the input unit 306, and outputs the process results to, for example, the output unit 307.
  • the storage unit 308 connected to the input / output interface 305 is composed of, for example, a hard disk or the like, and stores programs executed by the CPU 301 and various data.
  • the communication unit 309 functions as a transmission / reception unit for Wi-Fi communication, Bluetooth (registered trademark) (BT) communication, and other data communication via a network such as the Internet or a local area network, and communicates with an external device.
  • Wi-Fi Wi-Fi
  • BT registered trademark
  • the drive 310 connected to the input / output interface 305 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card, and records or reads data.
  • a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card
  • a voice input unit for inputting user utterances and It has a data processing unit that executes the analysis of the user utterance and generates the user utterance interpretation data.
  • the data processing unit When the external second information processing device executes the process corresponding to the user's utterance, An information processing device that converts the user utterance interpretation data to generate conversion data that can be understood by the second information processing device, and transmits the converted data to the second information processing device.
  • the user utterance interpretation data generated by the data processing unit is The information processing device according to (1), which is data having an intent corresponding to the intention of the user's utterance and a slot corresponding to the element information included in the user's utterance.
  • the data processing unit Map pink data in which intents and slots included in user speech interpretation data generated according to a user speech interpretation processing algorithm executed by the data processing unit are associated with intents and slots that can be understood by the second information processing apparatus.
  • the information processing device is The information processing apparatus according to (4), which has a storage unit that stores the mapping data.
  • the data processing unit The information processing device according to any one of (1) to (5), wherein the converted data is input to an API (Application Programming Interface) that allows the second information processing device to input data that can be understood.
  • API Application Programming Interface
  • the data processing unit It is determined whether or not the process corresponding to the user's utterance can be executed by the own device, and if it is determined that the process cannot be executed, the converted data is generated and transmitted to the second information processing apparatus (1) to (6).
  • the information processing device described in any of the above.
  • the data processing unit When the user inputs a request utterance to execute the process corresponding to the user utterance on another device, The information processing apparatus according to any one of (1) to (7), which generates the converted data and transmits the converted data to the second information processing apparatus.
  • the data processing unit is determined by referring to a list in which functional information and access information of each of the other communicable information processing devices are registered to execute a process corresponding to the user's utterance. Information processing device.
  • the data processing unit is When the generated conversion data does not include at least a part of necessary information for executing the process corresponding to user utterance in the second information processing apparatus, and there is insufficient information.
  • the information processing device according to any one of (1) to (9), which asks a user a question for acquiring the lack information.
  • the data processing unit is The information processing device according to any one of (1) to (10), wherein a task ID corresponding to a user utterance is set and a user utterance management process is executed.
  • the data processing unit is When a plurality of user utterances are input at time intervals within the threshold time and the domains of the plurality of user utterances are similar, the same task ID is set for the plurality of user utterances (11). ).
  • the first information processing device is A voice input unit for inputting user utterances, It has a data processing unit that executes the analysis of the user utterance and generates the user utterance interpretation data.
  • the data processing unit When the external second information processing device executes the process corresponding to the user's utterance, The user utterance interpretation data is converted to generate conversion data that can be understood by the second information processing device, and the data is transmitted to the second information processing device.
  • the second information processing device is An information processing system that executes processing corresponding to the user's utterance based on the converted data received from the first information processing apparatus.
  • the first information processing device is User utterance interpretation data having an intent corresponding to the intention of the user utterance and a slot corresponding to the element information included in the user utterance is generated.
  • An information processing method executed in an information processing device The voice input section inputs the user's utterance, The data processing department Data processing that executes the analysis of the user utterance and generates the user utterance interpretation data is executed. The data processing unit When the external second information processing device executes the process corresponding to the user's utterance, An information processing method that converts the user utterance interpretation data to generate conversion data that can be understood by the second information processing device, and transmits the converted data to the second information processing device.
  • the first information processing device When the external second information processing device executes the processing corresponding to the input user utterance
  • the analysis of the user utterance is executed to generate the user utterance interpretation data, and the user utterance interpretation data is generated.
  • a process of converting the user utterance interpretation data, generating converted data that can be understood by the second information processing device, and transmitting the converted data to the second information processing device is executed.
  • the second information processing device An information processing method that executes processing corresponding to the user's utterance based on the converted data received from the first information processing apparatus.
  • a program that executes information processing in an information processing device The program is installed in the data processing unit. Analyze user utterances to generate user utterance interpretation data When the external second information processing device executes the process corresponding to the user's utterance, A program that converts the user utterance interpretation data to generate conversion data that can be understood by the second information processing device, and causes the second information processing device to transmit the converted data.
  • the series of processes described in the specification can be executed by hardware, software, or a composite configuration of both.
  • executing processing by software install the program that records the processing sequence in the memory in the computer built in the dedicated hardware and execute it, or execute the program on a general-purpose computer that can execute various processing. It can be installed and run.
  • the program can be pre-recorded on a recording medium.
  • LAN Local Area Network
  • the various processes described in the specification are not only executed in chronological order according to the description, but may also be executed in parallel or individually as required by the processing capacity of the device that executes the processes.
  • the system is a logical set configuration of a plurality of devices, and the devices having each configuration are not limited to those in the same housing.
  • a device and a method capable of executing a process according to the user's utterance in a device other than the device in which the user's utterance is input are realized. .. Specifically, for example, when the external second information processing device is made to execute the process corresponding to the user utterance, the user utterance analysis is executed to generate the user utterance interpretation data, and the generated user utterance interpretation data is converted. Then, the conversion data that can be understood by the second information processing device is generated and transmitted to the second information processing device.
  • the user utterance interpretation data has an intent corresponding to the intention of the user utterance and a slot corresponding to the element information included in the user utterance, and the data processing unit uses the user utterance interpretation data including the intent and the slot as a second. Converts the data to include intents and slots that the information processor can understand.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

ユーザ発話を入力した装置以外の装置においてユーザ発話に応じた処理を実行させることを可能とした装置、方法を実現する。データ処理部は、ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、ユーザ発話の解析を実行してユーザ発話解釈データを生成し、生成したユーザ発話解釈データを変換して、第2情報処理装置が理解可能な変換データを生成して第2情報処理装置に送信する。ユーザ発話解釈データは、ユーザ発話の意図に相当するインテントと、ユーザ発話に含まれる要素情報に相当するスロットを有し、データ処理部はインテントとスロットを含むユーザ発話解釈データを、第2情報処理装置が理解可能なインテントとスロットを含むデータに変換する。

Description

情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
 本開示は、情報処理装置、情報処理システム、および情報処理方法、並びにプログラムに関する。さらに詳細には、ユーザ発話に応じた処理や応答を実行する情報処理装置、情報処理システム、および情報処理方法、並びにプログラムに関する。
 昨今、ユーザ発話の音声認識を行い、認識結果に基づく様々な処理や応答を行う音声対話システムの利用が増大している。
 この音声対話システムにおいては、マイクを介して入力するユーザ発話の解析を行い、解析結果に応じた処理を行う。
 例えばユーザが、「明日の天気を教えて」と発話した場合、天気情報提供サーバから天気情報を取得して、取得情報に基づくシステム応答を生成して、生成した応答をスピーカーから出力する。具体的には、例えば、
 システム発話=「明日の天気は晴れです。ただし、夕方、雷雨があるかもしれません」
 このようなシステム発話を出力する。
 このように、ユーザとの対話を行なう情報処理装置は、エージェント装置やスマートスピーカーと呼ばれる。
 なお、ユーザとの対話を行なうエージェント装置について開示した従来技術として、例えば特許文献1(特開2008-090545号公報)、特許文献2(特開2018-081444号公報)等がある。
 近年は、様々なメーカーが安価なエージェント装置を提供しており、家に複数台のエージェント装置を有するユーザも多い。
 しかし、個別のエージェント装置は、ユーザが要求する処理の全てを実行できるわけでなく、各々、得意とする処理が限定されている。例えばユーザからのリクエストに応じて家の中のテレビやエアコンの制御を行なうエージェント装置Aや、ニュースや天気情報の情報提供処理を得意とするエージェント装置Bや、レストラン検索や、食事のデリバリサービスの依頼処理等を得意とするエージェント装置C等、様々である。
 例えば、上記の得意とする処理が異なる複数のエージェント装置A,B,Cを有しているユーザが、食事のデリバリサービスを依頼するために、
 「おいしいピザを注文して」
 と発話する場合、レストラン検索や、食事のデリバリサービスの依頼処理等を得意とするエージェント装置Cに対して発話を行なうことが必要となる。
 その他のエージェント装置A,Bに対して、上記のユーザ発話を行なっても、ユーザの依頼は実行されないという問題がある。
特開2008-090545号公報 特開2018-081444号公報
 本開示は、例えば、上記問題点に鑑みてなされたものであり、ユーザがある1つのエージェント装置に対して行った発話に対する処理を他のエージェント装置に実行させることを可能として、ユーザ負担の軽減を実現する情報処理装置、情報処理システム、および情報処理方法、並びにプログラムを提供することを目的とする。
 本開示の第1の側面は、
 ユーザ発話を入力する音声入力部と、
 前記ユーザ発話の解析を実行してユーザ発話解釈データを生成するデータ処理部を有し、
 前記データ処理部は、
 前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信する情報処理装置にある。
 さらに、本開示の第2の側面は、
 複数の情報処理装置を有する情報処理システムであり、
 第1情報処理装置は、
 ユーザ発話を入力する音声入力部と、
 前記ユーザ発話の解析を実行してユーザ発話解釈データを生成するデータ処理部を有し、
 前記データ処理部は、
 前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信し、
 前記第2情報処理装置は、
 前記第1情報処理装置から受信する前記変換データに基づいて、前記ユーザ発話に対応した処理を実行する情報処理システムにある。
 さらに、本開示の第3の側面は、
 情報処理装置において実行する情報処理方法であり、
 音声入力部が、ユーザ発話を入力し、
 データ処理部が、
 前記ユーザ発話の解析を実行してユーザ発話解釈データを生成するデータ処理を実行し、
 前記データ処理部は、
 前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信する情報処理方法にある。
 さらに、本開示の第4の側面は、
 複数の情報処理装置を有する情報処理システムにおいて実行する情報処理方法であり、
 第1情報処理装置が、
 入力したユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話の解析を実行してユーザ発話解釈データを生成し、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信する処理を実行し、
 前記第2情報処理装置が、
 前記第1情報処理装置から受信する前記変換データに基づいて、前記ユーザ発話に対応した処理を実行する情報処理方法にある。
 さらに、本開示の第5の側面は、
 情報処理装置において情報処理を実行させるプログラムであり、
 前記プログラムは、データ処理部に、
 ユーザ発話の解析を実行してユーザ発話解釈データを生成させ、
 前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成させ、前記第2情報処理装置に送信させるプログラムにある。
 なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、ユーザ発話を入力した装置以外の装置においてユーザ発話に応じた処理を実行させることを可能とした装置、方法が実現される。
 具体的には、例えば、ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、ユーザ発話の解析を実行してユーザ発話解釈データを生成し、生成したユーザ発話解釈データを変換して、第2情報処理装置が理解可能な変換データを生成して第2情報処理装置に送信する。ユーザ発話解釈データは、ユーザ発話の意図に相当するインテントと、ユーザ発話に含まれる要素情報に相当するスロットを有し、データ処理部はインテントとスロットを含むユーザ発話解釈データを、第2情報処理装置が理解可能なインテントとスロットを含むデータに変換する。
 本構成により、ユーザ発話を入力した装置以外の装置においてユーザ発話に応じた処理を実行させることを可能とした装置、方法が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
ユーザ発話に基づく応答や処理を行う情報処理装置であるエージェント装置の例について説明する図である。 複数のエージェント装置の利用例と問題点について説明する図である。 複数のエージェント装置の利用例と問題点について説明する図である。 本開示のエージェント装置の実行する処理の具体例について説明する図である。 マッピングデータの一例について説明する図である。 複数のエージェント装置を利用した処理のシーケンスについて説明する図である。 複数のエージェント装置を利用した処理のシーケンスについて説明する図である。 エージェント装置リストの具体例について説明する図である。 1台のエージェント装置Aが生成するユーザ発話解釈データA(インテント、スロット)と、エージェント装置A以外の様々なエージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)の対応データの例を示す図である。 図9(5)に示す例に対応するエージェント装置A,10の具体的処理例を説明する図である。 エージェント装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 エージェント装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 エージェント装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 エージェント装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 記憶部に記録される対話履歴情報(コンテキスト)のデータ例を示す図である。 記憶部に記録される対話履歴情報(コンテキスト)のデータ例を示す図である。 3台以上のエージェント装置を利用したシステム構成例について説明する図である。 本開示の情報処理装置であるエージェント装置の構成例について説明する図である。 本開示の情報処理装置であるエージェント装置の構成例と利用例について説明する図である。 本開示の情報処理装置であるエージェント装置等のハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示の情報処理装置、情報処理システム、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.エージェント装置の概要について
 2.複数台のエージェント装置の利用例と問題点について
 3.本開示の情報処理装置(エージェント装置)の実行する処理について
 4.複数のエージェント装置を利用した処理のシーケンスについて
 5.エージェント装置各々の異なるユーザ発話解釈データの例について
 6.エージェント装置の実行する処理フローについて
 7.処理を実行するためのデータが不足している場合の処理例について
 8.複数のユーザ発話の管理処理例について
 9.その他の実施例について
 10.エージェント装置(情報処理装置)の構成例について
 11.エージェント装置(情報処理装置)のハードウェア構成例について
 12.本開示の構成のまとめ
  [1.エージェント装置の概要について]
 まず、図1以下を参照して、本開示の情報処理装置に相当するエージェント装置の概要についてについて説明する。
 図1は、ユーザ1の発するユーザ発話を認識して応答を行うエージェント装置10の一処理例を示す図である。
 エージェント装置10は、ユーザの発話、例えば、
 ユーザ発話=「大阪の明日、午後の天気を教えて」
 このユーザ発話の音声認識処理を実行する。
 さらに、エージェント装置10は、ユーザ発話の音声認識結果に基づく処理を実行する。
 図1に示す例では、ユーザ発話=「大阪の明日、午後の天気を教えて」に応答するためのデータを取得し、取得データに基づいて応答を生成して生成した応答を、スピーカー14を介して出力する。
 図1に示す例では、エージェント装置10は、以下のシステム応答を行っている。
 システム応答=「大阪の明日、午後の天気は晴れですが、夕方、にわか雨がある可能性があります。」
 エージェント装置10は、音声合成処理(TTS:Text To Speech)を実行して上記のシステム応答を生成して出力する。
 エージェント装置10は、装置内の記憶部から取得した知識データ、またはネットワークを介して取得した知識データを利用して応答を生成して出力する。
 図1に示すエージェント装置10は、カメラ11、マイク12、表示部13、スピーカー14を有しており、音声入出力と画像入出力が可能な構成を有する。
 なお、ユーザ発話に対する音声認識処理や意味解析処理は、エージェント装置10内で行ってもよいし、クラウド側のサーバにおいて実行する構成としもよい。
 エージェント装置10は、ユーザ1の発話を認識して、ユーザ発話に基づく応答を行う他、例えば、ユーザ発話に応じた様々な処理、例えば、家の中のテレビ、エアコン等の外部機器の制御も実行する。
 例えばユーザ発話が「テレビのチャンネルを1に変えて」、あるいは「エアコンの設定温度を20度にして」といった要求である場合、エージェント装置10は、このユーザ発話の音声認識結果に基づいて、外部機器に対して制御信号(Wi-Fi、赤外光など)を出力して、ユーザ発話に従った制御を実行する。
  [2.複数台のエージェント装置の利用例と問題点について]
 次に、複数台のエージェント装置の利用例と問題点について説明する。
 近年は、様々なメーカーが安価なエージェント装置を提供しており、家に複数台のエージェント装置を有するユーザも多い。
 しかし、前述したように、個別のエージェント装置は、ユーザが要求する処理の全てを実行できるわけでなく、各々、得意とする処理が限定されている。例えばユーザからのリクエストに応じて家の中のテレビやエアコンの制御を行なうエージェント装置Aや、ニュースや天気情報の情報提供処理を得意とするエージェント装置Bや、レストラン検索や、食事のデリバリサービスの依頼処理等を得意とするエージェント装置C等、様々である。
 図2以下を参照して、複数のエージェント装置を所有するユーザによるエージェント装置の利用例と問題点について説明する。
 図2に示すように、家の2階にユーザ1がいる。ユーザのいる2階にエージェント装置A,10が置いてあり、1階に別のエージェント装置B,20が置いてある。
 2階のエージェント装置A,10は、実行可能な主要機能がニュースや天気情報、交通情報等の様々な情報提供処理である。
 一方、1階のエージェント装置B,20は、実行可能な主要機能が家の中の電気製品(テレビ、エアコン等)の制御や、レストラン検索、宅配(デリバリ)サービスの依頼等である。
 このような特性の異なる2台のエージェント装置がそれぞれ1階と2階に置いてある。
 ここで、図3に示すように、2階にいるユーザ1が、目の前のエージェント装置A,10に対して、以下のようなユーザ発話を行なったとする。
 「ピザ注文したいです。12:00に配達で、マルゲリータお願い」
 このユーザ発話は、ユーザ1の前にあるエージェント装置A,10のマイクを介してエージェント装置A,10に入力される。
 エージェント装置A,10は、ユーザ発話の音声解析を実行して、ユーザの要求を理解するが、エージェント装置A,10には宅配(デリバリ)サービスの依頼機能がない。この結果、図3に示すように、エージェント装置A,10は、例えば、ユーザ1に対して、以下のシステム発話を行なう。
 「申し訳ありません。実行できません」
 このように、宅配(デリバリ)サービスの依頼機能がないエージェント装置A,10に対して、ピザ注文の要求発話を行なっても処理が行われない。
 この結果、ユーザ1は、宅配(デリバリ)サービスの依頼機能があるエージェント装置B,20のある1階に移動して、エージェント装置B,20に対して、上記のユーザ発話を、再度、行なわなければならない。
 本開示の情報処理装置(エージェント装置)は、このようなユーザ負担を解消するものである。
  [3.本開示の情報処理装置(エージェント装置)の実行する処理について]
 次に、本開示の情報処理装置(エージェント装置)の実行する処理について説明する。
 図4を参照して、本開示のエージェント装置の実行する処理の概要について説明する。
 図4には、先に図2、図3を参照して説明したと同様の設定を示している。すなわち、家の2階にユーザ1がおり、同じ2階にエージェント装置A,10があり、1階に別のエージェント装置B,20が置いてある。
 2階のエージェント装置A,10は、実行可能な主要機能がニュースや天気情報、交通情報等の様々な情報提供処理である。
 一方、1階のエージェント装置B,20は、実行可能な主要機能が家の中の電気製品(テレビ、エアコン等)の制御や、レストラン検索、宅配(デリバリ)サービスの依頼等である。
 このような特性の異なる2台のエージェント装置がそれぞれ1階と2階においてある。
 ここで、図4に示すように、2階にいるユーザ1が、目の前のエージェント装置A,10に対して、以下のようなユーザ発話を行なったとする。
 「ピザ注文したいです。12:00に配達で、マルゲリータお願い」
 このユーザ発話は、ユーザ1の前にあるエージェント装置A,10のマイクを介してエージェント装置A,10に入力される。
 エージェント装置A,10は、ユーザ発話の音声解析を実行して、ユーザの要求を理解する。
 この処理は、図4に示す(ステップS01)の処理である。
 図4に示す(ステップS01)において、エージェント装置A,10は、ユーザ発話に対する音声認識処理や意味解析処理や対話状態推定処理を行なって、ユーザ発話を解釈する。
 エージェント装置A,10は、ユーザ発話の解釈結果として、ユーザ発話の意図(インテント:Intent)や、発話に含まれる意味のある要素(有意要素)である要素情報(スロット:Slot)を推定する。
 なお、このインテントやスロットの推定処理は、エージェント装置A,10固有のユーザ発話解釈アルゴリズムに従って実行される。
 図4に示すエージェント装置A,10は、(ステップS01)において、例えば以下のユーザ発話解釈データを生成する。
 (インテントa)配達
 (スロットa1)配達時刻=12:00
 (スロットa2)食べ物=ピザ
 (スロットa3)種類=マルゲリータ
 エージェント装置A,10は、上記のユーザ発話解釈データに基づいて、ユーザ1が、ピザ(マルゲリータ)の配達依頼を要求していることを理解する。
 しかし、エージェント装置A,10は、ピザの配達依頼機能を有していない。
 この場合、本開示のエージェント装置A,10は、ピザの配達依頼機能を有している他のエージェント装置に対して、ユーザ発話解釈データを転送する。
 図4に示す例では、1階のエージェント装置B,20に対して、ユーザ発話解釈データを転送する。
 ただし、エージェント装置A,10が上記の(ステップS01)で生成したユーザ発話解釈データ(インテントa、スロットa)をそのままエージェント装置B,20に転送しても、エージェント装置B,20は、これらのユーザ発話解釈データ(インテントa、スロットa)に基づく処理の実行、すなわちピザの注文処理を実行することができない場合がある。
 この理由は、エージェント装置A,10の実行するユーザ発話解釈処理アルゴリズムAと、エージェント装置B,20の実行するユーザ発話解釈処理アルゴリズムBとが異なる場合があるからである。
 エージェント装置A,10は、エージェント装置A,10のユーザ発話解釈処理アルゴリズムAに従ってユーザ発話解釈データA(インテントa、スロットa)を生成し、ユーザ発話解釈処理アルゴリズムAに従ったユーザ発話解釈データA(インテントa、スロットa)に従って処理(例えばユーザに対する応答等)を実行する。
 一方、エージェント装置B,20は、エージェント装置B,20のユーザ発話解釈処理アルゴリズムBに従ってユーザ発話解釈データB(インテントb、スロットb)を生成し、ユーザ発話解釈処理アルゴリズムBに従ったユーザ発話解釈データB(インテントb、スロットb)に従って処理を実行する。
 従って、エージェント装置B,20に対して、エージェント装置A,10が生成したユーザ発話解釈処理アルゴリズムAに従ったユーザ発話解釈データA(インテントa、スロットa)を送信しても、エージェント装置B,20は、ユーザ発話解釈データA(インテントa、スロットa)に基づく正しい処理(ユーザ要求に従った処理)を実行できない可能性がある。
 そこで、エージェント装置A,10は、図4に示す(ステップS02)の処理を実行する。
 エージェント装置A,10は、(ステップS02)において、(ステップS01)で生成したユーザ発話解釈データA(インテントa、スロットa)を、エージェント装置B,20が理解可能なユーザ発話解釈データB(インテントb、スロットb)に変換する処理(マッピング処理)を実行する。
 ユーザ発話解釈データB(インテントb、スロットb)は、エージェント装置B,20の実行するユーザ発話解釈処理アルゴリズムBに従って生成されるユーザ発話解釈データ(インテントb、スロットb)に相当する。
 エージェント装置A,10は、このデータ変換に必要なマッピングデータを記憶部に保持しており、このマッピングデータを参照して、(ステップS01)で生成したユーザ発話解釈データA(インテントa、スロットa)を、エージェント装置B,20が理解可能なユーザ発話解釈データB(インテントb、スロットb)に変換する処理(マッピング処理)を実行する。
 具体的には、例えば、エージェント装置A,10は、図4(ステップS02)に示す以下の変換データ(ユーザ発話解釈データB(インテントb、スロットb))を生成する。
 (インテントb)ピザ注文
 (スロットb1)配達時刻=12:00
 (スロットb2)種類=マルゲリータ
 この変換データは、エージェント装置A,10の記憶部に格納されたマッピングデータ、具体的には、例えば図5に示すようなマッピングデータを参照して実行される。
 なお、上記変換データ(ユーザ発話解釈データB(インテントb、スロットb))は、エージェント装置B,20が、以下のユーザ発話、すなわち、
 「ピザ注文したいです。12:00に配達で、マルゲリータお願い」
 上記ユーザ発話を直接、入力した場合にエージェント装置B,20が実行するユーザ発話解釈処理アルゴリズムBに従って生成するユーザ発話解釈データB(インテントb、スロットb)に相当する。
 エージェント装置A,10の記憶部に格納されているマッピングデータの例を図5に示す。
 図5に示すように、マッピングデータは、以下のデータを対応付けて登録した構成を有する。
 (A)エージェント装置A,10が実行するユーザ発話解釈処理アルゴリズムAに従って生成するユーザ発話解釈データA(インテントa、スロットa)、
 (B)エージェント装置B,20が処理を実行するために必要となるユーザ発話解釈データB(インテントb、スロットb)
 なお、上記データ(B)は、エージェント装置B,20のAPI(Application Programming Interface)を適用して、エージェント装置Bに処理を実行させることが可能なデータに相当する。
 例えば、エージェント装置B,20、またはエージェント装置B,20の管理サーバ等が提供するAPIが入力データとして許容したデータである。
 次に、エージェント装置A,10は、(ステップS03)において、(ステップS02)で生成した変換データ、
 (インテントb)ピザ注文
 (スロットb1)配達時刻=12:00
 (スロットb2)種類=マルゲリータ
 この変換データを、通信部を介して、1階のエージェント装置B,20に送信する。
 例えば、エージェント装置A,10は、ステップS02で生成した変換データ(ユーザ発話解釈データB(インテントb、スロットb))を、エージェント装置B,20、またはエージェント装置B,20の管理サーバ等が提供するAPIを利用した処理(APIのCall処理)により、エージェント装置B,20に入力することができる。
 1階のエージェント装置B,20は、2階のエージェント装置A,10から上記の変換データを受信する。
 エージェント装置B,20は、(ステップS04)において、エージェント装置A,10から受信した変換データに基づく処理を実行する。
 すなわち、ユーザの要求に従ってピザを注文する処理を行なう。
 エージェント装置A,10から受信した変換データは、エージェント装置B,20が、以下のユーザ発話、すなわち、
 「ピザ注文したいです。12:00に配達で、マルゲリータお願い」
 上記ユーザ発話を直接、入力した場合にエージェント装置B,20が実行するユーザ発話解釈処理アルゴリズムBに従って生成するユーザ発話解釈データB(インテントb、スロットb)と同じである。
 従って、エージェント装置B,20は、ユーザ1から上記ユーザ発話を直接、入力した場合と同様、正確にユーザ1の意図を理解して正確な処理を実行することが可能となる。
 また、エージェント装置B,20では、ユーザ発話に対する音声認識処理や意味解析処理や対話状態推定処理等のユーザ発話解釈処理を行なう必要がなく、処理が遅延することなくスムーズに処理を行なうことが可能となる。
  [4.複数のエージェント装置を利用した処理のシーケンスについて]
 次に、複数のエージェント装置を利用した処理のシーケンスについて説明する。
 図6、図7を参照して複数のエージェント装置を利用した処理のシーケンスについて説明する。
 図6、図7には、左から、
 (1)ユーザ発話を行なうユーザ、
 (2)エージェント装置A,10、
 (3)エージェント装置B,20、
 これらを示している。
 図6、図7に示すステップS21~S27の順番に処理が実行される。
 以下、各ステップの処理について、順次、説明する。
  (ステップS21)
 まず、ステップS21において、ユーザ1がエージェント装置A,10に対して話かけ、ユーザ1とエージェント装置A,10との間で対話処理が実行される。
  (ステップS22)
 次に、ステップS22において、エージェント装置A,10は、ステップS21の対話処理で取得したユーザ発話の音声認識処理や意味解析処理や対話状態推定処理によるユーザ発話解釈処理を実行する。
 この処理は、エージェント装置A,10のデータ処理部(音声解析部)が実行するユーザ発話解釈アルゴリズムAに従って行われる。
 エージェント装置A,10は、ユーザ発話解釈処理の結果として、ユーザ発話の意図(インテント:Intent)や、発話に含まれる意味のある要素(有意要素)である要素情報(スロット:Slot)からなるユーザ発話解釈データAを生成する。
 具体的には、例えば、先に図4を参照して説明した以下のユーザ発話解釈データAを生成する。
 (インテントa)配達
 (スロットa1)配達時刻=12:00
 (スロットa2)食べ物=ピザ
 (スロットa3)種類=マルゲリータ
  (ステップS23~S24)
 エージェント装置A,10は、ステップS22で取得したユーザ発話解釈データに基づいて、ユーザ1の要求を処理できるかできないかを判定し、処理が実行できる場合は処理を行なう。
 ただし、このシーケンス図は、エージェント装置A,10がユーザ1の要求を処理できないと判定した場合のシーケンスを示している。
 例えば、エージェント装置A,10は、ステップS22で取得したユーザ発話解釈データに基づいて、ユーザ1が、ピザ(マルゲリータ)の配達依頼を要求していることを理解するが、エージェント装置A,10は、ピザの配達依頼機能を有していない。
 この場合、エージェント装置A,10は、ステップS23において、以下のシステム発話を出力する。
 「処理できません」
 ユーザ1は、このシステム応答に対して、以下のユーザ発話を行なう。
 「エージェント装置Bに転送して」
 エージェント装置A,10は、このユーザ発話を解釈し、ユーザ要求に従ってユーザ要求をエージェント装置Bに転送するための処理を行なう。
 すなわち、図7に示すステップS25以下の処理を行なう。
 なお、図6に示すシーケンス図では、ステップS23~S24で、エージェント装置A,10が、ユーザ要求を処理できないことをユーザ1に伝え、ユーザ1が応答としてエージェント装置Bに転送する要求を行なった例を示している。
 このようなユーザとの対話処理を行なうことなく、エージェント装置A,10がユーザ要求を処理できる通信可能な他のエージェント装置を、自ら検索して、検索されたエージェント装置にユーザ要求を転送する処理を行なう構成としてもよい。
 ただし、この処理を行なう場合、エージェント装置A,10の記憶部には、例えば、図8に示すようなエージェント装置リストを保持することが必要である。このリストを参照して、ユーザ要求転送先のエージェント装置を選択する。
 図8に示すエージェント装置リストは、通信可能な他のエージェント装置の識別子、エージェント装置の機能、通信用アドレスを対応付けて記録したエージェント装置リストである。
 エージェント装置A,10は、エージェント装置A,10の記憶部に格納された図8に示すエージェント装置リストを参照してユーザ要求転送先のエージェント装置を選択する処理を行なう構成としてもよい。
  (ステップS25)
 ユーザ要求転送先のエージェント装置が決定されると、エージェント装置A,10はステップS25の処理を実行する。
 なお、ユーザ要求転送先のエージェント装置はエージェント装置B,20であるとする。
 エージェント装置A,10は、ステップS25において、ステップS22で生成した「ユーザ発話解釈データA」を、エージェント装置B,20が理解可能な「ユーザ発話解釈データB」に変換(マッピング)する処理を行なう。
 すなわち、エージェント装置B,20が処理を実行するために必要となるユーザ発話解釈データB(インテント、スロット)に変換(マッピング)する処理を行なう。
 先に、図4を参照して説明したように、エージェント装置B,20は、エージェント装置B,20のユーザ発話解釈処理アルゴリズムBに従ってユーザ発話解釈データ(インテントb、スロットb)を生成し、生成したユーザ発話解釈データB(インテントb、スロットb)に従って処理を実行する。
 従って、エージェント装置B,20に対して、エージェント装置A,10が生成したユーザ発話解釈処理アルゴリズムAに従ったユーザ発話解釈データA(インテントa、スロットa)を送信しても、エージェント装置B,20は、正しい処理(ユーザ要求に従った処理)を実行できない可能性がある。
 このような事態を避けるため、エージェント装置A,10は、ステップS25において、ステップS22で生成した「ユーザ発話解釈データA」を、エージェント装置B,20が理解可能な「ユーザ発話解釈データB」に変換(マッピング)する処理を行なう。
 すなわち、エージェント装置B,20が処理を実行するために必要となるユーザ発話解釈データB(インテント、スロット)を生成する処理を行なう。
 エージェント装置A,10は、このマッピング処理に適用するマッピング用対応データを記憶部に格納し、このマッピング用対応データを参照して、「ユーザ発話解釈データA」を、「ユーザ発話解釈データB」に変換する処理を行なう。
 記憶部に格納されたマッピング用対応データは、
 「ユーザ発話解釈データAを構成するインテント、スロット」と、
 「ユーザ発話解釈データBを構成するテンテント、スロット」との対応データによって構成される。
 エージェント装置A,10は、ステップS25において、記憶部に格納されたマッピング用対応データを参照して、ステップS22で生成した「ユーザ発話解釈データA」を、エージェント装置B,20が理解可能な「ユーザ発話解釈データB」に変換(マッピング)する処理を行なう。
 具体的には、例えば先に図4を参照して説明したように、図4(ステップS02)に示す以下の変換データ(ユーザ発話解釈データB(インテントb、スロットb))を生成する。
 (インテントb)ピザ注文
 (スロットb1)配達時刻=12:00
 (スロットb2)種類=マルゲリータ
 上記変換データ(ユーザ発話解釈データB(インテントb、スロットb))は、エージェント装置B,20が、以下のユーザ発話、すなわち、
 「ピザ注文したいです。12:00に配達で、マルゲリータお願い」
 上記ユーザ発話を直接、入力した場合にエージェント装置B,20が実行するユーザ発話解釈処理アルゴリズムBに従って生成するユーザ発話解釈データB(インテントb、スロットb)に相当する。
  (ステップS26)
 次に、エージェント装置A,10は、ステップS26において、ステップS25で生成した変換データ(ユーザ発話解釈データB(インテントb、スロットb))をエージェント装置B,20に送信する。
 なお、ステップS25においてエージェント装置A,10が生成する変換データ(ユーザ発話解釈データB(インテントb、スロットb))は、例えば、エージェント装置B,20、またはエージェント装置B,20の管理サーバ等が提供するAPI(Application Programming Interface)が入力データとして許容したデータである。
 エージェント装置A,10は、ステップS25で生成した変換データ(ユーザ発話解釈データB(インテントb、スロットb))をこのAPIを利用した処理(APIのCall処理)により、エージェント装置B,20に入力することができる。
  (ステップS27)
 ステップS26で、エージェント装置A,10から、変換データ(ユーザ発話解釈データB(インテントb、スロットb))を入力したエージェント装置B,20は、次に、ステップS27において、入力変換データ(ユーザ発話解釈データB(インテントb、スロットb))に基く処理を実行する。
 先に図4を参照して説明した実施例の場合、例えば、エージェント装置A,10から受信する変換データは、エージェント装置B,20が、以下のユーザ発話、すなわち、
 「ピザ注文したいです。12:00に配達で、マルゲリータお願い」
 上記ユーザ発話を直接、入力した場合にエージェント装置B,20が実行するユーザ発話解釈処理アルゴリズムBに従って生成するユーザ発話解釈データB(インテントb、スロットb)と同じである。
 従って、エージェント装置B,20は、ユーザ1から上記ユーザ発話を直接、入力した場合と同様、正確にユーザ1の意図を理解して正確な処理を実行することが可能となる。
 また、エージェント装置B,20では、ユーザ発話に対する音声認識処理や意味解析処理や対話状態推定処理等のユーザ発話解釈処理を行なう必要がなく、処理が遅延することなくスムーズに処理を行なうことが可能となる。
  [5.エージェント装置各々の異なるユーザ発話解釈データの例について]
 次に、エージェント装置各々の異なるユーザ発話解釈データの例について説明する。
 上述したように、エージェント装置の各々が実行するユーザ発話解釈処理アルゴリズムは、エージェント装置の種類に応じて異なる場合が多い。
 例えば、3台のエージェント装置A~Cに対して、同一のユーザ発話を入力しても、各エージェント装置が実行するユーザ発話解釈処理アルゴリズムが異なると、各エージェント装置A~Cが生成するユーザ発話解釈データ(インテント、スロット)は異なる場合がある。
 図9に、様々なユーザ発話に対して、ある1台のエージェント装置Aが生成するユーザ発話解釈データA(インテント、スロット)と、エージェント装置A以外の様々なエージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)の対応データの例を示す。
 なお、エージェント装置Xは、1台のエージェント装置ではなく、エージェント装置Aと異なる様々なエージェント装置である。
 図9に示す(1)は、
 ユーザ発話=「洗濯機のタイマーを12:00に設定して」
 上記のユーザ発話に対するエージェント装置Aが生成するユーザ発話解釈データA(インテント、スロット)と、エージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)の対応データを示している。
 この(1)の例は、これら2つのエージェント装置A,X対応のインテント、スロットは、以下のように同一である。
 (インテント)洗濯機タイマー設定
 (スロット)開始時間=12:00
 この(1)の例の場合、エージェント装置Aが、ユーザ発話解釈アルゴリズムAを適用して生成したユーザ発話解釈データA(インテント、スロット)を、変換することなく、そのまま、エージェント装置X対応のAPIを介してエージェント装置Xに入力することで、エージェント装置Xに、ユーザ発話に従った正しい処理を実行させることができる。
 図9に示す(2),(3)は、(1)と同様、
 ユーザ発話=「洗濯機のタイマーを12:00に設定して」
 上記のユーザ発話に対するエージェント装置Aが生成するユーザ発話解釈データA(インテント、スロット)と、エージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)の対応データを示している。
 (2)の例は、エージェント装置A,X対応のインテント、スロットが完全に一致しないが、類似する例である。
 (3)の例は、エージェント装置A,X対応のインテントは一致するが、スロットの数が一致しない例である。
 これらの場合、エージェント装置Aが、ユーザ発話解釈アルゴリズムAを適用して生成したユーザ発話解釈データA(インテント、スロット)を変換することなく、そのまま、エージェント装置X対応のAPIを介してエージェント装置Xに入力した場合、エージェント装置Xがユーザ発話に従った正しい処理を実行できない可能性がある。
 このような場合、エージェント装置Aは、ユーザ発話解釈アルゴリズムAを適用して生成したユーザ発話解釈データA(インテント、スロット)を変換して、図9の(2),(3)の各エントリのユーザ発話解釈データX(インテント、スロット)に相当する変換データを生成して、エージェント装置X対応のAPIを介してエージェント装置Xに入力することが必要となる。
 このような変換データ生成、入力処理を行なうことで、エージェント装置Xにユーザ発話に従った正しい処理を実行させることが可能となる。
 図9(4),(5)は、あるユーザ発話に対してエージェント装置Aが生成するユーザ発話解釈データA(インテント、スロット)と、エージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)とが異なる例である。
 これらは、エージェント装置Aが生成するインテントが、エージェント装置Xが処理を実行するために必要となるインテントの下位データである例である。
 図9(6),(7)も、あるユーザ発話に対してエージェント装置Aが生成するユーザ発話解釈データA(インテント、スロット)と、エージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)とが異なる例である。
 これらは、エージェント装置Aが生成するインテントが、エージェント装置Xが処理を実行するために必要となるインテントの上位データである例である。
 これら(4)~(7)の例の設定の場合にも、エージェント装置Aは、ユーザ発話解釈アルゴリズムAを適用して生成したユーザ発話解釈データA(インテント、スロット)を変換して、図9の(4)~(7)の各エントリのユーザ発話解釈データX(インテント、スロット)に相当する変換データを生成して、エージェント装置X対応のAPIを介してエージェント装置Xに入力することが必要となる。
 このような変換データ生成、入力処理を行なうことで、エージェント装置Xにユーザ発話に従った正しい処理を実行させることが可能となる。
 なお、図9(6),(7)に示す例では、エージェント装置Xが処理を実行するために必要となるスロットに、ユーザ発話に含まれない時間情報が設定されている。
 このように、エージェント装置Xが処理を実行するために必要となるスロットに、ユーザ発話に含まれない情報が含まれる場合には、エージェントAは、エージェント装置Xが処理を実行するために必要となるスロットに相当する情報を取得するためにユーザに質問する等の処理を行なう。
 この処理例については後段で説明する。
 図10は、図9(5)に示す例に対応するエージェント装置A,10の具体的処理例を説明する図である。
 図10に示すステップS21~S27の各ステップは、先に説明した図6、図7のシーケンス図に示すステップS21~S27の各ステップに対応する。
 まず、ステップS21において、ユーザ1とエージェント装置A,10との間で対話処理が実行され、ユーザ1が、以下のユーザ発話を実行する。
 ユーザ発話=「和食店を検索して、大崎で17:00から開いているところ」
 次に、ステップS22において、エージェント装置A,10は、ステップS21の対話処理で取得したユーザ発話の音声認識処理や意味解析処理や対話状態推定処理によるユーザ発話解釈処理を実行する。
 この処理は、エージェント装置A,10のデータ処理部(音声解析部)が実行するユーザ発話解釈アルゴリズムAに従って行われる。
 エージェント装置A,10は、ユーザ発話解釈処理の結果として、以下のユーザ発話解釈データAを生成する。
 (インテント)和食店検索
 (スロット1)回転時間=17:00
 (スロット2)場所=大崎
 次に、エージェント装置A,10は、ステップS25において、ステップS22で生成した「ユーザ発話解釈データA」を、エージェント装置B,20が理解可能な「ユーザ発話解釈データB」に変換(マッピング)する処理を行なう。
 すなわち、エージェント装置B,20が処理を実行するために必要となるユーザ発話解釈データB(インテント、スロット)を生成する処理を行なう。
 エージェント装置A,10は、ステップS25において、以下の変換データ(ユーザ発話解釈データB(インテント、スロット))を生成する。
 (インテント)レストラン検索
 (スロット1)開店時間=17:00
 (スロット2)場所=大崎
 (スロット3)ジャンル=和食
 次に、エージェント装置A,10は、ステップS26において、ステップS25で生成した変換データ(ユーザ発話解釈データB(インテント、スロット))をエージェント装置B,20に送信する。
 例えば、エージェント装置B,20、またはエージェント装置B,20の管理サーバ等が提供するAPIを利用した処理(APIのCall処理)によりエージェント装置B,20に入力する。
 ステップS26で、エージェント装置A,10から、変換データ(ユーザ発話解釈データB(インテント、スロット))を入力したエージェント装置B,20は、次に、ステップS27において、入力変換データ(ユーザ発話解釈データB(インテント、スロット))に基く処理を実行する。
 具体的には、大崎で17:00から開いている和食店を検索する処理を実行する。
 なお、この処理結果は、エージェント装置B,20からエージェント装置A,10に送信され、エージェント装置A,10の出力部(表示部、スピーカ)を介してユーザ1に提示される。
  [6.エージェント装置の実行する処理フローについて]
 次に、エージェント装置の実行する処理フローについて説明する。
 図11以下のフローチャートを参照して、ユーザと直接、対話を実行するエージェント装置の実行する処理シーケンスについて説明する。
 なお、図11以下のフローチャートに示す処理のほとんどは、ユーザと直接、対話を実行するエージェント装置、すなわち、図4~図10を参照して説明した例におけるエージェント装置A,10の実行する処理である。
 一部は、ユーザと直接、対話をしないエージェント装置、すなわち、図4~図10を参照して説明した例におけるエージェント装置B,20の実行する処理も含まれる。
 図11以下に示すフローにおいて、ユーザと直接、対話をするエージェント装置A(エージェント装置A,10に相当)の実行する処理は実線で示しており、ユーザと直接、対話をしないエージェント装置B(エージェント装置B,20に相当)の実行する処理は点線で示している。
 図11以下に示すフローチャートに従った処理は、エージェント装置Aの記憶部に格納されたプログラムに従って実行される。例えばプログラム実行機能を有するCPU等のプロセッサによるプログラム実行処理として実行可能である。
 まず、図11に示すフローの各ステップの処理について説明する。
  (ステップS101)
 まず、ユーザとの直接対話を行なうエージェント装置Aは、ステップS101において、ユーザ発話を入力する。
  (ステップS102)
 次に、エージェント装置Aは、ステップS102において、ステップS101で入力したユーザ発話の音声認識処理や意味解析処理や対話状態推定処理によるユーザ発話解釈処理を実行する。
 この処理は、エージェント装置Aのデータ処理部(音声解析部)が実行するユーザ発話解釈アルゴリズムAに従って行われる。
 なお、このユーザ発話解釈処理においては、エージェント装置Aの記憶部に格納されたコンテキスト(対話履歴情報)が参照される。エージェント装置Aの記憶部には、例えばユーザ単位の過去のコンテキスト、すなわち対話履歴情報が格納されている。コンテキストを参照することで、例えばユーザ(U1)は、料理の話題が多い。あるいはユーザ(U2)は、車や旅行の話が多いといったデータが取得され、これらのデータに基づいて、ユーザのインテントを高精度に解析することが可能となる。
  (ステップS103)
 次に、エージェント装置Aは、ステップS103において、ステップS102におけるユーザ発話解釈処理の結果として、ユーザ発話の意図(インテント:Intent)や、発話に含まれる意味のある要素(有意要素)である要素情報(スロット:Slot)からなるユーザ発話解釈データAを生成する。
 具体的には、例えば、先に図4を参照して説明した以下のユーザ発話解釈データAを生成する。
 (インテントa)配達
 (スロットa1)配達時刻=12:00
 (スロットa2)食べ物=ピザ
 (スロットa3)種類=マルゲリータ
  (ステップS104~S105)
 次に、エージェント装置Aは、ステップS104~S105において、ステップS103で取得したユーザ発話解釈データに基づいて、エージェント装置A自身でユーザ発話に応じた処理を実行できるかできないかを判定する。
 エージェント装置A自身での処理が可能であると判定した場合はステップS106に進む。
 一方、エージェント装置A自身での処理が可能でないと判定した場合はステップS201に進む。
  (ステップS106)
 ステップS105において、ユーザ発話に応じた処理を、エージェント装置A自身で実行可能であると判定した場合はステップS106に進む。
 この場合、エージェント装置Aは、ステップS106において、ユーザ発話に応じた処理を実行する。
  (ステップS107)
 ステップS106において、ユーザ発話に応じた処理を実行した後、エージェント装置Aは、ステップS107において、エージェント装置Aとユーザとの対話履歴情報等のコンテキストを記憶部に格納する。
 次に、ステップS105において、ユーザ発話に応じた処理を、エージェント装置A自身で実行可能でないと判定した場合の処理について、図12に示すフローチャートを参照して説明する。
  (ステップS201)
 ステップS105において、ユーザ発話に応じた処理を、エージェント装置A自身で実行可能でないと判定した場合、エージェント装置Aは、ステップS201において、ユーザ要求を処理できる通信可能な他のエージェント装置を検索する。
 エージェント装置Aの記憶部には、例えば、先に説明した図8に示すようなエージェント装置リストを保持し、このリストを参照して、ユーザ要求転送先のエージェント装置を選択する。
 なお、先に図6、図7を参照して説明したシーケンスのステップS23~S24のように、エージェント装置Aがユーザに実行できないことを通知し、ユーザから要求を他のエージェント装置に転送するよう依頼されたことを条件として要求転送処理を開始してもよい。
  (ステップS202)
 次に、エージェント装置Aは、ステップS202において、ステップS201における検索処理において、ユーザ要求を処理できる通信可能な他のエージェント装置が検出されたか否かを判定する。
 検出された場合は、ステップS204に進む。
 一方、検出されなかった場合はステップS203に進む。
  (ステップS203)
 ステップS202における判定処理において、ユーザ要求を処理できる通信可能な他のエージェント装置が検出されなかったと判定した場合、エージェント装置Aは、ステップS203において、ユーザ発話に基づく処理が実行できないことをユーザに伝えるためのシステム発話を生成して、ユーザに向けて出力する。
  (ステップS204)
 一方、ステップS202における判定処理において、ユーザ要求を処理できる通信可能な他のエージェント装置(エージェント装置B)が検出されたと判定した場合、エージェント装置Aは、ステップS204において以下の処理を実行する。
 エージェント装置Aは、先のステップS103で生成した「ユーザ発話解釈データA」を、ユーザ要求を処理できる通信可能なエージェント装置Bが理解可能な「ユーザ発話解釈データB」に変換(マッピング)する処理を行なう。
 すなわち、エージェント装置B,20が処理を実行するために必要となるユーザ発話解釈データB(インテント、スロット)に変換(マッピング)する処理を行なう。
 前述したように、エージェント装置Aは、このマッピング処理に適用するマッピング用対応データを記憶部に格納し、このマッピング用対応データを参照して、「ユーザ発話解釈データA」を、「ユーザ発話解釈データB」に変換する処理を行なう。
 記憶部に格納されたマッピング用対応データは、
 「ユーザ発話解釈データAを構成するインテント、スロット」と、
 「ユーザ発話解釈データBを構成するテンテント、スロット」との対応データによって構成される。
 エージェント装置Aは、ステップS204において、記憶部に格納されたマッピング用対応データを参照して、ステップS103で生成した「ユーザ発話解釈データA」を、エージェント装置Bが理解可能な「ユーザ発話解釈データB」に変換(マッピング)する処理を行なう。
  (ステップS205)
 次に、エージェント装置Aは、ステップS205において、ステップS204で生成した変換データ(ユーザ発話解釈データB(インテントb、スロットb))をエージェント装置Bに送信する。
 なお、ステップS204においてエージェント装置Aが生成する変換データ(ユーザ発話解釈データB(インテントb、スロットb))は、例えば、エージェント装置B、またはエージェント装置Bの管理サーバ等が提供するAPI(Application Programming Interface)が入力データとして許容したデータである。
 エージェント装置Aは、ステップS204で生成した変換データ(ユーザ発話解釈データB(インテントb、スロットb))をこのAPIを利用した処理(APIのCall処理)により、エージェント装置Bに入力することができる。
  (ステップS206)
 ステップS206の処理は、エージェント装置Bが実行する処理である。
 ステップS205において、エージェント装置Aから、変換データ(ユーザ発話解釈データB(インテントb、スロットb))を入力したエージェント装置Bは、ステップS206において、入力変換データ(ユーザ発話解釈データB(インテントb、スロットb))に基く処理を実行する。
 エージェント装置Aから入力した変換データ(ユーザ発話解釈データB(インテントb、スロットb))は、エージェント装置Bが、ステップS101のユーザ発話を、直接入力した場合にエージェント装置Bが実行するユーザ発話解釈処理アルゴリズムBに従って生成するユーザ発話解釈データB(インテントb、スロットb)に相当するデータである。
 従って、エージェント装置Bは、ユーザからユーザ発話を直接、入力した場合と同様、正確にユーザの意図を理解して正確な処理を実行することが可能となる。
 また、エージェント装置Bでは、ユーザ発話に対する音声認識処理や意味解析処理や対話状態推定処理等のユーザ発話解釈処理を行なう必要がなく、処理が遅延することなくスムーズに処理を行なうことが可能となる。
  (ステップS207)
 次に、エージェント装置Aは、ステップS207において、エージェント装置Bから処理完了通知を受信する。
  (ステップS208)
 最後に、エージェント装置Aは、ステップS208において、ユーザに処理が完了したことを通知する。例えば、「処理が完了しました」や、「ピザを注文しました」等、ユーザ発話に応じた処理が完了したことをユーザに知らせるためのシステム発話を生成して、ユーザに向けて出力する。
 このように、図11、図12に示すフローチャートに従った処理を行なうことで、ユーザの発話対象のエージェント装置が、ユーザ発話に応じた処理を実行できない場合であっても、他のエージェント装置に処理を実行させることが可能となる。
 この結果、ユーザは、他のエージェント装置がある場所に移動して、同じ発話を繰り返す必要がなくなり、ユーザ負担が軽減される。
 すなわち、ユーザは、1つのエージェント装置に対して1度の発話を行なえば、複数のエージェント装置の全ての機能を利用した処理を行なうことが可能となる。
  [7.処理を実行するためのデータが不足している場合の処理例について]
 次に、処理を実行するためのデータが不足している場合の処理例について説明する。
 図11、図12に示すフローチャートを参照して説明したように、ユーザ発話を直接、入力するエージェント装置Aが、ユーザ発話に応じた処理を実行できない場合には、他の通信可能なエージェント装置Bに処理を依頼することになる。
 この場合、エージェント装置Aは、ユーザ発話に基づいて生成したユーザ発話解釈データA(インテントa、スロットa)を変換して、処理を実行するエージェント装置Bの理解可能なユーザ発話解釈データB(インテントb、スロットb)を生成する。
 しかし、ユーザ発話解釈データA(インテントa、スロットa)を変換して生成されるユーザ発話解釈データB(インテントb、スロットb)に含まれるデータのみでは、エージェント装置Bが処理を実行できない場合がある。
 例えば先に説明した図9に示すデータ、すなわち、様々なユーザ発話に対して、ある1台のエージェント装置Aが生成するユーザ発話解釈データA(インテント、スロット)と、エージェント装置A以外の様々なエージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)の対応データ例において、エントリ(3)や、エントリ(6),(7)のデータである。
 例えば図9(3)は、
 ユーザ発話=「洗濯機のタイマーを12:00に設定して」
 上記のユーザ発話に対するエージェント装置Aが生成するユーザ発話解釈データA(インテント、スロット)と、エージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)の対応データを示している。
 ここで、エントリ(4)のエージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)は以下の各データである。
 (インテント)洗濯機タイマー設定
 (スロット1)開始時刻=12:00
 (スロット2)開始モード=?
 これらのインテント、スロット1,2中、インテント、スロット1はユーザ発話「洗濯機のタイマーを12:00に設定して」から取得されるが、
 (スロット2)開始モード
 このスロットは、上記のユーザ発話からは取得されないデータである。
 エージェント装置Xにおいて、正確な処理(=洗濯機のタイマー設定処理)を行なうためには、
 (スロット2)開始モード
 このスロットデータが必要であり、このデータは、上記のユーザ発話「洗濯機のタイマーを12:00に設定して」からは取得できない。
 同様に、図9(6),(7)は、それぞれ、
 ユーザ発話=「イタリアンを検索して、大崎で探して」
 ユーザ発話=「和食店を検索して、大崎で探して」
 上記のユーザ発話に対するエージェント装置Aが生成するユーザ発話解釈データA(インテント、スロット)と、エージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)の対応データを示している。
 図9に示すデータには、これらのエージェント装置Xが処理を実行するために必要となるユーザ発話解釈データX(インテント、スロット)として、
 (スロット1)開店時間=17:00-23:00
 このスロットが含まれているが、この(スロット)は、上記のユーザ発話からは取得されないデータである。
 エージェント装置Xにおいて、正確な処理(レストラン検索処理)を行なうためには、
 (スロット1)開店時間=17:00-23:00
 このスロットデータが必要であり、このデータは、ユーザ発話からは取得できない。
 このように、ユーザ発話を、入力するエージェント装置Aが、ユーザ発話に基づいて生成したユーザ発話解釈データA(インテントa、スロットa)を変換してユーザ発話解釈データB(インテントb、スロットb)を生成し、これを、エージェント装置Bに送信しても、エージェント装置Bは、処理を実行できない場合がある。
 このような場合、エージェント装置Bは、処理を実行するために必要な情報を取得するようにエージェント装置Aに依頼する。
 エージェント装置Aは、エージェント装置Bからの情報取得依頼に応じて、ユーザに質問を行い、ユーザからの応答を取得して、この応答に基づくデータをエージェント装置Bに送信する。
 この追加情報送信処理を行なうことで、エージェント装置Bは、ユーザ発話に応じた処理を正確に実行することが可能となる。
 この処理シーケンスについて、図13に示すフローチャートを参照して説明する。
 図13に示すフローチャートは、先に図11、図12を参照して説明したフローのステップS205に続いて実行する処理を示している。
 図13に示すフロー中、実線で示すステップは、ユーザ発話を直接、入力するエージェント装置Aの実行する処理であり、点線で示すステップは、エージェント装置Aと通信を行い、ユーザ発話に応じた処理を実行するエージェント装置Bの実行する処理である。
 図13に示すフローの各ステップの処理について説明する。
  (ステップS205)
 このステップS205の処理は、先に図12を参照して説明した処理である。すなわち、エージェント装置Aは、ステップS205において、ステップS204で生成した変換データ(ユーザ発話解釈データB(インテントb、スロットb))をエージェント装置Bに送信する。
  (ステップS211)
 ステップS211~S213の処理は、エージェント装置Bが実行する処理である。
 まず、エージェント装置Bは、ステップS204でエージェント装置Aから受信した変換データ(ユーザ発話解釈データB(インテントb、スロットb))の検証処理を実行する。
 具体的には、エージェント装置Bでの処理に必要なデータがすべて、エージェント装置Aからの受信データに含まれているか否かを判定する。すなわち、エージェント装置Aから受信した変換データであるユーザ発話解釈データB(インテントb、スロットb)に不足情報があるか否かを判定する。
 不足情報があると判定した場合は、ステップS212に進む。
 一方、不足情報がなく、処理を実行できると判定した場合は、ステップS206に進む。この場合は、先に図12を参照して説明したステップS206~S208の処理を実行する。
  (ステップS212)
 ステップS211において、エージェント装置Bが、エージェント装置Aから受信した変換データであるユーザ発話解釈データB(インテントb、スロットb)に不足情報があると判定した場合、エージェント装置BはステップS212の処理を実行する。
 エージェント装置Bは、ステップS212において、不足情報を取得するためのユーザへの質問をエージェント装置Aに依頼する。
 エージェント装置Aは、エージェント装置Bからの依頼に応じて、不足情報を取得するための質問を生成してユーザに対して出力する。すなわち質問を実行し、質問に対するユーザ応答に対するユーザ発話に対する処理を実行する。
 新たなユーザ発話に対して実行する処理は、先に図11、図12を参照して説明したステップS102~S103,ステップS204~S205の処理と同様の処理である。
  (ステップS213)
 次に、エージェント装置Bは、ステップS213において、エージェント装置から追加情報を取得し、さらに、ステップS211に戻り、不足情報の有無を判定する。
 追加情報を入力しても、まだ不足情報がある場合は、ステップS211~S213の処理を繰り返す。
 ステップS211において、不足情報がないと判定されると、ステップS206に進み、処理を実行する。
 このように、エージェント装置Bは、処理の実行に必要となる情報が不足していると判定した場合は、エージェント装置Aに不足情報を取得するように依頼し、不足情報を再送信してもらい、処理に必要となるデータを揃えて処理を実行する。
 この追加情報送信処理を行なうことで、エージェント装置Bは、ユーザ発話に応じた処理を正確に実行することが可能となる。
 図13に示すフローチャートを参照して説明した処理では、ユーザ発話に応じた処理を実行するエージェント装置Bが処理実行に必要となる不足情報の有無を判定している。
 このような処理態様の他、エージェント装置Bでの処理に必要な情報に不足があるか否かを、エージェント装置A側で判定する構成も可能である。
 この処理を行なう場合の処理シーケンス例について、図14に示すフローチャートを参照して説明する。
 図14に示すフロー中のステップS204、ステップS205~S208は、先に図12を参照して説明したフローのステップS204、ステップS205~S208と同様の処理である。
 ステップS221~S224が新たに追加される処理である。ステップS221~S224の処理は、エージェント装置AがステップS204の処理に続いて実行する。
 ステップS204,ステップS221~S224の処理について説明する。
  (ステップS204)
 先に図12を参照して説明したステップS202における判定処理において、ユーザ要求を処理できる通信可能な他のエージェント装置(エージェント装置B)が検出されたと判定した場合、エージェント装置Aは、ステップS204において以下の処理を実行する。
 エージェント装置Aは、先のステップS103で生成した「ユーザ発話解釈データA」を、ユーザ要求を処理できる通信可能なエージェント装置Bが理解可能な「ユーザ発話解釈データB」に変換(マッピング)する処理を行なう。
 すなわち、エージェント装置B,20が処理を実行するために必要となるユーザ発話解釈データB(インテント、スロット)に変換(マッピング)する処理を行なう。
 前述したように、エージェント装置Aは、マッピング処理に適用するマッピング用対応データを記憶部に格納し、このマッピング用対応データを参照して、「ユーザ発話解釈データA」を、「ユーザ発話解釈データB」に変換する処理を行なう。
  (ステップS211)
 次に、エージェント装置Aは、ステップS211において、ステップS204で生成した変換データ(ユーザ発話解釈データB(インテントb、スロットb))が、エージェント装置Bでの処理に必要な情報として十分であるか、不足があるかを判定する。
 なお、不足があるか否かの判定は、例えば、上述した記憶部に格納されたマッピングデータを参照して判定することが可能である。
 不足情報があると判定した場合は、ステップS222に進む。
 一方、不足情報がなく、処理を実行できると判定した場合は、ステップS206に進む。この場合は、先に図12を参照して説明したステップS206~S208の処理を実行する。
  (ステップS222)
 ステップS221において、ステップS204で生成した変換データ(ユーザ発話解釈データB(インテントb、スロットb))が、エージェント装置Bでの処理に必要な情報として不十分であると判定した場合、エージェント装置AはステップS222の処理を実行する。
 エージェント装置Aは、ステップS222において、不足情報を取得するための質問を生成してユーザに対して出力すし、ユーサから、質問に対する応答としての新たなユーザ発話を入力する。
  (ステップS223~S224)
 次に、エージェント装置Aは、質問に対する応答としての新たなユーザ発話に対してステップS223~S224の処理を実行する。
 この処理は、先に図11、図12を参照して説明したステップS102~S103の処理と同様の処理である。
 すなわち、ステップS223では、ステップ222で入力した質問に対する新たなユーザ発話の音声認識処理や意味解析処理や対話状態推定処理によるユーザ発話解釈処理を実行する。
 さらに、ステップS224で、ユーザ発話の意図(インテント:Intent)や、発話に含まれる意味のある要素(有意要素)である要素情報(スロット:Slot)からなるユーザ発話解釈データA(インテント、スロット)を生成する。
 これらの処理の後、ステップS204に戻り、ステップS224で追加生成したユーザ発話解釈データA(インテント、スロット)を、先のユーザ発話に基づいて生成済みのユーザ発話解釈データA(インテント、スロット)に追加し、追加後の新たなユーザ発話解釈データA(インテント、スロット)に基づいて、「ユーザ発話解釈データB」を生成(マッピング)する処理を行なう。
 さらに、ステップS221で、新たに生成した「ユーザ発話解釈データB」が、エージェント装置Bでの処理に必要な情報として十分であるか否かを判定する。不足がある場合は、ステップS222~S224,S204~S221の処理を繰り返す。
 ステップS221で新たに生成した「ユーザ発話解釈データB」が、エージェント装置Bでの処理に必要な情報として十分であると判定された場合は、ステップS205に進み、変換データ(ユーザ発話解釈データB)をエージェント装置Bに送信する。
 その後、ステップS206においてエージェント装置Bにおいて送信データに基づく処理が実行される。
 エージェント装置Bは、処理の実行に必要となる情報をすべて取得したうえで、処理を実行することが可能となり、ユーザ発話に応じた処理を正確に実行することが可能となる。
  [8.複数のユーザ発話の管理処理例について]
 次に、複数のユーザ発話の管理処理例について説明する。
 ユーザ発話を直接、入力するエージェント装置Aは、連続して同一ユーザ、あるいは異なる複数のユーザからユーザ発話を入力する場合がある。
 エージェント装置Aは、このように入力する複数のユーザ発話の各々について、1つの共通タスク(処理)についての発話であるか、別のタスク(処理)についての発話であるかを区別して管理しないと、誤った処理を行なってしまう可能性がある。
 このような誤った処理の発生を防止するため、エージェント装置は、ユーザ発話の各々にタスクIDを設定した対話履歴情報、すなわちコンテキストを記憶部に記録する。
 図15は、記憶部に記録される対話履歴情報(コンテキスト)のデータ例を示す図である。
 図15には、時間(t1),(t2)に入力した以下の2つのユーザ発話に関する登録データの例を示している。
 時間t1のユーザ発話=ピザ注文したいです。12:00に配達で
 時間t2のユーザ発話=マルゲリータ1つで
 これら2つのユーザ発話に関する対話履歴情報(コンテキスト)の登録データである。
 これらのユーザ発話を入力するエージェント装置Aのデータ処理部は、図15に示す対話履歴情報(コンテキスト)の登録データを生成して記憶部に格納する。
 すなわち各ユーザ発話について、以下の対応データを生成して記録する。
 (a)タスクID
 (b)ユーザ発話(テキストデータ)
 (c)発話ユーザ識別子
 (d)ユーザ発話解釈データ(インテント,スロット)
 (e)処理実行エージェント識別子
 なお、タスクIDは、1つのタスクに関する発話である場合は、同一のIDを設定する。
 図15に示す例は、
 時間t1のユーザ発話=ピザ注文したいです。12:00に配達で
 時間t2のユーザ発話=マルゲリータ1つで
 これら2つのユーザ発話をエージェント装置Aのデータ処理部が同一タスクと判定し、同一のタスクIDを設定した例である。
 同一のタスクIDを設定するか否かの判定基準としては、例えば各発話の時間間隔や、発話解釈処理において推定するユーザ発話対応のドメインの類似性が利用される。
 具体的には、複数のユーザ発話の時間間隔が予め規定したしきい値時間以下である場合、これらのユーザ発話は同一タスクと判定し、同一のタスクIDを設定する。
 また、各ユーザ発話に対して実行する発話解釈処理において推定されたユーザ発話対応のドメインが類似している場合は、これらのユーザ発話は同一タスクと判定し、同一のタスクIDを設定する。
 なお、ドメインとは、ユーザ発話の意味領域であり、先に説明したインテントの上位概念である。
 例えば、
 ユーザ発話=洗濯機のタイマーを12:00に設定して
 このユーザ発話の発話解釈データとして得られるデータの一例は、
 (インテント)洗濯機タイマー設定
 (スロット)開始時刻=12:00
 これらのデータであるが、さらに、(インテント)の上位概念の意味領域を示す(ドメイン)として、
 (ドメイン)家電制御
 このようなドメインについても推定される。
 すなわちエージェント装置は、ユーザ発話に対する発話解釈処理において、ドメイン、インテンント、スロットに対応する発話解釈データを決定する。
 エージェント装置は、入力したユーザ発話に対して、ユーザ発話解釈処理を実行し、複数のユーザ発話間隔が、しきい値時間以内であり、かつそのドメインが類似する場合には、同一タスクに関する発話であると判定し、同一のタスクIDを設定して記録する。
 図15に示す2つのユーザ発話は、このような発話に関する対話履歴情報(コンテキスト)のデータ例である。
 図16は、図15と異なる発話に関する対話履歴情報(コンテキスト)のデータ例である。
 図16には、時間(t1),(t2)に入力した以下の2つのユーザ発話に関する登録データの例を示している。
 時間t1のユーザ発話=トマトののったピザ注文したいです。12:00に配達で
 時間t2のユーザ発話=明日の朝8:00にタイマー設定して
 これら2つのユーザ発話に関する対話履歴情報(コンテキスト)の登録データである。
 これらのユーザ発話が、エージェント装置に連続して入力された場合、エージェント装置は、入力したユーザ発話に対して、ユーザ発話解釈処理を実行する。
 複数のユーザ発話間隔が、しきい値時間以内であり、かつそのドメインが類似する場合には、同一タスクに関する発話であると判定し、同一のタスクIDを設定して記録する。
 しかし、図16に示す例の場合、
 時間t1のユーザ発話=トマトののったピザ注文したいです。12:00に配達で
 時間t2のユーザ発話=明日の朝8:00にタイマー設定して
 これら2つのユーザ発話に対する発話解釈処理の結果として得られる2つの発話対応のドメインは異なるドメインとなる。
 例えば、
 時間t1のユーザ発話=トマトののったピザ注文したいです。12:00に配達で
 このユーザ発話のドメインは例えば、
 (ドメイン)デリバリ処理
 である。
 一方、
 時間t2のユーザ発話=明日の朝8:00にタイマー設定して
 このユーザ発話のドメインは例えば、
 (ドメイン)タイマー設定
 である。
 従って、エージェント装置のデータ処理部は、これら2つのユーザ発話は同一タスクに関する発話ではないと判定し、これら2つの発話に対して異なるタスクIDを設定する。
 なお、同一タスクIDが設定された複数の発話に対する処理は、基本的には1つのエージェント装置が実行する。異なるタスクIDが設定された複数の発話に対する処理は、それぞれのタスクID単位で処理を実行するエージェント装置がことなってもよい。
  [9.その他の実施例について]
 次に、その他の実施例について説明する。
 上述した実施例では、ユーザ発話を直接、入力するエージェント装置Aと、ユーザ発話を直接、入力せず、エージェント装置Aと通信を行なってユーザ発話に基づく処理を実行するエージェント装置Bの2台のエージェント装置を利用したシステムに基づく実施例について説明した。
 この他、例えば、図17に示すように3台以上のエージェント装置を利用したシステム構成例としてもよい。
 図17に示すシステムは、ユーザ発話を直接、入力するエージェント装置A,10と、ユーザ発話を直接、入力せず、エージェント装置A,10と通信を行なってユーザ発話に基づく処理を実行するエージェント装置B,20、エージェント装置C,30の3台のエージェント装置を利用したシステムである。
 なお、各エージェント装置A~Cの記憶部には、先に図8を参照して説明したようなエージェント装置リストが記録されている。例えば、エージェント装置A,10は、このリストを参照して、ユーザ要求転送先のエージェント装置を選択する。
 先に説明したように、図8に示すエージェント装置リストは、通信可能な他のエージェント装置の識別子、エージェント装置の機能、通信用アドレスを対応付けて記録したエージェント装置リストである。
 エージェント装置A,10は、エージェント装置A,10の記憶部に格納された図8に示すエージェント装置リストを参照してユーザ要求転送先のエージェント装置を選択する処理を行なうことが可能となる。
 さらに、上述した実施例では、ユーザ発話を直接、入力するエージェント装置A,10が、ユーザ発話を直接、入力せず、エージェント装置A,10と通信を行なってユーザ発話に基づく処理を実行するエージェント装置B,20に対して、エージェント装置B,20が理解可能な「ユーザ発話解釈データB」を送信する実施例を説明した。
 エージェント装置A,10が実行する処理は、ユーザ発話解釈処理アルゴリズムAに従って生成したユーザ発話解釈データA(インテントa、スロットa)を、エージェント装置B,20が理解可能なユーザ発話解釈データB(インテントb、スロットb)に変換する処理(マッピング処理)である。
 エージェント装置A,10は、このエージェント装置B,20が理解可能なユーザ発話解釈データB(インテントb、スロットb)をエージェント装置B,20に送信していた。
 エージェント装置A,10が生成する変換データ(ユーザ発話解釈データB(インテントb、スロットb))は、例えば、エージェント装置B,20、またはエージェント装置B,20の管理サーバ等が提供するAPI(Application Programming Interface)が入力データとして許容したデータである。
 エージェント装置A,10は、生成した変換データ(ユーザ発話解釈データB(インテントb、スロットb))をこのAPIを利用した処理(APIのCall処理)により、エージェント装置B,20に入力することができる。
 例えば、このAPIが、変換データ(ユーザ発話解釈データB(インテントb、スロットb))のみならず、ユーザ発話データそのもの(テキストデータ)を入力データとして許容している場合は、エージェント装置A,10は、変換データ(ユーザ発話解釈データB(インテントb、スロットb))を生成することなく、ユーザ発話データそのもの(テキストデータ)をエージェント装置B,20に送信してもよい。
 エージェント装置A,10からエージェント装置B,20に対して入力するデータ形式は、データ入力に利用するAPIの許容データであればよく、例えば、APIの設定に応じて以下のようなデータ形式が利用可能となる可能性がある。
 1.ユーザ発話文そのもの(テキストデータ)
 2.ユーザ発話文の正規化データ(例えば、ひらがなを漢字に変換したデータ、助詞抜けや表記ゆれの修正を行ったデータ等)
 4.送信先のエージェント装置の特性に応じた解釈しやすい文に変換したデータ
 なお、さらに、ユーザ発話文に基づくデータのみならず、ユーザの顔画像や、その他のセンサーによるセンサー検出情報等も併せて送信する構成としてもよい。
 また、上述した実施例では、、ユーザ発話を直接、入力するエージェント装置A,10が、ユーザ発話に応じた処理を実行できない場合に、エージェント装置B,20に処理を依頼するという実施例について説明した。
 この他、例えば、各エージェント装置の自然言語処理(NLP:Natural Language Processing)の能力等に応じて、ユーザ発話に対する処理を振り分ける構成としてもよい。
 例えばユーザが利用可能なエージェント装置が以下の3台あるとする。
 エージェント装置A
 エージェント装置B
 エージェント装置C
 これらの各エージェント装置は、それぞれ自然言語処理(NLP:Natural Language Processing)の能力、音声認識処理(ASR:Automatic Speech Recognition)の能力、音声合成処理(TTS:Text To Speech)の能力や、装着したセンサーの種類が異なっている。
 このような設定の場合、ユーザ発話の内容等に応じて、ユーザ発話に対応する処理を実行する最適なエージェント装置を選択し、選択されたエージェント装置が処理を実行する。
 このような構成とすることで、ユーザ発話に対応した処理を、より最適なエージェント装置において実行することができる。
 なお、この処理を実現するためには、各エージェント装置の記憶部に先に説明した図8に示すエージェントリストをさらに拡張させたリストを記録しておくことが必要である。すなわち、各エージェント装置の自然言語処理(NLP)の能力、音声認識処理(ASR)の能力、音声合成処理(TTS)の能力や、装着したセンサーの種類等の情報を記録したリストを記憶部に格納し、このリストを参照してユーザ発話に対応する処理を実行するエージェント装置を選択する。
  [10.エージェント装置(情報処理装置)の構成例について]
 次に、本開示の情報処理装置、すなわちエージェント装置の構成例について説明する。
 図18は、ユーザ発話を認識して、ユーザ発話に対応する処理や応答を行うエージェント装置100(情報処理装置)の一構成例を示す図である。
 図18に示すように、エージェント装置100は、入力部110、出力部120、データ処理部130、通信部140、記憶部150を有する。
 入力部110は、音声入力部(マイク)111、画像入力部(カメラ)112、センサー113を有する。
 出力部120は、音声出力部(スピーカー)121、画像出力部(表示部)122を有する。
 なお、音声入力部(マイク)111は、例えば図1に示すエージェント装置10のマイク12に対応する。
 画像入力部(カメラ)112は、図1に示すエージェント装置10のカメラ11に対応する。
 音声出力部(スピーカー)121は、図1に示すエージェント装置10のスピーカー14に対応する。
 画像出力部(表示部)122は、図1に示すエージェント装置10の表示部13に対応する。
 なお、画像出力部(表示部)122は、例えば、プロジェクタ等によって構成することも可能であり、また外部装置のテレビの表示部を利用した構成とすることも可能である。
 データ処理部130は、入力データ解析部160、応答処理実行部170を有する。
 入力データ解析部160は、音声解析部161、画像解析部162、センサー情報解析部163、ユーザ発話対応処理実行制御部164、データ変換部165を有する。
 データ処理実行部170は、出力音声生成部171、表示情報生成部172、ユーザ発話応答処理実行部173を有する。
 ユーザの発話音声はマイクなどの音声入力部111に入力される。
 音声入力部(マイク)111は、入力したユーザ発話音声を音声解析部161に入力する。
 音声解析部161は、例えばASR(Automatic Speech Recognition)機能を有し、音声データを複数の単語から構成されるテキストデータに変換する。
 さらに、テキストデータに対する発話意味解析処理を実行する。
 音声解析部161は、例えば、NLU(Natural Language Understanding)等の自然言語理解機能を有し、テキストデータからユーザ発話の意図(インテント:Intent)や、発話に含まれる意味のある要素(有意要素)である(スロット:Slot)を推定する。すなわち、ユーザ発話解釈処理を実行してユーザ発話解釈データ(インテント、スロット)を生成する。
 ユーザ発話から、意図(インテント)と、要素(スロット)を正確に推定、取得することができれば、エージェント装置100は、ユーザ発話に対する正確な処理を行うことができる。
 音声解析部161によって取得されたユーザ発話解析情報は、記憶部150に格納されるとともに、ユーザ発話対応処理実行制御部164に出力される。
 画像入力部112は、発話ユーザおよびその周囲の画像を撮影して、画像解析部162に入力する。
 画像解析部162は、発話ユーザの顔の表情やユーザの行動、視線情報、発話ユーザの周囲情報等の解析を行い、この解析結果を記憶部150に格納するとともに、ユーザ発話対応処理実行制御部164に出力する。
 センサー113は、例えば気温、気圧、ユーザの視線等を解析するために必要となるデータを取得するセンサーによって構成される。センサーの取得情報は、センサー情報解析部163に入力される。
 センサー情報解析部163は、センサー取得情報に基づいて、例えば気温、気圧、ユーザの視線等のデータを取得して、この解析結果を記憶部150に格納するとともに、ユーザ発話対応処理実行制御部164に出力する。
 ユーザ発話対応処理実行制御部164は、音声解析部161の生成したユーザ発話解釈データ(インテント、スロット)や、画像解析部162の生成した画像解析情報や、センサー情報解析部163の生成したセンサー解析情報を入力して、ユーザ発話に対応する処理を自装置で実行するか、他の通信可能なエージェント装置で実行させるかを決定する。
 ユーザ発話対応処理実行制御部164がユーザ発話に対応する処理を他のエージェント装置で実行させることを決定した場合、データ変換部165は、音声解析部161が生成したユーザ発話解釈データA(インテントa、スロットa)を、ユーザ発話対応処理を実行する他のエージェント装置B,20が理解可能なユーザ発話解釈データB(インテントb、スロットb)に変換する処理(マッピング処理)を実行する。
 データ変換部165の生成した変換データは、通信部140を介して他のエージェント装置Bに送信される。
 記憶部150には、ユーザ発話の内容や、ユーザ発話に基づく学習データや、ユーザとの対話履歴情報等のコンテキスト情報、画像出力部(表示部)122に出力する表示用データ等が格納される。
 記憶部150には、さらに、音声解析部161が生成したユーザ発話解釈データA(インテントa、スロットa)を他のエージェント装置が理解可能なユーザ発話解釈データB(インテントb、スロットb)に変換する処理(マッピング処理)を実行するためのマッピングデータが格納されている。
 また、記憶部150には、さらに先に図8を参照して説明した通信可能な他のエージェント装置の機能情報やアクセス情報(通信アドレス)等を記録したエージェント装置リストが格納されている。
 応答処理実行部170は、出力音声生成部171、表示情報生成部172、ユーザ発話応答処理実行部173を有する。
 出力音声生成部171は、音声解析部161の解析結果であるユーザ発話解析データに基づいて、ユーザに対するシステム発話を生成する。
 出力音声生成部171の生成した応答音声情報は、スピーカー等の音声出力部121を介して出力される。
 表示情報生成部172は、ユーザに対するシステム発話のテキスト情報や、その他の提示情報を表示する。
 例えばユーザが世界地図を見せてというユーザ発話を行った場合、世界地図を表示する。
 世界地図は、例えばサービス提供サーバから取得可能である。
 ユーザ発話応答処理実行部173は、ユーザ発話に対する処理を実行する。
 入力データ解析部160のユーザ発話対応処理実行制御部164がユーザ発話に対応する処理を自装置で実行することを決定した場合、ユーザ発話応答処理実行部173は、ユーザ発話に対する処理を実行する。
 例えば、
 ユーザ発話=音楽を再生して
 ユーザ発話=面白い動画を見せて
 このような発話である場合、ユーザ発話対応処理実行部173は、ユーザ発話に対する処理、すなわち音楽再生処理や、動画再生処理を行う。
 ただし、入力データ解析部160のユーザ発話対応処理実行制御部164がユーザ発話に対応する処理を他のエージェント装置で実行させることを決定した場合は、前述したように、データ変換部165が生成した変換データが通信部140を介して他のエージェント装置Bに送信され、他のエージェント装置Bにおいてユーザ発話に対応する処理が実行されることになる。
 通信部140は、他のエージェント装置との通信処理や、外部サーバ、例えばニュース情報や天気情報、音楽情報等の様々な情報を提供するサーバ、さらに音声解析処理を実行するサーバ等との通信処理に利用される。
 図18に示すデータ処理部130の入力データ解析部160の実行する処理の一部、例えば音声解析処理や意味解析処理等は、外部サーバを利用して実行する構成としてもよい。
 なお、本開示のエージェント装置(情報処理装置)100は、図19に示すように、いわゆるスマートスピーカー型のエージェント装置に限らず、スマホやPC等のような様々な装置形態とすることが可能である。
 エージェント装置(情報処理装置)100は、ユーザ1の発話を認識して、ユーザ発話に基づく応答を行う他、例えば、ユーザ発話に応じてテレビ、エアコン等の外部機器250の制御も実行する。
 例えばユーザ発話が「テレビのチャンネルを1に変えて」、あるいは「エアコンの設定温度を20度にして」といった要求である場合、エージェント装置(情報処理装置)100は、このユーザ発話の音声認識結果に基づいて、外部機器250に対して制御信号(Wi-Fi、赤外光など)を出力して、ユーザ発話に従った制御を実行する。
 また、エージェント装置(情報処理装置)100は、ネットワークを介して様々なデータ処理や情報提供を行なうサーバ200と接続されている。エージェント装置(情報処理装置)100は、サーバ200から、ユーザ発話に対する応答を生成するために必要となる情報を取得することが可能である。また、音声認識処理や意味解析処理をサーバに行わせる構成としてもよい。
  [11.エージェント装置(情報処理装置)のハードウェア構成例について]
 次に、図20を参照して、エージェント装置(情報処理装置)のハードウェア構成例について説明する。
 図20を参照して説明するハードウェアは、先に図18を参照して説明したエージェント装置(情報処理装置)100の1つの具体的なハードウェア構成例であり、また、図19を参照して説明したサーバ200を構成する情報処理装置のハードウェア構成の一例でもある。
 CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行する制御部やデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
 CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、各種スイッチ、キーボード、マウス、マイクロホン、センサーなどよりなる入力部306、ディスプレイ、スピーカーなどよりなる出力部307が接続されている。CPU301は、入力部306から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部307に出力する。
 入出力インタフェース305に接続されている記憶部308は、例えばハードディスク等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、Wi-Fi通信、ブルートゥース(登録商標)(BT)通信、その他インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
 入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
  [12.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) ユーザ発話を入力する音声入力部と、
 前記ユーザ発話の解析を実行してユーザ発話解釈データを生成するデータ処理部を有し、
 前記データ処理部は、
 前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信する情報処理装置。
 (2) 前記データ処理部が生成するユーザ発話解釈データは、
 ユーザ発話の意図に相当するインテントと、ユーザ発話に含まれる要素情報に相当するスロットを有するデータである(1)に記載の情報処理装置。
 (3) 前記データ処理部は、
 前記データ処理部が生成したインテントとスロットを含むユーザ発話解釈データを、前記第2情報処理装置が理解可能なインテントとスロットを含む変換データに変換する処理を実行する(2)に記載の情報処理装置。
 (4) 前記データ処理部は、
 前記データ処理部の実行するユーザ発話解釈処理アルゴリズムに従って生成されるユーザ発話解釈データに含まれるインテントおよびスロットと、前記第2情報処理装置が理解可能なインテントとスロットを対応付けたマッピンクデータを参照して、前記変換データの生成処理を実行する(2)または(3)に記載の情報処理装置。
 (5) 前記情報処理装置は、
 前記マッピングデータを格納した記憶部を有する(4)に記載の情報処理装置。
 (6) 前記データ処理部は、
 前記第2情報処理装置が理解可能なデータの入力を許容するAPI(Application Programing Interface)に対して前記変換データを入力する(1)~(5)いずれかに記載の情報処理装置。
 (7) 前記データ処理部は、
 前記ユーザ発話に対応した処理を自装置で実行できるか否かを判定し、実行できないと判定した場合に、前記変換データを生成して前記第2情報処理装置に送信する(1)~(6)いずれかに記載の情報処理装置。
 (8) 前記データ処理部は、
 ユーザから、前記ユーザ発話に対応した処理を他装置で実行させることの要求発話を入力した場合、
 前記変換データを生成して前記第2情報処理装置に送信する(1)~(7)いずれかに記載の情報処理装置。
 (9) 前記データ処理部は、
 通信可能な他の情報処理装置各々の機能情報とアクセス情報を登録したリストを参照して前記ユーザ発話に対応した処理を実行させる外部装置を決定する(1)~(8)いずれかに記載の情報処理装置。
 (10) 前記データ処理部は、
 生成した前記変換データが、前記第2情報処理装置においてユーザ発話対応の処理を実行するための必要情報の少なくとも一部を含まず、不足情報がある場合、
 ユーザに対して、前記不足情報を取得するための質問を実行する(1)~(9)いずれかに記載の情報処理装置。
 (11) 前記データ処理部は、
 ユーザ発話に対応するタスクIDを設定してユーザ発話の管理処理を実行する(1)~(10)いずれかに記載の情報処理装置。
 (12) 前記データ処理部は、
 複数のユーザ発話を、しきい値時間以内の時間間隔で入力し、かつ、前記複数のユーザ発話のドメインが類似する場合、前記複数のユーザ発話に立てして同一のタスクIDを設定する(11)に記載の情報処理装置。
 (13) 複数の情報処理装置を有する情報処理システムであり、
 第1情報処理装置は、
 ユーザ発話を入力する音声入力部と、
 前記ユーザ発話の解析を実行してユーザ発話解釈データを生成するデータ処理部を有し、
 前記データ処理部は、
 前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信し、
 前記第2情報処理装置は、
 前記第1情報処理装置から受信する前記変換データに基づいて、前記ユーザ発話に対応した処理を実行する情報処理システム。
 (14) 前記第1情報処理装置は、
 前記ユーザ発話の意図に相当するインテントと、ユーザ発話に含まれる要素情報に相当するスロットを有するユーザ発話解釈データを生成し、
 前記第2情報処理装置が理解可能なインテントとスロットを有する変換データを生成して、前記第2情報処理装置に送信する(13)に記載の情報処理システム。
 (15) 情報処理装置において実行する情報処理方法であり、
 音声入力部が、ユーザ発話を入力し、
 データ処理部が、
 前記ユーザ発話の解析を実行してユーザ発話解釈データを生成するデータ処理を実行し、
 前記データ処理部は、
 前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信する情報処理方法。
 (16) 複数の情報処理装置を有する情報処理システムにおいて実行する情報処理方法であり、
 第1情報処理装置が、
 入力したユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話の解析を実行してユーザ発話解釈データを生成し、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信する処理を実行し、
 前記第2情報処理装置が、
 前記第1情報処理装置から受信する前記変換データに基づいて、前記ユーザ発話に対応した処理を実行する情報処理方法。
 (17) 情報処理装置において情報処理を実行させるプログラムであり、
 前記プログラムは、データ処理部に、
 ユーザ発話の解析を実行してユーザ発話解釈データを生成させ、
 前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
 前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成させ、前記第2情報処理装置に送信させるプログラム。
 また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、ユーザ発話を入力した装置以外の装置においてユーザ発話に応じた処理を実行させることを可能とした装置、方法が実現される。
 具体的には、例えば、ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、ユーザ発話の解析を実行してユーザ発話解釈データを生成し、生成したユーザ発話解釈データを変換して、第2情報処理装置が理解可能な変換データを生成して第2情報処理装置に送信する。ユーザ発話解釈データは、ユーザ発話の意図に相当するインテントと、ユーザ発話に含まれる要素情報に相当するスロットを有し、データ処理部はインテントとスロットを含むユーザ発話解釈データを、第2情報処理装置が理解可能なインテントとスロットを含むデータに変換する。
 本構成により、ユーザ発話を入力した装置以外の装置においてユーザ発話に応じた処理を実行させることを可能とした装置、方法が実現される。
  10,20,30 エージェント装置
  11 カメラ
  12 マイク
  13 表示部
  14 スピーカー
 110 入力部
 111 音声入力部
 112 画像入力部
 113 センサー
 120 出力部
 121 音声出力部
 122 画像出力部
 130 データ処理部
 140 通信部
 150 記憶部
 160 入力データ解析部
 161 音声解析部
 162 画像解析部
 163 センサー情報解析部
 164 ユーザ発話対応処理実行制御部
 165 データ変換部
 170 応答処理実行部
 171 出力音声生成部
 172 表示情報生成部
 173 ユーザ発話応答処理実行部
 301 CPU
 302 ROM
 303 RAM
 304 バス
 305 入出力インタフェース
 306 入力部
 307 出力部
 308 記憶部
 309 通信部
 310 ドライブ
 311 リムーバブルメディア

Claims (17)

  1.  ユーザ発話を入力する音声入力部と、
     前記ユーザ発話の解析を実行してユーザ発話解釈データを生成するデータ処理部を有し、
     前記データ処理部は、
     前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
     前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信する情報処理装置。
  2.  前記データ処理部が生成するユーザ発話解釈データは、
     ユーザ発話の意図に相当するインテントと、ユーザ発話に含まれる要素情報に相当するスロットを有するデータである請求項1に記載の情報処理装置。
  3.  前記データ処理部は、
     前記データ処理部が生成したインテントとスロットを含むユーザ発話解釈データを、前記第2情報処理装置が理解可能なインテントとスロットを含む変換データに変換する処理を実行する請求項2に記載の情報処理装置。
  4.  前記データ処理部は、
     前記データ処理部の実行するユーザ発話解釈処理アルゴリズムに従って生成されるユーザ発話解釈データに含まれるインテントおよびスロットと、前記第2情報処理装置が理解可能なインテントとスロットを対応付けたマッピンクデータを参照して、前記変換データの生成処理を実行する請求項2に記載の情報処理装置。
  5.  前記情報処理装置は、
     前記マッピングデータを格納した記憶部を有する請求項4に記載の情報処理装置。
  6.  前記データ処理部は、
     前記第2情報処理装置が理解可能なデータの入力を許容するAPI(Application Programing Interface)に対して前記変換データを入力する請求項1に記載の情報処理装置。
  7.  前記データ処理部は、
     前記ユーザ発話に対応した処理を自装置で実行できるか否かを判定し、実行できないと判定した場合に、前記変換データを生成して前記第2情報処理装置に送信する請求項1に記載の情報処理装置。
  8.  前記データ処理部は、
     ユーザから、前記ユーザ発話に対応した処理を他装置で実行させることの要求発話を入力した場合、
     前記変換データを生成して前記第2情報処理装置に送信する請求項1に記載の情報処理装置。
  9.  前記データ処理部は、
     通信可能な他の情報処理装置各々の機能情報とアクセス情報を登録したリストを参照して前記ユーザ発話に対応した処理を実行させる外部装置を決定する請求項1に記載の情報処理装置。
  10.  前記データ処理部は、
     生成した前記変換データが、前記第2情報処理装置においてユーザ発話対応の処理を実行するための必要情報の少なくとも一部を含まず、不足情報がある場合、
     ユーザに対して、前記不足情報を取得するための質問を実行する請求項1に記載の情報処理装置。
  11.  前記データ処理部は、
     ユーザ発話に対応するタスクIDを設定してユーザ発話の管理処理を実行する請求項1に記載の情報処理装置。
  12.  前記データ処理部は、
     複数のユーザ発話を、しきい値時間以内の時間間隔で入力し、かつ、前記複数のユーザ発話のドメインが類似する場合、前記複数のユーザ発話に立てして同一のタスクIDを設定する請求項11に記載の情報処理装置。
  13.  複数の情報処理装置を有する情報処理システムであり、
     第1情報処理装置は、
     ユーザ発話を入力する音声入力部と、
     前記ユーザ発話の解析を実行してユーザ発話解釈データを生成するデータ処理部を有し、
     前記データ処理部は、
     前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
     前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信し、
     前記第2情報処理装置は、
     前記第1情報処理装置から受信する前記変換データに基づいて、前記ユーザ発話に対応した処理を実行する情報処理システム。
  14.  前記第1情報処理装置は、
     前記ユーザ発話の意図に相当するインテントと、ユーザ発話に含まれる要素情報に相当するスロットを有するユーザ発話解釈データを生成し、
     前記第2情報処理装置が理解可能なインテントとスロットを有する変換データを生成して、前記第2情報処理装置に送信する請求項13に記載の情報処理システム。
  15.  情報処理装置において実行する情報処理方法であり、
     音声入力部が、ユーザ発話を入力し、
     データ処理部が、
     前記ユーザ発話の解析を実行してユーザ発話解釈データを生成するデータ処理を実行し、
     前記データ処理部は、
     前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
     前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信する情報処理方法。
  16.  複数の情報処理装置を有する情報処理システムにおいて実行する情報処理方法であり、
     第1情報処理装置が、
     入力したユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
     前記ユーザ発話の解析を実行してユーザ発話解釈データを生成し、
     前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成し、前記第2情報処理装置に送信する処理を実行し、
     前記第2情報処理装置が、
     前記第1情報処理装置から受信する前記変換データに基づいて、前記ユーザ発話に対応した処理を実行する情報処理方法。
  17.  情報処理装置において情報処理を実行させるプログラムであり、
     前記プログラムは、データ処理部に、
     ユーザ発話の解析を実行してユーザ発話解釈データを生成させ、
     前記ユーザ発話に対応した処理を外部の第2情報処理装置に実行させる場合、
     前記ユーザ発話解釈データを変換して、前記第2情報処理装置が理解可能な変換データを生成させ、前記第2情報処理装置に送信させるプログラム。
PCT/JP2020/045667 2020-01-07 2020-12-08 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム WO2021140816A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020000682A JP2021110768A (ja) 2020-01-07 2020-01-07 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2020-000682 2020-01-07

Publications (1)

Publication Number Publication Date
WO2021140816A1 true WO2021140816A1 (ja) 2021-07-15

Family

ID=76788571

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/045667 WO2021140816A1 (ja) 2020-01-07 2020-12-08 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム

Country Status (2)

Country Link
JP (1) JP2021110768A (ja)
WO (1) WO2021140816A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11311996A (ja) * 1997-10-23 1999-11-09 Sony Internatl Europ Gmbh 音声装置及び遠隔制御可能なネットワーク機器
JP2001306199A (ja) * 2000-04-17 2001-11-02 Sharp Corp ネットワーク機器制御装置
JP2004240225A (ja) * 2003-02-06 2004-08-26 Nippon Telegr & Teleph Corp <Ntt> 音声対話装置、音声対話システム、音声対話方法、プログラム及び記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11311996A (ja) * 1997-10-23 1999-11-09 Sony Internatl Europ Gmbh 音声装置及び遠隔制御可能なネットワーク機器
JP2001306199A (ja) * 2000-04-17 2001-11-02 Sharp Corp ネットワーク機器制御装置
JP2004240225A (ja) * 2003-02-06 2004-08-26 Nippon Telegr & Teleph Corp <Ntt> 音声対話装置、音声対話システム、音声対話方法、プログラム及び記録媒体

Also Published As

Publication number Publication date
JP2021110768A (ja) 2021-08-02

Similar Documents

Publication Publication Date Title
JP7297836B2 (ja) アシスタントアプリケーションのための音声ユーザインタフェースショートカット
US11437041B1 (en) Speech interface device with caching component
KR102429436B1 (ko) 사용자의 입력 입력에 기초하여 타겟 디바이스를 결정하고, 타겟 디바이스를 제어하는 서버 및 그 동작 방법
EP3389044B1 (en) Management layer for multiple intelligent personal assistant services
CN111989741B (zh) 具有动态可切换端点的基于语音的用户接口
US11138977B1 (en) Determining device groups
JP6785904B2 (ja) 情報プッシュ方法及び装置
WO2019031268A1 (ja) 情報処理装置、及び情報処理方法
JP7347217B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
WO2019035371A1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2019155716A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2023553995A (ja) 単一の発話におけるデバイスまたはアシスタント固有ホットワードの組合せ
WO2020202862A1 (ja) 応答生成装置及び応答生成方法
WO2021140816A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
CN114402383A (zh) 电子设备及其控制语音识别的方法
WO2019138652A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP7018850B2 (ja) 端末装置、決定方法、決定プログラム及び決定装置
US20220108693A1 (en) Response processing device and response processing method
US20030101057A1 (en) Method for serving user requests with respect to a network of devices
KR20210029383A (ko) 음성인식에 기반한 부가 서비스 제공 시스템 및 그 방법
JP2020201322A (ja) 案内ロボットシステム及び会話作成方法
WO2020017165A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
US12010387B1 (en) Content-based voice targeting of devices using slot and task data
WO2021171820A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
WO2021166504A1 (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: 20912591

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20912591

Country of ref document: EP

Kind code of ref document: A1