WO2020149031A1 - 応答処理装置及び応答処理方法 - Google Patents

応答処理装置及び応答処理方法 Download PDF

Info

Publication number
WO2020149031A1
WO2020149031A1 PCT/JP2019/046876 JP2019046876W WO2020149031A1 WO 2020149031 A1 WO2020149031 A1 WO 2020149031A1 JP 2019046876 W JP2019046876 W JP 2019046876W WO 2020149031 A1 WO2020149031 A1 WO 2020149031A1
Authority
WO
WIPO (PCT)
Prior art keywords
response
user
information
processing device
agent
Prior art date
Application number
PCT/JP2019/046876
Other languages
English (en)
French (fr)
Inventor
幸徳 前田
典子 戸塚
智恵 鎌田
悠希 武田
和也 立石
裕一郎 小山
衣未留 角尾
高橋 晃
秀明 渡辺
啓 福井
寛 黒田
浩明 小川
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to DE112019006677.3T priority Critical patent/DE112019006677T5/de
Priority to JP2020566135A priority patent/JP7415952B2/ja
Priority to US17/309,983 priority patent/US20220108693A1/en
Publication of WO2020149031A1 publication Critical patent/WO2020149031A1/ja

Links

Images

Classifications

    • 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/18Speech classification or search using natural language modelling
    • 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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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
    • G10L2015/223Execution procedure of a spoken command

Definitions

  • the present disclosure relates to a response processing device and a response processing method. Specifically, it relates to response processing for users who use a plurality of information devices.
  • the device that integrally controls the system receives the processing request to each information device and executes the process according to the function of each information device, thereby efficiently performing the process of the entire system.
  • each information device only determines whether or not the processing request can be accepted. For example, when each information device receives a user's request and performs processing, the information request is processed by the user. The processing is not always performed in a responsive manner.
  • the present disclosure proposes a response processing device and a response processing method capable of improving user convenience.
  • a response processing device includes a receiving unit that receives input information that is information that triggers an information device to generate a response, and a plurality of input processing units for the input information.
  • a presentation unit that presents each response generated by the information device to the user, and a transmission unit that transmits the user reaction to the presented response to the plurality of information devices.
  • FIG. 1 shows the response processing system which concerns on 1st Embodiment. It is a figure (1) which shows an example of the response process which concerns on 1st Embodiment. It is a figure (2) which shows an example of the response process which concerns on 1st Embodiment. It is a figure (3) which shows an example of the response process which concerns on 1st Embodiment. It is a figure (4) which shows an example of the response process which concerns on 1st Embodiment. It is a figure (1) which shows the 1st variation of the response process which concerns on 1st Embodiment. It is a figure (2) which shows the 1st variation of the response process which concerns on 1st Embodiment.
  • First Embodiment 1-1 Overview of response processing system according to first embodiment 1-2.
  • Example of response process according to first embodiment 1-3 Variation of response processing according to first embodiment 1-4.
  • Configuration of response processing system according to first embodiment 1-5 Procedure of response process according to first embodiment 1-6. Modification of the first embodiment 2.
  • Second embodiment 2-1 Example of response process according to second embodiment 2-2.
  • Variation of response processing according to the second embodiment Other Embodiments 3-1.
  • Variation of response output 3-2 Timing of transmitting user reaction 3-3.
  • Device configuration 4. 4. Effect of response processing device according to the present disclosure Hardware configuration
  • FIG. 1 is a diagram showing a response processing system 1 according to the first embodiment.
  • the information processing according to the first embodiment is executed by the response processing device 100 shown in FIG. 1 and the response processing system 1 including the response processing device 100.
  • the response processing system 1 includes a response processing device 100, an agent 10A, an agent 10B, an agent 10C, and an agent 10D.
  • the respective devices included in the response processing system 1 are communicably connected via a wired or wireless network (not shown).
  • the agent 10A, the agent 10B, the agent 10C, and the agent 10D are devices having a function (referred to as an agent (Agent) function or the like) of interacting with a user via voice, etc.
  • agent Agent
  • Various information processing such as response generation is performed.
  • the agent 10A or the like is a so-called IoT (Internet of Things) device, and performs various information processing in cooperation with an external device such as a cloud server.
  • IoT Internet of Things
  • the agent 10A and the like are so-called smart speakers.
  • agent functions that perform learning regarding voice dialogues and responses, and information devices that have agent functions are collectively referred to as "agents”.
  • the agent function includes not only the function executed by the agent 10 alone but also the function executed by the server connected to the agent 10 via the network. Further, hereinafter, when it is not necessary to distinguish individual information devices such as the agent 10A, the agent 10B, the agent 10C, and the agent 10D, they are collectively referred to as the "agent 10".
  • the response processing device 100 is an example of the response processing device according to the present disclosure.
  • the response processing device 100 is a device that interacts with a user via voice or text, and performs various information processing such as voice recognition and response generation to the user.
  • the response processing device 100 executes a response process to information (hereinafter, referred to as “input information”) that is a trigger for generating a response, such as a collected voice and a user action.
  • input information information
  • the response processing device 100 recognizes a question posed by the user, outputs an answer to the question by voice, and displays information about the question on the screen.
  • the response processing device 100 collects responses generated by each agent 10 and feedback to each agent 10.
  • the response processing device 100 is a so-called tablet terminal or smartphone.
  • the response processing device 100 includes a speaker unit that outputs a sound and a display unit (a liquid crystal display or the like) that outputs a video or the like.
  • the response processing device 100 executes the response process of the present disclosure based on the function of the program (application) installed in the smartphone or the tablet terminal.
  • the response processing device 100 may be a wearable device such as a watch-type terminal or eyeglass-type terminal other than a smartphone or a tablet terminal.
  • the response processing device 100 may be realized by various smart devices having an information processing function.
  • the response processing device 100 is a smart home electric appliance such as a television, an air conditioner, or a refrigerator, a smart vehicle such as a car, an autonomous robot such as a drone, a pet robot, or a humanoid robot. Good.
  • the user uses an information device such as the agent 10A together with the response processing device 100. That is, in the example of FIG. 1, it is assumed that the user is in an environment where a plurality of agents 10 are used.
  • the user needs to consider which agent 10 is used to execute what kind of processing (in other words, what input information is input to the agent 10).
  • the user must execute the same process again when causing one agent 10 to execute a process and then causing another agent 10 to execute the same process.
  • a request for causing the agent 10 to execute some processing based on input information from the user is referred to as a “command”.
  • the command is, for example, a script or the like indicating a question or request content of the user.
  • the agent 10 learns, through interaction with the user, what kind of question or request the user is likely to make, or what kind of response the user wants on a daily basis. However, when there are a plurality of agents 10, the user has to perform a process for growing the agent 10 for each agent 10.
  • each agent 10 accesses a different service and obtains an answer when, for example, a question is received from a user. Therefore, even if the same question is received from the user, each of the plurality of agents 10 may generate different responses. In addition, depending on the agent 10, there is a possibility that the service for obtaining the answer asked by the user cannot be accessed and the answer cannot be generated. If the appropriate answer is not obtained, the user needs to ask the different agents 10 the same question.
  • the response processing device 100 solves the above problem by the response process described below.
  • the response processing device 100 functions as a front-end device for a plurality of agents 10 and collectively accepts interactions with users. For example, the response processing device 100 analyzes the content of the question received from the user and generates a command according to the content of the question. Then, the response processing device 100 collectively transmits the generated commands to the agents 10A, 10B, 10C, and 10D. Furthermore, the response processing device 100 presents each response generated by each agent 10 to the user, and transmits the user's reaction to the presented response to each agent 10.
  • the response processing device 100 solves the user environment in which the results of the multiple agents 10 cannot be received unless the same command is repeatedly executed. Further, the response processing device 100 solves the situation in which the process for growing the agent 10 has to be executed for each agent 10. In this way, the response processing device 100 behaves as a front-end device for the plurality of agents 10 and controls the generation and output of responses to improve user convenience. In other words, the response processing device 100 plays a role of arbitrating the entire system.
  • the response processing device 100 is linked with each of the agents 10A, 10B, 10C, and 10D in advance.
  • a startup word for activating each agent 10 and a format for each accepting a voice for example, a type of voice API (Application Programming Interface) that each agent 10 can process, etc.
  • Information such as is stored as a database.
  • the response processing device 100 receives some input information from the user (step S1). For example, the response processing device 100 receives a question uttered by the user.
  • the response processing device 100 activates its own response process (step S2). Further, the response processing device 100 activates each of the associated agents 10 with the input information received from the user as a trigger (step S3).
  • the response processing device 100 converts the voice information received from the user into a command, and generates a command in a format that each agent 10 can recognize. Specifically, the response processing device 100 obtains the user's voice, performs automatic voice recognition (ASR (Automatic Speech Recognition)) processing and natural language understanding (NLU (Natural Language Understanding)) processing, and then converts the user's voice. Parse included user questions. For example, when the voice includes the intention of the question from the user, the response processing device 100 recognizes the intention of the question as input information and generates a command according to the intention of the question. Note that the response processing device 100 may generate commands in different modes from the same input information, for example, according to the API of each agent 10. Then, the response processing device 100 transmits the generated command to each agent 10.
  • ASR Automatic Speech Recognition
  • NLU Natural Language Understanding
  • the agent 10A that received the command generates a response corresponding to the input information. Specifically, the agent 10A generates an answer to the user's question as a response. Then, the agent 10A transmits the generated response to the response processing device 100 (step S4). Although not shown in FIG. 1, the agent 10B, the agent 10C, and the agent 10D also transmit the response generated by themselves to the response processing device 100, similarly to the agent 10A.
  • the response processing device 100 collects the responses received from each agent 10 and presents the user with information indicating which agent 10 generated which response (step S5). For example, the response processing device 100 converts the information indicating the outline of the response received from each agent 10 into a voice, and outputs the converted voice to the user. Thereby, the user can obtain a plurality of responses only by asking the question to the response processing device 100.
  • the response processing device 100 collectively transmits the content of the response selected by the user, the identification information of the agent 10 selected by the user, and the like to each agent 10.
  • each agent 10 can obtain a response selected by the user in response to the user's question, that is, a positive example for the user as feedback.
  • each agent 10 can obtain a response that the user did not select in response to the user's question, that is, a negative example for the user as feedback.
  • the response processing device 100 can learn the plurality of agents 10 (give feedback to each agent 10) in a single exchange.
  • FIG. 2A is a diagram (1) illustrating an example of the response process according to the first embodiment.
  • the user inputs a voice A11 including the content of “I want to hear “graduation”” to the response processing device 100 (step S11).
  • the response processing device 100 receives the voice A11 uttered by the user as input information.
  • the response processing device 100 performs ASR or NLU processing on the voice A11 and analyzes the content. Then, the response processing device 100 generates a command corresponding to the voice A11 (step S12).
  • the response processing device 100 transmits the generated command to each agent 10 (step S13).
  • the response processing device 100 refers to an API or protocol that can be supported by each agent 10, and transmits a command in a format corresponding to each agent 10.
  • FIG. 2B is a diagram (2) illustrating an example of the response process according to the first embodiment.
  • Each agent 10 generates a response corresponding to the command based on the command received from the response processing device 100. For example, it is assumed that the agent 10A interprets that the user's request is "play music having a song title of "graduation”" based on the content of the command. In this case, the agent 10A accesses, for example, a music service to which the own device can be connected, and acquires the song “graduation” sung by the singer A. Then, the agent 10A transmits to the response processing device 100 that "play the song "graduation” sung by the singer A" is a response generated by the device itself (step S14).
  • the agent 10B interprets that the user's request is “play music having a song title of “graduation”” based on the content of the command.
  • the agent 10B accesses, for example, a music service to which the own device can be connected, and acquires the song “graduation” sung by the singer B. Then, the agent 10B transmits to the response processing device 100 that "playing the song "graduation” sung by the singer B" is a response generated by the device itself.
  • the agent 10C interprets that the user's request is “reproduce information regarding “graduation”” based on the content of the command.
  • the agent 10B accesses, for example, a news service to which the own device can connect, and acquires information about "graduation” (news information in this example). Then, the agent 10C transmits to the response processing device 100 that "play news relating to "graduation”" is a response generated by the device itself.
  • the agent 10D interprets that the user's request is "reproduce information regarding "graduation”" based on the content of the command.
  • the agent 10B performs, for example, a web search to search for information regarding “graduation”.
  • the agent 10D transmits to the response processing device 100 that "play the web search result regarding "graduation”" is a response generated by the device itself.
  • the response processing device 100 acquires the response generated by each agent 10. Then, the response processing device 100 generates information indicating what kind of response each agent 10 generated (step S15). For example, the response processing device 100 generates the voice A12 including the outline of the response generated by each agent 10.
  • the response processing device 100 outputs the generated voice A12 and presents the information included in the voice A12 to the user (step S16). Thereby, the user can know the contents of the four types of responses only by inputting the voice A11 to the response processing device 100.
  • FIG. 2C is a diagram (3) illustrating an example of the response process according to the first embodiment.
  • the user who hears the voice A12 selects any one of the responses included in the voice A12.
  • the user has determined that the response proposed by the agent 10A matches the request of the user.
  • the user inputs the voice A13 including the content such as "in "agent 10A"" to the response processing device 100 (step S17).
  • the response processing device 100 determines that the response of the agent A10 is the response desired by the user among the retained responses (step S18). In this case, the response processing device 100 generates and outputs the voice A14 which serves as a guide that "the agent 10A reproduces the "graduation” of the singer A". Further, the response processing device 100 requests the agent 10A to output the generated response (step S19). In response to the request, the agent 10A executes the response "reproduction of "graduation” of singer A", which is a response generated by the agent 10A.
  • the user can output the response that best suits his or her request among the presented responses.
  • FIG. 2D is a diagram (4) illustrating an example of the response process according to the first embodiment.
  • the response processing device 100 After the agent 10A outputs the response, the response processing device 100 generates feedback regarding a series of dialogues with the user (step S20).
  • the response processing device 100 generates, as feedback, the content of the response generated by each agent 10 in response to the input information.
  • the response processing device 100 displays information indicating which agent 10 generated the response among the responses generated by each agent 10 was selected by the user, and which agent 10 generated response was not selected by the user. Generate as feedback.
  • the response processing device 100 generates input information, a generated response, and a feedback A15 indicating which response has been selected.
  • the response processing device 100 transmits the generated feedback A15 to each agent 10 (step S21).
  • the user can collectively give feedback to each agent 10 without performing the same dialogue with all the agents 10, so that each agent 10 can efficiently learn.
  • FIG. 3A is a diagram (1) showing a first variation of the response process according to the first embodiment.
  • the user inputs a voice A31 including the content “I want to hear “graduation”” to the response processing device 100, as in FIG. 2A (step S31).
  • the response processing device 100 receives the voice A31 uttered by the user as input information.
  • the response processing device 100 that has received the voice A31 selects a user who has shown what kind of response the user has in the past or which agent 10 was selected for the same or similar input information.
  • the history A32 is referred to (step S32). Specifically, the response processing device 100 selects the type of response the user has selected in the past (whether it is music playback, news playback, etc.), the number of times each agent 10 is selected, the frequency, the ratio, etc. Refer to.
  • FIG. 3B is a diagram (2) showing a first variation of the response process according to the first embodiment.
  • the response processing apparatus 100 which refers to the user's selection history A32 in step S32, determines what response the user tends to select when receiving input information such as the voice A31, or which agent the user has. It is determined whether 10 tends to be selected. Then, the response processing device 100, after acquiring the response generated by each agent 10, outputs which response based on the past selection history of the user without presenting the plurality of responses to the user, that is, It is determined which agent 10 is to output the response (step S33).
  • the response processing device 100 determines that the probability that the user selects the response generated by the agent 10A is high based on the past selection history of the user. In this case, the response processing device 100 outputs to the user a voice A33 indicating that the response generated by the agent 10A is output without presenting the response generated by each agent 10.
  • the response processing device 100 requests the agent 10A to output the generated response (step S34).
  • the agent 10A executes the response "reproduction of "graduation” of singer A", which is a response generated by the agent 10A.
  • the response processing device 100 may automatically select a response suitable for the user by evaluating the response generated by each agent 10 based on the past selection history of the user. Accordingly, the user can output a response according to his/her own tendency and preference without receiving the presentation of a plurality of responses, and thus can enjoy an efficient interactive process.
  • the response processing device 100 may select a response to be output in accordance with a tendency such as which agent 10 the user prefers, and the type of response generated by each agent 10 and what kind of response the user has.
  • the response to be output may be selected according to the tendency such as preference of the type.
  • FIG. 3C is a diagram (3) showing a first variation of the response process according to the first embodiment.
  • FIG. 3C shows a situation in which the user who has viewed the response automatically selected by the response processing device 100 desires to know the content of another response.
  • the user inputs the voice A34 such as "what else?" to the response processing device 100 (step S35).
  • the response processing device 100 When the response processing device 100 receives a response or information indicating the intention of selecting the agent 10, such as the voice A34, the response processing device 100 performs a process according to the intention of the user.
  • a request such as a voice A34 indicating a response or a specific intention to select the agent 10 may be referred to as a “specific command”.
  • the specific command may be registered in advance in the response processing device 100, or may be individually registered by the user.
  • the response processing device 100 executes a process according to the specific command included in the voice A34 (step S36).
  • the specific command included in the voice A34 is intended to “present a response generated by another agent 10.”
  • the response processing device 100 presents the response generated by the agent 10 other than the agent 10A to the user.
  • the response processing device 100 reads the held response, which is the response acquired from each agent 10 when the voice A31 is received.
  • the response processing device 100 may transmit the command corresponding to the voice A31 to the agent 10B, the agent 10C, and the agent 10D, and acquire the response generated by each of them (step S37).
  • the response processing device 100 generates the voice A35 for presenting the responses generated by the agents 10B, 10C, and 10D (step S38).
  • the voice A35 includes voices indicating the contents of the responses generated by the agents 10B, 10C, and 10D.
  • the response processing device 100 outputs the generated voice A35 to the user.
  • FIG. 3D is a diagram (4) showing a first variation of the response process according to the first embodiment.
  • the user who confirms the voice A35 shows a situation in which he/she desires to view the content of another response.
  • the user inputs the voice A36 such as "next" to the response processing device 100 (step S39).
  • the voice A36 is a specific command indicating that "the output source is changed to the agent 10 next to the agent 10 that is currently outputting”.
  • the response processing device 100 controls to change the output source from the agent 10A that is outputting the "graduation" of the singer A to the agent 10B according to the intention of the specific command. Further, the response processing device 100 outputs a voice A37 indicating that the output source is changed to the agent 10B to the user (step S40).
  • the response processing device 100 requests the agent 10A to stop the response being output and requests the agent 10B to output the response (step S41).
  • FIG. 4A is a diagram (1) showing a second variation of the response process according to the first embodiment.
  • Step S51 the same dialogue as in FIGS. 2A and 2B is performed between the response processing device 100 and the user, and a voice A51 having the same content as the voice A12 is presented from the response processing device 100.
  • the user has determined that the content presented by the voice A51 does not include the content desired by the user.
  • the user inputs the voice A52 such as "what else?" to the response processing device 100 (step S52).
  • FIG. 4B is a diagram (2) showing a second variation of the response process according to the first embodiment.
  • the response processing device 100 receives the voice A52 and executes the specific command included in the voice A52. As described above, the specific command included in the voice A52 requests “output of a response generated by another agent 10”, but in FIG. 4A, the response processing device 100 causes all the agents 10 to cooperate with each other. Is presenting the response.
  • the response processing device 100 determines that the response that the user is satisfied does not exist in the presented responses. Then, the response processing device 100 causes each agent 10 to execute the re-search process for generating a response to the user's request. At this time, the response processing device 100 outputs to the user a voice A53 indicating that each agent 10 should perform the re-search.
  • the response processing device 100 generates the content of the response generated for the input information and the feedback A54 indicating that all the responses have not been selected (step S53). Then, the response processing device 100 transmits a request for re-search to each agent 10 together with the feedback A54 (step S54).
  • the response processing device 100 sends a re-search request to each agent 10 together with the content of the response generated by each agent 10 and the feedback A54 indicating that all the responses have not been selected.
  • each agent 10 can perform the re-search after recognizing that the response generated by the other device 10 is inappropriate in addition to the response generated by the own device.
  • the user can efficiently obtain the response that the user desires, as compared with the case where the individual agent 10 executes the re-search.
  • FIG. 5 is a diagram showing a third variation of the response process according to the first embodiment.
  • the response processing device 100 presents to the user a voice A61 indicating that all the agents 10 have generated the same response (step S61).
  • the user inputs to the response processing device 100 that the specific agent 10 outputs a response.
  • the user inputs a voice A62 such as "Please use the agent 10A" to the response processing device 100 (step S62).
  • the response processing device 100 executes a process based on a specific command (“output the response to the agent 10A”) included in the voice A62 (step S63). Specifically, the response processing device 100 generates and outputs a voice A63 that serves as a guide to “execute the agent 10A”. Further, the response processing device 100 requests the agent 10A to output the generated response (step S64).
  • the response processing device 100 may generate an output such as the voice A61 indicating that the same response is generated. As a result, the response processing device 100 can transmit simple information to the user.
  • FIG. 6A is a diagram (1) showing a fourth variation of the response process according to the first embodiment.
  • the response processing device 100 presents to the user a voice A71 indicating that all the agents 10 have generated the same response (step S71).
  • the user inputs the voice A72 such as "next" to the response processing device 100 (step S72).
  • the response processing device 100 receives the voice A72 and executes the specific command included in the voice A72.
  • the specific command included in the voice A72 requests “output of a response generated by the next agent 10 instead of the agent 10 that is outputting”.
  • the response processing device 100 The responses of all the agents 10 that cooperate are already presented.
  • the response processing device 100 generates the voice A73 indicating that all the cooperating agents 10 have generated the response having the same content (step S73). Then, the response processing device 100 outputs the generated voice A73 to the user.
  • FIG. 6B is a diagram (2) showing a fourth variation of the response process according to the first embodiment.
  • the user who confirms the voice A73 shows a situation in which he/she desires to view the content of another response.
  • the user inputs the voice A74 such as "other" in the response processing device 100 (step S74).
  • the response processing device 100 receives the voice A74 and executes the specific command included in the voice A74. As described above, the specific command included in the voice A74 requests “output of a response generated by another agent 10”, but in FIG. 6A, the response processing device 100 causes all the agents 10 to cooperate with each other. Is presenting the response.
  • the response processing device 100 determines that the response that the user is satisfied does not exist in the presented responses. Then, the response processing device 100 causes each agent 10 to execute a re-search process for generating a response to the user's request. At this time, the response processing device 100 outputs to the user a voice A75 indicating that each agent 10 should perform the re-search (step S75).
  • the response processing device 100 requests each re-search with the content of the response generated for the input information and the feedback indicating that all the responses have not been selected. It transmits to the agent 10 (step S76).
  • the response processing device 100 appropriately interprets the content of the specific command according to the content of the response generated by each agent 10 or the content already presented to the user, and executes the information processing according to the situation.
  • the user can efficiently obtain the response he or she desires with only a simple dialogue.
  • the response processing device 100 receives input information, which is information that triggers each agent 10 to generate a response, from the user. Then, the response processing device 100 presents to the user each response generated by the plurality of agents 10 in response to the input information. Further, the response processing device 100 transmits the user's reaction to the presented response to the plurality of agents 10.
  • input information which is information that triggers each agent 10 to generate a response
  • the response processing device 100 performs the function of the front end that arbitrates the interaction between the plurality of agents 10 and the user, so that the user interacts only with the response processing device 100, so that the plurality of agents 10 obtain.
  • the information to be output and the response to be output can be obtained.
  • the response processing device 100 can efficiently learn a plurality of agents 10 by transmitting the user's reaction to the presented response as feedback to each agent 10. As a result, the response processing device 100 can improve the convenience of the user.
  • FIG. 7 is a diagram illustrating a configuration example of the response processing system 1 according to the first embodiment of the present disclosure.
  • the response processing system 1 includes an agent 10, a response processing device 100, and an external server 200.
  • the agent 10, the response processing device 100, and the external server 200 are communicably connected by wire or wirelessly via the network N (for example, the Internet) illustrated in FIG. 7.
  • the response processing system 1 may include a plurality of agents 10 and external servers 200.
  • the agent 10 is an information processing terminal used by a user.
  • the agent 10 interacts with the user and generates a response to a voice, a motion, or the like uttered by the user.
  • the agent 10 may include all or part of the configuration of the response processing device 100 described below.
  • the external server 200 is a service server that provides various services.
  • the external server 200 provides a music service, weather information, traffic information, etc. according to a request from the agent 10 or the response processing device 100.
  • the response processing device 100 is an information processing terminal that executes response processing according to the present disclosure. As illustrated in FIG. 7, the response processing device 100 includes a sensor 20, an input unit 21, a communication unit 22, a storage unit 30, a reception unit 40, a presentation unit 50, a transmission unit 54, and an output unit 60. Have and.
  • the sensor 20 is a device for detecting various information.
  • the sensor 20 includes, for example, a voice input sensor 20A that collects a voice uttered by the user.
  • the voice input sensor 20A is, for example, a microphone.
  • the sensor 20 also includes, for example, an image input sensor 20B.
  • the image input sensor 20B is, for example, a camera for capturing a user's motion and facial expression, a situation in the user's home, and the like.
  • the sensor 20 may include a touch sensor that detects that the user touches the response processing device 100, an acceleration sensor, a gyro sensor, or the like. Further, the sensor 20 may include a sensor that detects the current position of the response processing device 100. For example, the sensor 20 receives radio waves transmitted from a GPS (Global Positioning System) satellite, detects position information (for example, latitude and longitude) indicating the current position of the response processing device 100 based on the received radio waves. Good.
  • GPS Global Positioning System
  • the senor 20 may include a radio wave sensor that detects a radio wave emitted by an external device, an electromagnetic wave sensor that detects an electromagnetic wave, or the like. Further, the sensor 20 may detect the environment in which the response processing device 100 is placed. Specifically, the sensor 20 detects an illuminance sensor that detects the illuminance around the response processing device 100, a humidity sensor that detects the humidity around the response processing device 100, and a magnetic field at the location of the response processing device 100. It may include a geomagnetic sensor or the like.
  • the senor 20 does not necessarily have to be provided inside the response processing device 100.
  • the sensor 20 may be installed outside the response processing device 100 as long as the sensor 20 can transmit information sensed using communication or the like to the response processing device 100.
  • the input unit 21 is a device for receiving various operations from the user.
  • the input unit 21 is realized by a keyboard, a mouse, a touch panel, or the like.
  • the communication unit 22 is realized by, for example, a NIC (Network Interface Card) or the like.
  • the communication unit 22 is connected to the network N by wire or wirelessly, and transmits/receives information to/from the agent 10, the external server 200, or the like via the network N.
  • the storage unit 30 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk.
  • the storage unit 30 has a user information table 31, an agent table 32, a command table 33, and a history table 34.
  • each data table will be described in order.
  • the user information table 31 stores information about users who use the response processing device 100 and the agent 10.
  • FIG. 8 shows an example of the user information table 31 according to the first embodiment.
  • FIG. 8 is a diagram showing an example of the user information table 31 according to the first embodiment of the present disclosure.
  • the user information table 31 has items such as “user ID”, “user attribute information”, and “history information”.
  • the “user attribute information” indicates various information of the user registered by the user when using the response processing device 100.
  • the item of the user attribute information is conceptually described as “F01”, but in reality, the user attribute information includes the age and sex of the user, the place of residence, and the family composition. Attribute information (user profile) such as is included.
  • the user attribute information may include information necessary for selecting the type of information to be output, such as that the user has a visual impairment.
  • the response processing device 100 may convert the content of the response normally displayed on the screen into a voice and output the voice. For such conversion, a known technique such as TTS (text-to-speech) processing may be used.
  • TTS text-to-speech
  • “History information” indicates the usage history of the response processing device 100 of the user.
  • the history information item is conceptually described as “G01”, but in reality, the history information includes the contents of the question asked by the user to the response processing device 100 and the reply information.
  • the history information may include voiceprint information and waveform information for identifying the user by voice.
  • the “history information” shown in FIG. 8 may include information indicating the past behavior of the user. Details of the history information will be described later with reference to FIG.
  • the user identified by the user ID “U01” has the user attribute information “F01” and the history information “G01”.
  • the agent table 32 stores information about the agent 10 that cooperates with the response processing device 100.
  • FIG. 9 shows an example of the agent table 32 according to the first embodiment.
  • FIG. 9 is a diagram showing an example of the agent table 32 according to the first embodiment of the present disclosure.
  • the agent table 32 has items such as “agent ID”, “device information”, “input format”, and “output format”.
  • Agent ID indicates identification information for identifying the agent 10.
  • the agent ID and the reference numeral of the agent 10 are common.
  • the agent 10 whose agent ID is identified by “10A” means “agent 10A”.
  • “Device information” indicates information as the information device of the agent 10.
  • the information device item is conceptually described as “C01”, but in reality, the information device item includes the type of the information device of the agent 10 (smart speaker, smartphone, or robot). Etc.) and the types of functions that can be executed by the agent 10 are stored.
  • “Input format” indicates information such as the format in which the information input to the agent 10 is input.
  • the input format item is conceptually described as “D01”, but in reality, the input format item includes data (voice or image) that the agent 10 can process. Etc.), the type of voice format (“mp3”, “wav”, etc.), the file format of a recognizable command, and the like are stored.
  • Output format indicates the format of data that can be output by the agent 10.
  • the output format item is conceptually described as “E01”, but actually, the output format item is capable of audio output or image output.
  • the modes that can be output by the agent 10, such as whether or not the moving image can be reproduced, are specifically stored.
  • the agent 10A identified by the agent ID “10A” has device information “C01”, an input format “D01”, and an output format “E01”. Is shown.
  • the command table 33 stores information regarding a specific command recognized by the response processing device 100.
  • FIG. 10 shows an example of the command table 33 according to the first embodiment.
  • FIG. 10 is a diagram showing an example of the command table 33 according to the first embodiment of the present disclosure.
  • the command table 33 has items such as “command content”, “specific command statement”, and “command analysis result”.
  • Communication content indicates the processing content executed by the response processing device 100 when a specific command is input.
  • the “specific command sentence” indicates a sentence (voice or text) corresponding to the specific command.
  • the “command analysis result” indicates the analysis result of the specific command.
  • the sentence corresponding to the command content “speak other result” is voice or text such as “other ha”, “teach other”, or “other”. Yes, these statements indicate that they are analyzed as a command (processing content) such as “READ_RESULTS”.
  • voice or text corresponding to the specific command sentence is not limited to the example shown in FIG. 10, and may be updated as appropriate based on registration by the user himself or the like.
  • the history table 34 stores history information of the interaction between the response processing device 100 and the user.
  • FIG. 11 is a diagram showing an example of the history table 34 according to the first embodiment of the present disclosure.
  • the history table 34 has items such as “input information ID”, “input content”, “agent selection history”, and “output content”.
  • Input information ID indicates identification information for identifying the input information.
  • the “input content” indicates the specific content of the input information.
  • the item of input content is conceptually described as “Y01”, but in reality, the item of input content is the result of analyzing the voice (question, etc.) uttered by the user, The command and the like generated from the analysis result are stored.
  • the “agent selection history” indicates the identification information of the agent 10 selected by the user, the number of times each agent 10 is selected, the ratio, the frequency, etc. with respect to certain input information.
  • the “output content” is the content actually output from the agent 10 or the response processing device 100 with respect to certain input information, and the type of the output information (whether it is music or a search result). Also, it indicates the number of times various contents were actually output, the frequency, and the like.
  • the content of the input information identified by the input information ID “X01” is “Y01”
  • the history of the agent 10 selected by the user for the input information is “H01”. Yes, it indicates that the history of the output content is “I01”.
  • the reception unit 40, the presentation unit 50, and the transmission unit 54 are processing units that execute information processing executed by the response processing device 100.
  • the reception unit 40, the presentation unit 50, and the transmission unit 54 are stored in the response processing device 100 by, for example, a program (CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), etc.)
  • the response processing program according to the present disclosure is implemented by executing a RAM (Random Access Memory) or the like as a work area.
  • the reception unit 40, the presentation unit 50, and the transmission unit 54 are controllers, and may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the reception unit 40 is a processing unit that receives various types of information. As shown in FIG. 7, the reception unit 40 includes a detection unit 41, a registration unit 42, and an acquisition unit 43.
  • the detection unit 41 detects various kinds of information via the sensor 20.
  • the detection unit 41 detects the voice uttered by the user via the voice input sensor 20A, which is an example of the sensor 20.
  • the detection unit 41 detects various kinds of information related to the user's motion, such as the face information of the user, the orientation, inclination, movement, and moving speed of the user's face, via the image input sensor 20B, the acceleration sensor, the infrared sensor, and the like. May be. That is, the detection unit 41 detects various physical quantities such as position information, acceleration, temperature, gravity, rotation (angular velocity), illuminance, geomagnetism, pressure, proximity, humidity, and rotation vector as contexts via the sensor 20. Good.
  • the registration unit 42 accepts registration from the user via the input unit 21.
  • the registration unit 42 receives registration of a specific command from a user via a touch panel or a keyboard.
  • the registration unit 42 may also accept registration of user schedules and the like.
  • the registration unit 42 accepts schedule registration from the user by using the application function incorporated in the response processing device 100.
  • the acquisition unit 43 acquires various information. For example, the acquisition unit 43 acquires the device information of each agent 10, the information regarding the response generated by each agent 10, and the like.
  • the acquisition unit 43 may also receive a context regarding communication.
  • the acquisition unit 43 may receive, as a context, the connection status between the response processing device 100 and each agent 10 or various devices (a server on the network, a home appliance in the home, etc.).
  • the connection status with various devices is, for example, information indicating whether mutual communication is established, a communication standard used for communication, or the like.
  • the receiving unit 40 receives various information by controlling the above processing units. For example, the reception unit 40 acquires, from the user, input information that is information that triggers the agent 10 to generate a response.
  • the reception unit 40 acquires, as input information, voice information uttered by the user. Specifically, the reception unit 40 acquires a user's utterance such as “I want to hear “graduation”” and acquires some intention included in the utterance as input information.
  • the reception unit 40 may acquire, as the input information, the detection information obtained by detecting the user's action.
  • the detection information is information detected by the detection unit 41 via the sensor 20.
  • the detection information includes information indicating that the user has looked at the camera of the response processing device 100, information indicating that the user has moved from the room at home to the entrance, and the response processing device 100 transmits the response. This is a user action that can be a trigger for generation.
  • the reception unit 40 may receive a text input by the user as the input information. Specifically, the reception unit 40 acquires, via the input unit 21, a text input by the user, such as "I want to hear “graduation”", and acquires some intention included in the text as input information.
  • the reception unit 40 changes the output response after the response generated by each agent 10 is presented by the presentation unit 50 described later and one of the presented responses is output.
  • the specific command shown is accepted from the user.
  • the reception unit 40 receives a user's utterance such as “next ha” as the specific command.
  • the presentation unit 50 executes information processing corresponding to the specific command (for example, controlling to output the response of another agent 10 registered next to the agent 10 being output).
  • the receiving unit 40 may receive a specific command from the user indicating that a different response is requested for the presented response. ..
  • the reception unit 40 receives a user's utterance such as “other” as the specific command.
  • the presentation unit 50 executes information processing corresponding to the specific command (for example, controlling each agent 10 to execute a re-search).
  • the reception unit 40 may acquire information regarding various contexts.
  • the context is information indicating various situations when the response processing device 100 generates a response. Since the context includes “information indicating the user's situation” such as action information indicating that the user has seen the response processing device 100, the context can also be input information.
  • the reception unit 40 may acquire the attribute information of the user registered in advance by the user as the context. Specifically, the reception unit 40 acquires information such as the user's gender, age, place of residence, and the like. In addition, the reception unit 40 may acquire, as the attribute information, information indicating the characteristics of the user, such as that the user has a visual impairment. In addition, the reception unit 40 may acquire information such as a user's hobbies and preferences as a context based on the usage history of the response processing device 100 and the like.
  • the reception unit 40 may acquire position information indicating the position of the user as the context.
  • the position information may be information indicating a specific position such as longitude and latitude, or may be information indicating in which room in the home the user is.
  • the location information may be information indicating the location of the user, such as whether the user is in the living room at home, in the bedroom, or in the children's room.
  • the position information may be information on a specific place that indicates the destination of the user.
  • the information indicating the destination of the user may include information indicating a situation such as whether the user is on a train, driving a car, or going to school or company.
  • the reception unit 40 may acquire these pieces of information, for example, by mutually communicating with a mobile terminal such as a smartphone owned by the user.
  • the reception unit 40 may acquire, as a context, estimated information that estimates a user's behavior or emotion.
  • the reception unit 40 acquires, as the context, the behavior prediction information that is information estimated from the behavior of the user and that is information indicating the future behavior prediction of the user.
  • the reception unit 40 acquires action prediction information such as "the user is going out” as the information estimated from the action indicating that the user has moved from the room at home to the entrance.
  • the reception unit 40 acquires the behavior prediction information such as “the user is going out”
  • the reception unit 40 acquires the tagged context such as “going out” based on the information.
  • the reception unit 40 may acquire schedule information registered in advance by the user as the behavior of the user. Specifically, the reception unit 40 acquires the schedule information registered at a scheduled time within a predetermined period (for example, within one day) from the time when the user speaks. Accordingly, the reception unit 40 can estimate information such as where the user is going to go at a certain time.
  • the reception unit 40 may estimate the user's situation or feeling by detecting the moving speed of the user captured by the sensor 20, the position of the user, the speech speed of the user, or the like. For example, the reception unit 40 may estimate the situation or emotion of “the user is in a hurry” when a speech rate faster than a normal speech rate of the user is observed. For example, the response processing device 100 can perform adjustment such as outputting a shorter response when the context indicating that the user is in a situation in which the user is in a hurry than usual is acquired.
  • the reception unit 40 acquires various information such as position information, acceleration, temperature, gravity, rotation (angular velocity), illuminance, geomagnetism, pressure, proximity, humidity, and rotation vector of the response processing device 100, which is acquired via the sensor 20. May be acquired as a context.
  • the reception unit 40 may use a built-in communication function to acquire a connection status with various devices (for example, information regarding establishment of communication or a communication standard used) as a context.
  • the context may include information about a dialogue between the user and another user, or between the user and the response processing device 100.
  • the context may include dialogue context information indicating the context of the dialogue that the user is having, a dialogue domain (weather, news, train operation information, etc.), intention of the user's utterance, attribute information, and the like.
  • the context may include date and time information when the conversation is being performed.
  • the date and time information is information such as date, time, day of the week, holiday characteristics (Christmas, etc.), time zone (morning, day, night, midnight) and the like.
  • the reception unit 40 has information on a specific housework performed by the user, the content of the TV program being viewed, information indicating what is being eaten, having a conversation with a specific person, etc.
  • various kinds of information indicating the situation of the user may be acquired as the context.
  • the reception unit 40 determines which home appliances are active (for example, whether the power is on or off) by mutual communication with home appliances (IoT devices or the like) placed in the home. Information such as what kind of processing the home appliance is performing may be acquired.
  • home appliances IoT devices or the like
  • the reception unit 40 may acquire the traffic situation, weather information, etc. in the user's living area as a context by mutual communication with an external service.
  • the reception unit 40 stores the acquired information in the user information table 31 or the like. Further, the reception unit 40 may refer to the user information table 31 and the agent table 32 to obtain the information required for the processing as appropriate.
  • the presentation unit 50 includes an analysis unit 51, a generation unit 52, and an output control unit 53.
  • the analysis unit 51 analyzes the input information so that each of the selected plurality of agents 10 can be recognized.
  • the generation unit 52 generates a command corresponding to the input information based on the content analyzed by the analysis unit 51. Further, the generation unit 52 transmits the generated command to the transmission unit 54 and causes each agent 10 to transmit the generated command.
  • the output control unit 53 outputs the content of the response generated by the agent 10 or controls the agent 10 to output the response.
  • the presentation unit 50 generates each of the plurality of agents 10 for the input information received by the reception unit 40 based on the information obtained by the processing executed by the analysis unit 51, the generation unit 52, and the output control unit 53. Is presented to the user.
  • the presentation unit 50 presents it to the user by using a voice including the content of each response generated by the plurality of agents 10 in response to the input information.
  • the presentation unit 50 controls the agent 10 that generated the selected response to output the response selected by the user among the respective responses presented to the user. For example, the presentation unit 50 transmits a request to the agent 10A to output the actually generated response when the user issues a specific command such as "at the agent 10A" that specifies the output destination. Thereby, the presentation unit 50 can control the response desired by the user to be output from the agent 10A.
  • the presentation unit 50 may acquire the response selected by the user from the presented responses from the agent 10 that has generated the selected response, and output the obtained response on its own device. That is, the presentation unit 50 does not cause the agent 10A to output the response generated by the agent 10A (for example, the reproduction of the music "graduation") but outputs the data of the response (for example, the data of the music "graduation"). It may be acquired and output using the output unit 60 of the own device. Thereby, the presentation unit 50 can output a response desired by the user instead of the agent 10A, for example, when the agent 10A is installed at a position relatively distant from the user. Can be improved.
  • the presentation unit 50 also executes a process corresponding to the specific command accepted by the acceptance unit 40. For example, when one of the presented responses is output and then a specific command indicating that the response to be output is changed is received from the user, the presentation unit 50 outputs the specific command based on the specific command. Change the response inside to a different one.
  • the presenting unit 50 may collectively present the responses including the same content when the responses generated by the plurality of agents 10 with respect to the input information include the same content. Accordingly, the presentation unit 50 can avoid a situation in which a response having the same content is repeatedly output to the user when a specific command such as “next” is received from the user.
  • the presenting unit 50 when the presenting unit 50 receives a specific command indicating that a different response is requested from the presented response from the user, the presenting unit 50 requests the plurality of agents 10 to re-search for input information based on the specific command. You may send it.
  • the presentation unit 50 may also refer to the history table 34 and select a response to be output based on the user's past actions. Specifically, the presentation unit 50 selects one of the responses generated by the plurality of agents 10 with respect to the input information, based on the history of the user selecting the responses generated by the plurality of agents 10 in the past. Select the response and output it to the user.
  • the response processing device 100 may receive a response such as “tell me other information” from the user. In this case, the response processing device 100 determines that the previously output information is not the information desired by the user. On the other hand, when the next output information is accepted from the user, the response processing device 100 determines that the information is the information the user wants.
  • the response processing apparatus 100 may preferentially select the agent 10 that can generate the response desired by the user when the same question is received from the user from the next opportunity. .. Further, the response processing device 100 has a tendency that the user wants to be output from a certain agent 10 (for example, when the user statistically often specifies a specific agent 10 as an output destination). Etc.), the adjustment may be performed so that the response is preferentially output from the agent 10. As described above, the response processing device 100 can perform the response process that can further meet the user's request by learning based on the user's instruction and the operation history. In addition, this allows the user to output a response desired by the user without giving an instruction to the response processing device 100.
  • the presentation unit 50 determines whether each of the plurality of agents 10 can generate a response to the input information, and agents other than the agent 10 determined to be unable to generate a response to the input information. 10 may be selected as the agent 10 that generates a response corresponding to the input information. That is, the presentation unit 50 may refer to the agent table 32 and select the agent 10 that is assumed to be capable of generating a response. As a result, the presentation unit 50 can save the trouble of randomly sending a request to all the agents 10.
  • the above-mentioned analysis unit 51 performs a meaning understanding process of the information acquired by the reception unit 40. Specifically, the analysis unit 51 causes the reception unit 40 to perform automatic speech recognition (ASR) processing and natural language understanding (NLU) processing on speech information and the like. For example, the analysis unit 51 decomposes the acquired voice into morphemes through the ASR and NLU, and determines what intention and attribute each morpheme has.
  • ASR automatic speech recognition
  • NLU natural language understanding
  • the analysis unit 51 may pass that fact to the output control unit 53.
  • the analysis unit 51 passes the content to the output control unit 53.
  • the output control unit 53 may generate a response that requests the user to correctly speak unknown information.
  • the transmitting unit 54 transmits various information. For example, the transmission unit 54 transmits the user's reaction (feedback) to the response presented by the presentation unit 50 to the plurality of agents 10.
  • the transmission unit 54 transmits, as a response of the user, information regarding a response selected from the user among the presented responses to the plurality of agents 10.
  • the transmission unit 54 transmits, to the plurality of agents 10, the content of the response selected by the user, the identification information of the agent 10 that generated the response selected by the user, or the like, as the information regarding the response selected by the user. To do.
  • the transmission unit 54 may transmit, to the plurality of agents 10, information indicating that none of the presented responses has been selected by the user as a response from the user.
  • the transmission unit 54 may transmit the content of each response to the plurality of agents 10 together with the information indicating that none of the presented responses has been selected by the user. As a result, the transmission unit 54 can transmit the response selected by the user and the content of the response not selected to each agent 10, so that the learning of the agent 10 can be efficiently advanced.
  • the transmission unit 54 transmits not only the user's reaction but also various information such as a command generated by the presentation unit 50 and a request for outputting a response to the agent 10. For example, when the transmission unit 54 receives a specific command from the user, the transmission unit 54 transmits to the agent 10 a request corresponding to the specific command (for example, a request to re-search the input information based on the specific command). May be.
  • the output unit 60 is a mechanism for outputting various information.
  • the output unit 60 is a speaker or a display.
  • the output unit 60 when the response is output by the output control unit 53, the output unit 60 outputs the name of the output destination agent 10 or the like by voice to the user. Further, the output unit 60 may output the image data to the display. Further, when the response processing device 100 generates a response by itself, the output unit 60 outputs the generated response as a voice or an image.
  • the output unit 60 may output the response in various modes such as character recognition of the generated voice data and display on the display.
  • FIG. 12A is a flowchart showing the flow of processing according to the first embodiment.
  • the response processing device 100 determines whether or not the input information has been received (step S101). When the input information has not been received (step S101; No), the response processing device 100 waits until the input information is received.
  • the response processing device 100 analyzes the input information and generates a command according to the input information (step S102). Specifically, the response processing device 100 analyzes the input information and generates a command indicating the user's intention included in the input information, the content of the question, and the like.
  • the response processing device 100 determines whether the generated command corresponds to the specific command (step S103). If it is not the specific command (step S103; No), the response processing device 100 transmits the command generated in step S102 to each agent 10 (step S104).
  • the response processing device 100 acquires the result of the response generated from each agent 10 according to the transmitted command (step S105). At this time, the response processing device 100 temporarily stores the result generated by each agent 10 in the storage unit 30 (step S106).
  • step S103 if the generated command corresponds to the specific command (step S103; Yes), the response processing device 100 determines the content of the specific command (step S107).
  • the response processing device 100 executes the process of the specific command on the result stored in step S106 and the like (step S108). In addition, the response processing device 100 transmits feedback to each agent 10 (step S109).
  • the response processing device 100 generates feedback to the user (step S110). For example, the response processing device 100 generates feedback for presenting each response generated by each agent 10 after step S106. Alternatively, the response processing device 100 generates feedback such as voice for transmitting from which agent 10 the response is output when step S109 is performed.
  • the response processing device 100 determines the output mode of the response by receiving a selection from the user (step S111).
  • the response output mode refers to the content of actual output, such as which response is output and which agent 10 outputs it.
  • the response processing device 100 outputs a response (step S112).
  • the response processing device 100 controls the agent 10 that has generated the response to output the response, or outputs the response from the device itself.
  • the response processing device 100 sends a feedback to each agent 10 regarding the output contents and the like (step S113). After that, the response processing device 100 that outputs the response to the user determines whether or not the interactive process with the user is completed (step S114). Specifically, the response processing device 100 determines whether or not one session regarding the interaction with the user has ended.
  • step S114 If the dialogue processing has not ended (step S114; No), the response processing device 100 returns the processing to step S101 and continues the dialogue processing. On the other hand, when the response processing apparatus 100 determines that the dialogue processing has ended (step S114; Yes), the response processing apparatus 100 ends the processing.
  • FIG. 12B is a block diagram showing the flow of processing according to the first embodiment.
  • the display input processing 111 processes user input via a display or the like held by the response processing device 100. Specifically, the display input processing 111 sends the input information to the command generation processing 115 via a user interface or the like displayed on the touch panel display.
  • the display input processing 111 corresponds to, for example, the image input sensor 20B and the detection unit 41 shown in FIG.
  • the voice input process 112 performs a process of converting the input by the user's utterance into character information (text).
  • the voice input process 112 may include a signal processing function of reducing ambient sound such as noise.
  • the voice input process 112 sends the input information to the user input analysis process 114.
  • the voice input process 112 corresponds to, for example, the voice input sensor 20A and the detection unit 41 shown in FIG. 7.
  • the specific command data holding unit 113 is a part that holds the type of a specific command and the corresponding character string in association with each other. The user can edit the type and character string of the specific command.
  • the specific command data holding unit 113 corresponds to, for example, the command table 33 shown in FIG.
  • the user input analysis processing 114 refers to the specific command data holding unit 113 for the input received from the user, and determines whether or not the input corresponds to the specific command. As described above, as the type of the specific command, "receive the result of the specific agent 10" or “listen to the result of another agent 10" is applicable. That is, in the user input analysis processing 114, the user's voice or the like is analyzed, and it is determined whether or not those voices correspond to the specific command. When the received input does not correspond to the specific command, the user input analysis processing 114 indicates that the specific command does not exist (empty command analysis result) together with the input information (text or the like). It is sent to the command generation processing 115.
  • the user input analysis process 114 corresponds to, for example, the process executed by the presentation unit 50 and the analysis unit 51 illustrated in FIG. 7.
  • the command generation processing 115 generates a command to be transmitted to each agent 10 based on the information input by the user and the command analysis result analyzed by the user input analysis processing 114.
  • the command generated by the command generation processing 115 is also sent to the command history holding unit 117 and held as a history.
  • the command generation processing 115 corresponds to, for example, the processing executed by the presentation unit 50 and the generation unit 52 illustrated in FIG. 7.
  • the communication processing 116 converts the command obtained through the command generation processing 115 into a format that matches the data format of each agent 10 connected to the response processing apparatus 100, and transmits the converted information. After that, the communication process 116 acquires the result output from each agent 10 and sends it to the result management process 118. At this time, in the communication processing 116, the acquired response is converted into a common format for saving results, and it is possible to associate and hold what kind of result was obtained from which agent 10.
  • the communication processing 116 sends the specific command to the result management processing 118 when the specific command is obtained. Further, the communication process 116 acquires the information managed by the result management process 118 and transmits the content to each agent 10 as feedback. This feedback acts on each agent 10 as a positive reward (positive example) or a negative reward (negative example).
  • the communication process 116 corresponds to, for example, the process executed by the presentation unit 50, the output control unit 53, the transmission unit 54, and the like illustrated in FIG. 7.
  • the command history holding unit 117 holds the commands issued by the command generation processing 115 in time series. Note that the command history holding unit 117 may calculate and hold the content of the received command, the command issuing frequency, and the like.
  • the command history holding unit 117 corresponds to, for example, the user information table 31 and the history table 34.
  • the result management process 118 holds and manages the results obtained from each agent 10. That is, the information obtained through the interaction with the user is held for a certain period of time and is sent to the feedback generation process 119 or the communication process 116 according to the specific command received thereafter. It should be noted that when the predetermined time has elapsed, the held result is discarded as appropriate.
  • the result management process 118 corresponds to, for example, the process executed by the presentation unit 50, the generation unit 52, the transmission unit 54, and the like illustrated in FIG. 7.
  • the feedback generation process 119 generates feedback contents to the user based on the information held by the result management process 118 and the frequency information of the command history holding unit 117. For example, the feedback generation processing 119 may determine that the result of the agent 10 having a high use frequency is preferentially output, or may output it at random every time. Further, the user may edit such output settings as appropriate. Further, the feedback generation processing 119 may summarize the content when outputting the sound or when the content stored in the result management processing 118 is long (such as a news article result). The feedback generation process 119 corresponds to, for example, the process executed by the presentation unit 50, the transmission unit 54, and the like illustrated in FIG. 7.
  • the display output process 120 shapes and displays on the display all the output results of the agent 10 created in the feedback generation process 119, or the candidates selected from the output results.
  • the display output process 120 corresponds to, for example, the process executed by the output control unit 53, the output unit 60, or the like illustrated in FIG. 7.
  • the voice output process 121 generates voice data from all the output results of the agent 10 created in the feedback generation process 119 or candidates selected from the output results, and reproduces them on a device such as a speaker.
  • the audio output process 121 corresponds to, for example, the process executed by the output control unit 53, the output unit 60, or the like illustrated in FIG. 7.
  • processing is an example, and, for example, different processing may be performed depending on the configuration of the response processing device 100.
  • the response processing device 100 since the input and output processing differs depending on the application and service, the response processing device 100 does not necessarily need to perform both the display output and the voice output.
  • the response processing device 100 may periodically update the information stored in the agent table 32 and the command table 33.
  • the function of the agent 10 may be expanded via the network.
  • the agent 10 having the "translation" function may update the language that was not previously supported.
  • the response processing device 100 receives the information indicating that the update is performed from the coordinating agent 10, and updates the information stored in the agent table 32 and the command table 33 based on the received information.
  • the user can enjoy the latest functions without being aware of updating the functions of each of the plurality of agents 10.
  • the response processing device 100 has shown an example in which the result of the response or the like is output to the user mainly by using the voice.
  • the response processing device 100 outputs a response result or the like to the user by using means other than voice.
  • FIG. 13 is a diagram illustrating an example of response processing according to the second embodiment.
  • FIG. 13 illustrates an example in which the user uses the display of the response processing device 100 to input the input information instead of the voice, and the response processing device 100 presents the response using the display instead of the voice.
  • the user inputs the input information to the response processing device 100 via the touch panel or the like of the response processing device 100.
  • the input information A81 illustrated in FIG. 13 indicates that the user has input a text such as “I want to hear graduation” on the display of the response processing device 100.
  • the user inputs the input information A81 to the response processing device 100 through an input operation on the display or the like (step S81).
  • the response processing device 100 transmits a request to generate a response to each agent 10 based on the input information A81 as in the first embodiment (step S82).
  • the response processing device 100 generates the feedback A82 to be presented to the user based on the response acquired from each agent 10 (step S83).
  • the feedback A82 is displayed on the display of the response processing device 100, for example.
  • the feedback A82 includes the content of the response generated by each agent 10 and a user interface such as a button for requesting re-search.
  • the response processing device 100 presents the content of the response to the user by using the screen display including the content of each response generated by the plurality of agents 10 with respect to the input information. May be.
  • the response processing device 100 can flexibly present information and the like according to the situation of the user.
  • FIG. 14 is a diagram showing a first variation of the response process according to the second embodiment.
  • the first variation of the information processing according to the second embodiment shows a situation in which the display ratio of the response displayed by the response processing device 100 is variable, for example, based on a predetermined condition.
  • step S91 the situation in which the user inputs a question such as “what is the weather for tomorrow?” as the input information A91 is taken as an example (step S91).
  • the response processing device 100 receives the input information A91, the response processing device 100 transmits a command corresponding to the input information A91 to each agent 10 and acquires the result of each response (step S92).
  • each agent 10 accesses a different service (in this example, a weather information service) to obtain information, it is assumed that each agent generates a different response.
  • the response processing device 100 acquires these responses and generates the feedback A92 in which each response is displayed (step S93).
  • the feedback A92 includes weather information A93 indicating a response generated by the agent 10A, weather information A94 indicating a response generated by the agent 10B, and weather information A95 indicating a response generated by the agent 10C. , Weather information A96 indicating the response generated by the agent 10D.
  • the response processing device 100 can display a list of the responses generated by each agent 10, so that the results can be efficiently presented.
  • the response processing device 100 may change the ratio displayed in the feedback A 92 based on the information of each agent 10 and the response information.
  • the response processing device 100 displays the content of each response generated by the plurality of agents 10 on the input information on the screen based on the history of the user's selection of responses generated by the plurality of agents 10 in the past. Determine the proportion or area to do.
  • the response processing device 100 may display the area displayed on the screen as large as the agent 10 that has been selected by the user in the past and has a large ratio. As a result, the response processing device 100 can widely display information that the user prefers.
  • the response processing device 100 may determine the ratio or the area for displaying the content of each response on the screen according to the information amount of each response generated by the plurality of agents 10 with respect to the input information.
  • FIG. 15 is a diagram showing an example of the database 35 according to the second embodiment.
  • the database 35 is a database that stores the content (information amount) of weather information acquired by each agent 10 and the history information selected by the user in the past in association with each other.
  • the agent 10A, the agent 10B, the agent 10C, and the agent 10D each obtain information from different services, and therefore the same weather information has different information to be transmitted to the response processing device 100. That is, the response processing device 100 acquires different responses (weather information) from each of the agents 10A, 10B, 10C, and 10D.
  • the database 35 shown in FIG. 15 shows information included in the response acquired by the response processing device 100.
  • the weather information acquired by the agent 10A can be “screen displayed”, “voice output” is possible, and includes “precipitation probability” and “pollen information”. However, it indicates that “UV information” is not included.
  • the weather information acquired by the agent 10B can be “displayed on the screen”, can be “voice output”, and includes “probability of precipitation”, but includes “ultraviolet information” and “pollen information”. It shows that there is no.
  • the agent 10A executes the weather forecast (that is, in order to obtain the information regarding the weather forecast), It is shown that the service is connected to the service "J01" and information such as "weather condition, probability of precipitation, image output, voice output, pollen," Is acquired. Further, when the user causes the response processing device 100 to execute the function of weather forecast, the history in which the user selects the response presented by the agent 10A is “L01”.
  • weather forecast is shown as an example of the provided information, but the provided information is not limited to this example, and for example, “traffic information”, “news”, “restaurant search”, “program guide search”. , “Movie search”, “event information search”, and the like.
  • the response processing device 100 acquires the information contained in the database 35 from each agent 10, and generates the feedback A 92 based on the information amount of the response, for example. Specifically, the response processing device 100 widens the display ratio of the agent 10 who has presented a response having a larger amount of information regarding weather information. Alternatively, the response processing device 100 may increase the display ratio of the agent 10 that has been selected by the user a lot in the past.
  • the response processing device 100 when the plurality of agents 10 generate responses regarding weather information, the response processing device 100 presents a response having a larger amount of information more widely within the screen.
  • the response processing device 100 refers to the history of the dialogue with the user, and if the history of the user requesting "pollen information" is larger than the "ultraviolet information", the weather information including the type "pollen information” is displayed. , May be presented more widely within the screen. That is, when there are a plurality of responses, the response processing apparatus 100 flexibly determines the mode of the response actually output to the user according to the information amount and type of the response and the history and situation of the user so far. To do.
  • the response processing device 100 can output a response that is more in line with the user's request. Further, when the response processing device 100 acquires responses from a plurality of agents 10, the response processing device 100 can dynamically change the display ratio and present the response to the user.
  • FIG. 16A is a diagram showing a second variation of the response process according to the second embodiment.
  • FIG. 16A shows a situation in which the user has input the input information A 101 based on the voice “Show me the news” to the response processing device 100.
  • the response processing device 100 generates a command corresponding to a voice such as "Show me the news”, transmits the command to each agent 10, and acquires the response of each agent 10.
  • the response processing device 100 presents the response of each agent 10 to the user as feedback A102.
  • the response processing device 100 outputs a voice A104 such as "the agent 10B executes”, and the content of the response proposed by the agent 10B is displayed by the agent. Let 10B do it.
  • the response processing device 100 can present to the user various processes to be executed by each agent 10 based on one input information A101 received from the user. Therefore, for example, when the agents 10 are different home appliances, the user can cause any one of the agents 10 to execute a desired process without inputting a command to a particular home appliance.
  • FIG. 16B is a diagram showing a third variation of the response process according to the second embodiment.
  • FIG. 16B shows a situation in which the user has input the input information A111 based on the voice “hot” to the response processing device 100.
  • the response processing device 100 generates a command corresponding to a voice such as “hot”, transmits the command to each agent 10, and acquires the response of each agent 10.
  • the response processing device 100 presents the response of each agent 10 to the user as feedback A112.
  • the response processing device 100 outputs a voice A114 such as "I want the agent 10B to execute", and the content of the response proposed by the agent 10B is displayed by the agent. Let 10B do it.
  • the response processing device 100 can present to the user various processes to be executed by each agent 10 based on one input information A111 received from the user. Therefore, the user can efficiently select the process he/she wants to execute.
  • the response processing device 100 can perform processing in cooperation with so-called smart home appliances other than those shown in FIGS. 16A and 16B. For example, when the response processing device 100 receives input information such as “what is in the food, what is in it?” and “what is the expiration date?” from the user, the response processing device 100 sends a command to the agent 10 installed in the refrigerator. To send. Then, the response processing device 100 presents to the user the information acquired from the user's usage log, product tag, or the like, as the response of the agent 10. Alternatively, when the response processing apparatus 100 receives input information such as “key, closed?” or “key, closed” from the user, the response processing apparatus 100 transmits a command to the agent 10 mounted on the smart key.
  • the response processing device 100 presents to the user, as the response of the agent 10, information on the key status of the home and a response indicating that the locking operation has been performed.
  • the response processing device 100 receives input information such as “turn on the living room electricity” or “turn on the bedroom electricity” from the user, the response processing apparatus 100 transmits a command to the agent 10 mounted on the lighting device.
  • the response processing device 100 presents to the user, as the response of the agent 10, a response indicating that the lighting operation in the home is performed.
  • the response processing device 100 can cooperate with not only information devices such as smart speakers but also various information devices to perform response processing useful for the user.
  • the response processing device 100 does not send the user's reaction to the agent 10 immediately after the user selects one of the presented responses, but may send the user's reaction after a certain period of time. Good.
  • the response processing device 100 determines the user's service enjoyment state, waits for a time when the user is expected to enjoy the service, and then transmits the user's reaction to each agent 10. As a result, the response processing device 100 feeds back the information of the response accurately selected by the user to each agent 10 even when the user mistakenly selects a response or when the user actually desires a different response. it can.
  • the response processing device 100 may accept registration from the user regarding the timing at which the feedback is transmitted to the agent 10.
  • the response processing device 100 is a so-called smartphone or tablet device, and an example is shown in which processing is performed standalone.
  • the response processing device 100 may perform the response process according to the present disclosure in cooperation with a server device (so-called cloud server or the like) connected by a network.
  • a terminal such as a smartphone or a tablet device collects a user's utterance, a process of transmitting the collected utterance to a server device, a process of outputting a voice transmitted from the server device, and the like. It functions as an interface that mainly executes user interaction processing.
  • response processing device may be realized not in an independent device but in a form such as an IC chip mounted in a smartphone or a tablet device.
  • each component of each device shown in the drawings is functionally conceptual, and does not necessarily have to be physically configured as shown. That is, the specific form of distribution/integration of each device is not limited to that shown in the figure, and all or part of the device may be functionally or physically distributed/arranged in arbitrary units according to various loads and usage conditions. It can be integrated and configured.
  • the analysis unit 51 and the generation unit 52 may be integrated.
  • the response processing device (response processing device 100 in the embodiment) according to the present disclosure includes the reception unit (reception unit 40 in the embodiment), the presentation unit (presentation unit 50 in the embodiment), and the transmission unit ( In the embodiment, the transmitter 54) is provided.
  • the receiving unit receives input information that is information that triggers the information device (the agent 10 in the embodiment) to generate a response.
  • the presentation unit presents the user with respective responses generated by the plurality of information devices with respect to the input information.
  • the transmission unit transmits the user reaction to the presented response to the plurality of information devices.
  • the response processing device behaves as a front-end device of a plurality of information devices, presents a plurality of responses to the user, transmits a result selected by the user to the information device, and performs arbitration. Play a role.
  • the response processing device can save the trouble of having a dialogue with each of the information devices when the user uses the plurality of information devices, so that the convenience of the user can be improved. it can.
  • the presentation unit controls the information device that generated the selected response to output the response selected by the user among the presented responses. Accordingly, the response processing device can control so that the response desired by the user is output from the information device selected by the user.
  • the presenting unit also obtains the response selected by the user from the presented responses from the information device that generated the selected response, and outputs the obtained response. Accordingly, the response processing device can output a response desired by the user instead of the information device, for example, when the information device is installed at a position relatively distant from the user. Can be improved.
  • the reception unit receives from the user a command indicating that the response to be output will be changed after any one of the presented responses is output.
  • the presentation unit changes the response being output to a different response based on the command. Accordingly, the response processing device can present a different response to the user with a simple response without repeating the first dialogue with the user, so that the convenience of the user can be improved.
  • the presenting unit collectively presents the responses including the same contents. As a result, it is possible to avoid a situation in which the response processing device and the response having the same content are repeatedly output to the user.
  • the reception unit receives from the user a command indicating that a different response is requested for the presented response.
  • the transmission unit transmits a request for re-search for input information to a plurality of information devices based on the command. Accordingly, the response processing device can promptly perform the re-search even when the response desired by the user is not generated.
  • the presentation unit selects one response from the respective responses generated by the plurality of information devices with respect to the input information, based on the history of the user selecting the responses generated by the plurality of information devices in the past. Output to the user. Accordingly, the response processing device can output the response without the user's explicit selection, and thus the user's labor can be reduced.
  • the transmission unit transmits information regarding a response selected by the user among the presented responses to a plurality of information devices as a response of the user. Accordingly, the response processing device can transmit a plurality of positive examples and negative examples to a plurality of information devices by one dialogue, and thus the learning of the information devices can be efficiently advanced.
  • the transmission unit transmits, as information regarding the response selected by the user, the content of the response selected by the user or the identification information of the information device that generated the response selected by the user to multiple information devices. Accordingly, the response processing device can provide the information device with specific information indicating what kind of response the user wants.
  • the transmission unit transmits, as a response of the user, information indicating that none of the presented responses has been selected by the user to a plurality of information devices.
  • the response processing device can collectively transmit the information that the user does not want to the information device, and thus it is possible to avoid a situation in which the information that the user does not want is repeatedly presented to the user.
  • the transmission unit transmits the content of each response to a plurality of information devices, together with the information indicating that none of the presented responses has been selected by the user.
  • the response processing device can collectively transmit the information that the user does not want to the information device, so that it is possible to avoid the situation where the information that the user does not want is repeatedly presented to the user.
  • the presentation unit presents to the user with a voice including contents of each response generated by a plurality of information devices with respect to the input information.
  • the response processing device can present a plurality of responses to the user in an easy-to-understand manner.
  • the presentation unit presents to the user by using a screen display including the contents of each response generated by a plurality of information devices with respect to the input information.
  • the response processing device can present a plurality of responses to the user at one time, regardless of the voice.
  • the presenting unit may display the content of each response generated by the plurality of information devices on the screen based on the history of the user selecting the responses generated by the plurality of information devices in the past, or Determine the area. Accordingly, the response processing device can present the information expected to be desired by the user to the user in a highly visible state, so that the usability of the response process can be improved.
  • the presentation unit determines the ratio or area of displaying the content of each response on the screen according to the information amount of each response generated by a plurality of information devices with respect to the input information. Accordingly, the response processing device can present a response with a larger amount of information to the user in a highly visible state, and thus the usability of the response processing can be improved.
  • the reception unit receives, as input information, voice information uttered by the user.
  • the response processing device can have an appropriate dialogue according to the situation of the user in the communication with the user via voice.
  • the reception unit receives the text input by the user as the input information. Accordingly, the response processing device can present an appropriate response corresponding to the text input by the user without the user speaking.
  • FIG. 17 is a hardware configuration diagram showing an example of a computer 1000 that realizes the function of the response processing device 100.
  • the computer 1000 has a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input/output interface 1600.
  • the respective units of the computer 1000 are connected by a bus 1050.
  • the CPU 1100 operates based on a program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 expands a program stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to various programs.
  • the ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 starts up, a program dependent on the hardware of the computer 1000, and the like.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100, data used by the program, and the like. Specifically, the HDD 1400 is a recording medium that records the response processing program according to the present disclosure, which is an example of the program data 1450.
  • the communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (for example, the Internet).
  • the CPU 1100 receives data from another device or transmits the data generated by the CPU 1100 to another device via the communication interface 1500.
  • the input/output interface 1600 is an interface for connecting the input/output device 1650 and the computer 1000.
  • the CPU 1100 receives data from an input device such as a keyboard or a mouse via the input/output interface 1600.
  • the CPU 1100 also transmits data to an output device such as a display, a speaker, a printer, etc. via the input/output interface 1600.
  • the input/output interface 1600 may also function as a media interface for reading a program or the like recorded in a predetermined recording medium (medium).
  • Examples of media include optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable Disk), magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, and semiconductor memory. Is.
  • optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable Disk)
  • magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, and semiconductor memory.
  • the CPU 1100 of the computer 1000 executes the response processing program loaded on the RAM 1200 to realize the functions of the reception unit 40 and the like.
  • the HDD 1400 stores the response processing program according to the present disclosure and the data in the storage unit 30.
  • the CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program data, but as another example, these programs may be acquired from another device via the external network 1550.
  • a reception unit that receives input information, which is information that triggers the information device to generate a response
  • a presentation unit that presents each response generated by a plurality of information devices to the input information to the user
  • a response unit for transmitting a user reaction to the presented response to the plurality of information devices.
  • the presentation unit is The response processing device according to (1), wherein a response selected by the user among the presented responses is controlled to be output by the information device that generated the selected response.
  • the presentation unit is The response selected from the user among the presented responses is acquired from the information device that generated the selected response, and the acquired response is output.
  • the reception unit After any one of the presented responses is output, a command indicating that the response to be output is changed is accepted from the user,
  • the presentation unit is The response processing device according to any one of (1) to (3), wherein the response being output is changed to a different response based on the command.
  • the presentation unit is When the responses generated by a plurality of information devices with respect to the input information include the same content, the responses including the same content are presented together, (1) to (4) Response processor.
  • the reception unit Accepting a command from the user indicating that a different response to the presented response is requested,
  • the transmitter is The response processing device according to any one of (1) to (5), which transmits a re-search request for the input information to the plurality of information devices based on the command.
  • the presentation unit is Based on the history of the user's selection of the responses generated by the plurality of information devices in the past, one response is selected from the respective responses generated by the plurality of information devices for the input information, and the user is selected.
  • the response processing device according to any one of (1) to (6) above.
  • the transmitter is The response processing device according to any one of (1) to (7), which transmits, as the reaction of the user, information regarding a response selected from the user among the presented responses to the plurality of information devices. .. (9)
  • the transmitter is As the information regarding the response selected by the user, the content of the response selected by the user or the identification information of the information device that generated the response selected by the user is transmitted to the plurality of information devices. ) Response processing device described in.
  • the transmitter is As the response of the user, information indicating that none of the presented responses has been selected by the user is transmitted to the plurality of information devices. (1) to (9) The response processing device described. (11) The transmitter is The response processing device according to (10), which transmits the content of each response to the plurality of information devices together with information indicating that none of the presented responses has been selected by the user. .. (12) The presentation unit is The response processing device according to any one of (1) to (11), which presents to the user using a voice including contents of respective responses generated by a plurality of information devices with respect to the input information.
  • the presentation unit is The response processing device according to any one of (1) to (12), which presents to the user using a screen display including contents of respective responses generated by a plurality of information devices with respect to the input information.
  • the presentation unit is Based on the history of the user's selection of the responses generated by the plurality of information devices in the past, the ratio or area of displaying the contents of each response generated by the plurality of information devices on the input information is determined.
  • the response processing device according to (13).
  • the presentation unit is The ratio or area for displaying the content of each response on the screen is determined according to the information amount of each response generated by a plurality of information devices with respect to the input information. (13) or (14) Response processor.
  • Computer The input information that is the information that triggers the information device to generate a response is accepted, Presenting each response generated by a plurality of information devices to the input information to the user, A response processing method of transmitting a user reaction to the presented response to the plurality of information devices.
  • a reception unit that receives input information, which is information that triggers the information device to generate a response
  • a presentation unit that presents each response generated by a plurality of information devices to the input information to the user
  • a response processing program for causing a user's reaction to the presented response to function as a transmission unit for transmitting to the plurality of information devices.
  • Agents 100 Response Processing Device 20 Sensor 20A Voice Input Sensor 20B Image Input Sensor 21 Input Section 22 Communication Section 30 Storage Section 31 User Information Table 32 Agent Table 33 Command Table 34 History Table 40 Reception Section 41 Detection Section 42 Registration Part 43 Acquisition part 50 Presentation part 51 Analysis part 52 Generation part 53 Output control part 54 Transmission part 60 Output part 200 External server

Landscapes

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

Abstract

応答処理装置は、情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、提示された応答に対するユーザの反応を複数の情報機器に送信する送信部と、を備える。例えば、受付部は、入力情報として、ユーザが発した音声情報を受け付ける。

Description

応答処理装置及び応答処理方法
 本開示は、応答処理装置及び応答処理方法に関する。詳しくは、複数の情報機器を利用するユーザに対する応答処理に関する。
 ネットワーク技術の進歩に伴い、ユーザが複数の情報機器を利用する機会が増えている。このような状況に鑑みて、複数の情報機器を円滑に活用するための技術が提案されている。
 例えば、ネットワークを介して複数のクライアント機器が接続されたシステムにおいて、システムを統括制御する機器を置くことで、システム全体の処理を効率良く行うための技術が提案されている。
特開平7-4882号公報
 上記の従来技術によれば、システムを統括制御する機器が各情報機器への処理依頼を受け、個々の情報機器の機能に応じた処理を実行することにより、システム全体の処理を効率良く行うことができる。
 しかしながら、従来技術では、ユーザの利便性を向上させることができるとは限らない。具体的には、従来技術では、各情報機器が処理依頼を受け入れられるか否かを判定するに過ぎず、例えば各情報機器がユーザの要求を受けて処理を行う場合等に、ユーザの要求に応えるような態様で処理が行われるとは限らない。
 そこで、本開示では、ユーザの利便性を向上させることができる応答処理装置及び応答処理方法を提案する。
 上記の課題を解決するために、本開示に係る一形態の応答処理装置は、情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する送信部と、を備える。
第1の実施形態に係る応答処理システムを示す図である。 第1の実施形態に係る応答処理の一例を示す図(1)である。 第1の実施形態に係る応答処理の一例を示す図(2)である。 第1の実施形態に係る応答処理の一例を示す図(3)である。 第1の実施形態に係る応答処理の一例を示す図(4)である。 第1の実施形態に係る応答処理の第1のバリエーションを示す図(1)である。 第1の実施形態に係る応答処理の第1のバリエーションを示す図(2)である。 第1の実施形態に係る応答処理の第1のバリエーションを示す図(3)である。 第1の実施形態に係る応答処理の第1のバリエーションを示す図(4)である。 第1の実施形態に係る応答処理の第2のバリエーションを示す図(1)である。 第1の実施形態に係る応答処理の第2のバリエーションを示す図(2)である。 第1の実施形態に係る応答処理の第3のバリエーションを示す図である。 第1の実施形態に係る応答処理の第4のバリエーションを示す図(1)である。 第1の実施形態に係る応答処理の第4のバリエーションを示す図(2)である。 第1の実施形態に係る応答処理システムの構成例を示す図である。 第1の実施形態に係るユーザ情報テーブルの一例を示す図である。 第1の実施形態に係るエージェントテーブルの一例を示す図である。 第1の実施形態に係るコマンドテーブルの一例を示す図である。 第1の実施形態に係る履歴テーブルの一例を示す図である。 第1の実施形態に係る処理の流れを示すフローチャートである。 第1の実施形態に係る処理の流れを示すブロック図である。 第2の実施形態に係る応答処理の一例を示す図である。 第2の実施形態に係る応答処理の第1のバリエーションを示す図である。 第2の実施形態に係るデータベースの一例を示す図である。 第2の実施形態に係る応答処理の第2のバリエーションを示す図である。 第2の実施形態に係る応答処理の第3のバリエーションを示す図である。 応答処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
 以下に示す項目順序に従って本開示を説明する。
  1.第1の実施形態
   1-1.第1の実施形態に係る応答処理システムの概要
   1-2.第1の実施形態に係る応答処理の一例
   1-3.第1の実施形態に係る応答処理のバリエーション
   1-4.第1の実施形態に係る応答処理システムの構成
   1-5.第1の実施形態に係る応答処理の手順
   1-6.第1の実施形態に係る変形例
  2.第2の実施形態
   2-1.第2の実施形態に係る応答処理の一例
   2-2.第2の実施形態に係る応答処理のバリエーション
  3.その他の実施形態
   3-1.応答出力のバリエーション
   3-2.ユーザの反応を送信するタイミング
   3-3.装置構成
  4.本開示に係る応答処理装置の効果
  5.ハードウェア構成
(1.第1の実施形態)
[1-1.第1の実施形態に係る応答処理システムの概要]
 図1を用いて、本開示の第1の実施形態に係る応答処理の概要を説明する。図1は、第1の実施形態に係る応答処理システム1を示す図である。第1の実施形態に係る情報処理は、図1に示す応答処理装置100、及び、応答処理装置100を含む応答処理システム1によって実行される。
 図1に示すように、応答処理システム1は、応答処理装置100と、エージェント10A、エージェント10B、エージェント10C、及びエージェント10Dとを含む。応答処理システム1に含まれる各装置は、図示しない有線又は無線ネットワークを介して通信可能に接続される。
 エージェント10A、エージェント10B、エージェント10C、及びエージェント10Dは、音声等を介してユーザとの対話を行う機能(エージェント(Agent)機能等と称される)を有する機器であり、音声認識やユーザへの応答生成等の種々の情報処理を行う。具体的には、エージェント10A等は、いわゆるIoT(Internet of Things)機器であり、クラウドサーバ等の外部機器と連携して、種々の情報処理を行う。図1の例では、エージェント10A等は、いわゆるスマートスピーカー(smart speaker)である。
 以下では、音声対話や応答に関する学習を行うエージェント機能、及び、エージェント機能を有する情報機器を「エージェント」と総称する。なお、エージェント機能には、エージェント10単体で実行される機能のみならず、エージェント10とネットワーク接続されたサーバ上で実行される機能も含まれる。また、以下では、エージェント10A、エージェント10B、エージェント10C、及びエージェント10D等の個々の情報機器を区別する必要のない場合、「エージェント10」と総称する。
 応答処理装置100は、本開示に係る応答処理装置の一例である。例えば、応答処理装置100は、音声やテキストを介してユーザとの対話を行う機器であり、音声認識やユーザへの応答生成等の種々の情報処理を行う。具体的には、応答処理装置100は、集音した音声やユーザの行動等、応答を生成するための契機となる情報(以下、「入力情報」と称する)に対する応答処理を実行する。例えば、応答処理装置100は、ユーザが発した質問を認識し、質問に対する回答を音声出力したり、質問に関する情報を画面に表示したりする。なお、応答処理装置100が実行する音声認識処理や出力処理等については、種々の既知の技術が利用されてもよい。また、詳細は後述するが、応答処理装置100は、各エージェント10が生成する応答や、各エージェント10へのフィードバックへのとりまとめを行う。
 図1では、応答処理装置100が、いわゆるタブレット端末やスマートフォンである例を示す。例えば、応答処理装置100は、音声出力を行うスピーカ部や、映像等を出力する表示部(液晶ディスプレイ等)を備える。例えば、応答処理装置100は、スマートフォンやタブレット端末にインストールされたプログラム(アプリケーション)の機能に基づき、本開示の応答処理を実行する。なお、応答処理装置100は、スマートフォンやタブレット端末以外にも、時計型端末や眼鏡型端末などのウェアラブルデバイス(wearable device)であってもよい。また、応答処理装置100は、情報処理機能を有する種々のスマート機器により実現されてもよい。例えば、応答処理装置100は、テレビやエアコン、冷蔵庫等のスマート家電や、自動車などのスマートビークル(Smart vehicle)や、ドローン(drone)、ペット型ロボットや人型ロボット等の自律型ロボットであってもよい。
 図1に示す例では、ユーザは、応答処理装置100とともに、エージェント10A等の情報機器を利用する。すなわち、図1の例では、ユーザは、複数のエージェント10を利用する環境下にあるものとする。
 図1で示す例のように、複数のエージェント10がユーザに利用される状況で適切な運用を行うためには、様々な課題が存在する。
 例えば、ユーザは、どのエージェント10を用いて、どのような処理を実行させるか(言い換えれば、どのような入力情報をエージェント10に入力するか)、その都度考慮する必要がある。また、ユーザは、一つのエージェント10に対して処理を実行させたのち、その他のエージェント10に対して同じ処理を実行させる際、同様のプロセスを再度実行しなければならない。なお、以下では、ユーザからの入力情報に基づきエージェント10に何らかの処理を実行させるためのリクエストを「コマンド」と称する。コマンドは、例えば、ユーザの質問や要求内容を示したスクリプト等である。
 また、エージェント10は、ユーザとの対話を通じて、ユーザがどのような質問や要求を発しやすいか、あるいは、日常的にユーザがどのような応答を求めているか、といった学習を行う。しかし、エージェント10が複数存在する場合、ユーザは、エージェント10を成長させるためのプロセスをエージェント10ごとに行わなくてはならない。
 また、各々のエージェント10は、例えばユーザから質問を受けた場合には、各々異なるサービスにアクセスして回答を得る。このため、ユーザから同一の質問を受けた場合であっても、複数のエージェント10の各々が異なる応答を生成する場合がある。また、エージェント10によっては、ユーザから質問された回答を得るためのサービスにアクセスできず、回答を生成することができない可能性もある。適切な回答が得られなかった場合、ユーザは、異なるエージェント10に同じ質問を発するという手間を要する。
 そこで、本開示に係る応答処理装置100は、以下に説明する応答処理によって、上記課題を解決する。
 具体的には、応答処理装置100は、複数のエージェント10のフロントエンド機器として機能し、ユーザとのやりとりを一括して受け付ける。例えば、応答処理装置100は、ユーザから受け付けた質問の内容を解析し、質問の内容に応じたコマンドを生成する。そして、応答処理装置100は、生成したコマンドをエージェント10A、エージェント10B、エージェント10C、及びエージェント10Dに一括して送信する。さらに、応答処理装置100は、各エージェント10が生成した各々の応答をユーザに提示するとともに、提示された応答に対するユーザの反応を各エージェント10に送信する。
 これにより、応答処理装置100は、何度も同じコマンドを実行しなければ複数エージェント10の結果を受け取ることが出来ないというユーザ環境を解決する。また、応答処理装置100は、エージェント10を成長させるためのプロセスをエージェント10ごとに実行しなければならない状況を解決する。このように、応答処理装置100は、複数のエージェント10のフロントエンド機器としてふるまい、応答の生成や出力を制御することにより、ユーザの利便性を向上させる。いわば、応答処理装置100は、システム全体を調停する役割を担う。
 以下、本開示に係る第1の実施形態の応答処理の一例について、図1を用いて、流れに沿って説明する。
 図1に示す例では、応答処理装置100は、予め、エージェント10A、エージェント10B、エージェント10C、及びエージェント10Dの各々と連携しているものとする。例えば、応答処理装置100は、各エージェント10を起動するための起動ワードや、各々が音声を受け付けるための形式(例えば、各々のエージェント10が処理可能な音声API(Application Programming Interface)の種類等)等の情報をデータベースとして記憶する。
 まず、応答処理装置100は、ユーザから何らかの入力情報を受け付ける(ステップS1)。例えば、応答処理装置100は、ユーザの発話による質問を受け付ける。
 この場合、応答処理装置100は、自装置の応答処理を起動する(ステップS2)。また、応答処理装置100は、ユーザから受け付けた入力情報を契機として、連携する各々のエージェント10を起動させる(ステップS3)。
 具体的には、応答処理装置100は、ユーザから受け付けた音声情報をコマンドに変換し、各エージェント10が認識可能な形式のコマンドを生成する。具体的には、応答処理装置100は、ユーザの音声を取得し、自動音声認識(ASR(Automatic Speech Recognition))処理や自然言語理解(NLU(Natural Language Understanding))処理を経て、ユーザの音声に含まれるユーザの質問を解析する。例えば、応答処理装置100は、音声にユーザからの質問の意図が含まれている場合、質問の意図を入力情報と認識し、質問の意図に沿ったコマンドを生成する。なお、応答処理装置100は、同一の入力情報から、例えば各エージェント10のAPIに合わせて異なる態様のコマンドをそれぞれ生成してもよい。そして、応答処理装置100は、生成したコマンドを各エージェント10に送信する。
 例えば、コマンドを受信したエージェント10Aは、入力情報に対応する応答を生成する。具体的には、エージェント10Aは、ユーザの質問に対する回答を応答として生成する。そして、エージェント10Aは、生成した応答を応答処理装置100に送信する(ステップS4)。図1での図示は省略するが、エージェント10B、エージェント10C、及びエージェント10Dも、エージェント10Aと同様、自身が生成した応答を応答処理装置100に送信する。
 応答処理装置100は、各エージェント10から受信した応答をとりまとめ、どのエージェント10がどのような応答を生成したのかを示す情報をユーザに提示する(ステップS5)。例えば、応答処理装置100は、各エージェント10から受信した応答の概要を示す情報を音声に変換して、変換した音声をユーザに対して出力する。これにより、ユーザは、応答処理装置100に質問を発するのみで、複数の応答を得ることができる。
 その後、ユーザは、エージェント10が生成した応答のうち、いずれの応答を実際に出力させるかを応答処理装置100に伝える。応答処理装置100は、ユーザが選択した応答の内容や、ユーザが選択したエージェント10の識別情報等を、各エージェント10に一括して送信する。これにより、各エージェント10は、ユーザの質問に対してユーザが選択した応答、すなわち、ユーザにとっての正例をフィードバックとして得ることができる。また、各エージェント10は、ユーザの質問に対してユーザが選択しなかった応答、すなわち、ユーザにとっての負例をフィードバックとして得ることができる。これにより、応答処理装置100は、一度のやりとりで、複数のエージェント10の学習を行う(各エージェント10にフィードバックを与える)ことができる。
[1-2.第1の実施形態に係る応答処理の一例]
 続いて、図2を用いて、上記した応答処理の一例について説明する。図2Aは、第1の実施形態に係る応答処理の一例を示す図(1)である。
 図2Aの例では、ユーザは、「「卒業」を聞きたい」という内容を含む音声A11を応答処理装置100に対して入力する(ステップS11)。応答処理装置100は、ユーザが発した音声A11を入力情報として受け付ける。
 続けて、応答処理装置100は、音声A11に対してASRやNLU処理を行い、内容を解析する。そして、応答処理装置100は、音声A11に対応するコマンドを生成する(ステップS12)。
 応答処理装置100は、生成したコマンドを各エージェント10に送信する(ステップS13)。例えば、応答処理装置100は、各エージェント10が対応可能なAPIやプロトコルを参照し、各エージェント10に対応した形式のコマンドを送信する。
 図2Aに続く処理を、図2Bを用いて説明する。図2Bは、第1の実施形態に係る応答処理の一例を示す図(2)である。
 各エージェント10は、応答処理装置100から受信したコマンドに基づき、コマンドに対応する応答を生成する。例えば、エージェント10Aは、コマンドの内容に基づき、ユーザの要求が「「卒業」という曲名の音楽を再生すること」であると解釈したものとする。この場合、エージェント10Aは、例えば、自装置が接続可能な音楽サービスにアクセスし、歌手Aが歌唱する「卒業」という曲を取得する。そして、エージェント10Aは、「歌手Aが歌唱する「卒業」という曲を再生する」ことが、自装置が生成した応答であるということを応答処理装置100に送信する(ステップS14)。
 同様に、エージェント10Bは、コマンドの内容に基づき、ユーザの要求が「「卒業」という曲名の音楽を再生すること」であると解釈したものとする。この場合、エージェント10Bは、例えば、自装置が接続可能な音楽サービスにアクセスし、歌手Bが歌唱する「卒業」という曲を取得する。そして、エージェント10Bは、「歌手Bが歌唱する「卒業」という曲を再生する」ことが、自装置が生成した応答であるということを応答処理装置100に送信する。
 また、エージェント10Cは、コマンドの内容に基づき、ユーザの要求が「「卒業」に関する情報を再生すること」であると解釈したものとする。この場合、エージェント10Bは、例えば、自装置が接続可能なニュースサービスにアクセスし、「卒業」に関する情報(この例ではニュース情報)を取得する。そして、エージェント10Cは、「「卒業」に関するニュースを再生する」ことが、自装置が生成した応答であるということを応答処理装置100に送信する。
 また、エージェント10Dは、コマンドの内容に基づき、ユーザの要求が「「卒業」に関する情報を再生すること」であると解釈したものとする。この場合、エージェント10Bは、例えば、ウェブ検索を行い、「卒業」に関する情報を検索するものとする。そして、エージェント10Dは、「「卒業」に関するウェブ検索結果を再生する」ことが、自装置が生成した応答であるということを応答処理装置100に送信する。
 応答処理装置100は、各エージェント10が生成した応答を取得する。そして、応答処理装置100は、各エージェント10がどのような応答を生成したかを示す情報を生成する(ステップS15)。例えば、応答処理装置100は、各エージェント10が生成した応答の概要を含む音声A12を生成する。
 続けて、応答処理装置100は、生成した音声A12を出力し、音声A12が含む情報をユーザに提示する(ステップS16)。これにより、ユーザは、応答処理装置100に対する音声A11の入力のみで、4種類の応答の内容を知得することができる。
 図2Bに続く処理を、図2Cを用いて説明する。図2Cは、第1の実施形態に係る応答処理の一例を示す図(3)である。
 音声A12を聞いたユーザは、音声A12に含まれる応答のうち、いずれかを選択する。図2Cの例では、ユーザは、エージェント10Aが提案する応答が、自身の要求に適合していると判断したものとする。この場合、ユーザは、「「エージェント10A」で」といった内容を含む音声A13を応答処理装置100に入力する(ステップS17)。
 応答処理装置100は、音声A13を受け付けた場合、保持していた各応答のうち、エージェントA10の応答がユーザの求めている応答であると判断する(ステップS18)。この場合、応答処理装置100は、「エージェント10Aが歌手Aの「卒業」を再生します」というガイドとなる音声A14を生成し、出力する。さらに、応答処理装置100は、エージェント10Aに対して、生成した応答を出力するよう要求する(ステップS19)。エージェント10Aは、要求に応じて、自身が生成した応答である「歌手Aの「卒業」の再生」を実行する。
 これにより、ユーザは、提示された応答のうち、自身の要求に最も適合する応答を出力させることができる。
 図2Cに続く処理を、図2Dを用いて説明する。図2Dは、第1の実施形態に係る応答処理の一例を示す図(4)である。
 エージェント10Aが応答を出力したのち、応答処理装置100は、ユーザとの一連の対話に関するフィードバックを生成する(ステップS20)。
 例えば、応答処理装置100は、入力情報に対して各エージェント10が生成した応答の内容をフィードバックとして生成する。また、応答処理装置100は、各エージェント10が生成した応答のうち、どのエージェント10の生成した応答がユーザから選択され、どのエージェント10の生成した応答がユーザから選択されなかったか等を示す情報をフィードバックとして生成する。図2Dに示すように、応答処理装置100は、入力情報と、生成された応答と、どの応答が選択されたかを示すフィードバックA15を生成する。
 そして、応答処理装置100は、生成したフィードバックA15を各エージェント10に送信する(ステップS21)。これにより、ユーザは、全てのエージェント10に同様の対話を行うことなく、フィードバックをまとめて各エージェント10に与えることができるので、効率よく各エージェント10の学習を行うことができる。
[1-3.第1の実施形態に係る応答処理のバリエーション]
 続いて、図3乃至図6を用いて、上記した応答処理のバリエーションについて説明する。図3Aは、第1の実施形態に係る応答処理の第1のバリエーションを示す図(1)である。
 図3Aの例では、ユーザは、図2Aと同様、「「卒業」を聞きたい」という内容を含む音声A31を応答処理装置100に対して入力する(ステップS31)。応答処理装置100は、ユーザが発した音声A31を入力情報として受け付ける。
 図3Aの例では、音声A31を受け付けた応答処理装置100は、同一又は類似の入力情報に対して、過去にユーザがどのような応答や、どのエージェント10を選択したかを示したユーザの選択履歴A32を参照する(ステップS32)。具体的には、応答処理装置100は、ユーザが過去に選択した応答の種類(音楽の再生であるか、ニュースの再生であるか等)や、各エージェント10を選択した回数や頻度や割合等を参照する。
 図3Aに続く処理を、図3Bを用いて説明する。図3Bは、第1の実施形態に係る応答処理の第1のバリエーションを示す図(2)である。
 ステップS32でユーザの選択履歴A32を参照した応答処理装置100は、音声A31のような入力情報を受け付けた場合に、ユーザがどのような応答を選択する傾向にあるか、あるいは、ユーザがどのエージェント10を選択する傾向にあるかを判定する。そして、応答処理装置100は、各エージェント10が生成した応答を取得したのち、ユーザに複数の応答を提示することなく、過去のユーザの選択履歴に基づいて、どの応答を出力するか、すなわち、どのエージェント10に応答を出力させるかを決定する(ステップS33)。
 図3Bの例では、応答処理装置100は、ユーザの過去の選択履歴に基づいて、ユーザがエージェント10Aの生成した応答を選択する確率が高いと判定したものとする。この場合、応答処理装置100は、各エージェント10が生成した応答を提示することなく、エージェント10Aが生成した応答を出力する旨を示す音声A33をユーザに出力する。
 そして、応答処理装置100は、エージェント10Aに対して、生成した応答を出力するよう要求する(ステップS34)。エージェント10Aは、要求に応じて、自身が生成した応答である「歌手Aの「卒業」の再生」を実行する。
 このように、応答処理装置100は、ユーザの過去の選択履歴に基づいて、各エージェント10の生成した応答を評価することにより、ユーザに適する応答を自動的に選択してもよい。これにより、ユーザは、わざわざ複数の応答の提示を受けずとも、自身の傾向や好みに沿った応答を出力させることができるため、効率のよい対話処理を享受することができる。
 なお、応答処理装置100は、ユーザがどのエージェント10を好むかといった傾向に沿って出力する応答を選択してもよいし、各エージェント10が生成した応答の種類と、ユーザがどのような応答の種類を好むかといった傾向に沿って出力する応答を選択してもよい。
 図3Bに続く処理を、図3Cを用いて説明する。図3Cは、第1の実施形態に係る応答処理の第1のバリエーションを示す図(3)である。
 図3Cの例では、応答処理装置100が自動的に選択した応答を視聴したユーザが、他の応答の内容を知りたいと所望した状況を示す。このとき、ユーザは、例えば、「他のは?」といった音声A34を応答処理装置100に入力する(ステップS35)。
 応答処理装置100は、音声A34のような、応答やエージェント10を選択する意図を示す情報を受け付けた場合、当該ユーザの意図に沿った処理を行う。なお、以下では、音声A34のような、応答やエージェント10を選択するような特定の意図を示す要求を「特定コマンド」と称する場合がある。特定コマンドは、例えば、予め応答処理装置100に登録されていてもよいし、ユーザから個別に登録を受け付けてもよい。
 応答処理装置100は、音声A34に含まれる特定コマンドに応じた処理を実行する(ステップS36)。例えば、音声A34に含まれる特定コマンドは、「他のエージェント10が生成した応答の提示」を意図するものである。この場合、応答処理装置100は、エージェント10A以外のエージェント10が生成した応答をユーザに提示する。
 例えば、応答処理装置100は、音声A31を受け付けた時点で各エージェント10から取得した応答であって、保持しておいた応答を読み出す。あるいは、応答処理装置100は、あらためて音声A31に対応するコマンドを、エージェント10B、エージェント10C、及びエージェント10Dに送信し、各々が生成した応答を取得してもよい(ステップS37)。
 そして、応答処理装置100は、エージェント10B、エージェント10C、及びエージェント10Dが生成した応答を提示するための音声A35を生成する(ステップS38)。音声A35には、エージェント10B、エージェント10C、及びエージェント10Dが生成した応答の内容を示す音声が含まれる。応答処理装置100は、生成した音声A35をユーザに対して出力する。
 図3Cに続く処理を、図3Dを用いて説明する。図3Dは、第1の実施形態に係る応答処理の第1のバリエーションを示す図(4)である。
 図3Dの例では、音声A35を確認したユーザが、他の応答の内容を視聴したいと所望した状況を示す。このとき、ユーザは、例えば、「次ので」といった音声A36を応答処理装置100に入力する(ステップS39)。
 音声A36は、「現在出力中のエージェント10の次のエージェント10に出力元を変更する」ことを示した特定コマンドであるものとする。この場合、応答処理装置100は、特定コマンドの意図に沿って、歌手Aの「卒業」を出力中のエージェント10Aから、出力元をエージェント10Bに変更するよう制御する。また、応答処理装置100は、出力元をエージェント10Bに変更する旨を示す音声A37をユーザに対して出力する(ステップS40)。
 その後、応答処理装置100は、エージェント10Aに対して出力中の応答の停止を要求するとともに、エージェント10Bに対して応答を出力するよう要求する(ステップS41)。
 このように、ユーザは、自身が所望しない応答が出力された場合であっても、特定コマンドのような簡易な操作を行うのみで、自身が所望する応答を出力させることができる。
 次に、図4を用いて、応答処理の異なるバリエーションについて説明する。図4Aは、第1の実施形態に係る応答処理の第2のバリエーションを示す図(1)である。
 図4Aの例では、図2A及び図2Bと同様の対話が応答処理装置100とユーザの間で行われ、音声A12と同様の内容である音声A51が応答処理装置100から提示された状況を示す(ステップS51)。
 このとき、ユーザは、音声A51によって提示された内容に自身が所望する内容が含まれていないと判断したものとする。この場合、ユーザは、「他のは?」といった音声A52を応答処理装置100に入力する(ステップS52)。
 図4Aに続く処理を、図4Bを用いて説明する。図4Bは、第1の実施形態に係る応答処理の第2のバリエーションを示す図(2)である。
 応答処理装置100は、音声A52を受け付け、音声A52に含まれる特定コマンドを実行する。上記のように、音声A52に含まれる特定コマンドは、「他のエージェント10が生成した応答の出力」を要求するものであるが、図4Aでは、応答処理装置100は、連携する全てのエージェント10の応答を提示している。
 この場合、応答処理装置100は、ユーザが満足する応答が提示した応答に存在しないと判定する。そして、応答処理装置100は、各エージェント10に対して、ユーザの要求に対する応答を生成するための再検索処理を実行させる。このとき、応答処理装置100は、ユーザに対して、各エージェント10に再検索を実行させる旨を示す音声A53を出力する。
 また、応答処理装置100は、入力情報に対して生成された応答の内容と、全ての応答が選択されなかった旨を示すフィードバックA54を生成する(ステップS53)。そして、応答処理装置100は、フィードバックA54とともに、再検索の要求を各エージェント10に送信する(ステップS54)。
 このように、応答処理装置100は、各エージェント10が生成した応答の内容と、全ての応答が選択されなかったことを示すフィードバックA54とともに、再検索の要求を各エージェント10に送信する。これにより、各エージェント10は、自装置が生成した応答に加えて、他のエージェント10が生成した応答も不適切であることを認識したうえで再検索を実行できる。これにより、ユーザは、個別のエージェント10に再検索を実行させるよりも、自身が所望する応答を効率良く得ることができる。
 次に、図5を用いて、応答処理の異なるバリエーションについて説明する。図5は、第1の実施形態に係る応答処理の第3のバリエーションを示す図である。
 図5の例では、図2Aで示した音声A11と同様の入力情報を応答処理装置100が受け付け、各エージェント10に応答を生成させた場合に、全てのエージェント10が同じ応答の内容を提示した状況を示す。
 この場合、応答処理装置100は、全てのエージェント10が同じ応答を生成した旨を示す音声A61をユーザに対して提示する(ステップS61)。
 この場合、ユーザは、特定のエージェント10で応答を出力させる旨を応答処理装置100に入力する。例えば、ユーザは、「エージェント10Aでお願い」といった音声A62を応答処理装置100に入力する(ステップS62)。
 応答処理装置100は、音声A62に含まれる特定コマンド(「エージェント10Aに応答を出力させる」)に基づく処理を実行する(ステップS63)。具体的には、応答処理装置100は、「エージェント10Aに実行させます」というガイドとなる音声A63を生成し、出力する。さらに、応答処理装置100は、エージェント10Aに対して、生成した応答を出力するよう要求する(ステップS64)。
 このように、応答処理装置100は、各エージェント10から得られた応答が同一の内容である場合、同じ応答が生成された旨を示す音声A61のような出力を生成してもよい。これにより、応答処理装置100は、簡潔な情報をユーザに伝達することができる。
 次に、図6を用いて、応答処理の異なるバリエーションについて説明する。図6Aは、第1の実施形態に係る応答処理の第4のバリエーションを示す図(1)である。
 図6の例では、図5で示した例と同様に、応答処理装置100が、ある入力情報に基づいて各エージェント10に応答を生成させた場合に、全てのエージェント10が同じ応答の内容を提示した状況を示す。
 この場合、応答処理装置100は、全てのエージェント10が同じ応答を生成した旨を示す音声A71をユーザに対して提示する(ステップS71)。
 このとき、ユーザは、音声A71によって提示された内容に自身が所望する内容が含まれていないと判断したものとする。この場合、ユーザは、「次ので」といった音声A72を応答処理装置100に入力する(ステップS72)。
 応答処理装置100は、音声A72を受け付け、音声A72に含まれる特定コマンドを実行する。例えば、音声A72に含まれる特定コマンドは、「出力中のエージェント10に代えて、次のエージェント10が生成した応答の出力」を要求するものであるが、図6Aでは、応答処理装置100は、連携する全てのエージェント10の応答を既に提示している。
 このため、応答処理装置100は、連携する全てのエージェント10が同じ内容の応答を生成した旨を示す音声A73を生成する(ステップS73)。そして、応答処理装置100は、生成した音声A73をユーザに対して出力する。
 図6Aに続く処理を、図6Bを用いて説明する。図6Bは、第1の実施形態に係る応答処理の第4のバリエーションを示す図(2)である。
 図6Bの例では、音声A73を確認したユーザが、他の応答の内容を視聴したいと所望した状況を示す。このとき、ユーザは、例えば、「他ので」といった音声A74を応答処理装置100に入力する(ステップS74)。
 応答処理装置100は、音声A74を受け付け、音声A74に含まれる特定コマンドを実行する。上記のように、音声A74に含まれる特定コマンドは、「他のエージェント10が生成した応答の出力」を要求するものであるが、図6Aでは、応答処理装置100は、連携する全てのエージェント10の応答を提示している。
 この場合、応答処理装置100は、ユーザが満足する応答が提示した応答に存在しないと判定する。そして、応答処理装置100は、各エージェント10に対して、ユーザの要求に対する応答を生成するための再検索処理を実行させる。このとき、応答処理装置100は、ユーザに対して、各エージェント10に再検索を実行させる旨を示す音声A75を出力する(ステップS75)。
 そして、応答処理装置100は、図4Bで示した例と同様、入力情報に対して生成された応答の内容と、全ての応答が選択されなかった旨を示すフィードバックとともに、再検索の要求を各エージェント10に送信する(ステップS76)。
 このように、応答処理装置100は、各エージェント10が生成した応答の内容や、既にユーザに提示した内容に応じて、特定コマンドの内容を適宜解釈し、状況に即した情報処理を実行する。これにより、ユーザは、簡潔な対話のみで、自身が所望する応答を効率良く得ることができる。
 以上、図1乃至図6で示したように、第1の実施形態に係る応答処理装置100は、各エージェント10が応答を生成する契機となる情報である入力情報をユーザから受け付ける。そして、応答処理装置100は、入力情報に対して複数のエージェント10が生成した各々の応答をユーザに提示する。さらに、応答処理装置100は、提示された応答に対するユーザの反応を複数のエージェント10に送信する。
 このように、応答処理装置100が複数のエージェント10とユーザとの対話を調停するフロントエンドの機能を果たすことにより、ユーザは、応答処理装置100とのみ対話することで、複数のエージェント10が取得する情報や、出力する応答を得ることができる。また、応答処理装置100は、提示された応答に対するユーザの反応をフィードバックとして各エージェント10に送信することで、複数のエージェント10を効率良く学習させることができる。これにより、応答処理装置100は、ユーザの利便性を向上させることができる。
[1-4.第1の実施形態に係る応答処理システムの構成]
 続いて、上述した第1の実施形態に係る応答処理装置100等の構成について、図7を用いて説明する。図7は、本開示の第1の実施形態に係る応答処理システム1の構成例を示す図である。
 図7に示すように、応答処理システム1は、エージェント10と、応答処理装置100と、外部サーバ200とを含む。エージェント10、応答処理装置100及び外部サーバ200は、図7に図示するネットワークN(例えば、インターネット)を介して、有線又は無線により通信可能に接続される。なお、図7での図示は省略するが、応答処理システム1は、複数台のエージェント10や外部サーバ200を含んでもよい。
 エージェント10は、ユーザに利用される情報処理端末である。エージェント10は、ユーザとの対話を行ったり、ユーザが発した音声や動作等に対する応答を生成したりする。なお、エージェント10は、後述する応答処理装置100が備える構成の全て又は一部を備えていてもよい。
 外部サーバ200は、各種サービスを提供するサービスサーバである。例えば、外部サーバ200は、エージェント10や応答処理装置100の要求に従い、音楽サービスや、天気情報や、交通情報等を提供する。
 応答処理装置100は、本開示に係る応答処理を実行する情報処理端末である。図7に示すように、応答処理装置100は、センサ20と、入力部21と、通信部22と、記憶部30と、受付部40と、提示部50と、送信部54と、出力部60とを有する。
 センサ20は、各種情報を検知するためのデバイスである。センサ20は、例えば、ユーザが発話した音声を集音する音声入力センサ20Aを含む。音声入力センサ20Aは、例えば、マイクロフォンである。また、センサ20は、例えば、画像入力センサ20Bを含む。画像入力センサ20Bは、例えば、ユーザの動作や表情、ユーザの自宅内の状況等を撮影するためのカメラである。
 また、センサ20は、ユーザが応答処理装置100に触れたことを検知するタッチセンサや、加速度センサやジャイロセンサ等を含んでもよい。また、センサ20は、応答処理装置100の現在位置を検知するセンサを含んでもよい。例えば、センサ20は、GPS(Global Positioning System)衛星から送出される電波を受信し、受信した電波に基づいて応答処理装置100の現在位置を示す位置情報(例えば、緯度及び経度)を検知してもよい。
 また、センサ20は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等を含んでもよい。また、センサ20は、応答処理装置100が置かれた環境を検知してもよい。具体的には、センサ20は、応答処理装置100の周囲の照度を検知する照度センサや、応答処理装置100の周囲の湿度を検知する湿度センサや、応答処理装置100の所在位置における磁場を検知する地磁気センサ等を含んでもよい。
 また、センサ20は、必ずしも応答処理装置100の内部に備えられなくてもよい。例えば、センサ20は、通信等を用いてセンシングした情報を応答処理装置100に送信することが可能であれば、応答処理装置100の外部に設置されてもよい。
 入力部21は、ユーザから各種操作を受け付けるためのデバイスである。例えば、入力部21は、キーボードやマウス、タッチパネル等によって実現される。
 通信部22は、例えば、NIC(Network Interface Card)等によって実現される。通信部22は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、エージェント10や外部サーバ200等との間で情報の送受信を行う。
 記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部30は、ユーザ情報テーブル31と、エージェントテーブル32と、コマンドテーブル33と、履歴テーブル34とを有する。以下、各データテーブルについて順に説明する。
 ユーザ情報テーブル31は、応答処理装置100及びエージェント10を利用するユーザに関する情報を記憶する。図8に、第1の実施形態に係るユーザ情報テーブル31の一例を示す。図8は、本開示の第1の実施形態に係るユーザ情報テーブル31の一例を示す図である。図8に示した例では、ユーザ情報テーブル31は、「ユーザID」、「ユーザ属性情報」、「履歴情報」といった項目を有する。
 「ユーザID」は、ユーザを識別する識別情報を示す。「ユーザ属性情報」は、応答処理装置100の利用の際にユーザから登録される、ユーザの各種情報を示す。図8に示した例では、ユーザ属性情報の項目を「F01」のように概念的に記載しているが、実際には、ユーザ属性情報には、ユーザの年齢や性別、居住地、家族構成等の属性情報(ユーザプロファイル)が含まれる。また、ユーザ属性情報には、例えば、ユーザに視覚障碍があること等、出力する情報の種別を選択するために要する情報が含まれてもよい。例えば、ユーザ属性情報に視覚障碍があることが登録されている場合、応答処理装置100は、通常であれば画面に表示される応答の内容を、音声に変換して出力してもよい。このような変換は、例えばTTS(text-to-speech)処理等の既知の技術が用いられてもよい。
 「履歴情報」は、ユーザの応答処理装置100の利用履歴を示す。図8に示した例では、履歴情報の項目を「G01」のように概念的に記載しているが、実際には、履歴情報には、ユーザが応答処理装置100に質問した内容や、聞き返しの履歴や、出力された応答の履歴等の各種情報が含まれる。また、履歴情報には、ユーザを音声で識別するための声紋情報や波形情報等が含まれてもよい。また、図8に示した「履歴情報」には、ユーザの過去の行動を示す情報が含まれてもよい。なお、履歴情報の詳細については、図11を用いて後述する。
 すなわち、図8に示した例では、ユーザIDが「U01」で識別されるユーザは、ユーザ属性情報が「F01」であり、履歴情報が「G01」であることを示している。
 次に、エージェントテーブル32について説明する。エージェントテーブル32は、応答処理装置100と連携するエージェント10に関する情報を記憶する。
 図9に、第1の実施形態に係るエージェントテーブル32の一例を示す。図9は、本開示の第1の実施形態に係るエージェントテーブル32の一例を示す図である。図9に示した例では、エージェントテーブル32は、「エージェントID」、「機器情報」、「入力フォーマット」、「出力フォーマット」、といった項目を有する。
 「エージェントID」は、エージェント10を識別する識別情報を示す。なお、明細書中では、エージェントIDとエージェント10の参照符号は共通するものとする。例えば、エージェントIDが「10A」で識別されるエージェント10とは、「エージェント10A」を意味する。
 「機器情報」は、エージェント10の情報機器としての情報を示す。図9では、情報機器の項目を「C01」のように概念的に記載しているが、実際には、情報機器の項目には、エージェント10の情報機器の種別(スマートスピーカー、スマートフォン、あるいはロボット等)や、エージェント10が実行可能な機能の種別等が記憶される。
 「入力フォーマット」は、エージェント10に入力される情報がどのような形式で入力されるかといった情報を示す。図9に示した例では、入力フォーマットの項目を「D01」のように概念的に記載しているが、実際には、入力フォーマットの項目には、エージェント10が処理可能なデータ(音声や画像等)の音声フォーマットの種類(「mp3」や「wav」等)や、認識可能なコマンドのファイルフォーマット等が記憶される。
 「出力フォーマット」は、エージェント10が出力可能なデータのフォーマットを示す。図9に示した例では、出力フォーマットの項目を「E01」のように概念的に記載しているが、実際には、出力フォーマットの項目には、音声出力が可能か、画像出力が可能か、動画再生が可能かといった、エージェント10が出力することが可能な態様が具体的に記憶される。
 すなわち、図9に示した例では、エージェントID「10A」で識別されるエージェント10Aは、機器情報が「C01」であり、入力フォーマットが「D01」であり、出力フォーマットが「E01」であることを示している。
 次に、コマンドテーブル33について説明する。コマンドテーブル33は、応答処理装置100が認識する特定コマンドに関する情報を記憶する。
 図10に、第1の実施形態に係るコマンドテーブル33の一例を示す。図10は、本開示の第1の実施形態に係るコマンドテーブル33の一例を示す図である。図10に示した例では、コマンドテーブル33は、「コマンド内容」、「特定コマンド文」、「コマンド解析結果」といった項目を有する。
 「コマンド内容」は、特定コマンドが入力された場合に、応答処理装置100が実行する処理内容を示す。「特定コマンド文」は、特定コマンドに対応する文(音声やテキスト)を示す。「コマンド解析結果」は、特定コマンドの解析結果を示す。
 すなわち、図10に示した例では、「他の結果を読み上げる」というコマンド内容に対応する文は、「他のは」や、「他の教えて」や、「他の」といった音声やテキストであり、それらの文は、「READ_RESULTS」といった命令(処理内容)として解析されることを示している。
 なお、特定コマンド文に対応する音声やテキストは、図10に示した例に限らず、ユーザ本人による登録等に基づいて、適宜更新されてもよい。
 次に、履歴テーブル34について説明する。履歴テーブル34は、応答処理装置100とユーザとのやりとりの履歴情報を記憶する。
 図11は、本開示の第1の実施形態に係る履歴テーブル34の一例を示す図である。図11に示した例では、履歴テーブル34は、「入力情報ID」、「入力内容」、「エージェント選択履歴」、「出力された内容」といった項目を有する。
 「入力情報ID」は、入力情報を識別する識別情報を示す。「入力内容」は、入力情報の具体的な内容を示す。図11では、入力内容の項目を「Y01」のように概念的に記載しているが、実際には、入力内容の項目には、ユーザが発した音声(質問等)を解析した結果や、解析結果から生成されたコマンド等が記憶される。
 「エージェント選択履歴」は、ある入力情報に対して、ユーザが選択したエージェント10の識別情報や、各エージェント10を選択した回数や割合、頻度等を示す。「出力された内容」は、ある入力情報に対して、実際にエージェント10や応答処理装置100から出力された内容や、出力された情報の種別(音楽であるか、検索結果であるか等)や、各種の内容が実際に出力された回数や頻度等を示す。
 すなわち、図11に示した例では、入力情報ID「X01」で識別される入力情報の内容は「Y01」であり、その入力情報に対してユーザが選択したエージェント10の履歴は「H01」であり、出力された内容の履歴は「I01」であることを示している。
 図7に戻って説明を続ける。受付部40、提示部50及び送信部54は、応答処理装置100が実行する情報処理を実行する処理部である。受付部40、提示部50及び及び送信部54は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、応答処理装置100内部に記憶されたプログラム(例えば、本開示に係る応答処理プログラム)がRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、受付部40、提示部50及び送信部54は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
 受付部40は、各種情報を受け付ける処理部である。図7に示すように、受付部40は、検知部41と、登録部42と、取得部43とを含む。
 検知部41は、センサ20を介して、各種情報を検知する。例えば、検知部41は、センサ20の一例である音声入力センサ20Aを介して、ユーザが発話した音声を検知する。また、検知部41は、画像入力センサ20Bや加速度センサ、赤外線センサ等を介して、ユーザの顔情報、ユーザの身体の向き、傾き、動きや移動速度等、ユーザの動作に関する各種情報を検知してもよい。すなわち、検知部41は、センサ20を介して、位置情報、加速度、温度、重力、回転(角速度)、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキストとして検知してもよい。
 登録部42は、入力部21を介して、ユーザからの登録を受け付ける。例えば、登録部42は、タッチパネルやキーボードを介して、特定コマンドに関する登録をユーザから受け付ける。
 また、登録部42は、ユーザのスケジュール等の登録を受け付けてもよい。例えば、登録部42は、応答処理装置100に組み込まれたアプリケーション機能を利用して、スケジュール登録をユーザから受け付ける。
 取得部43は、各種情報を取得する。例えば、取得部43は、各エージェント10の機器情報や、各エージェント10が生成した応答に関する情報等を取得する。
 また、取得部43は、通信に関するコンテキストを受信してもよい。例えば、取得部43は、応答処理装置100と、各エージェント10や各種機器(ネットワーク上のサーバや、自宅内の家電等)との接続状況をコンテキストとして受信してもよい。各種機器との接続状況とは、例えば、相互通信が確立しているか否かを示す情報や、通信に利用している通信規格等である。
 受付部40は、上記各処理部を制御することにより、各種情報を受け付ける。例えば、受付部40は、エージェント10が応答を生成する契機となる情報である入力情報をユーザから取得する。
 例えば、受付部40は、入力情報として、ユーザが発した音声情報を取得する。具体的には、受付部40は、「「卒業」が聞きたい」などのユーザの発話を取得し、当該発話に含まれる何らかの意図を入力情報として取得する。
 あるいは、受付部40は、入力情報として、ユーザの行動を検知した検知情報を取得してもよい。検知情報とは、検知部41がセンサ20を介して検知した情報である。具体的には、検知情報とは、ユーザが応答処理装置100のカメラを見たことを示す情報や、ユーザが自宅の部屋から玄関へ移動したことを示す情報等、応答処理装置100が応答を生成する契機となりうるユーザの行動である。
 また、受付部40は、入力情報として、ユーザから入力されるテキストを受け付けてもよい。具体的には、受付部40は、入力部21を介して、「「卒業」が聞きたい」といったユーザから入力されたテキストを取得し、当該テキストに含まれる何らかの意図を入力情報として取得する。
 また、受付部40は、後述する提示部50によって各エージェント10が生成した応答が提示され、提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示す特定コマンドをユーザから受け付ける。例えば、受付部40は、特定コマンドとして、「次のは」といったユーザの発話を受け付ける。この場合、提示部50は、特定コマンドに対応した情報処理(例えば、出力中のエージェント10の次に登録されている他のエージェント10応答を出力させるよう制御する等)を実行する。
 また、受付部40は、後述する提示部50によって各エージェント10が生成した応答が提示されたのち、提示された応答に対して異なる応答を要求する旨を示す特定コマンドをユーザから受け付けてもよい。例えば、受付部40は、特定コマンドとして、「他のは」といったユーザの発話を受け付ける。この場合、提示部50は、特定コマンドに対応した情報処理(例えば、各エージェント10に再検索を実行させるよう制御する等)を実行する。
 また、受付部40は、各種のコンテキストに関する情報を取得してもよい。コンテキストとは、応答処理装置100が応答を生成する際の各種状況を示す情報である。なお、コンテキストには、ユーザが応答処理装置100を見たことを示す行動情報等の「ユーザの状況を示す情報」が含まれるため、コンテキストは、入力情報にもなりうる。
 例えば、受付部40は、コンテキストとして、ユーザによって予め登録されたユーザの属性情報を取得してもよい。具体的には、受付部40は、ユーザの性別や年齢、居住地等の情報を取得する。また、受付部40は、属性情報として、ユーザが視覚障碍を有すること等、ユーザの特徴を示す情報を取得してもよい。また、受付部40は、応答処理装置100の利用履歴等に基づいて、ユーザの趣味嗜好等の情報をコンテキストとして取得してもよい。
 また、受付部40は、コンテキストとして、ユーザの位置を示す位置情報を取得してもよい。位置情報とは、具体的な経度緯度等の位置を示す情報であってもよいし、ユーザが自宅内のどの部屋にいるか等を示す情報であってもよい。例えば、位置情報は、ユーザが自宅内のリビングにいるか、寝室にいるか、子供部屋にいるかといった、ユーザの所在地を示した情報であってもよい。あるいは、位置情報は、ユーザの外出先を示す具体的な場所の情報であってもよい。また、ユーザの外出先を示す情報には、ユーザが電車に乗っているか、自動車を運転しているか、あるいは、学校や会社に出かけていること等の状況を示す情報が含まれてもよい。受付部40は、例えば、ユーザが所有するスマートフォン等の携帯端末と相互に通信を行うことにより、これらの情報を取得してもよい。
 また、受付部40は、コンテキストとして、ユーザの行動もしくは感情を推定した推定情報を取得してもよい。例えば、受付部40は、コンテキストとして、ユーザの行動から推定される情報であって、ユーザの将来の行動予測を示した情報である行動予測情報を取得する。具体的には、受付部40は、ユーザが自宅の部屋から玄関へ移動したことを示す行動から推定される情報として、「ユーザが外出しようとしている」といった行動予測情報を取得する。例えば、受付部40は、「ユーザが外出しようとしている」といった行動予測情報を取得した場合、当該情報に基づいて、「外出」といったタグ付けされたコンテキストを取得する。
 また、受付部40は、ユーザの行動として、ユーザが予め登録したスケジュール情報を取得してもよい。具体的には、受付部40は、ユーザが発話した時刻から所定期間以内(例えば1日以内等)の予定時刻で登録されたスケジュール情報を取得する。これにより、受付部40は、ある時刻にユーザがどこに出かけようとしているかといった情報等を推定することができる。
 また、受付部40は、センサ20で捉えられたユーザの移動速度や、ユーザが所在する位置や、ユーザの発話速度等を検知すること等によりユーザの状況や感情を推定してもよい。例えば、受付部40は、通常のユーザの発話速度よりも速い発話速度が観測された場合、「ユーザが急いでいる」という状況や感情を推定してもよい。例えば、応答処理装置100は、ユーザが通常よりも急いでいる状況にあることを示すコンテキストが取得された場合、より手短な応答を出力する等の調整を行うことができる。
 なお、上記で示したコンテキストは一例であり、ユーザや応答処理装置100が置かれた状況を示すあらゆる情報がコンテキストとなりうる。例えば、受付部40は、センサ20を介して取得される、応答処理装置100の位置情報、加速度、温度、重力、回転(角速度)、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキストとして取得してもよい。また、受付部40は、内蔵する通信機能を利用して、各種装置との接続状況(例えば、通信の確立に関する情報や、利用している通信規格)などを、コンテキストとして取得してもよい。
 また、コンテキストには、ユーザと他のユーザや、ユーザと応答処理装置100とが交わしている対話に関する情報が含まれてもよい。例えば、コンテキストには、ユーザが交わしている対話の文脈を示す対話文脈情報、対話のドメイン(天気、ニュース、電車運行情報等)、ユーザ発話の意図や属性情報等が含まれてもよい。
 また、コンテキストには、対話が行われている際の日時情報が含まれてもよい。具体的には、日時情報とは、日付、時間、曜日、祝日特性(クリスマス等)、時間帯(朝、昼、夜、夜中)等の情報である。
 また、受付部40は、ユーザが行っている特定の家事の情報や、視聴しているテレビ番組の内容や、何を食べているかを示す情報や、特定の人物と会話をしていること等、ユーザの状況を示す種々の情報をコンテキストとして取得してもよい。
 また、受付部40は、自宅内に置かれた家電(IoT機器等)との相互通信により、どの家電がアクティブであるか否か(例えば、電源がオンであるかオフであるか)、どの家電がどのような処理を実行しているか、といった情報を取得してもよい。
 また、受付部40は、外部サービスとの相互通信により、ユーザの生活圏における交通状況や気象情報等をコンテキストとして取得してもよい。受付部40は、取得した各情報をユーザ情報テーブル31等に格納する。また、受付部40は、ユーザ情報テーブル31やエージェントテーブル32を参照し、処理に要する情報を適宜取得してもよい。
 続いて、提示部50について説明する。図7に示すように、提示部50は、解析部51と、生成部52と、出力制御部53とを含む。
 例えば、解析部51は、選択した複数のエージェント10の各々が認識できるよう、入力情報を解析する。生成部52は、解析部51が解析した内容に基づいて、入力情報に対応するコマンドを生成する。また、生成部52は、生成したコマンドを送信部54に送信し、各エージェント10に送信させる。出力制御部53は、エージェント10が生成した応答の内容を出力したり、エージェント10に応答を出力させるよう制御したりする。
 すなわち、提示部50は、解析部51、生成部52及び出力制御部53が実行する処理により得られる情報に基づき、受付部40によって受け付けられた入力情報に対して複数のエージェント10が生成した各々の応答をユーザに提示する。
 例えば、提示部50は、入力情報に対して複数のエージェント10が生成した各々の応答の内容を含む音声を用いて、ユーザに提示する。
 また、提示部50は、ユーザに提示された各々の応答のうちユーザから選択された応答を、選択された応答を生成したエージェント10が出力するよう制御する。例えば、提示部50は、ユーザから「エージェント10Aで」といった、出力先を指定する特定コマンドが発せられた場合に、エージェント10Aに対して、実際に生成した応答を出力するようリクエストを送信する。これにより、提示部50は、ユーザが所望する応答がエージェント10Aから出力するよう制御することができる。
 なお、提示部50は、提示された各々の応答のうちユーザから選択された応答を、選択された応答を生成したエージェント10から取得し、取得した応答を自装置で出力してもよい。すなわち、提示部50は、エージェント10Aが生成した応答(例えば、「卒業」という音楽の再生)をエージェント10Aに出力させるのではなく、当該応答のデータ(例えば、「卒業」という音楽のデータ)を取得し、自装置の出力部60を用いて出力してもよい。これにより、提示部50は、例えばエージェント10Aが比較的ユーザから離れた位置に設置されている場合等に、エージェント10Aに代えてユーザが所望する応答を出力することができるので、ユーザの利便性を向上させることができる。
 また、提示部50は、受付部40によって受け付けられた特定コマンドに対応する処理を実行する。例えば、提示部50は、提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示す特定コマンドをユーザから受け付けた場合、特定コマンドに基づいて、出力中の応答を異なる応答へ変更する。
 なお、提示部50は、入力情報に対して複数のエージェント10が生成した各々の応答に同一の内容が含まれる場合、同一の内容を含む応答をまとめて提示するようにしてもよい。これにより、提示部50は、例えば「次ので」といった特定コマンドをユーザから受け付けた場合に、同一の内容の応答が何度もユーザに対して出力されるような事態を回避することができる。
 また、提示部50は、提示された応答に対して異なる応答を要求する旨を示す特定コマンドをユーザから受け付けた場合、特定コマンドに基づいて、入力情報に対する再検索の要求を複数のエージェント10に送信してもよい。
 また、提示部50は、履歴テーブル34を参照し、ユーザの過去の行動に基づいて、出力する応答を選択してもよい。具体的には、提示部50は、過去に複数のエージェント10が生成した応答をユーザが選択した履歴に基づいて、入力情報に対して複数のエージェント10が生成した各々の応答のうち、一つの応答を選択してユーザに対して出力する。
 例えば、ある情報を質問したユーザに対して応答を出力した際に、応答処理装置100は、ユーザから「ほかの情報をおしえて」などの反応を受ける可能性がある。この場合、応答処理装置100は、前に出力した情報はユーザが欲していた情報でないと判定する。一方、応答処理装置100は、次に出力した情報がユーザから受け入れられた場合、当該情報がユーザの欲していた情報と判定する。
 この場合、応答処理装置100は、次の機会からは、ユーザから同様の質問を受けた場合、ユーザが欲していた応答を生成することのできるエージェント10を優先的に選択するようにしてもよい。また、応答処理装置100は、例えば、あるエージェント10から出力されることをユーザが望んでいるような傾向がある場合(ユーザが出力先に特定のエージェント10を指定することが統計的に多い場合等)、当該エージェント10から優先的に応答が出力されるように調整を行ってもよい。このように、応答処理装置100は、ユーザの指示や操作履歴に基づいて学習を行うことにより、よりユーザの要望に応えることのできる応答処理を実行することができる。また、これにより、ユーザは、応答処理装置100に対して指示を出さずとも、自身が所望する応答を出力させることができる。
 また、提示部50は、複数のエージェント10の各々が入力情報に対する応答を生成することができるか否かを判定し、入力情報に対する応答を生成することができないと判定されたエージェント10以外のエージェント10を、当該入力情報に対応した応答を生成するエージェント10として選択してもよい。すなわち、提示部50は、エージェントテーブル32を参照し、応答を生成することができると想定されるエージェント10を選択するようにしてもよい。これにより、提示部50は、全てのエージェント10に無作為に要求を送信するような手間を省くことができる。
 なお、上述した解析部51は、受付部40によって取得された情報の意味理解処理を行う。具体的には、解析部51は、受付部40によって音声情報等について、自動音声認識(ASR)処理や自然言語理解(NLU)処理を行う。例えば、解析部51は、ASRやNLUを経て、取得した音声を形態素に分解したり、各形態素がどのような意図や属性を有する要素であるかを判定したりする。
 解析部51は、入力情報の解析の結果、ユーザの意図が理解不能であった場合、その旨を出力制御部53に渡してもよい。例えば、解析部51は、解析の結果、ユーザの発話から推定することのできない情報が含まれている場合、その内容を出力制御部53に渡す。この場合、出力制御部53は、不明な情報について、ユーザにもう一度正確に発話してもらうことを要求するような応答を生成してもよい。
 送信部54は、各種情報を送信する。例えば、送信部54は、提示部50によって提示された応答に対するユーザの反応(フィードバック)を複数のエージェント10に送信する。
 具体的には、送信部54は、ユーザの反応として、提示された各々の応答のうちユーザから選択された応答に関する情報を複数のエージェント10に送信する。
 例えば、送信部54は、ユーザから選択された応答に関する情報として、ユーザから選択された応答の内容、もしくは、ユーザから選択された応答を生成したエージェント10の識別情報等を複数のエージェント10に送信する。
 また、送信部54は、ユーザの反応として、提示された各々の応答のうちいずれもがユーザから選択されなかったことを示す情報を複数のエージェント10に送信してもよい。
 さらに、送信部54は、提示された各々の応答のうちいずれもがユーザから選択されなかったことを示す情報とともに、各々の応答の内容を複数のエージェント10に送信してもよい。これにより、送信部54は、ユーザから選択された応答や、選択されなかった応答の内容を各エージェント10に伝達できるので、エージェント10の学習を効率良く進めることができる。
 なお、送信部54は、ユーザの反応のみならず、提示部50によって生成されたコマンドや、応答を出力させるためのリクエスト等、各種情報をエージェント10に送信する。例えば、送信部54は、ユーザから特定コマンドを受け付けた場合、特定コマンドに対応するリクエスト(例えば、特定コマンドに基づいて、入力情報に対して再検索を実行させるリクエスト等)をエージェント10に送信してもよい。
 出力部60は、種々の情報を出力するための機構である。例えば、出力部60は、スピーカやディスプレイである。例えば、出力部60は、出力制御部53によって応答が出力される場合に、出力先となるエージェント10の名称等をユーザに対して音声出力する。また、出力部60は、画像データをディスプレイに出力してもよい。また、出力部60は、応答処理装置100が自装置で応答を生成した場合、生成した応答を音声もしくは画像等で出力する。なお、出力部60は、生成された音声データを文字認識してディスプレイに表示する等、種々の態様で応答を出力してもよい。
[1-5.第1の実施形態に係る応答処理の手順]
 次に、図12A及び図12Bを用いて、第1の実施形態に係る応答処理の手順について説明する。図12Aは、第1の実施形態に係る処理の流れを示すフローチャートである。
 図12Aに示すように、応答処理装置100は、入力情報を受け付けたか否かを判定する(ステップS101)。入力情報を受け付けていない場合(ステップS101;No)、応答処理装置100は、入力情報を受け付けるまで待機する。
 一方、入力情報を受け付けた場合(ステップS101;Yes)、応答処理装置100は、入力情報を解析し、入力情報に応じたコマンドを生成する(ステップS102)。具体的には、応答処理装置100は、入力情報を解析し、入力情報に含まれるユーザの意図や、質問の内容等を示したコマンドを生成する。
 続いて、応答処理装置100は、生成したコマンドが特定コマンドに該当するか否かを判定する(ステップS103)。特定コマンドでない場合(ステップS103;No)、応答処理装置100は、各エージェント10に、ステップS102で生成したコマンドを送信する(ステップS104)。
 その後、応答処理装置100は、送信したコマンドに応じて、各エージェント10から生成された応答の結果を取得する(ステップS105)。このとき、応答処理装置100は、各エージェント10が生成した結果を記憶部30内に一時保存する(ステップS106)。
 なお、ステップS103において、生成したコマンドが特定コマンドに該当する場合(ステップS103;Yes)、応答処理装置100は、特定コマンドの内容を判断する(ステップS107)。
 その後、応答処理装置100は、ステップS106等で保存された結果に対して、特定コマンドの処理を実行する(ステップS108)。また、応答処理装置100は、各エージェント10へフィードバックを送信する(ステップS109)。
 ステップS106又はステップS109を経て、応答処理装置100は、ユーザへのフィードバックを生成する(ステップS110)。例えば、応答処理装置100は、ステップS106を経た場合、各エージェント10が生成した各々の応答を提示するためのフィードバックを生成する。あるいは、応答処理装置100は、ステップS109を経た場合、どのエージェント10から応答を出力させるかを伝達するための音声等のフィードバックを生成する。
 続いて、応答処理装置100は、ユーザから選択を受けること等により、応答の出力態様を決定する(ステップS111)。なお、応答の出力態様とは、どの応答を出力させるか、また、どのエージェント10から出力させるかといった、実際の出力の内容をいう。
 その後、応答処理装置100は、応答を出力する(ステップS112)。例えば、応答処理装置100は、応答を生成したエージェント10から応答を出力させるよう制御したり、自装置から応答を出力したりする。
 このとき、応答処理装置100は、出力された内容等について、各エージェント10にフィードバックを送信する(ステップS113)。その後、応答をユーザに対して出力した応答処理装置100は、ユーザとの対話処理が終了したか否かを判定する(ステップS114)。具体的には、応答処理装置100は、ユーザとの対話に関する一つのセッションが終了したか否かを判定する。
 対話処理が終了していない場合(ステップS114;No)、応答処理装置100は、処理をステップS101に戻し、対話処理を継続する。一方、対話処理が終了したと判定した場合(ステップS114;Yes)、応答処理装置100は、処理を終了する。
 次に、図12Bを用いて、第1の実施形態に係る応答処理の手順を、処理ブロック図を用いて説明する。図12Bは、第1の実施形態に係る処理の流れを示すブロック図である。
 ディスプレイ入力処理111では、応答処理装置100が保持するディスプレイ等を介してユーザ入力を処理する。具体的には、ディスプレイ入力処理111は、タッチパネル式ディスプレイ上に表示されたユーザインターフェイス等を介して、入力された情報をコマンド生成処理115に送る。ディスプレイ入力処理111は、例えば、図7に示す画像入力センサ20Bや検知部41等に対応する。
 音声入力処理112は、ユーザの発話による入力を文字情報(テキスト)に変換する処理を行う。音声入力処理112には、雑音などの周囲外音を低減させる信号処理機能が含まれてもよい。音声入力処理112は、入力された情報をユーザ入力解析処理114へ送る。音声入力処理112は、例えば、図7に示す音声入力センサ20Aや検知部41等に対応する。
 特定コマンドデータ保持部113は、特定コマンドの種類や、該当する文字列を紐づけて保持する部分となる。なお、特定コマンドの種類や文字列は、ユーザが編集を行うことが可能である。特定コマンドデータ保持部113は、例えば、図7に示すコマンドテーブル33等に対応する。
 ユーザ入力解析処理114では、ユーザから受け付けた入力に対して、特定コマンドデータ保持部113を参照し、特定コマンドに該当するか否かを判断する。上記のように、特定コマンドの種類としては、「特定のエージェント10の結果を受け取る」や、「別のエージェント10の結果を聞く」といったものが該当する。すなわち、ユーザ入力解析処理114では、ユーザの音声等を解析し、それらの音声が特定コマンドに該当するか否かを判断する。なお、ユーザ入力解析処理114は、受け付けた入力が特定コマンドに該当しなかった場合には、入力された情報(テキスト等)と共に、特定コマンドが存在しなかった旨(空のコマンド解析結果)をコマンド生成処理115へと送る。ユーザ入力解析処理114は、例えば、図7に示す提示部50や解析部51が実行する処理に対応する。
 コマンド生成処理115は、ユーザから入力された情報や、ユーザ入力解析処理114で解析されたコマンド解析結果を元に、各エージェント10へ送信するためのコマンドを生成する。なお、コマンド生成処理115で生成されたコマンドは、コマンド履歴保持部117へも送られ、履歴として保持される。コマンド生成処理115は、例えば、図7に示す提示部50や生成部52が実行する処理に対応する。
 通信処理116は、コマンド生成処理115を経て得られたコマンドを、応答処理装置100に接続されている各エージェント10のデータフォーマットに合わせた形式に変換し、変換した情報を送信する。その後、通信処理116は、各エージェント10から出力される結果を取得し、結果管理処理118へと送る。このとき、通信処理116では、取得した応答を、結果保存用の共通フォーマットに変換し、どのエージェント10からどのような結果が得られたかを紐づけて保持できるようにする。
 また、通信処理116は、特定コマンドが得られた場合、特定コマンドを結果管理処理118へ送る。また、通信処理116は、結果管理処理118によって管理されている情報を取得し、その内容を各エージェント10にフィードバックとして送信する。このフィードバックが、各エージェント10に対して正の報酬(正例)又は負の報酬(負例)として作用する。通信処理116は、例えば、図7に示す提示部50や出力制御部53、送信部54等が実行する処理に対応する。
 コマンド履歴保持部117は、コマンド生成処理115によって発行されたコマンドを時系列で保持する。なお、コマンド履歴保持部117は、受け付けられたコマンドの内容や、コマンドの発行頻度等も算出し、保持してもよい。コマンド履歴保持部117は、例えば、ユーザ情報テーブル31や履歴テーブル34に対応する。
 結果管理処理118は、各エージェント10から得られた結果を保持及び管理する。すなわち、ユーザとの対話を経て得られた情報は、一定時間保持され、その後に受け付けられた特定コマンドに応じて、フィードバック生成処理119、もしくは、通信処理116へ送られる。なお、既定された時間が経過した場合、保持されていた結果は、適宜、破棄される。結果管理処理118は、例えば、図7に示す提示部50や生成部52、送信部54等が実行する処理に対応する。
 フィードバック生成処理119は、結果管理処理118の保持する情報と、コマンド履歴保持部117の頻度情報を元に、ユーザへのフィードバック内容を生成する。例えば、フィードバック生成処理119は、利用頻度が高いエージェント10の結果を優先的に出力すると判定してもよいし、あるいは、毎回ランダムで出力したりしてもよい。また、ユーザは、このような出力の設定を適宜編集してもよい。また、フィードバック生成処理119は、音声出力を行う場合、結果管理処理118で保持している内容が長大な場合(ニュース記事結果など)、その内容の要約を行ってもよい。フィードバック生成処理119は、例えば、図7に示す提示部50や送信部54等が実行する処理に対応する。
 ディスプレイ出力処理120は、フィードバック生成処理119で作成された、エージェント10の出力結果のすべて、もしくはそこから選択された候補をディスプレイ上に整形し表示する。ディスプレイ出力処理120は、例えば、図7に示す出力制御部53や出力部60等が実行する処理に対応する。
 音声出力処理121は、フィードバック生成処理119で作成された、エージェント10の出力結果のすべて、もしくはそこから選択された候補から音声データを生成し、スピーカ等のデバイスで再生させる。音声出力処理121は、例えば、図7に示す出力制御部53や出力部60等が実行する処理に対応する。
 なお、上記で示した処理は一例であり、例えば、応答処理装置100の構成によって、適宜異なる処理が行われてもよい。例えば、入力や出力処理はアプリケーションやサービスにより異なるため、応答処理装置100は、必ずしもディスプレイ出力と音声出力の両方を実行することを要しない。
[1-6.第1の実施形態に係る変形例]
 上記で説明した第1の実施形態に係る応答処理は、様々な変形を伴ってもよい。以下に、第1の実施形態の変形例について説明する。
 例えば、応答処理装置100は、エージェントテーブル32やコマンドテーブル33に格納された情報について、定期的にアップデートを行ってもよい。例えば、エージェント10は、ネットワークを介して機能が拡張される場合がある。具体的には、「翻訳」機能を有するエージェント10が、以前は対応できなかった言語に対応する等のアップデートを行う場合がある。
 この場合、応答処理装置100は、連携するエージェント10からアップデートが行われた旨の情報を受信し、受信した情報に基づいて、エージェントテーブル32やコマンドテーブル33に格納された情報を更新する。これにより、ユーザは、複数のエージェント10の各々の機能のアップデート等を意識せずとも、最新の機能を享受することができる。
(2.第2の実施形態)
[2-1.第2の実施形態に係る応答処理の一例]
 次に、第2の実施形態について説明する。第1の実施形態では、応答処理装置100は、主に音声を用いて応答の結果等をユーザに出力する例を示した。第2の実施形態では、応答処理装置100が、音声以外の手段を用いて、応答の結果等をユーザに出力する例を示す。
 図13は、第2の実施形態に係る応答処理の一例を示す図である。図13では、ユーザが、音声ではなく応答処理装置100のディスプレイを用いて入力情報を入力し、応答処理装置100が、音声ではなくディスプレイを用いて応答を提示する例を示す。
 まず、ユーザは、応答処理装置100のタッチパネル等を介して、応答処理装置100に入力情報を入力する。図13に示す入力情報A81は、ユーザが、応答処理装置100のディスプレイに「卒業を聞きたい」といったテキストを入力したことを示している。
 ユーザは、ディスプレイへの入力操作等を介して、入力情報A81を応答処理装置100に入力する(ステップS81)。応答処理装置100は、第1の実施形態と同様、入力情報A81に基づいて、各エージェント10に応答を生成させる旨のリクエストを送信する(ステップS82)。
 応答処理装置100は、各エージェント10から取得した応答に基づいて、ユーザに提示するフィードバックA82を生成する(ステップS83)。フィードバックA82は、例えば、応答処理装置100のディスプレイ上に表示される。図13に示すように、フィードバックA82には、各エージェント10が生成した応答の内容や、再検索を要求する旨のボタン等のユーザインターフェイスが含まれる。
 このように、第2の実施形態に係る応答処理装置100は、入力情報に対して複数のエージェント10が生成した各々の応答の内容を含む画面表示を用いて、ユーザに応答の内容を提示してもよい。これにより、応答処理装置100は、ユーザの状況に合わせて柔軟な情報の提示等を行うことができる。
[2-2.第2の実施形態に係る応答処理のバリエーション]
 次に、図14及び図15を用いて、第2の実施形態に係る応答処理のバリエーションについて説明する。図14は、第2の実施形態に係る応答処理の第1のバリエーションを示す図である。第2の実施形態に係る情報処理の第1のバリエーションでは、例えば、所定の条件に基づいて、応答処理装置100が表示する応答の表示割合が可変する状況を示す。
 図14では、例えば、ユーザが「明日の天気は?」といった質問を入力情報A91として入力した状況を例に挙げる(ステップS91)。応答処理装置100は、入力情報A91を受け付けると、入力情報A91に対応したコマンドを各エージェント10に送信し、各々の応答の結果を取得する(ステップS92)。
 ここで、各エージェント10は、各々が異なるサービス(この例では、天気情報サービス)にアクセスして情報を取得するため、各々が異なる応答を生成すると想定される。応答処理装置100は、これらの応答を取得し、各々の応答が表示されたフィードバックA92を生成する(ステップS93)。
 図14に示すように、フィードバックA92には、エージェント10Aが生成した応答を示す天気情報A93や、エージェント10Bが生成した応答を示す天気情報A94や、エージェント10Cが生成した応答を示す天気情報A95や、エージェント10Dが生成した応答を示す天気情報A96が含まれる。
 これにより、応答処理装置100は、各々のエージェント10が生成した応答を一覧表示することができるので、結果の提示を効率良く行うことができる。
 また、応答処理装置100は、フィードバックA92に表示される割合について、各エージェント10の情報や、応答の情報に基づいて変更してもよい。
 一例として、応答処理装置100は、過去に複数のエージェント10が生成した応答をユーザが選択した履歴に基づいて、入力情報に対して複数のエージェント10が生成した各々の応答の内容を画面に表示する割合もしくは面積を決定する。
 例えば、応答処理装置100は、過去にユーザが選択した回数や割合の多いエージェント10ほど、画面内で表示される面積を広く表示してもよい。これにより、応答処理装置100は、ユーザがより好む情報を広く表示することができる。
 また、応答処理装置100は、入力情報に対して複数のエージェント10が生成した各々の応答の情報量に応じて、各々の応答の内容を画面に表示する割合もしくは面積を決定してもよい。
 上記の内容について、図15を用いて説明する。図15は、第2の実施形態に係るデータベース35の一例を示す図である。データベース35は、各エージェント10が取得した天気情報の内容(情報量)や、ユーザが過去に選択した履歴情報を紐づけて記憶したデータベースである。
 上述のように、エージェント10A、エージェント10B、エージェント10C及びエージェント10Dは、それぞれ異なるサービスから情報を取得するため、同じ天気情報でも、応答処理装置100に送信する情報が異なる。すなわち、応答処理装置100は、エージェント10A、エージェント10B、エージェント10C及びエージェント10Dの各々から異なる応答(天気情報)を取得する。
 例えば、図15に示すデータベース35は、応答処理装置100が取得した応答に含まれる情報を示す。具体的には、図15に示す例では、エージェント10Aが取得した天気情報は、「画面表示」が可能であり、「音声出力」が可能であり、「降水確率」や「花粉情報」が含まれるものの、「紫外線情報」が含まれないことを示している。また、エージェント10Bが取得した天気情報は、「画面表示」が可能であり、「音声出力」が可能であり、「降水確率」が含まれるものの、「紫外線情報」や「花粉情報」が含まれないことを示している。
 すなわち、図15に示す例では、エージェント10が提供する情報が「天気予報」である場合、例えばエージェント10Aは、天気予報を実行するために(すなわち、天気予報に関する情報を取得するために)、「J01」というサービスに接続し、「天気概況、降水確率、画像出力、音声出力、花粉、・・・」といった内容の情報を取得することを示している。また、ユーザが応答処理装置100に対して天気予報という機能を実行させた場合に、ユーザがエージェント10Aの提示した応答を選択した履歴は「L01」であることを示している。
 なお、図15では、提供情報の一例として「天気予報」を示したが、提供情報はこの例に限られず、例えば、「交通情報」や「ニュース」、「レストラン検索」、「番組表検索」、「映画検索」、「イベント情報検索」等であってもよい。
 応答処理装置100は、データベース35に含まれる情報を各エージェント10から取得し、例えば、その応答の情報量に基づいて、フィードバックA92を生成する。具体的には、応答処理装置100は、より天気情報に関する情報量が多い応答を提示したエージェント10の表示割合を広くする。あるいは、応答処理装置100は、過去にユーザから選択された回数の多いエージェント10の表示割合を広くしてもよい。
 例えば、応答処理装置100は、図14で示したように、複数のエージェント10によって天気情報に関する応答が生成された場合、情報量のより多い応答を、より画面内において広く提示する。あるいは、応答処理装置100は、ユーザとの対話の履歴を参照し、ユーザが「紫外線情報」よりも「花粉情報」を要求した履歴が多い場合、「花粉情報」という種別が含まれる天気情報を、より画面内において広く提示してもよい。すなわち、応答処理装置100は、複数の応答が存在する場合、応答の情報量や種別、また、ユーザのこれまでの履歴や状況に応じて、実際にユーザに出力する応答の態様を柔軟に決定する。これにより、応答処理装置100は、よりユーザの要望に沿った応答を出力することができる。また、応答処理装置100は、複数のエージェント10から応答を取得した場合に、その表示割合を動的に変化させてユーザに提示できるので、視覚的に飽きさせない画面表示を行うことができる。
 次に、図16A及び図16Bを用いて、第2の実施形態に係る応答処理の異なるバリエーションについて説明する。図16Aは、第2の実施形態に係る応答処理の第2のバリエーションを示す図である。
 例えば、図16Aでは、ユーザが「ニュース見せて」という音声に基づく入力情報A101を応答処理装置100に入力した状況を示している。この場合、応答処理装置100は、「ニュース見せて」といった音声に対応するコマンドを生成し、各エージェント10に送信し、各エージェント10の応答を取得する。そして、応答処理装置100は、各エージェント10の応答をフィードバックA102としてユーザに提示する。その後、ユーザが、「エージェント10Bで」といった特定コマンドA103を発した場合、応答処理装置100は、「エージェント10Bに実行させます」といった音声A104を出力し、エージェント10Bが提案した応答の内容をエージェント10Bに実行させる。
 このように、応答処理装置100は、ユーザから受け付けた一つの入力情報A101に基づいて、各エージェント10が実行しようとする各種処理をユーザに提示できる。このため、ユーザは、例えばエージェント10が各々異なる家電である場合等に、特定の家電にコマンドを入力しなくても、自身が所望する処理をいずれかのエージェント10に実行させることができる。
 次に、図16Bの例について説明する。図16Bは、第2の実施形態に係る応答処理の第3のバリエーションを示す図である。
 例えば、図16Bでは、ユーザが「暑い」という音声に基づく入力情報A111を応答処理装置100に入力した状況を示している。この場合、応答処理装置100は、「暑い」といった音声に対応するコマンドを生成し、各エージェント10に送信し、各エージェント10の応答を取得する。そして、応答処理装置100は、各エージェント10の応答をフィードバックA112としてユーザに提示する。その後、ユーザが、「エージェント10Bで」といった特定コマンドA113を発した場合、応答処理装置100は、「エージェント10Bに実行させます」といった音声A114を出力し、エージェント10Bが提案した応答の内容をエージェント10Bに実行させる。
 この場合も、図16Aの例と同様、応答処理装置100は、ユーザから受け付けた一つの入力情報A111に基づいて、各エージェント10が実行しようとする各種処理をユーザに提示できる。このため、ユーザは、自身が実行させたい処理を効率良く選択することができる。
 なお、応答処理装置100は、図16A及び図16Bで示した以外にも、いわゆるスマート家電と連携する処理が可能である。例えば、応答処理装置100は、ユーザから「食材、何が入っている?」や「賞味期限が切れそうなのはなに?」等の入力情報を受け付けた場合、冷蔵庫に搭載されたエージェント10にコマンドを送信する。そして、応答処理装置100は、エージェント10の応答として、ユーザの利用ログや商品タグ等から取得された情報をユーザに提示する。あるいは、応答処理装置100は、ユーザから「鍵、閉めたかな?」や「鍵、閉めておいて」等の入力情報を受け付けた場合、スマートキーに搭載されたエージェント10にコマンドを送信する。そして、応答処理装置100は、エージェント10の応答として、自宅のカギ状態の情報や、施錠操作を行った旨等の応答をユーザに提示する。あるいは、応答処理装置100は、ユーザから「居間の電気けして」や「寝室の電気つけて」等の入力情報を受け付けた場合、照明機器に搭載されたエージェント10にコマンドを送信する。そして、応答処理装置100は、エージェント10の応答として、自宅内の照明操作を行った旨等の応答をユーザに提示する。このように、応答処理装置100は、スマートスピーカー等の情報機器のみならず、種々の情報機器と連携し、ユーザに有用な応答処理を行うことができる。
(3.その他の実施形態)
 上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態にて実施されてよい。
[3-1.応答出力のバリエーション]
 例えば、応答処理装置100は、連携する全てのエージェント10が同一の内容の応答を生成している場合には、ユーザに応答を提示することなく、いずれかのエージェント10に応答を出力させるよう実行させてもよい。
[3-2.ユーザの反応を送信するタイミング]
 応答処理装置100は、提示された複数の応答のうち、ユーザがいずれかの応答を選択した直後にエージェント10にユーザの反応を送信するのではなく、一定時間後にユーザの反応を送信してもよい。
 すなわち、応答処理装置100は、ユーザのサービスの享受状態を判定し、ユーザがサービスを享受していると想定される時間だけ待機したのちに、ユーザの反応を各エージェント10に送信する。これにより、応答処理装置100は、ユーザが誤って応答を選択した場合や、ユーザが実は異なる応答を所望していたといった状況においても、正確にユーザが選択した応答の情報を各エージェント10にフィードバックできる。なお、応答処理装置100は、エージェント10にフィードバックが送信されるタイミングについて、ユーザから登録を受け付けてもよい。
[3-3.装置構成]
 上記各実施形態では、応答処理装置100がいわゆるスマートフォンやタブレット装置であり、スタンドアロンで処理を行う例を示した。しかし、応答処理装置100は、ネットワークによって接続されたサーバ装置(いわゆるクラウドサーバ(Cloud Server)等)と連携して本開示に係る応答処理を行ってもよい。この場合には、スマートフォンやタブレット装置等の端末は、ユーザの発話を集音する処理や、集音した発話をサーバ装置に送信する処理や、サーバ装置から送信された音声を出力する処理といった、ユーザとの対話処理を主に実行するインターフェイスとして機能する。
 また、本開示に係る応答処理装置とは、独立したデバイスではなく、スマートフォンやタブレット装置内に搭載されるICチップ等の態様で実現されてもよい。
 また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、解析部51と生成部52は統合されてもよい。
 また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
(4.本開示に係る応答処理装置の効果)
 上述のように、本開示に係る応答処理装置(実施形態では応答処理装置100)は、受付部(実施形態では受付部40)と、提示部(実施形態では提示部50)と、送信部(実施形態では送信部54)とを備える。受付部は、情報機器(実施形態ではエージェント10)が応答を生成する契機となる情報である入力情報を受け付ける。提示部は、入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する。送信部は、提示された応答に対するユーザの反応を複数の情報機器に送信する。
 このように、本開示に係る応答処理装置は、複数の情報機器のフロントエンド機器としてふるまい、複数の応答をユーザに提示したり、ユーザの選択した結果を情報機器に送信したりといった、調停の役割を担う。これにより、応答処理装置は、複数の情報機器をユーザが利用する際に、個々の情報機器に対して対話を行うような手間を省かせることができるので、ユーザの利便性を向上させることができる。
 また、提示部は、提示された各々の応答のうちユーザから選択された応答を、選択された応答を生成した情報機器が出力するよう制御する。これにより、応答処理装置は、ユーザが所望する応答が、ユーザの選択した情報機器から出力するよう制御することができる。
 また、提示部は、提示された各々の応答のうちユーザから選択された応答を、選択された応答を生成した情報機器から取得し、取得した応答を出力する。これにより、応答処理装置は、例えば情報機器が比較的ユーザから離れた位置に設置されている場合等に、情報機器に代えてユーザが所望する応答を出力することができるので、ユーザの利便性を向上させることができる。
 また、受付部は、提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示すコマンドをユーザから受け付ける。提示部は、コマンドに基づいて、出力中の応答を異なる応答へ変更する。これにより、応答処理装置は、最初に行われたユーザとの対話を繰り返すことなく、簡易な対応で、異なる応答をユーザに提示することができるので、ユーザの利便性を向上させることができる。
 また、提示部は、入力情報に対して複数の情報機器が生成した各々の応答に同一の内容が含まれる場合、同一の内容を含む応答をまとめて提示する。これにより、応答処理装置、同一の内容の応答が何度もユーザに対して出力されるような事態を回避することができる。
 また、受付部は、提示された応答に対して異なる応答を要求する旨を示すコマンドをユーザから受け付ける。送信部は、コマンドに基づいて、入力情報に対する再検索の要求を複数の情報機器に送信する。これにより、応答処理装置は、ユーザが望む応答が生成されなかった場合にも、迅速に再検索を実行させることができる。
 また、提示部は、過去に複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、入力情報に対して複数の情報機器が生成した各々の応答のうち、一つの応答を選択してユーザに対して出力する。これにより、応答処理装置は、ユーザからの明示の選択がなくても応答を出力できるので、ユーザの手間を低減させることができる。
 また、送信部は、ユーザの反応として、提示された各々の応答のうちユーザから選択された応答に関する情報を複数の情報機器に送信する。これにより、応答処理装置は、一つの対話で複数の正例や負例を複数の情報機器に送信できるので、情報機器の学習を効率良く進めることができる。
 また、送信部は、ユーザから選択された応答に関する情報として、ユーザから選択された応答の内容、もしくは、ユーザから選択された応答を生成した情報機器の識別情報を複数の情報機器に送信する。これにより、応答処理装置は、どのような内容の応答をユーザが欲していたかという具体的な情報を情報機器に提供することができる。
 また、送信部は、ユーザの反応として、提示された各々の応答のうちいずれもがユーザから選択されなかったことを示す情報を複数の情報機器に送信する。これにより、応答処理装置は、ユーザの欲していない情報をまとめて情報機器に送信できるので、ユーザの欲していない情報が何度もユーザに提示されるような事態を回避することができる。
 また、送信部は、提示された各々の応答のうちいずれもがユーザから選択されなかったことを示す情報とともに、各々の応答の内容を複数の情報機器に送信する。これにより、応答処理装置は、ユーザの欲していない情報をまとめて情報機器に送信できるので、ユーザの欲していない情報が何度もユーザに提示されるような事態を回避することができる。
 また、提示部は、入力情報に対して複数の情報機器が生成した各々の応答の内容を含む音声を用いて、ユーザに提示する。これにより、応答処理装置は、複数の応答をユーザにわかりやすく提示することができる。
 また、提示部は、入力情報に対して複数の情報機器が生成した各々の応答の内容を含む画面表示を用いて、ユーザに提示する。これにより、応答処理装置は、音声によらずとも、複数の応答をユーザに一度に提示することができる。
 また、提示部は、過去に複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、入力情報に対して複数の情報機器が生成した各々の応答の内容を画面に表示する割合もしくは面積を決定する。これにより、応答処理装置は、ユーザが欲すると想定される情報を視認性の高い状態でユーザに提示できるので、応答処理のユーザビリティを向上させることができる。
 また、提示部は、入力情報に対して複数の情報機器が生成した各々の応答の情報量に応じて、各々の応答の内容を画面に表示する割合もしくは面積を決定する。これにより、応答処理装置は、より情報量の多い応答を視認性の高い状態でユーザに提示できるので、応答処理のユーザビリティを向上させることができる。
 また、受付部は、入力情報として、ユーザが発した音声情報を受け付ける。これにより、応答処理装置は、音声を介したユーザとのコミュニケーションにおいて、ユーザの状況に合わせた適切な対話を行うことができる。
 また、受付部は、入力情報として、ユーザから入力されるテキストを受け付ける。これにより、応答処理装置は、ユーザが発話をせずとも、ユーザの入力したテキストに対応した適切な応答を提示することができる。
(5.ハードウェア構成)
 上述してきた各実施形態に係る応答処理装置100やエージェント10、外部サーバ200等の情報機器は、例えば図17に示すような構成のコンピュータ1000によって実現される。以下、第1の実施形態に係る応答処理装置100を例に挙げて説明する。図17は、応答処理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る応答処理プログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が第1の実施形態に係る応答処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた応答処理プログラムを実行することにより、受付部40等の機能を実現する。また、HDD1400には、本開示に係る応答処理プログラムや、記憶部30内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、
 前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、
 前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する送信部と
 を備える応答処理装置。
(2)
 前記提示部は、
 前記提示された各々の応答のうち前記ユーザから選択された応答を、当該選択された応答を生成した情報機器が出力するよう制御する
 前記(1)に記載の応答処理装置。
(3)
 前記提示部は、
 前記提示された各々の応答のうち前記ユーザから選択された応答を、当該選択された応答を生成した情報機器から取得し、取得した応答を出力する
 前記(1)又は(2)に記載の応答処理装置。
(4)
 前記受付部は、
 前記提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示すコマンドを前記ユーザから受け付け、
 前記提示部は、
 前記コマンドに基づいて、出力中の応答を異なる応答へ変更する
 前記(1)~(3)のいずれかに記載の応答処理装置。
(5)
 前記提示部は、
 前記入力情報に対して複数の情報機器が生成した各々の応答に同一の内容が含まれる場合、当該同一の内容を含む応答をまとめて提示する
 前記(1)~(4)のいずれかに記載の応答処理装置。
(6)
 前記受付部は、
 前記提示された応答に対して異なる応答を要求する旨を示すコマンドを前記ユーザから受け付け、
 前記送信部は、
 前記コマンドに基づいて、前記入力情報に対する再検索の要求を前記複数の情報機器に送信する
 前記(1)~(5)のいずれかに記載の応答処理装置。
(7)
 前記提示部は、
 過去に前記複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、前記入力情報に対して当該複数の情報機器が生成した各々の応答のうち、一つの応答を選択して当該ユーザに対して出力する
 前記(1)~(6)のいずれかに記載の応答処理装置。
(8)
 前記送信部は、
 前記ユーザの反応として、前記提示された各々の応答のうち前記ユーザから選択された応答に関する情報を前記複数の情報機器に送信する
 前記(1)~(7)のいずれかに記載の応答処理装置。
(9)
 前記送信部は、
 前記ユーザから選択された応答に関する情報として、当該ユーザから選択された応答の内容、もしくは、当該ユーザから選択された応答を生成した情報機器の識別情報を前記複数の情報機器に送信する
 前記(8)に記載の応答処理装置。
(10)
 前記送信部は、
 前記ユーザの反応として、前記提示された各々の応答のうちいずれもが前記ユーザから選択されなかったことを示す情報を前記複数の情報機器に送信する
 前記(1)~(9)のいずれかに記載の応答処理装置。
(11)
 前記送信部は、
 前記提示された各々の応答のうちいずれもが前記ユーザから選択されなかったことを示す情報とともに、当該各々の応答の内容を前記複数の情報機器に送信する
 前記(10)に記載の応答処理装置。
(12)
 前記提示部は、
 前記入力情報に対して複数の情報機器が生成した各々の応答の内容を含む音声を用いて、前記ユーザに提示する
 前記(1)~(11)のいずれかに記載の応答処理装置。
(13)
 前記提示部は、
 前記入力情報に対して複数の情報機器が生成した各々の応答の内容を含む画面表示を用いて、前記ユーザに提示する
 前記(1)~(12)のいずれかに記載の応答処理装置。
(14)
 前記提示部は、
 過去に前記複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、前記入力情報に対して複数の情報機器が生成した各々の応答の内容を画面に表示する割合もしくは面積を決定する
 前記(13)に記載の応答処理装置。
(15)
 前記提示部は、
 前記入力情報に対して複数の情報機器が生成した各々の応答の情報量に応じて、当該各々の応答の内容を画面に表示する割合もしくは面積を決定する
 前記(13)又は(14)に記載の応答処理装置。
(16)
 前記受付部は、
 前記入力情報として、前記ユーザが発した音声情報を受け付ける
 前記(1)~(15)のいずれかに記載の応答処理装置。
(17)
 前記受付部は、
 前記入力情報として、前記ユーザから入力されるテキストを受け付ける
 前記(1)~(16)のいずれかに記載の応答処理装置。
(18)
 コンピュータが、
 情報機器が応答を生成する契機となる情報である入力情報を受け付け、
 前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示し、
 前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する
 応答処理方法。
(19)
 コンピュータを、
 情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、
 前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、
 前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する送信部と
 として機能させるための応答処理プログラム。
 1 応答処理システム
 10 エージェント
 100 応答処理装置
 20 センサ
 20A 音声入力センサ
 20B 画像入力センサ
 21 入力部
 22 通信部
 30 記憶部
 31 ユーザ情報テーブル
 32 エージェントテーブル
 33 コマンドテーブル
 34 履歴テーブル
 40 受付部
 41 検知部
 42 登録部
 43 取得部
 50 提示部
 51 解析部
 52 生成部
 53 出力制御部
 54 送信部
 60 出力部
 200 外部サーバ

Claims (18)

  1.  情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、
     前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、
     前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する送信部と
     を備える応答処理装置。
  2.  前記提示部は、
     前記提示された各々の応答のうち前記ユーザから選択された応答を、当該選択された応答を生成した情報機器が出力するよう制御する
     請求項1に記載の応答処理装置。
  3.  前記提示部は、
     前記提示された各々の応答のうち前記ユーザから選択された応答を、当該選択された応答を生成した情報機器から取得し、取得した応答を出力する
     請求項1に記載の応答処理装置。
  4.  前記受付部は、
     前記提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示すコマンドを前記ユーザから受け付け、
     前記提示部は、
     前記コマンドに基づいて、出力中の応答を異なる応答へ変更する
     請求項1に記載の応答処理装置。
  5.  前記提示部は、
     前記入力情報に対して複数の情報機器が生成した各々の応答に同一の内容が含まれる場合、当該同一の内容を含む応答をまとめて提示する
     請求項1に記載の応答処理装置。
  6.  前記受付部は、
     前記提示された応答に対して異なる応答を要求する旨を示すコマンドを前記ユーザから受け付け、
     前記送信部は、
     前記コマンドに基づいて、前記入力情報に対する再検索の要求を前記複数の情報機器に送信する
     請求項1に記載の応答処理装置。
  7.  前記提示部は、
     過去に前記複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、前記入力情報に対して当該複数の情報機器が生成した各々の応答のうち、一つの応答を選択して当該ユーザに対して出力する
     請求項1に記載の応答処理装置。
  8.  前記送信部は、
     前記ユーザの反応として、前記提示された各々の応答のうち前記ユーザから選択された応答に関する情報を前記複数の情報機器に送信する
     請求項1に記載の応答処理装置。
  9.  前記送信部は、
     前記ユーザから選択された応答に関する情報として、当該ユーザから選択された応答の内容、もしくは、当該ユーザから選択された応答を生成した情報機器の識別情報を前記複数の情報機器に送信する
     請求項8に記載の応答処理装置。
  10.  前記送信部は、
     前記ユーザの反応として、前記提示された各々の応答のうちいずれもが前記ユーザから選択されなかったことを示す情報を前記複数の情報機器に送信する
     請求項1に記載の応答処理装置。
  11.  前記送信部は、
     前記提示された各々の応答のうちいずれもが前記ユーザから選択されなかったことを示す情報とともに、当該各々の応答の内容を前記複数の情報機器に送信する
     請求項10に記載の応答処理装置。
  12.  前記提示部は、
     前記入力情報に対して複数の情報機器が生成した各々の応答の内容を含む音声を用いて、前記ユーザに提示する
     請求項1に記載の応答処理装置。
  13.  前記提示部は、
     前記入力情報に対して複数の情報機器が生成した各々の応答の内容を含む画面表示を用いて、前記ユーザに提示する
     請求項1に記載の応答処理装置。
  14.  前記提示部は、
     過去に前記複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、前記入力情報に対して複数の情報機器が生成した各々の応答の内容を画面に表示する割合もしくは面積を決定する
     請求項13に記載の応答処理装置。
  15.  前記提示部は、
     前記入力情報に対して複数の情報機器が生成した各々の応答の情報量に応じて、当該各々の応答の内容を画面に表示する割合もしくは面積を決定する
     請求項13に記載の応答処理装置。
  16.  前記受付部は、
     前記入力情報として、前記ユーザが発した音声情報を受け付ける
     請求項1に記載の応答処理装置。
  17.  前記受付部は、
     前記入力情報として、前記ユーザから入力されるテキストを受け付ける
     請求項1に記載の応答処理装置。
  18.  コンピュータが、
     情報機器が応答を生成する契機となる情報である入力情報を受け付け、
     前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示し、
     前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する
     応答処理方法。
PCT/JP2019/046876 2019-01-16 2019-11-29 応答処理装置及び応答処理方法 WO2020149031A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE112019006677.3T DE112019006677T5 (de) 2019-01-16 2019-11-29 Antwortverarbeitungsvorrichtung und Antwortverarbeitungsverfahren
JP2020566135A JP7415952B2 (ja) 2019-01-16 2019-11-29 応答処理装置及び応答処理方法
US17/309,983 US20220108693A1 (en) 2019-01-16 2019-11-29 Response processing device and response processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-005559 2019-01-16
JP2019005559 2019-01-16

Publications (1)

Publication Number Publication Date
WO2020149031A1 true WO2020149031A1 (ja) 2020-07-23

Family

ID=71613244

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/046876 WO2020149031A1 (ja) 2019-01-16 2019-11-29 応答処理装置及び応答処理方法

Country Status (4)

Country Link
US (1) US20220108693A1 (ja)
JP (1) JP7415952B2 (ja)
DE (1) DE112019006677T5 (ja)
WO (1) WO2020149031A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111724880A (zh) * 2020-06-09 2020-09-29 百度在线网络技术(北京)有限公司 用户情绪调节方法、装置、设备和可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014086088A (ja) * 2012-10-19 2014-05-12 Samsung Electronics Co Ltd ディスプレイ装置、ディスプレイ装置制御方法及びディスプレイ装置の制御のための情報処理装置
WO2016132620A1 (ja) * 2015-02-18 2016-08-25 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
WO2017184587A1 (en) * 2016-04-18 2017-10-26 Google Inc. Automated assistant invocation of appropriate agent
WO2018027142A1 (en) * 2016-08-05 2018-02-08 Sonos, Inc. Multiple voice services
JP2018036397A (ja) * 2016-08-30 2018-03-08 シャープ株式会社 応答システムおよび機器
WO2018067404A1 (en) * 2016-10-03 2018-04-12 Google Inc. Synthesized voice selection for computational agents

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH074882A (ja) 1993-06-11 1995-01-10 Hitachi Ltd 熱交換器
US7036128B1 (en) * 1999-01-05 2006-04-25 Sri International Offices Using a community of distributed electronic agents to support a highly mobile, ambient computing environment
US7398209B2 (en) * 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7181447B2 (en) * 2003-12-08 2007-02-20 Iac Search And Media, Inc. Methods and systems for conceptually organizing and presenting information
US20090024598A1 (en) * 2006-12-20 2009-01-22 Ying Xie System, method, and computer program product for information sorting and retrieval using a language-modeling kernel function
US8826322B2 (en) * 2010-05-17 2014-09-02 Amazon Technologies, Inc. Selective content presentation engine
US8392411B2 (en) * 2010-05-20 2013-03-05 Google Inc. Automatic routing of search results
US20160063012A1 (en) * 2014-08-29 2016-03-03 Neelakantan Sundaresan Multi-user search or recommendation
US10970646B2 (en) * 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10853747B2 (en) * 2016-10-03 2020-12-01 Google Llc Selection of computational agent for task performance
US10777201B2 (en) * 2016-11-04 2020-09-15 Microsoft Technology Licensing, Llc Voice enabled bot platform
KR101889279B1 (ko) * 2017-01-16 2018-08-21 주식회사 케이티 음성 명령에 기반하여 서비스를 제공하는 시스템 및 방법
KR20200024511A (ko) * 2018-08-28 2020-03-09 삼성전자주식회사 대화 에이전트의 동작 방법 및 그 장치
RU2744029C1 (ru) * 2018-12-29 2021-03-02 Общество С Ограниченной Ответственностью "Яндекс" Система и способ формирования обучающего набора для алгоритма машинного обучения

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014086088A (ja) * 2012-10-19 2014-05-12 Samsung Electronics Co Ltd ディスプレイ装置、ディスプレイ装置制御方法及びディスプレイ装置の制御のための情報処理装置
WO2016132620A1 (ja) * 2015-02-18 2016-08-25 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
WO2017184587A1 (en) * 2016-04-18 2017-10-26 Google Inc. Automated assistant invocation of appropriate agent
WO2018027142A1 (en) * 2016-08-05 2018-02-08 Sonos, Inc. Multiple voice services
JP2018036397A (ja) * 2016-08-30 2018-03-08 シャープ株式会社 応答システムおよび機器
WO2018067404A1 (en) * 2016-10-03 2018-04-12 Google Inc. Synthesized voice selection for computational agents

Also Published As

Publication number Publication date
DE112019006677T5 (de) 2021-11-04
JP7415952B2 (ja) 2024-01-17
JPWO2020149031A1 (ja) 2021-12-02
US20220108693A1 (en) 2022-04-07

Similar Documents

Publication Publication Date Title
US20230186915A1 (en) Processing voice commands based on device topology
US10367652B2 (en) Smart home automation systems and methods
KR102599607B1 (ko) 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드
JP2018190413A (ja) ユーザ発話の表現法を把握して機器の動作やコンテンツ提供範囲を調整し提供するユーザ命令処理方法およびシステム
KR101562834B1 (ko) 콘텍스트 및 액티비티―구동 콘텐트 전달 및 상호작용
CN107370649A (zh) 家电控制方法、系统、控制终端、及存储介质
US20140111689A1 (en) Display device, method of controlling the display device, and information processor to control the display device
WO2020116026A1 (ja) 応答処理装置、応答処理方法及び応答処理プログラム
JP7491221B2 (ja) 応答生成装置、応答生成方法及び応答生成プログラム
KR20180069660A (ko) 음성 인식 방법 및 장치
JP2019164301A (ja) 発話制御装置、発話制御方法、および発話制御プログラム
WO2020202862A1 (ja) 応答生成装置及び応答生成方法
WO2017175442A1 (ja) 情報処理装置、および情報処理方法
JP6557376B1 (ja) 出力制御装置、出力制御方法、および出力制御プログラム
WO2020149031A1 (ja) 応答処理装置及び応答処理方法
WO2016052520A1 (ja) 対話装置
US20210004747A1 (en) Information processing device, information processing method, and program
WO2019107144A1 (ja) 情報処理装置、及び情報処理方法
WO2020017165A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP6499343B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
GB2567067A (en) Processing voice commands based on device topology
JP7136656B2 (ja) 情報処理システムおよびプログラム
JP2017211798A (ja) ネットワークシステム、情報処理方法、およびサーバ
US20210194716A1 (en) Methods and devices to manage action of remote electronic devices
WO2019054009A1 (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: 19910545

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020566135

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 19910545

Country of ref document: EP

Kind code of ref document: A1