WO2019176670A1 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
WO2019176670A1
WO2019176670A1 PCT/JP2019/008769 JP2019008769W WO2019176670A1 WO 2019176670 A1 WO2019176670 A1 WO 2019176670A1 JP 2019008769 W JP2019008769 W JP 2019008769W WO 2019176670 A1 WO2019176670 A1 WO 2019176670A1
Authority
WO
WIPO (PCT)
Prior art keywords
request
response
action
control unit
application
Prior art date
Application number
PCT/JP2019/008769
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 US16/981,282 priority Critical patent/US20210200597A1/en
Priority to CN201980030884.6A priority patent/CN112088361A/zh
Priority to JP2020506432A priority patent/JPWO2019176670A1/ja
Publication of WO2019176670A1 publication Critical patent/WO2019176670A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection
    • 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 technology relates to an information processing apparatus, an information processing method, and a program, and more particularly, to an information processing apparatus suitable for application to a voice agent.
  • UI user interface
  • a voice UI that performs user input by utterance can receive the intended input because it includes uncertainties of “accuracy of speech recognition” and “accuracy of semantic analysis” in the input process compared to character input and the like. It is important to provide early feedback on what has or has not been done.
  • Patent Document 1 discloses a voice UI (User Interface) framework that starts an application (hereinafter referred to as “app” as appropriate) based on a user's utterance and executes a process according to the response. There is a description.
  • app User Interface
  • the purpose of this technology is to be able to satisfactorily perform processing corresponding to user input.
  • the concept of this technology is An intent interpreter that interprets user input intent; A request issuing unit that issues a request according to the interpreted intent, When it is determined based on the issued request whether the process corresponding to the request is executed by the local process execution unit or the cloud process execution unit, and is executed by the cloud process execution unit Is in an information processing apparatus including a local processing control unit that sends the request to the cloud processing control unit.
  • the intention input unit interprets the intention of user input.
  • a request according to the interpreted intention is issued by the request issuing unit.
  • the local process control unit determines whether the process corresponding to this request is executed by the local process execution unit or the cloud process execution unit, and is executed by the cloud process execution unit. If it is determined to do so, a request is sent to the cloud processing control unit. For example, when sending a request to the cloud processing control unit, the local processing control unit may receive a response corresponding to the request from the cloud processing control unit.
  • the local processing control unit sends an application request included in the response to the request issuing unit, and when the request issuing unit receives the application request, the local processing control unit issues a request including application designation information included in the application request. May be. As a result, it is possible to perform processing corresponding to the requests in a chained manner with sequentially designated applications.
  • the application designation information included in the application request may designate the application related to the occurrence of the response again.
  • responses to requests can be made in multiple stages, for example, in two stages, and even when processing corresponding to a request takes time, it is possible to immediately respond to the user in the first stage.
  • a response including an application request may be issued by the cloud processing control unit.
  • a rendering unit that outputs an audio or video signal based on response information included in the response may be further provided.
  • the rendering unit corresponds to the first request.
  • the output of the audio or video signal may be stopped, and the output of the audio or video signal corresponding to the second request may be started.
  • the processing corresponding to the request is processed by the local processing execution unit or the cloud processing execution unit, and the processing is performed by the cloud processing execution unit. If it is determined to do so, the request is sent to the cloud processing control unit. Therefore, the process corresponding to the user input can be favorably performed in cooperation with the local process execution unit and the cloud process execution unit.
  • processing corresponding to user input can be performed satisfactorily.
  • the effects described here are not necessarily limited, and may be any of the effects described in the present disclosure.
  • FIG. 1 shows a configuration example of an information processing apparatus 10 as an embodiment.
  • the information processing device 10 includes a local processing device 100 and a cloud processing device 200.
  • the local processing device 100 includes an input unit 101, an intention interpretation unit (Agent Core) 102, a notification monitoring unit (Event Monitor) 103, a local processing control unit (Local App Dispatcher) 104, and a local processing execution unit (Local App Actions) 105, a rendering unit (App Renderer) 106, and an output unit 107.
  • the cloud-side processing device 200 includes a cloud processing control unit (Cloud App Dispatcher) 201, a cloud processing execution unit (Cloud App Actions) 202, and an external service 203.
  • the input unit 101 includes a microphone that detects a user's speech, an image sensor that acquires a surrounding image, a hardware key for a user to perform an input operation, a notification reception unit from a network, and the like.
  • the input unit 101 inputs key input information, notification information from the network, and the like to the notification monitoring unit 103 as system events.
  • the input unit 101 sends the user's speech detected by the microphone and the surrounding image acquired by the image sensor to the intention interpretation unit 102.
  • the intention interpretation unit 102 recognizes a voice of the user's utterance, further interprets the intention, and inputs an utterance event including the interpretation information to the notification monitoring unit 103.
  • the intention interpretation unit 102 performs image analysis on the surrounding image, further interprets the intention, and inputs a sensing event including the interpretation information to the notification monitoring unit 103.
  • the notification monitoring unit 103 issues an action request (ActionRequest) that is a request (AppAction) of an application action (AppAction) based on various input events.
  • ActionRequest an action request
  • This action request includes information on type, intent, and slots.
  • the notification monitoring unit 103 also issues an action request based on an app event based on an app request (AppRequest) described later.
  • the action request further includes information on an app ID (appId).
  • the type indicates the event type. For example, in an action request for an utterance event, the event type is “speech”. Also, for example, in the system event action request, “system” is set. Also, for example, in the action request for an app event, the event type is “app”.
  • the intent indicates the intention of each event. For example, when there is an utterance “tell me time”, the intent is “CHECK-TIME”. For example, when there is an utterance “tell me the weather”, the intent is “WEATHER-CHECK”. For example, when the hardware key is pressed, the intent is “KEY-PRESSED”.
  • the slot indicates information supplementing the intent.
  • an example of an action request at the time of user utterance of “set alarm at 2” is shown below.
  • the local processing control unit 104 determines whether the local processing execution unit 105 executes processing corresponding to the action request or leaves the determination to the cloud processing control unit 201. to decide.
  • the local process control unit 104 determines that the local process execution unit 105 executes the process, and sends an action request to the local process execution unit 105.
  • the local process control unit 104 receives an action response (ActionResponse) that is a response (Response) of the application action (AppAction) from the local process execution unit 105.
  • the local processing control unit 104 has a correspondence table that “when an action request including this intent comes, this local application execution unit 105 executes this application action”. Therefore, when the intent included in the action request received from the notification monitoring unit 103 is included in the correspondence table, the local processing control unit 104 determines that the local processing execution unit 105 executes the intent, and handles the action request. Send it to an app action for processing. Note that the application actions on the local side do not form the body of the application as an aggregate unlike the application actions on the cloud side described later, and each application action exists alone.
  • the local processing control unit 104 delegates the determination to the cloud side, that is, the cloud processing control unit 201 when the intent included in the action request received from the notification monitoring unit 103 is not included in the correspondence table.
  • the action request is sent to the cloud processing control unit 201.
  • the local processing control unit 104 for example, an action that operates even in a non-Internet connection environment, an action that performs rendering immediately (such as visual feedback of sensing status), and an action that operates in a dedicated mode (system update, Wifi AP connection, activation Feedback, user registration application, etc.) are executed by the local process execution unit 105.
  • an action that operates even in a non-Internet connection environment an action that performs rendering immediately (such as visual feedback of sensing status)
  • an action that operates in a dedicated mode system update, Wifi AP connection, activation Feedback, user registration application, etc.
  • local processing such as volume increase / decrease processing is executed by the local processing execution unit 105.
  • the local process control unit 104 sends an action request to the cloud process control unit 201 and then receives an action response (ActionResponse) from the cloud control unit 201.
  • ActionResponse an action response
  • the action response includes information of output speech (outputSpeech), output visual (outputVisual), and application request (appRequest).
  • Output speech is information (speech response information) for presenting the response in a voice. For example, for the utterance "Tell me about the weather today" Corresponds to text data of response sentence.
  • the output visual is information (screen response information) for presenting the response as a video, and is provided in, for example, a text-based data format.
  • the application request indicates an application execution request for the purpose of cooperation between application actions.
  • the action response application request includes information on an application ID (appId), an intent, a slot, and a delay.
  • the application ID indicates application designation information for designating to which application the action request is issued.
  • the intent indicates intent information included in the action request.
  • the slot indicates slot information to be included in the action request.
  • the delay indicates a delay time until an action request is issued.
  • appId ⁇ your app ID> intent: ⁇ Intent contained in ActionRequest> slots: ⁇ slots in ActionRequest> delay: 0
  • the local processing control unit 104 sends response information (output speech, output visual) included in the action response to the rendering unit 106.
  • the rendering unit 106 performs rendering (sound effect, voice synthesis, animation) based on the response information, and sends the generated audio signal and video signal to the output unit 107.
  • the output unit 107 includes an audio output device such as a speaker and a video output device such as a projector, and outputs audio and video based on audio signals and video signals.
  • the rendering unit 106 when the response information corresponding to the subsequent second action request is sent from the local processing control unit 104 while the audio signal or the video signal corresponding to the first action request is being output, Output of the audio signal and video signal corresponding to the first action request is stopped, and output of the audio signal and video signal corresponding to the second action request is started.
  • the response information corresponding to the subsequent second action request is sent from the local processing control unit 104 while the audio signal or the video signal corresponding to the first action request is being output
  • Output of the audio signal and video signal corresponding to the first action request is stopped, and output of the audio signal and video signal corresponding to the second action request is started.
  • the local processing control unit 104 sends the application request to the notification monitoring unit 103 as an application event. Based on this application event, the notification monitoring unit 103 issues an action request after a delay time indicated by a delay has elapsed.
  • the action request includes information on an application ID (appId) in addition to information on a type, an intent, and a slot.
  • appId application ID
  • each information of the intent, the slot, and the application ID is made equal to that included in the application request.
  • the cloud process control unit 201 receives the action request sent from the local process control unit 104 and sends the action request to the cloud process execution unit 202.
  • the cloud processing execution unit 202 includes a plurality of apps (cloud apps).
  • the application is a collection of related application actions, and is an aggregate of a plurality of application actions. For example, an application action for processing “CHECK-TIME” and an application action for processing “SET-ALARM” are included in the clock application.
  • the application action is an execution unit that is called in response to an intent, and is a function that receives an action request and returns an action response.
  • the application action may return information acquired by accessing the external service 203 such as a web API as response information.
  • the cloud processing control unit 201 uniquely determines an application action that executes this action request based on the intent information included in the action request sent from the local processing control unit 104. In addition, if the action request type indicates an utterance event and the utterance slot information is insufficiency that can be complemented or has an ambiguous content, the cloud processing control unit 201 may detect the lack of slot information or ambiguity. Make a solution.
  • the cloud processing control unit 201 can grasp the currently displayed screen information from the content of the action response returned most recently. When information such as time or place is displayed on the screen and information such as time or place is insufficient in the slot, this is complemented. In addition, when the user utterance includes an instruction word such as “Show the weather here”, the display information is similarly complemented. It also resolves words with multiple interpretations from the conversation history. For example, in the past dialogue, when the user asked "Tell me about the weather in Osaki” and presented the weather for "Osaki City”, and the user had reworded "Osaki Station", speaking of Osaki Knowledge of the station is held inside the cloud processing control unit 201 and used for subsequent slot resolution.
  • the cloud processing control unit 201 sends the action request sent from the local processing control unit 104 to the application action uniquely determined as described above, which exists in the cloud processing execution unit 202.
  • the cloud processing control unit 201 receives an action response including response information from the application action that has processed the action request, and sends the action response to the local processing control unit 104.
  • the cloud processing control unit 201 has a correspondence table that accepts which intent and calls the application action for each application.
  • the cloud processing control unit 201 performs processing in the following order to determine an application action that executes an action request sent from the local processing control unit 104.
  • (1) When an application ID that is application designation information is included in the action request, the correspondence table of the application designated by the application ID is referred to.
  • (2) Otherwise, refer to the correspondence table of the foreground app, that is, the app that last displayed the screen. For example, when there is an utterance “Show the weather”, a weather screen is displayed. In this case, the weather app is the foreground app.
  • the cloud processing control unit 201 also has a correspondence table for this common application.
  • This correspondence table is for designating an application action for processing a common operation such as returning to the previous screen display by the utterance “go back”.
  • This default correspondence table shows the correspondence between intents and apps separately from the correspondence table for each application. Actually, referring to the correspondence table of the application obtained in this default correspondence table, Determine app actions.
  • the cloud processing control unit 201 sends an action response including error information to the local processing control unit 104.
  • Two-step response A two-step response will be described. For example, in response to a user's utterance “display schedule”, the corresponding app action on the cloud side inquires the external calendar service, so it takes time to generate an action response based on the response from the external calendar service .
  • This 2-step response is a device for a response to processing that takes time to generate response contents.
  • the application action responds immediately with the contents that can be returned immediately, and at the same time, calls itself up with an application request.
  • a response related to a time-consuming process is made.
  • FIG. 2 shows an example of a two-step response sequence.
  • illustration of the intention interpretation unit 102 and the notification monitoring unit 103 is omitted for simplification.
  • an action request (first stage) of the utterance event is sent from the local processing control unit 104 to the cloud processing control unit 201, and this action request is further sent to the cloud processing execution unit. 202 to the corresponding app action.
  • This app action generates a first-stage action response that includes the voice response information “I will display today's schedule” and an app request to recall myself. As shown by the dashed line, this action response is The data is sent to the local processing control unit 104 through the processing control unit 201.
  • the voice response information included in the action response of the first stage is sent to the rendering unit 106 and rendered, and the voice output (response playback) of “display today's schedule” is started as the response of the first stage.
  • an action request (second stage) of an application event by an application request included in the action response is sent to the cloud process control unit 201, and this action request is further sent to the corresponding application action of the cloud process execution unit 202.
  • the second-stage action response including the voice response information “I am here” and the screen response information of the calendar with the schedule filled in is displayed.
  • the action response is generated and sent to the local processing control unit 104 through the cloud processing control unit 201 as indicated by a broken line.
  • the voice response information and the screen response information included in the second-stage action response are sent to the rendering unit 106 for rendering, and the first-stage response is completed. Is started and the calendar screen is displayed.
  • Second stage response generation The response generation at the first stage will be described. How to respond to the first stage is up to you depending on the implementation of the application action side, but considering the nature of the two-stage response that delays the time-consuming process and responds to the second stage, 1 It is desirable to return the response of the step as follows. (1) Return something that can be answered immediately. In this case, a response is returned only from the input information. (2) Inform the user that the request has been correctly accepted. In this case, the user's request content is repeated (mirroring), or specific request content such as date / time, place, and schedule name is entered in the response text.
  • the following is not essential, but it is desirable to consider it for a more natural response.
  • (1) Prepare a plurality of response patterns and return appropriate ones (to give a mechanical impression if the response is routine). In this case, the selection is made at random and prioritized based on user attributes such as the age / gender of the uttering user.
  • (2) The response tone is adjusted according to the normal tone of the speaking user. In this case, the ending is adjusted to “ ⁇ dayo” for the user who speaks “to da ne”, and “to is” for the user who speaks “?
  • interrupt The interrupt will be described. When there is a user input interrupt, the sound or video in response to the interrupt is preferentially output.
  • FIG. 3 shows an example of an interrupt sequence during response reproduction after dispatch. In this example, illustration of the intention interpretation unit 102 and the notification monitoring unit 103 is omitted for simplification. The same applies to the following sequence examples.
  • the local processing control unit 104 sends an action request “request 1” of the utterance event to the cloud processing control unit 201, and this action request “request 1” It is sent to the corresponding application action (1) of the cloud processing execution unit 202.
  • action (1) a process for the action request “request 1” is executed, and an action response “response 1” including voice response information “Today's weather is ...” is generated. 1 ”is sent to the local processing control unit 104 through the cloud processing control unit 201. The voice response information included in this action response “response 1” is sent to the rendering unit 106 and rendered, and output (playback) of a response voice of “Today's weather is ...” is started.
  • an action request “request 2” of the utterance event is sent from the local processing control unit 104 to the cloud processing control unit 201. Further, the action request “request 2” is sent to the corresponding application action (2) of the cloud processing execution unit 202.
  • action (2) the process for the action request “request 2” is executed, and an action response “response 2” including voice response information “current time is 18:02 minutes” is generated. “Response 2” is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the audio response information included in this action response “response 2” is sent to the rendering unit 106 for rendering, and output of the response audio “Current time is 18:02 minutes” is started. At this point, if the response voice for the action request “request 1” continues to be output, it is interrupted.
  • FIG. 4 shows an example of an interrupt sequence during dispatch.
  • the local processing control unit 104 sends an action request “request 1” of the utterance event to the cloud processing control unit 201, and this action request “request 1” It is sent to the corresponding application action (1) of the cloud processing execution unit 202.
  • an action request “request 2” of the utterance event is sent from the local processing control unit 104 to the cloud processing control unit 201, and further this action The request “request 2” is sent to the corresponding application action (2) of the cloud process execution unit 202.
  • the process for the action request “request 1” is executed, and an action response “response 1” including voice response information “Today's weather is ...” is generated.
  • the voice response information included in this action response “response 1” is sent to the rendering unit 106 and rendered, and output (playback) of a response voice of “Today's weather is ...” is started.
  • processing for the action request “request 2” is executed, and an action response “response 2” including voice response information “current time is 18:02 minutes” is generated.
  • the response “response 2” is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the audio response information included in this action response “response 2” is sent to the rendering unit 106 for rendering, and output of the response audio “Current time is 18:02 minutes” is started. At this point, if the response voice for the action request “request 1” continues to be output, it is interrupted.
  • FIG. 5 shows an example of an interrupt & overtaking sequence during dispatch.
  • the local processing control unit 104 sends an action request “request 1” of the utterance event to the cloud processing control unit 201, and this action request “request 1” It is sent to the corresponding application action (1) of the cloud processing execution unit 202.
  • an action request “request 2” of the utterance event is sent from the local processing control unit 104 to the cloud processing control unit 201, and further this action The request “request 2” is sent to the corresponding application action (2) of the cloud process execution unit 202.
  • the process for the action request “request 2” is executed, and an action response “response 2” including voice response information “current time is 18:02 minutes” is generated.
  • “response 2” is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the voice response information included in this action response “response 2” is sent to the rendering unit 106 and rendered, and output (playback) of a response voice “current time is 18:02 minutes” is started.
  • the process for the action request “request 1” is executed, and an action response “response 1” including voice response information “Today's weather is ...” is generated. “response 1” is sent to the local processing control unit 104 through the cloud processing control unit 201. At this time, the output of the response voice for the action request “request 2” has already started, and the local processing control unit 104 knows that, so the action response “response 1” for this action request “request 1”. Is ignored.
  • the action response “response 2” becomes an error response when the application action (2) for the action request “request 2” has been processed, but if an error occurs inside it, or the action request “request 2” is processed For example, the application action to be performed cannot be determined. 6, 7, and 8, an action request “request2012” is sent from the cloud processing control unit 201 to the application action (2). If the application action for processing “request 2” cannot be determined, the action request “request 2” is not sent to the application action (2), and the action response “response 2” as an error response is sent to the cloud processing control unit 201. Is generated.
  • FIGS. 9A to 9F and FIGS. 10A to 10D schematically show an example of an interrupt sequence for a two-step response. The broken line indicates the behavior of the interrupt.
  • FIGS. 9A, 9B, and 9C show sequence examples when the same interrupt as the sequence examples of FIGS. 3, 4, and 5 is performed on the first stage.
  • the action response to the interrupt action request returns, the first-stage response output (reproduction) is canceled, and the second-stage action request is also canceled.
  • FIGS. 9D, 9E, and 9F show sequence examples in the case where an interrupt similar to the sequence examples of FIGS. 3, 4, and 5 is performed on the second stage.
  • the action response to the interrupt action request is returned, the second-stage action request is canceled.
  • the response output (reproduction) at the first stage is still continued at that time, it is canceled as a matter of course.
  • FIGS. 10 (a) to 10 (d) show sequence examples when the action request and the action response related to the interrupt span the first and second stages.
  • FIG. 11 shows an example of an interrupt sequence during a two-step response corresponding to FIG.
  • the local processing control unit 104 sends an action request (first request) of the utterance event to the cloud processing control unit 201, and this action request is further processed by the cloud processing It is sent to the corresponding application action (1) of the execution unit 202.
  • an interrupt request which is an action request for the utterance event, is sent from the local processing control unit 104 to the cloud processing control unit 201, and this interruption is further performed.
  • the request is sent to the corresponding application action (2) of the cloud processing execution unit 202.
  • the first-stage action response including the voice response information “I will display today's schedule” and the application request for recalling itself is generated. As shown by the broken line, this action response Is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the voice response information included in the first-stage action response is sent to the rendering unit 106 for rendering, and as the first-stage response, output (playback) of the response voice “Display today's schedule” is started.
  • an action request (second stage request) of an application event by an application request included in the action response is sent to the cloud process control unit 201, and this action request is also sent to the corresponding application action (1) of the cloud process execution unit 202. Sent to.
  • an interrupt response which is an action response including voice response information “current time is 18:02 minutes” is generated.
  • the response is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the voice response information included in this interrupt response is sent to the rendering unit 106 and rendered, and output of the response voice of the interrupt “current time is 18:02 minutes” is started. At this time, if output of response sound of the first-stage action response continues, it is interrupted.
  • processing for the second-stage action request is executed, and a second-stage action response is generated.
  • This action response is controlled by the local processing control via the cloud processing control unit 201 as indicated by a broken line. Sent to the unit 104. At this time, the output of the response voice for the interrupt response has already been started, and the local processing control unit 104 knows that, so this action response is ignored.
  • FIG. 12 shows an example of an interrupt sequence during a two-step response corresponding to FIG.
  • the local processing control unit 104 sends an action request (first request) of the utterance event to the cloud processing control unit 201, and this action request is further processed by the cloud processing It is sent to the corresponding application action (1) of the execution unit 202.
  • an interrupt request which is an action request for the utterance event, is sent from the local processing control unit 104 to the cloud processing control unit 201, and this interruption is further performed.
  • the request is sent to the corresponding application action (2) of the cloud processing execution unit 202.
  • the first-stage action response including the voice response information “I will display today's schedule” and the application request for recalling itself is generated. As shown by the broken line, this action response Is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the voice response information included in the first-stage action response is sent to the rendering unit 106 for rendering, and as the first-stage response, output (playback) of the response voice “Display today's schedule” is started.
  • an application event action request (second-stage request) based on the application request included in this action response is sent to the cloud processing control unit 201, and the action request is sent to the corresponding application action (1 ).
  • the voice response information and the screen response information included in the second-stage action response are sent to the rendering unit 106 for rendering, and the first-stage response is completed. Is started and the calendar screen is displayed.
  • processing for the interrupt request is executed, and an interrupt response that is an action response including voice response information “current time is 18:02 minutes” is generated.
  • This interrupt response is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the voice response information included in this interrupt response is sent to the rendering unit 106 and rendered, and output of the response voice of the interrupt “current time is 18:02 minutes” is started. At this time, if the response (voice, screen) of the second-stage action response continues to be output, it is interrupted.
  • FIG. 13 shows an example of an interrupt sequence during a two-step response corresponding to FIG.
  • the local processing control unit 104 sends an action request (first request) of the utterance event to the cloud processing control unit 201, and this action request is further processed by the cloud processing It is sent to the corresponding application action (1) of the execution unit 202.
  • the first-stage action response including the voice response information “I will display today's schedule” and the application request for recalling itself is generated. As shown by the broken line, this action response Is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • an interrupt request which is an action request for the utterance event, is sent from the local processing control unit 104 to the cloud processing control unit 201, and this interruption is further performed.
  • the request is sent to the corresponding application action (2) of the cloud processing execution unit 202.
  • the voice response information included in the first-step action response sent to the local processing control unit 104 is sent to the rendering unit 106 for rendering, and a response of “display today's schedule” is displayed as the first-step response. Audio output (playback) is started.
  • an application event action request (second-stage request) based on the application request included in this action response is sent to the cloud processing control unit 201, and the action request is sent to the corresponding application action (1 ).
  • an interrupt response which is an action response including voice response information “current time is 18:02 minutes” is generated.
  • the response is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the voice response information included in this interrupt response is sent to the rendering unit 106 and rendered, and output of the response voice of the interrupt “current time is 18:02 minutes” is started. At this time, if output of response sound of the first-stage action response continues, it is interrupted.
  • processing for the second-stage action request is executed, and a second-stage action response is generated.
  • This action response is controlled by the local processing control via the cloud processing control unit 201 as indicated by a broken line. Sent to the unit 104. At this time, the output of the response voice for the interrupt response has already been started, and the local processing control unit 104 knows that, so this action response is ignored.
  • FIG. 14 shows an example of an interrupt sequence for the two-step response corresponding to FIG.
  • the local processing control unit 104 sends an action request (first request) of the utterance event to the cloud processing control unit 201, and this action request is further processed by the cloud processing It is sent to the corresponding application action (1) of the execution unit 202.
  • the first-stage action response including the voice response information “I will display today's schedule” and the application request for recalling itself is generated. As shown by the broken line, this action response Is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • an interrupt request which is an action request for the utterance event, is sent from the local processing control unit 104 to the cloud processing control unit 201, and this interruption is further performed.
  • the request is sent to the corresponding application action (2) of the cloud processing execution unit 202.
  • the voice response information included in the first-step action response sent to the local processing control unit 104 is sent to the rendering unit 106 for rendering, and a response of “display today's schedule” is displayed as the first-step response. Audio output (playback) is started.
  • an application event action request (second-stage request) based on the application request included in this action response is sent to the cloud processing control unit 201, and the action request is sent to the corresponding application action (1 ).
  • the voice response information and the screen response information included in the second-stage action response are sent to the rendering unit 106 for rendering, and the first-stage response is completed. Is started and the calendar screen is displayed.
  • processing for the interrupt request is executed, and an interrupt response that is an action response including voice response information “current time is 18:02 minutes” is generated.
  • This interrupt response is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the voice response information included in this interrupt response is sent to the rendering unit 106 and rendered, and output of the response voice of the interrupt “current time is 18:02 minutes” is started. At this time, if the response (voice, screen) of the second-stage action response continues to be output, it is interrupted.
  • interrupt response is an error response and is ignored. Does not affect the existing behavior (see FIG. 2).
  • the application action sets a timer (for example, 1 second) upon receiving an action request. Then, the application action cancels the timer and returns an action response as usual when all necessary processing is completed before the timer firing. On the other hand, if the timer fires before all necessary processing is completed, the application action interrupts the execution of the necessary processing, switches the policy to the two-step response, and returns the action response corresponding to the first step of the two-step response. To return.
  • the subsequent application action processing is the same as in the case of the two-step response described above.
  • the local processing control unit 104 performs processing corresponding to the action request on the basis of the action request issued by the notification monitoring unit 103. If the cloud processing execution unit 202 determines whether to perform the processing, and the cloud processing execution unit 202 determines that the processing is to be performed, the action request is sent to the cloud processing control unit 201. Therefore, the process corresponding to the user input can be favorably performed by the cooperation of the local process execution unit 105 and the cloud process execution unit 202.
  • an application request having application designation information can be included in an action response generated by the application action of the cloud processing execution unit 202, and the application action of the application action is generated by the application designation information.
  • the rendering unit 106 transmits response information corresponding to the second action request (interrupt request) while outputting an audio or video signal corresponding to the first action request.
  • the audio or video signal output corresponding to the first action request is stopped, and the audio or video signal output corresponding to the second action request is started. Therefore, when a user input interrupt occurs, it is possible to preferentially output the sound or video of the response to the interrupt, and a natural interrupt response can be executed.
  • the application action also performs the first-stage response in the two-stage response.
  • the first-stage response may be performed by the cloud processing control unit 201.
  • the two-stage response in which the cloud process control unit 201 performs the first-stage response in this way is referred to as “default two-stage response”.
  • the cloud processing control unit 201 is set to have a boolean value indicating which intent is handled in the default two-step response. It may be.
  • FIG. 15 shows an example of a predetermined two-step response sequence.
  • illustration of the intention interpretation unit 102 and the notification monitoring unit 103 is omitted for simplification.
  • the local processing control unit 104 sends an action request (first request) of the utterance event to the cloud processing control unit 201.
  • the cloud control processing unit 201 determines from the intent information included in this action request that it will be handled with a default two-step response. Then, in the cloud control processing unit 201, an application for calling an application action that actually processes an action request, and voice response information “display today's schedule” that is a predetermined two-stage response according to the intent A first-stage action response including the request is generated, and this action response is sent to the local processing control unit 104 through the cloud processing control unit 201 as indicated by a broken line.
  • the voice response information included in the action response of the first stage is sent to the rendering unit 106 and rendered, and the voice output (response playback) of “display today's schedule” is started as the response of the first stage.
  • an action request (second stage request) of an application event based on the application request included in the action response is sent to the cloud process control unit 201, and this action request is sent to the corresponding application action of the cloud process execution unit 202.
  • the second-stage action response that includes the voice response information “Here is” and the screen response information of the calendar that has been filled in the schedule is displayed.
  • the action response is generated and sent to the local processing control unit 104 through the cloud processing control unit 201 as indicated by a broken line.
  • the voice response information and the screen response information included in the second-stage action response are sent to the rendering unit 106 for rendering, and the first-stage response is completed. Is started and the calendar screen is displayed.
  • the response generation at the first stage when using the default two-stage response will be described.
  • the response in the first step is performed by the cloud processing control unit 201, which is a common part, and thus the response content needs to be devised.
  • the response generation of the first step in the predetermined two-step response can be performed by randomly selecting from the following patterns.
  • a response is generated by mirroring including user utterances such as “It is ⁇ user utterance ⁇ ” or “I understand with ⁇ user utterance ⁇ ”.
  • the response content at that time may be passed as a setting.
  • the weather app may set “I ’m going to ask Dr. Weather for a moment” as the response.
  • the cloud processing control unit 201 may use it as a response as it is or may be one of the candidates.
  • the cloud processing control unit 201 may perform user attribute consideration, tone adjustment, and the like in the normal two-step response, similarly to the first-step response generation on the application action side.
  • Domain Goal (Intent) Estimation As described in the above embodiment, the user's utterance is recognized by the intention interpreter (Agent Core) 102 and is interpreted as intended. Further, as shown in the sequence example of FIG. The user's intention for the omitted utterance is also complemented.
  • the intention interpreter 102 performs complementation such as “tomorrow's schedule”. Things are also done.
  • an action request corresponding to “Tomorrow's schedule” is issued from the notification monitoring unit (Event Monitor) 103.
  • the intention interpreter 102 basically switches the context when a user utterance with a different intention occurs.
  • the context may be switched by feedback from the application action side.
  • FIG. 17 shows an example of the sequence in that case.
  • the notification monitoring unit 103 is not shown for simplification.
  • the intention interpreter (Agent Core) 102 interprets the intention.
  • the context of the intention interpretation unit 102 is switched to “scheduled context”.
  • the interpretation result of the intention interpreting unit 102 is sent to a notification monitoring unit (Event Monitor) 103, and an action request corresponding to “display schedule” is issued.
  • This action request is sent from the local process control unit 104 to the cloud process control unit 201 and further sent to the corresponding application action of the cloud process execution unit 202.
  • an action request is processed.
  • an action response is generated that includes the audio information “How is the weather instead of the schedule?”
  • the feedback “dalogueState” information about the weather topic is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the voice response information included in this action response is sent to the rendering unit 106 for rendering, and as a response, voice output of “How is the weather, not a plan?” Is started. Also, the information of feedback “dalogueState” indicating that it is the topic of the weather included in the action response is sent to the intention interpreting unit 102, and the context of the intention interpreting unit 102 is switched to “weather context”.
  • the intention interpreting unit 102 based on the “weather context”, differs from the example of FIG. Complement is performed.
  • an action request corresponding to “Tomorrow's weather” is issued from the notification monitoring unit (Event (Monitor) 103.
  • the local processing control unit (Local App Dispatcher) 104 assigns an “interrupt flag” in the following cases. (1) When another user utterance is being dispatched or its response is being replayed (2) When another user utterance is being dispatched or its response is being replayed, the interrupted utterance and the interrupting utterance Are the same intent
  • app action can change the response content according to the interrupt flag. For example, if an app action that displays a schedule receives a request for “scheduled tomorrow” + interrupt flag ⁇ ⁇ ⁇ ⁇ , it should be answered “Oh, is it tomorrow?” It is possible to respond like “I understand.”
  • FIG. 18 shows an example of a sequence related to a response after understanding that it is an interrupt.
  • the local processing control unit 104 sends an action request (first request) of the utterance event to the cloud processing control unit 201, and this action request is further processed by the cloud processing It is sent to the corresponding application action (1) of the execution unit 202.
  • the first-stage action response including the voice response information “I will display today's schedule” and the application request for recalling itself is generated. As shown by the broken line, this action response Is sent to the local processing control unit 104 through the cloud processing control unit 201.
  • the voice response information included in the first-step action response sent to the local processing control unit 104 is sent to the rendering unit 106 for rendering, and a response of “display today's schedule” is displayed as the first-step response. Audio output (playback) is started.
  • an application event action request (second-stage request) based on the application request included in this action response is sent to the cloud processing control unit 201, and the action request is sent to the corresponding application action (1 ).
  • an action request (interrupt request) of the utterance event is sent from the local processing control unit 104 to the cloud processing control unit 201, and a corresponding application Sent to action (2).
  • An interrupt flag indicating an interrupt is added to this interrupt request.
  • the voice response information and the screen response information included in the second-stage action response are sent to the rendering unit 106 for rendering, and the first-stage response is completed. Is started and the calendar screen is displayed.
  • processing for the interrupt request is executed, and a response can be created after understanding that the interrupt is based on the interrupt flag. For example, an interrupt response that is an action response including voice response information “Oops, is it tomorrow?” Is generated, and this interrupt response is sent to the local processing control unit 104 through the cloud processing control unit 201 as indicated by a broken line.
  • the voice response information included in this interrupt response is sent to the rendering unit 106 for rendering, and the output of the response voice of the “Oops, tomorrow?” Interrupt is started. At this time, if the response (voice, screen) of the second-stage action response continues to be output, it is interrupted.
  • an example in which a two-step response is performed using an application request (appRequest) included in an action response has been described.
  • the present invention is not limited to two steps, and three steps are similarly performed. It is conceivable to respond as described above. For example, it can be applied to a case where information is to be presented sequentially while switching screens. In addition to calling the same application action again, it is also possible to make a stepwise response by sequentially calling other application actions.
  • this technique can also take the following structures.
  • an intention interpreter that interprets the intention of user input;
  • a request issuing unit that issues a request according to the interpreted intent, When it is determined based on the issued request whether the process corresponding to the request is executed by the local process execution unit or the cloud process execution unit, and is executed by the cloud process execution unit Is a local processing control unit that sends the request to the cloud processing control unit.
  • the local processing control unit receives a response corresponding to the request from the cloud processing control unit when sending the request to the cloud processing control unit.
  • the local processing control unit sends the application request included in the response to the request issuing unit, The information processing apparatus according to (2), wherein the request issuing unit issues a request including application designation information included in the application request when the application request is received.
  • the rendering unit transmits the audio corresponding to the first request or The information processing apparatus according to (6), wherein output of video signals is stopped and output of audio or video signals corresponding to the second request is started.
  • an intention interpreting step in which the intention interpreting unit interprets the intention of the user input;
  • a request issuing step in which the request issuing unit issues a request according to the interpreted intent;
  • the local process information control unit determines whether the process corresponding to the request is executed by the local process execution unit or the cloud process execution unit, and the cloud process execution unit
  • An information processing method comprising a local processing control step of sending the request to the cloud processing control unit when it is determined to execute the request.
  • the local processing control unit receives a response corresponding to the request from the cloud processing control unit when sending the request to the cloud processing control unit.
  • the local processing control unit sends the application request included in the response to the request issuing unit, The information processing method according to (9), wherein the request issuing unit issues a request including application designation information included in the application request when the application request is received.
  • SYMBOLS 10 Information processing apparatus 100 ... Local side processing apparatus 101 ... Input part 102 ... Intent interpretation part (Agent Core) 103 ... Notification monitor (Event Monitor) 104 ... Local processing controller (Local App Dispatcher) 105 ... Local process execution part (Local App Actions) 106 ... Rendering part (App Renderer) DESCRIPTION OF SYMBOLS 107 ... Output part 200 ... Cloud side processing apparatus 201 ... Cloud process control part (Cloud App Dispatcher) 202 ⁇ ⁇ ⁇ Cloud App Actions 203 ... External service

Landscapes

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

Abstract

ユーザ入力に対応した処理を良好に行い得るようにする。 意図解釈部により、ユーザ入力の意図を解釈する。リクエスト発行部により、解釈された意図に応じたリクエストを発行する。ローカル処理制御部により、発行されたリクエストに基づき、該リクエストに対応した処理をローカル処理実行部で実行させるか、またはクラウド処理実行部で実行させるかを判断し、クラウド処理実行部で実行させると判断した場合にはリクエストをクラウド処理制御部に送る。

Description

情報処理装置、情報処理方法およびプログラム
 本技術は、情報処理装置、情報処理方法およびプログラムに関し、特に、音声エージェントに適用して好適な情報処理装置等に関する。
 例えば、音声エージェントにおいて、ユーザ入力に対応した処理の全てをクラウド側で行うことも考えられるが、ローカル側でも十分に対応でき、あるいはローカル側で処理した方が好適な場合もある。
 また、一般的に、ユーザ入力に対してシステムからの出力によるフィードバックを与えることは、優れたユーザインタフェース(UI:Use interface)を実現するためには重要な要素である。しかし、発話によってユーザ入力を行う音声UIでは、文字入力等に比べて、入力過程で「音声認識の精度」、「意味解析の精度」という不確実性を含むことから、意図した入力を受領できたこと、あるいはできなかったことを早期にフィードバックすることは重要である。
 例えば、特許文献1には、ユーザの発話に基づいてアプリケーション(以下、適宜、「アプリ」という)を起動し、その応答に応じた処理を実行する、という音声UI(User Interface)フレームワークについての記載がある。
特表2017-527844号公報
 本技術の目的は、ユーザ入力に対応した処理を良好に行い得るようにすることにある。
 本技術の概念は、
 ユーザ入力の意図を解釈する意図解釈部と、
 上記解釈された意図に応じたリクエストを発行するリクエスト発行部と、
 上記発行されたリクエストに基づき、該リクエストに対応した処理をローカル処理実行部で実行させるか、またはクラウド処理実行部で実行させるかを判断し、上記クラウド処理実行部で実行させると判断した場合には上記リクエストをクラウド処理制御部に送るローカル処理制御部を備える
 情報処理装置にある。
 本技術において、意図解釈部により、ユーザ入力の意図が解釈される。リクエスト発行部により、解釈された意図に応じたリクエストが発行される。そして、ローカル処理制御部により、発行されたリクエストに基づき、このリクエストに対応した処理をローカル処理実行部で実行させるか、またはクラウド処理実行部で実行させるかが判断され、クラウド処理実行部で実行させると判断した場合にはリクエストがクラウド処理制御部に送られる。例えば、ローカル処理制御部は、クラウド処理制御部にリクエストを送るとき、クラウド処理制御部からリクエストに対応したレスポンスを受ける、ようにされてもよい。
 例えば、ローカル処理制御部は、レスポンスに含まれるアプリリクエストをリクエスト発行部に送り、リクエスト発行部は、アプリリクエストを受けたとき、このアプリリクエストに含まれるアプリ指定情報を含むリクエストを発行する、ようにされてもよい。これにより、リクエストに対応した処理を、順次指定されたアプリで連鎖的に行うことが可能となる。
 この場合、例えば、アプリリクエストに含まれるアプリ指定情報は、レスポンスの発生に係るアプリを再度指定する、ようにされてもよい。これにより、リクエストに対するレスポンスを複数段階、例えば2段階で行うことが可能となり、リクエストに対応した処理に時間がかかる場合であっても、ユーザに即座に1段階目の応答を行うことが可能となる。例えば、アプリリクエストが含まれるレスポンスは、クラウド処理制御部で発行される、ようにされてもよい。
 また、例えば、レスポンスに含まれる応答情報に基づいて音声または映像の信号を出力するレンダリング部をさらに備える、ようにされてもよい。そして、この場合、例えば、レンダリング部は、第1のリクエストに対応した音声または映像の信号出力中に、第2のリクエストに対応した応答情報が送られてくるとき、第1のリクエストに対応した音声または映像の信号出力を中止し、第2のリクエストに対応した音声または映像の信号の出力を始める、ようにされてもよい。これにより、ユーザ入力の割り込みがあった場合に、その割り込みに対する応答の音声あるいは映像を優先的に出力させることができる。
 このように本技術においては、発行されたリクエストに基づき、このリクエストに対応した処理をローカル処理実行部で処理させるか、またはクラウド処理実行部で処理させるかを判断し、クラウド処理実行部で処理させると判断した場合にはリクエストをクラウド処理制御部に送るものである。そのため、ユーザ入力に対応した処理を、ローカル処理実行部およびクラウド処理実行部の協働で良好に行い得る。
 本技術によれば、ユーザ入力に対応した処理を良好に行い得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
実施の形態としての情報処理装置の構成例を示すブロック図である。 2段階応答のシーケンスの一例を示す図である。 ディスパッチ後、応答再生中の割り込みのシーケンスの一例を示す図である。 ディスパッチ中の割り込みのシーケンスの一例を示す図である。 ディスパッチ中の割り込み&追い越しのシーケンスの一例を示す図である。 ディスパッチ後、応答再生中の割り込み(応答無視されるケース)のシーケンスの一例を示す図である。 ディスパッチ中の割り込み(応答無視されるケース)のシーケンスの一例を示す図である。 ディスパッチ中の割り込み&追い越し(応答無視されるケース)のシーケンスの一例を示す図である。 2段階応答に対する割り込みのシーケンスの一例を模式的に示す図である。 2段階応答に対する割り込みのシーケンスの一例を模式的に示す図である。 2段階応答中の割り込みのシーケンスの一例を示す図である。 2段階応答中の割り込みのシーケンスの一例を示す図である。 2段階応答中の割り込みのシーケンスの一例を示す図である。 2段階応答中の割り込みのシーケンスの一例を示す図である。 既定の2段階応答のシーケンスの一例を示す図である。 ドメインゴールの推定におけるシーケンスの一例を示す図である。 ドメインゴールの推定におけるシーケンスの一例を示す図である。 割り込みであることを理解した上での応答に係るシーケンスの一例を示す図である。
 以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
 1.実施の形態
 2.変形例
 <1.第1の実施の形態>
 [情報処理装置]
 図1は、実施の形態としての情報処理装置10の構成例を示している。この情報処理装置10は、ローカル側処理装置100と、クラウド側処理装置200からなる。ローカル側処理装置100は、入力部101と、意図解釈部(Agent Core)102と、通知監視部(Event Monitor)103と、ローカル処理制御部(Local App Dispatcher)104と、ローカル処理実行部(Local App Actions)105と、レンダリング部(App Renderer)106と、出力部107を有している。また、クラウド側処理装置200は、クラウド処理制御部(Cloud App Dispatcher)201と、クラウド処理実行部(Cloud App Actions)202と、外部サービス203を有している。
 入力部101は、ユーザの発話を検出するマイクロホン、周囲画像を取得するイメージセンサ、ユーザが入力操作を行うためのハードウェアキー、ネットワークからの通知受信部などからなる。入力部101は、キー入力情報、ネットワークからの通知情報などをシステムイベントとして通知監視部103に入力する。
 また、入力部101は、マイクロホンで検出されたユーザの発話やイメージセンサで取得された周囲画像を意図解釈部102に送る。意図解釈部102は、ユーザの発話に対して音声認識をし、さらにその意図を解釈し、その解釈情報を含む発話イベントを通知監視部103に入力する。また、意図解釈部102は、周囲画像に対して画像解析を行い、さらにその意図を解釈し、その解釈情報を含むセンシングイベントを通知監視部103に入力する。
 通知監視部103は、各種入力イベントに基づいて、アプリアクション(AppAction)のリクエスト(Request)であるアクションリクエスト(ActionRequest)を発行する。この意味で、通知監視部103は、リクエスト発行部も構成している。このアクションリクエストには、タイプ(type)、インテント(intent)、スロット(slots)の各情報が含まれる。なお、通知監視部103は、後述するアプリリクエスト(AppRequest)によるアプリイベントに基づいてもアクションリクエストを発行するが、そのアクションリクエストには、さらに、アプリID(appId)の情報が含まれる。
 タイプは、イベントタイプを示す。例えば、発話イベントのアクションリクエストでは、イベントタイプは“speech”となる。また、例えば、システムイベントのアクションリクエストでは、“system”となる。また、例えば、アプリイベントのアクションリクエストでは、インベントタイプは“app”となる。
 インテントは、それぞれのイベントにおける意図を示す。例えば、“時間を教えて”という発話があった場合、インテントは“CHECK-TIME”となる。また、例えば、“天気を教えて”という発話があった場合、インテントは“WEATHER-CHECK”となる。また、例えば、ハードウェアキーが押された場合、インテントは“KEY-PRESSED”となる。スロットは、は、インテントを補足する情報を示す。
 例えば、「今日の品川の天気を教えて」のユーザ発話時におけるアクションリクエストの例を以下に示す。
 type: "speech"
 intent: "WEATHER-CHECK"
 slots: { DATE-TIME: "2017/11/10 20:34:24", PLACE: "品川" }
 また、例えば、「2時にアラームをセットして」のユーザ発話時におけるアクションリクエストの例を以下に示す。
 type: "speech"
 intent: "SET-ALARM"
 slots: { DATE-TIME: "2017/11/10 14:00:00"}
 ローカル処理制御部104は、通知監視部103で発行されるアクションリクエストに基づき、このアクションリクエストに対応した処理をローカル処理実行部105で実行させるか、またはクラウド処理制御部201に判断を任せるかを判断する。ローカル処理制御部104は、ローカル処理実行部105で処理できる場合には、ローカル処理実行部105で実行させると判断し、アクションリクエストをローカル処理実行部105に送る。そして、ローカル処理制御部104は、ローカル処理実行部105から、アプリアクション(AppAction)のレスポンス(Response)であるアクションレスポンス(ActionResponse)を受け取る。
 ローカル処理制御部104は、”このインテントを含むアクションリスエストが来たらローカル処理実行部105に存在するこのアプリアクションで実行させる”という対応表を持っている。従って、通知監視部103から受けたアクションリクエストに含まれるインテントが対応表に含まれている場合、ローカル処理制御部104は、ローカル処理実行部105で実行させると判断し、アクションリクエストを対応するアプリアクションに送って処理させる。なお、ローカル側のアプリアクションは、後述するクラウド側のアプリアクションのように集合体としてのアプリの体をなしておらず、各アプリアクションが単体で存在している。
 また、ローカル処理制御部104は、通知監視部103から受けたアクションリクエストに含まれるインテントが対応表に含まれていない場合には、クラウド側、つまりクラウド処理制御部201に判断を委譲することとし、アクションリクエストをクラウド処理制御部201に送る。
 ローカル処理制御部104は、例えば、インターネット非接続環境でも動作するアクション、レンダリングを即時的に行うアクション(センシング状況のビジュアルフィードバックなど)、専用のモードで動作するアクション(システムアップデートやWifi AP接続、起動フィードバックやユーザ登録アプリなど)は、ローカル処理実行部105で実行させる。例えば、ボリューム増減の処理など、ローカル側に特化した処理は、ローカル処理実行部105で実行される。
 ローカル処理制御部104は、クラウド処理制御部201にアクションリクエストを送った後、クラウド制御部201から、アクションレスポンス(ActionResponse)を受け取る。
 アクションレスポンスには、アウトプットスピーチ(outputSpeech)、アウトプットビジュアル(outputVisual)、アプリリクエスト(appRequest)の各情報が含まれる。アウトプットスピーチは、応答を音声で提示するための情報(音声応答情報)であり、例えば、“今日の天気を教えて”という発話に対しては、「今日の天気を表示します」などの応答文のテキストデータが該当する。
 アウトプットビジュアルは、応答を映像で提示するための情報(画面応答情報)であり、例えば、テキストベースのデータフォーマットで提供される。アプリリクエストは、アプリアクション間の連携を目的としたアプリ実行要求を示す。
 例えば、「今日の品川の天気を教えて」のユーザ発話時におけるアクションレスポンスの例を以下に示す。
 outputSpeech: "今日の天気を表示します"
 outputVisual: <表示を作るためのレイアウト情報&データ>,
 また、アクションレスポンスのアプリリクエストには、アプリID(appId)、インテント(intent)、スロット(slots)、ディレイ(delay)の各情報が含まれる。アプリIDは、アクションリスエストをどのアプリに対して発行するかを指定するアプリ指定情報を示す。インテントは、アクションリクエストに含めるインテントの情報を示す。スロットは、アクションリクエストに含めるスロットの情報を示す。ディレイは、アクションリクエストを発行するまでの遅延時間を示す。
 例えば、受けたアクションリクエストと同じパラメータで、自身のアプリアクションを呼び直す例を以下に示す。この例のようにアクションレスポンスのアプリリクエストを生成することで、後述する、2段階応答が実現される。
 appId: <自アプリのアプリID>
 intent: <ActionRequest に入っていた Intent>
 slots: <ActionRequest に入っていた slots>
 delay: 0
 また、ローカル処理制御部104は、アクションレスポンスに含まれる応答情報(アウトプットスピーチ、アウトプットビジュアル)をレンダリング部106に送る。レンダリング部106は、応答情報に基づき、レンダリング(サウンドエフェクト、音声合成、アニメーション)を実行し、生成された音声信号や映像信号を出力部107に送る。出力部107は、スピーカ等の音声出力装置やプロジェクタ等の映像出力装置を備え、音声信号や映像信号による音声や映像を出力する。
 なお、レンダリング部106では、第1のアクションリクエストに対応した音声信号や映像信号の出力中に、それに続く第2のアクションリクエストに対応した応答情報がローカル処理制御部104から送られてくるとき、第1のアクションリクエストに対応した音声信号や映像信号の出力を中止し、第2のアクションリクエストに対応した音声信号や映像信号の出力を開始する。これにより、ユーザ入力の割り込みがあった場合に、その割り込みに対する応答の音声あるいは映像を優先的に出力することが実現される。
 ローカル処理制御部104は、アクションレスポンスにアプリリクエストが含まれている場合、このアプリリクエストをアプリイベントとして通知監視部103に送る。通知監視部103は、このアプリイベントに基づいて、ディレイ(delay)で示される遅延時間が経過した後に、アクションリクエストを発行する。このアクションリクエストには、上述したように、タイプ(type)、インテント(intent)、スロット(slots)の各情報の他に、アプリID(appId)の情報が含まれる。ここで、インテント、スロット、アプリIDの各情報は、アプリリクエストに含まれているものと等しくされる。
 クラウド処理制御部201は、ローカル処理制御部104から送られてくるアクションリクエストを受け、そのアクションリクエストをクラウド処理実行部202に送る。クラウド処理実行部202は、複数のアプリ(クラウドアプリ)を備えている。ここで、アプリは、関連するアプリアクションをまとめたものであり、複数のアプリアクションの集合体である。例えば、“CHECK-TIME”を処理するアプリアクションと“SET-ALARM”を処理するアプリアクションは、クロック(Clock)アプリに含まれる。
 また、アプリアクションは、インテントに対応して呼び出される実行単位であり、アクションリクエストを受けてアクションレスポンスを返す関数である。アプリアクションは、ウェブAPIなどの外部サービス203にアクセスして取得した情報を応答情報として返すこともある。
 クラウド処理制御部201は、ローカル処理制御部104から送られてくるアクションリクエストに含まれるインテントの情報に基づいて、このアクションリクエストを実行するアプリアクションを一意に決定する。また、クラウド処理制御部201は、アクションリクエストのタイプが発話イベントを示していて、発話のスロット情報に補完可能な不足、あるいは意味があいまいな内容があれば、このスロット情報の不足やあいまいさの解決を行う。
 例えば、クラウド処理制御部201は、直近で返したアクションレスポンスの内容から、現在表示されている画面情報を把握できる。画面に時刻、あるいは場所などの情報を表示している際に、スロットに時刻、あるいは場所などの情報が不足している際には、これを補完する。また、ユーザ発話に「ここの天気見せて」のような指示語が含まれる場合も、同様に表示情報から補完を行う。また対話履歴から、複数の解釈を持つ言葉の解決も行う。例えば過去の対話で「大崎の天気を教えて」とユーザに聞かれ「大崎市」の天気を提示後、ユーザが「大崎駅」と言い直したことがあった場合には、大崎といえば大崎駅、という知識をクラウド処理制御部201の内部で保持し、以降のスロット解決に利用する。
 クラウド処理制御部201は、ローカル処理制御部104から送られてくるアクションリクエストを、クラウド処理実行部202に存在する、上述したように一意に決定されたアプリアクションに送る。また、クラウド処理制御部201は、アクションリクエストの処理を行ったアプリアクションから応答情報などを含むアクションレスポンスを受け、ローカル処理制御部104に送る。
 クラウド処理制御部201は、アプリ毎に、どのインテントを受け付け、そのアプリアクションを呼び出すという対応表を持っている。
 クラウド処理制御部201は、以下の順に処理をして、ローカル処理制御部104から送られてくるアクションリクエストを実行するアプリアクションを決定する。
 (1)アクションリクエストにアプリ指定情報であるアプリIDが含まれている場合、そのアプリIDで指定されるアプリの対応表を参照する。
 (2)上記でない場合、フォアグランド(Foreground)アプリ、つまり最後に画面表示を行ったアプリの対応表を参照する。例えば、“天気を見せて”という発話がある場合、天気の画面が表示される。この場合は、天気アプリがフォアグランドアプリとなる。
 (3)上記でない場合、特別に用意されたコモン(Common)アプリの対応表を参照する。クラウド処理制御部201は、このコモンアプリの対応表も持っている。この対応表は、「戻って」という発話で前の画面表示に戻るなどの共通動作を処理するアプリアクションを指定するためのものである。
 (4)上記でない場合、デフォルトの対応表を参照する。このデフォルトの対応表は、アプリ毎の対応表とは別に、インテントとアプリとの対応関係を示しており、実際にはこのデフォルトの対応表で得られたアプリの対応表を参照して、アプリアクションを決定する。
 なお、最終的に、ローカル処理制御部104から送られてくるアクションリクエストを実行するアプリアクションを決定できない場合も存在する。その場合、クラウド処理制御部201は、エラー情報を含めたアクションレスポンスを、ローカル処理制御部104に送る。
 「2段階応答」
 2段階応答について説明する。例えば、ユーザの「予定を表示して」の発話に対し、クラウド側の対応するアプリアクションは外部カレンダーサービスに問い合わせるため、その外部カレンダーサービスからの応答に基づいたアクションレスポンスの生成には時間がかかる。
 この2段階応答は、応答内容を生成するのに時間がかかる処理に対する応答の工夫である。この2段階応答では、1段目では、アプリアクションは、すぐに返せる内容を即座に応答し、同時に、アプリリクエストで自分自身を最呼び出しする。2段目では、時間のかかる処理に係る応答をする。
 図2は、2段階応答のシーケンスの一例を示している。この例では、簡単化のために、意図解釈部102および通知監視部103の図示は省略している。「予定を表示して」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト(1段目)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクションに送られる。
 このアプリアクションでは、「本日の予定を表示します」という音声応答情報と自分自身を呼び戻すためのアプリリクエストを含む1段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この1段目のアクションレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答として「本日の予定を表示します」の音声出力(応答再生)が開始される。また、アクションレスポンスに含まれるアプリリクエストによるアプリイベントのアクションリクエスト(2段目)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクションに送られる。
 このアプリアクションでは、外部サービスへの問い合わせなど、時間のかかる処理が行われた後に、「こちらです」という音声応答情報と、予定の埋まったカレンダーの画面応答情報を含む2段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この2段目のアクションレスポンスに含まれる音声応答情報および画面応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答が完了した状態で、2段目の応答として、「こちらです」の音声出力が開始されると共にカレンダー画面の表示が開始される。
 「2段階応答を用いると良いケース」
 2段階応答を用いると良いケースについて述べる。2段階応答は、以下のような、応答生成をするのに時間がかかるケースにおいて効果を発揮する。
 (1)アプリアクション内部で外部サービスの時間のかかる可能性のあるAPI(Application Programming Interface)を実行するケース。
 時間のかかる要因は、外部サービス側の事情によってさまざまであるが、サーバが貧弱でリクエストに対する処理が遅い(外部サービス側のリソースの問題)、本質的に時間のかかる処理を依頼している(大規模データベースに対するクエリ)、などが考えられる。
 (2)アプリアクション内部で複雑で時間のかかる演算を行うケース。
 ユーザ発話文言のテキストに対する意味解析を行う、外部サービス(場合によっては複数)からの応答に基づき、応答生成のための2次解析を行う(機械学習を内部的に用いるなど)、画面応答のための画像をピクセルレベルで生成・加工する(画像処理を内部的に行う)、アプリアクション内部で大規模データベースへのアクセスを行う、などが考えられる。
 (3)アプリアクション内部で、なんらかの待ち時間を設けた処理を行う必要があるケース。
 ユーザ発話に対する応答を遅らせるために、アプリアクション内で意図的にスリープ(sleep))する、などが考えられる。
 「1段目の応答生成」
 1段目の応答生成について述べる。1段目にどのような応答をするかはアプリアクション側の実装次第で自由であるが、時間のかかる処理を遅延させて2段目に応答する、という2段階応答の性質を考えると、1段目の応答を以下のように返すのが望ましい。
 (1)即座に応答できるものを返す。
 この場合、入力情報のみから応答を返す。
 (2)ユーザに対し、要求を正しく受け付けたことを知らせる。
 この場合、ユーザのリクエスト内容を繰り返す(ミラーリング)か、あるいは日時、場所、予定名など、具体的な要求内容を応答文に入れる。
 また、以下は必須ではないが、より自然な応答とするためには考慮することが望ましい。
 (1)応答パターンを複数用意して置き、適切なものを返す(毎回定型的な応答だと機械的な印象を与えるため)。
 この場合、ランダムで選択、発話ユーザの年齢/男女などのユーザ属性に基づいて優先順位付けして選択する。
 (2)発話ユーザの普段の口調に合わせ、応答の口調を調整する。
 この場合、「~だよね」と話すユーザに対しては「~だよ」、「~ですか」と話すユーザに対しては「~です」と語尾を調整する。
 「割り込み」
 割り込みについて説明する。ユーザ入力の割り込みがあった場合、その割り込みに対する応答の音声あるいは映像を優先的に出力させる。発話の割り込みに対する基本挙動を説明する。図3は、ディスパッチ後、応答再生中の割り込みのシーケンスの一例を示している。この例では、簡単化のために、意図解釈部102および通知監視部103の図示は省略している。このことは以下のシーケンス例においても同様である。
 「今日の天気を見せて」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト「request 1」がクラウド処理制御部201に送られ、さらにこのアクションリクエスト「request 1」はクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 このアプリアクション(1)では、アクションリクエスト「request 1」に対する処理が実行され、「今日の天気は・・・」という音声応答情報を含むアクションレスポンス「response 1」が生成され、このアクションレスポンス「response 1」はクラウド処理制御部201を通じてローカル処理制御部104に送られる。このアクションレスポンス「response 1」に含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「今日の天気は・・・」の応答音声の出力(再生)が開始される。
 この応答音声出力中に、同じユーザ、あるいは別なユーザの「今何時?」の発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト「request 2」がクラウド処理制御部201に送られ、さらにこのアクションリクエスト「request 2」はクラウド処理実行部202の対応するアプリアクション(2)に送られる。
 このアプリアクション(2)では、アクションリクエスト「request 2」に対する処理が実行され、「現在の時刻は18:02分です」という音声応答情報を含むアクションレスポンス「response 2」が生成され、このアクションレスポンス「response 2」はクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 このアクションレスポンス「response 2」に含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「現在の時刻は18:02分です」の応答音声の出力が開始される。なお、この時点で、アクションリクエスト「request 1」に対する応答音声の出力が続いていれば、それは中断される。
 図4は、ディスパッチ中の割り込みのシーケンスの一例を示している。「今日の天気を見せて」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト「request 1」がクラウド処理制御部201に送られ、さらにこのアクションリクエスト「request 1」はクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 また、同じユーザ、あるいは別なユーザの「今何時?」の発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト「request 2」がクラウド処理制御部201に送られ、さらにこのアクションリクエスト「request 2」はクラウド処理実行部202の対応するアプリアクション(2)に送られる。
 アプリアクション(1)では、アクションリクエスト「request 1」に対する処理が実行され、「今日の天気は・・・」という音声応答情報を含むアクションレスポンス「response 1」が生成され、このアクションレスポンス「response 1」はクラウド処理制御部201を通じてローカル処理制御部104に送られる。このアクションレスポンス「response 1」に含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「今日の天気は・・・」の応答音声の出力(再生)が開始される。
 また、アプリアクション(2)では、アクションリクエスト「request 2」に対する処理が実行され、「現在の時刻は18:02分です」という音声応答情報を含むアクションレスポンス「response 2」が生成され、このアクションレスポンス「response 2」はクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 このアクションレスポンス「response 2」に含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「現在の時刻は18:02分です」の応答音声の出力が開始される。なお、この時点で、アクションリクエスト「request 1」に対する応答音声の出力が続いていれば、それは中断される。
 図5は、ディスパッチ中の割り込み&追い越しのシーケンスの一例を示している。「今日の天気を見せて」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト「request 1」がクラウド処理制御部201に送られ、さらにこのアクションリクエスト「request 1」はクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 また、同じユーザ、あるいは別なユーザの「今何時?」の発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト「request 2」がクラウド処理制御部201に送られ、さらにこのアクションリクエスト「request 2」はクラウド処理実行部202の対応するアプリアクション(2)に送られる。
 アプリアクション(2)では、アクションリクエスト「request 2」に対する処理が実行され、「現在の時刻は18:02分です」という音声応答情報を含むアクションレスポンス「response 2」が生成され、このアクションレスポンス「response 2」はクラウド処理制御部201を通じてローカル処理制御部104に送られる。このアクションレスポンス「response 2」に含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「現在の時刻は18:02分です」の応答音声の出力(再生)が開始される。
 また、アプリアクション(1)では、アクションリクエスト「request 1」に対する処理が実行され、「今日の天気は・・・」という音声応答情報を含むアクションレスポンス「response 1」が生成され、このアクションレスポンス「response 1」はクラウド処理制御部201を通じてローカル処理制御部104に送られる。この時点で、アクションリクエスト「request 2」に対する応答音声の出力が既に開始されており、ローカル処理制御部104はそのことを知っているので、このアクションリクエスト「request 1」に対するアクションレスポンス「response 1」は無視される。
 図6、図7、図8は、それぞれ、図3、図4、図5と同様のパターンのシーケンスの一例を示しているが、これらのシーケンスではアクションレスポンス「response 2」がエラー応答である場合であって無視される。この場合、アクションリクエスト「request 2」は、アクションリクエスト「request 1」に係る挙動に影響を与えない。
 アクションレスポンス「response 2」がエラー応答となるのは、アクションリクエスト「request 2」に対するアプリアクション(2)の処理まで行ったがその内部でエラーが発生した場合、あるいはアクションリクエスト「request 2」を処理するアプリアクションを決定できなかった場合などである。なお、図6、図7、図8においては、クラウド処理制御部201からアプリアクション(2)にアクションリクエスト「request 2」が送られるように示しているが、クラウド処理制御部201でアクションリクエスト「request 2」を処理するアプリアクションを決定できなかった場合は、アプリアクション(2)にアクションリクエスト「request 2」が送られることはなくエラー応答としてのアクションレスポンス「response 2」はクラウド処理制御部201で生成される。
 「2段階応答に対する割り込み」
 2段階応答に対する割り込みについて説明する。図9(a)~(f)、図10(a)~(d)は、2段階応答に対する割り込みのシーケンスの一例を模式的に示している。破線は、割り込みの挙動を示している。
 図9(a),(b),(c)は、1段目に対して、図3、図4、図5のシーケンス例と同様の割り込みが行われる場合のシーケンス例を示している。この場合、2段階応答に関係なく、割り込みのアクションリクエストに対するアクションレスポンスが帰ってきた時点で、1段目の応答出力(再生)はキャンセルされ、さらに、2段目のアクションリクエストもキャンセルされる。
 図9(d),(e),(f)は2段目に対して、図3、図4、図5のシーケンス例と同様の割り込みが行われる場合のシーケンス例を示している。この場合、割り込みのアクションリクエストに対するアクションレスポンスが帰ってきた時点で、2段目のアクションリクエストはキャンセルされる。なお、この場合、その時点で1段目の応答出力(再生)がまだ継続している場合には、当然それもキャンセルされる。
 図10(a)~(d)は、割り込みに係るアクションリクエストとアクションレスポンスが1段目と2段目にまたがっている場合のシーケンス例を示している。図11は、図10(a)に対応した2段階応答中の割り込みのシーケンスの一例を示している。
 「予定を表示して」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト(1段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 また、同じユーザ、あるいは別なユーザの「今何時?」の発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエストである割り込みリクエストがクラウド処理制御部201に送られ、さらにこの割り込みリクエストはクラウド処理実行部202の対応するアプリアクション(2)に送られる。
 アプリアクション(1)では、「本日の予定を表示します」という音声応答情報と自分自身を呼び戻すためのアプリリクエストを含む1段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この1段目のアクションレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答として「本日の予定を表示します」の応答音声の出力(再生)が開始される。また、アクションレスポンスに含まれるアプリリクエストによるアプリイベントのアクションリクエスト(2段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 アプリアクション(2)では、割り込みリクエストに対する処理が実行され、「現在の時刻は18:02分です」という音声応答情報を含むアクションレスポンスである割り込みレスポンスが生成され、破線で示すように、この割り込みレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この割り込みレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「現在の時刻は18:02分です」の割り込みの応答音声の出力が開始される。なお、この時点で、1段目のアクションレスポンスの応答音声の出力が続いていれば、それは中断される。
 また、アプリアクション(1)では、2段目のアクションリクエストに対する処理が実行され、2段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。この時点で、割り込みレスポンスに対する応答音声の出力が既に開始されており、ローカル処理制御部104はそのことを知っているので、このアクションレスポンスを無視される。
 図12は、図10(b)に対応した2段階応答中の割り込みのシーケンスの一例を示している。
 「予定を表示して」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト(1段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 また、同じユーザ、あるいは別なユーザの「今何時?」の発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエストである割り込みリクエストがクラウド処理制御部201に送られ、さらにこの割り込みリクエストはクラウド処理実行部202の対応するアプリアクション(2)に送られる。
 アプリアクション(1)では、「本日の予定を表示します」という音声応答情報と自分自身を呼び戻すためのアプリリクエストを含む1段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この1段目のアクションレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答として「本日の予定を表示します」の応答音声の出力(再生)が開始される。また、このアクションレスポンスに含まれるアプリリクエストによるアプリイベントのアクションリクエスト(2段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 このアプリアクション(1)では、外部サービスへの問い合わせなど、時間の係る処理が行われた後に、「こちらです」という音声応答情報と、予定の埋まったカレンダーの画面応答情報を含む2段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この2段目のアクションレスポンスに含まれる音声応答情報および画面応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答の完了した状態で、2段目の応答として、「こちらです」の音声出力が開始されると共にカレンダー画面の表示が開始される。
 また、アプリアクション(2)では、割り込みリクエストに対する処理が実行され、「現在の時刻は18:02分です」という音声応答情報を含むアクションレスポンスである割り込みレスポンスが生成され、破線で示すように、この割り込みレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この割り込みレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「現在の時刻は18:02分です」の割り込みの応答音声の出力が開始される。なお、この時点で、2段目のアクションレスポンスの応答(音声、画面)の出力が続いていれば、それは中断される。
 図13は、図10(c)に対応した2段階応答中の割り込みのシーケンスの一例を示している。
 「予定を表示して」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト(1段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 アプリアクション(1)では、「本日の予定を表示します」という音声応答情報と自分自身を呼び戻すためのアプリリクエストを含む1段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 また、同じユーザ、あるいは別なユーザの「今何時?」の発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエストである割り込みリクエストがクラウド処理制御部201に送られ、さらにこの割り込みリクエストはクラウド処理実行部202の対応するアプリアクション(2)に送られる。
 ローカル処理制御部104に送られてくる1段目のアクションレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答として「本日の予定を表示します」の応答音声の出力(再生)が開始される。また、このアクションレスポンスに含まれるアプリリクエストによるアプリイベントのアクションリクエスト(2段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 アプリアクション(2)では、割り込みリクエストに対する処理が実行され、「現在の時刻は18:02分です」という音声応答情報を含むアクションレスポンスである割り込みレスポンスが生成され、破線で示すように、この割り込みレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この割り込みレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「現在の時刻は18:02分です」の割り込みの応答音声の出力が開始される。なお、この時点で、1段目のアクションレスポンスの応答音声の出力が続いていれば、それは中断される。
 また、アプリアクション(1)では、2段目のアクションリクエストに対する処理が実行され、2段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。この時点で、割り込みレスポンスに対する応答音声の出力が既に開始されており、ローカル処理制御部104はそのことを知っているので、このアクションレスポンスを無視される。
 図14は、図10(d)に対応した2段階応答に対する割り込みのシーケンスの一例を示している。
 「予定を表示して」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト(1段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 アプリアクション(1)では、「本日の予定を表示します」という音声応答情報と自分自身を呼び戻すためのアプリリクエストを含む1段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 また、同じユーザ、あるいは別なユーザの「今何時?」の発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエストである割り込みリクエストがクラウド処理制御部201に送られ、さらにこの割り込みリクエストはクラウド処理実行部202の対応するアプリアクション(2)に送られる。
 ローカル処理制御部104に送られてくる1段目のアクションレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答として「本日の予定を表示します」の応答音声の出力(再生)が開始される。また、このアクションレスポンスに含まれるアプリリクエストによるアプリイベントのアクションリクエスト(2段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 このアプリアクション(1)では、外部サービスへの問い合わせなど、時間の係る処理が行われた後に、「こちらです」という音声応答情報と、予定の埋まったカレンダーの画面応答情報を含む2段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この2段目のアクションレスポンスに含まれる音声応答情報および画面応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答の完了した状態で、2段目の応答として、「こちらです」の音声出力が開始されると共にカレンダー画面の表示が開始される。
 また、アプリアクション(2)では、割り込みリクエストに対する処理が実行され、「現在の時刻は18:02分です」という音声応答情報を含むアクションレスポンスである割り込みレスポンスが生成され、破線で示すように、この割り込みレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この割り込みレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「現在の時刻は18:02分です」の割り込みの応答音声の出力が開始される。なお、この時点で、2段目のアクションレスポンスの応答(音声、画面)の出力が続いていれば、それは中断される。
 なお、上述の2段階応答に対する割り込みにおいて、通常の割り込み時と同様に(図6~図8参照)、割り込んだ側のレスポンス(割り込みレスポンス)がエラー応答である場合であって無視されるケースにおいては、既存の挙動に影響を与えない(図2参照)。
 なお、上述の2段階応答に関しては、アプリアクションの設計時点で、このアプリアクションは時間のかかる処理を行うので2段階応答をする、というように予め決めることもできるが、以下のようにすることで、処理に時間がかかりそうだとわかった際に、アプリアクションは2段階応答に切り替えることもできる。
 例えば、アプリアクションは、アクションリクエストを受け取ると同時に、タイマーを設定する(例えば1秒)。そして、アプリアクションは、タイマー発火より前に必要な処理が全て完了したら、タイマーをキャンセルし、通常通りにアクションレスポンスを返す。一方、アプリアクションは、必要な処理が全て完了する前にタイマーが発火したら、必要な処理の実行を中断し、2段階応答に方針を切り替え、2段階応答の1段目に相当するアクションレスポンスを返すようにする。その後のアプリアクションの処理は、上述した2段階応答の場合と同様である。
 以上説明したように、図1に示す情報処理装置10において、ローカル処理制御部104は、通知監視部103で発行されたアクションリクエストに基づいて、このアクションリクエストに対応した処理をローカル処理実行部105で処理させるか、またはクラウド処理実行部202で処理させるかを判断し、クラウド処理実行部202で処理させると判断した場合に、このアクションリクエストをクラウド処理制御部201に送るものである。そのため、ユーザ入力に対応した処理を、ローカル処理実行部105およびクラウド処理実行部202の協働で良好に行い得る。
 また、図1に示す情報処理装置10において、クラウド処理実行部202のアプリアクションが生成するアクションレスポンスにアプリ指定情報を持つアプリリクエストを含ませることができ、そのアプリ指定情報で自身のアプリアクションが含まれるアプリを指定できる。そのため、アクションリクエストに対するレスポンスを複数段階、例えば2段階で行うことが可能となり、アクションリクエストに対応した処理に時間がかかる場合であっても、ユーザに即座に1段階目の応答を行うことができる。
 また、図1に示す情報処理装置10において、レンダリング部106は、第1のアクションリクエストに対応した音声または映像の信号出力中に、第2のアクションリクエスト(割り込みリクエスト)に対応した応答情報が送られてくるとき、第1のアクションリクエストに対応した音声または映像の信号出力を中止し、第2のアクションリクエストに対応した音声または映像の信号の出力を始める。そのため、ユーザ入力の割り込みがあった場合に、その割り込みに対する応答の音声あるいは映像を優先的に出力させることができ、自然な割り込み応答を実行できる。
 <2.変形例>
 なお、上述実施の形態においては、2段階応答において、1段目の応答もアプリアクションが行う例を示したが、この1段目の応答に関しては、クラウド処理制御部201で行うことも考えられる。以下、このように1段目の応答をクラウド処理制御部201で行う2段階応答を「既定の2段階応答」と呼ぶ。この既定の2段階応答を用いる際に、クラウド処理制御部201に、どのインテント(intent)がきたときに既定の2段階応答で扱うかどうかを示すブーリアン(boolean)値を設定で持たせるようにしてもよい。
 図15は、既定の2段階応答のシーケンスの一例を示している。この例では、簡単化のために、意図解釈部102および通知監視部103の図示は省略している。「予定を表示して」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト(1段目のrequest)がクラウド処理制御部201に送られる。
 クラウド制御処理部201は、このアクションリクエストに含まれるインテントの情報から、既定の2段階応答で扱うものと判断する。そして、クラウド制御処理部201では、インテントに応じた既定の2段階応答である「本日の予定を表示します」という音声応答情報と、実際にアクションリクエストを処理するアプリアクションを呼び出すためのアプリリクエストを含む1段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この1段目のアクションレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答として「本日の予定を表示します」の音声出力(応答再生)が開始される。また、アクションレスポンスに含まれるアプリリクエストによるアプリイベントのアクションリクエスト(2段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクションに送られる。
 このアプリアクションでは、外部サービスへの問い合わせなど、時間の係る処理が行われた後に、「こちらです」という音声応答情報と、予定の埋まったカレンダーの画面応答情報を含む2段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この2段目のアクションレスポンスに含まれる音声応答情報および画面応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答の完了した状態で、2段目の応答として、「こちらです」の音声出力が開始されると共にカレンダー画面の表示が開始される。
 「既定の2段階応答を用いる場合の1段目の応答生成について」
 ここで、既定の2段階応答を用いる場合の1段目の応答生成について説明する。既定の2段階応答を用いる場合、1段目の応答は共通部分であるクラウド処理制御部201で行われるため、応答内容には工夫が必要である。既定の2段階応答における1段目の応答生成は以下のようなパターンの中からランダムに選択することで行うことができる。
 (1)ユーザ発話に基づく方法
 「{ユーザ発話}ですね」「{ユーザ発話}で了解しました」等、ユーザ発話を含むミラーリングにより応答生成をする。
 (2)インテント(intent)に基づく方法
 「intent = WEATHER-CHECK 」であれば「天気ですね」、「intent = SCHEDULE-ADD」であれば「予定の追加ですね」等、インテントに対して固定で割り当てた文言(複数バリエーション可)により応答生成をする。
 (3)インテント(intent)+スロット(slot)に基づく方法
 「intent = WEATHER-CHECK」に対し、スロットに「DATE = "today"」が入っていた際に、「今日の天気ですね」等、インテント+スロットに対して割り当てた文言(複数バリエーション可)により応答生成をする。
 (4)汎用的に使える応答文言
 「了解しました」、「わかりました」、「少々おまちください」等により応答生成をする。
 なお、一律ランダムではなく、アプリアクション側でどのパターンを優先するかの優先度を指定できてもよい。また、アプリアクション側にて、「既定の2段階応答で扱うかどうか」の設定に加え、その際の応答内容を設定として渡せるようになっていてもよい。例えば天気のアプリが、応答内容として「ちょっと今からお天気博士に聞きに行ってきますね」と設定しておくなどである。この場合、クラウド処理制御部201は、それをそのまま応答として用いてもよいし、上記候補の1つとしてもよい。また、クラウド処理制御部201は、通常の2段階応答における、アプリアクション側での1段目の応答生成と同様に、ユーザ属性の考慮や口調の調整等を行ってもよい。
 「ドメインゴール(intent)の推定」
 上述の実施の形態で説明したように、ユーザの発話は、意図解釈部(Agent Core)102において、音声認識されると共にその意図解釈が行われる。また、図16のシーケンスの一例に示すように、意図解釈部102の対話制御機能により。省略された発話に対するユーザの意図の補完も行われる。
 例えば、ユーザの「予定を表示して」の発話の後に、ユーザが「明日は?」の省略された発話を行った場合、意図解釈部102は、「明日の予定」のように補完をすることも行われる。これにより、この場合、通知監視部(Event Monitor)103からは、「明日の予定」に相当するアクションリクエストが発行される。
 意図解釈部102では、基本的には、別の意図のユーザ発話が発生することでコンテキストが切り替わる。一方、アプリアクション側からのフィードバックでコンテキストが切り替わることもある。図17は、その場合におけるシーケンスの一例を示している。なお、この例では、簡単化のために、通知監視部103の図示は省略している。
 「予定を表示して」のユーザ発話があるとき、意図解釈部(Agent Core)102は、その意図解釈を行う。この場合、意図解釈部102のコンテキストは、「予定のコンテキスト」に切り替わる。意図解釈部102の解釈結果は通知監視部(Event Monitor)103に送られ、「予定を表示して」に相当するアクションリクエストが発行される。このアクションリクエストは、ローカル処理制御部104からクラウド処理制御部201に送られ、さらにクラウド処理実行部202の対応するアプリアクションに送られる。
 アプリアクション202では、アクションリクエストの処理が行われる。この場合、予定について聞かれたが「予定じゃなくて天気はどうですか?」という音声情報と、天気の話題であることのフィードバック“dalogueState”の情報を含むアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 このアクションレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、応答として、「予定じゃなくて天気はどうですか?」の音声出力が開始される。また、このアクションレスポンスに含まれる天気の話題であることのフィードバック“dalogueState”の情報は意図解釈部102に送られ、この意図解釈部102のコンテキストは、「天気のコンテキスト」に切り替わる。
 その後に、ユーザが「明日は?」の省略された発話を行った場合、意図解釈部102では、「天気のコンテキスト」に基づき、図16の例とは異なり、「明日の天気」のように補完が行われる。これにより、通知監視部(Event Monitor)103からは、「明日の天気」に相当するアクションリクエストが発行される。
 「割り込みであることを理解した上での応答」
 次に、割り込みであることを理解した上での応答について説明する。ローカル処理制御部(Local App Dispatcher)104は、例えば、以下のケースにおいて「割り込みフラグ」を付与する。
 (1)別のユーザ発話に対するディスパッチ中、あるいはそのレスポンスを応答再生中である場合
 (2)別のユーザ発話に対するディスパッチ中、あるいはそのレスポンスを応答再生中であり、かつ割り込まれる発話と割り込む発話とが同一のインテント(intent)である場合
 また、アプリアクション(App Action)は、割り込みフラグに応じて応答内容を変えることができる。例えば、予定を表示するアプリアクションが、「明日の予定」+割り込みフラグ のリクエストを受けた場合、通常であれば「明日の予定ですね」と応答すべきところを「おっと、明日でしたか。了解です」のように応答するなどが考えられる。
 図18は、割り込みであることを理解した上での応答に係るシーケンスの一例を示している。「予定を表示して」のユーザ発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト(1段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 アプリアクション(1)では、「本日の予定を表示します」という音声応答情報と自分自身を呼び戻すためのアプリリクエストを含む1段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 ローカル処理制御部104に送られてくる1段目のアクションレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答として「本日の予定を表示します」の応答音声の出力(再生)が開始される。また、このアクションレスポンスに含まれるアプリリクエストによるアプリイベントのアクションリクエスト(2段目のrequest)がクラウド処理制御部201に送られ、さらにこのアクションリクエストはクラウド処理実行部202の対応するアプリアクション(1)に送られる。
 また、同じユーザ、あるいは別なユーザの「明日は」の発話があるとき、ローカル処理制御部104からその発話イベントのアクションリクエスト(割り込みリクエスト)がクラウド処理制御部201に送られ、さらに対応するアプリアクション(2)に送られる。この割り込みリクエストには、割り込みであることを示す割り込みフラグが付加される。
 このアプリアクション(1)では、外部サービスへの問い合わせなど、時間の係る処理が行われた後に、「こちらです」という音声応答情報と、予定の埋まったカレンダーの画面応答情報を含む2段目のアクションレスポンスが生成され、破線で示すように、このアクションレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この2段目のアクションレスポンスに含まれる音声応答情報および画面応答情報はレンダリング部106に送られてレンダリングされ、1段目の応答の完了した状態で、2段目の応答として、「こちらです」の音声出力が開始されると共にカレンダー画面の表示が開始される。
 また、アプリアクション(2)では、割り込みリクエストに対する処理が実行され、割り込みフラグに基づき、割り込みであることを理解した上での応答を作成できる。例えば、「おっと、明日ですか」という音声応答情報を含むアクションレスポンスである割り込みレスポンスが生成され、破線で示すように、この割り込みレスポンスはクラウド処理制御部201を通じてローカル処理制御部104に送られる。
 この割り込みレスポンスに含まれる音声応答情報はレンダリング部106に送られてレンダリングされ、「おっと、明日ですか」の割り込みの応答音声の出力が開始される。なお、この時点で、2段目のアクションレスポンスの応答(音声、画面)の出力が続いていれば、それは中断される。
 また、上述実施の形態においては、アクションレスポンス(ActionResponse)に含めるアプリリクエスト(appRequest)を用いて2段階応答をする例を説明したが、2段階に限定されるものではなく、同様にして3段階以上で応答することも考えられる。例えば、画面を切り替えながら、順次情報を提示していきたいというケースに適用できる。また、同一のアプリアクションを再度呼び出すだけでなく、他のアプリアクションをも含めて順次呼び出して、段階的な応答をさせることも可能である。
 また、本技術は、以下のような構成を取ることもできる。
 (1)ユーザ入力の意図を解釈する意図解釈部と、
 上記解釈された意図に応じたリクエストを発行するリクエスト発行部と、
 上記発行されたリクエストに基づき、該リクエストに対応した処理をローカル処理実行部で実行させるか、またはクラウド処理実行部で実行させるかを判断し、上記クラウド処理実行部で実行させると判断した場合には上記リクエストをクラウド処理制御部に送るローカル処理制御部を備える
 情報処理装置。
 (2)上記ローカル処理制御部は、上記クラウド処理制御部に上記リクエストを送るとき、上記クラウド処理制御部から上記リクエストに対応したレスポンスを受ける
 前記(1)に記載の情報処理装置。
 (3)上記ローカル処理制御部は、上記レスポンスに含まれるアプリリクエストを上記リクエスト発行部に送り、
 上記リクエスト発行部は、上記アプリリクエストを受けたとき、該アプリリクエストに含まれるアプリ指定情報を含むリクエストを発行する
 前記(2)に記載の情報処理装置。
 (4)上記アプリリクエストに含まれるアプリ指定情報は、上記レスポンスの発生に係るアプリを再度指定する
 前記(3)に記載の情報処理装置。
 (5)上記アプリリクエストが含まれるレスポンスは、上記クラウド処理制御部で発行される
 前記(4)に記載の情報処理装置。
 (6)上記レスポンスに含まれる応答情報に基づいて音声または映像の信号を出力するレンダリング部をさらに備える
 前記(2)から(5)のいずれかに記載の情報処理装置。
 (7)上記レンダリング部は、第1のリクエストに対応した音声または映像の信号出力中に、第2のリクエストに対応した応答情報が送られてくるとき、上記第1のリクエストに対応した音声または映像の信号出力を中止し、上記第2のリクエストに対応した音声または映像の信号の出力を始める
 前記(6)に記載の情報処理装置。
 (8)意図解釈部が、ユーザ入力の意図を解釈する意図解釈ステップと、
 リクエスト発行部が、上記解釈された意図に応じたリクエストを発行するリクエスト発行ステップと、
 ローカル処理情報制御部が、上記発行されたリクエストに基づき、該リクエストに対応した処理をローカル処理実行部で実行させるか、またはクラウド処理実行部で実行させるかを判断し、上記クラウド処理実行部で実行させると判断した場合には上記リクエストをクラウド処理制御部に送るローカル処理制御ステップを有する
 情報処理方法。
 (9)上記ローカル処理制御部は、上記クラウド処理制御部に上記リクエストを送るとき、上記クラウド処理制御部から上記リクエストに対応したレスポンスを受ける
 前記(8)に記載の情報処理方法。
 (10)上記ローカル処理制御部は、上記レスポンスに含まれるアプリリクエストを上記リクエスト発行部に送り、
 上記リクエスト発行部は、上記アプリリクエストを受けたとき、該アプリリクエストに含まれるアプリ指定情報を含むリクエストを発行する
 前記(9)に記載の情報処理方法。
 (11)上記アプリリクエストに含まれるアプリ指定情報は、上記レスポンスの発生に係るアプリを再度指定する
 前記(10)に記載の情報処理方法。
 (12)上記アプリリクエストが含まれるレスポンスは、上記クラウド処理制御部で発行される
 前記(11)に記載の情報処理方法。
 (13)レンダリング部が、上記レスポンスに含まれる応答情報に基づいて音声または映像の信号を出力するレンダリングステップをさらに有する
 前記(9)から(12)のいずれかに記載の情報処理方法。
 (14)上記レンダリング部は、第1のリクエストに対応した音声または映像の信号出力中に、第2のリクエストに対応した応答情報が送られてくるとき、上記第1のリクエストに対応した音声または映像の信号出力を中止し、上記第2のリクエストに対応した音声または映像の信号の出力を始める
 前記(13)に記載の情報処理方法。
 (15)コンピュータを、
 ユーザ入力の意図を解釈する意図解釈手段と、
 上記解釈された意図に応じたリクエストを発行するリクエスト発行手段と、
 上記発行されたリクエストに基づき、該リクエストに対応した処理をローカル処理実行部で実行させるか、またはクラウド処理実行部で実行させるかを判断し、上記クラウド処理実行部で実行させると判断した場合には上記リクエストをクラウド処理制御部に送るローカル処理制御手段として機能させる
 プログラム。
 10・・・情報処理装置
 100・・・ローカル側処理装置
 101・・・入力部
 102・・・意図解釈部(Agent Core)
 103・・・通知監視部(Event Monitor)
 104・・・ローカル処理制御部(Local App Dispatcher)
 105・・・ローカル処理実行部(Local App Actions)
 106・・・レンダリング部(App Renderer)
 107・・・出力部
 200・・・クラウド側処理装置
 201・・・クラウド処理制御部(Cloud App Dispatcher)
 202・・・クラウド処理実行部(Cloud App Actions)
 203・・・外部サービス

Claims (15)

  1.  ユーザ入力の意図を解釈する意図解釈部と、
     上記解釈された意図に応じたリクエストを発行するリクエスト発行部と、
     上記発行されたリクエストに基づき、該リクエストに対応した処理をローカル処理実行部で実行させるか、またはクラウド処理実行部で実行させるかを判断し、上記クラウド処理実行部で実行させると判断した場合には上記リクエストをクラウド処理制御部に送るローカル処理制御部を備える
     情報処理装置。
  2.  上記ローカル処理制御部は、上記クラウド処理制御部に上記リクエストを送るとき、上記クラウド処理制御部から上記リクエストに対応したレスポンスを受ける
     請求項1に記載の情報処理装置。
  3.  上記ローカル処理制御部は、上記レスポンスに含まれるアプリリクエストを上記リクエスト発行部に送り、
     上記リクエスト発行部は、上記アプリリクエストを受けたとき、該アプリリクエストに含まれるアプリ指定情報を含むリクエストを発行する
     請求項2に記載の情報処理装置。
  4.  上記アプリリクエストに含まれるアプリ指定情報は、上記レスポンスの発生に係るアプリを再度指定する
     請求項3に記載の情報処理装置。
  5.  上記アプリリクエストが含まれるレスポンスは、上記クラウド処理制御部で発行される
     請求項4に記載の情報処理装置。
  6.  上記レスポンスに含まれる応答情報に基づいて音声または映像の信号を出力するレンダリング部をさらに備える
     請求項2に記載の情報処理装置。
  7.  上記レンダリング部は、第1のリクエストに対応した音声または映像の信号出力中に、第2のリクエストに対応した応答情報が送られてくるとき、上記第1のリクエストに対応した音声または映像の信号出力を中止し、上記第2のリクエストに対応した音声または映像の信号の出力を始める
     請求項6に記載の情報処理装置。
  8.  意図解釈部が、ユーザ入力の意図を解釈する意図解釈ステップと、
     リクエスト発行部が、上記解釈された意図に応じたリクエストを発行するリクエスト発行ステップと、
     ローカル処理情報制御部が、上記発行されたリクエストに基づき、該リクエストに対応した処理をローカル処理実行部で実行させるか、またはクラウド処理実行部で実行させるかを判断し、上記クラウド処理実行部で実行させると判断した場合には上記リクエストをクラウド処理制御部に送るローカル処理制御ステップを有する
     情報処理方法。
  9.  上記ローカル処理制御部は、上記クラウド処理制御部に上記リクエストを送るとき、上記クラウド処理制御部から上記リクエストに対応したレスポンスを受ける
     請求項8に記載の情報処理方法。
  10.  上記ローカル処理制御部は、上記レスポンスに含まれるアプリリクエストを上記リクエスト発行部に送り、
     上記リクエスト発行部は、上記アプリリクエストを受けたとき、該アプリリクエストに含まれるアプリ指定情報を含むリクエストを発行する
     請求項9に記載の情報処理方法。
  11.  上記アプリリクエストに含まれるアプリ指定情報は、上記レスポンスの発生に係るアプリを再度指定する
     請求項10に記載の情報処理方法。
  12.  上記アプリリクエストが含まれるレスポンスは、上記クラウド処理制御部で発行される
     請求項11に記載の情報処理方法。
  13.  レンダリング部が、上記レスポンスに含まれる応答情報に基づいて音声または映像の信号を出力するレンダリングステップをさらに有する
     請求項9に記載の情報処理方法。
  14.  上記レンダリング部は、第1のリクエストに対応した音声または映像の信号出力中に、第2のリクエストに対応した応答情報が送られてくるとき、上記第1のリクエストに対応した音声または映像の信号出力を中止し、上記第2のリクエストに対応した音声または映像の信号の出力を始める
     請求項13に記載の情報処理方法。
  15.  コンピュータを、
     ユーザ入力の意図を解釈する意図解釈手段と、
     上記解釈された意図に応じたリクエストを発行するリクエスト発行手段と、
     上記発行されたリクエストに基づき、該リクエストに対応した処理をローカル処理実行部で実行させるか、またはクラウド処理実行部で実行させるかを判断し、上記クラウド処理実行部で実行させると判断した場合には上記リクエストをクラウド処理制御部に送るローカル処理制御手段として機能させる
     プログラム。
PCT/JP2019/008769 2018-03-16 2019-03-06 情報処理装置、情報処理方法およびプログラム WO2019176670A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/981,282 US20210200597A1 (en) 2018-03-16 2019-03-06 Information processing device, information processing method, and program
CN201980030884.6A CN112088361A (zh) 2018-03-16 2019-03-06 信息处理装置、信息处理方法及程序
JP2020506432A JPWO2019176670A1 (ja) 2018-03-16 2019-03-06 情報処理装置、情報処理方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018050185 2018-03-16
JP2018-050185 2018-03-16

Publications (1)

Publication Number Publication Date
WO2019176670A1 true WO2019176670A1 (ja) 2019-09-19

Family

ID=67906633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/008769 WO2019176670A1 (ja) 2018-03-16 2019-03-06 情報処理装置、情報処理方法およびプログラム

Country Status (4)

Country Link
US (1) US20210200597A1 (ja)
JP (1) JPWO2019176670A1 (ja)
CN (1) CN112088361A (ja)
WO (1) WO2019176670A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021108095A (ja) * 2019-12-27 2021-07-29 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド スピーチ理解における解析異常の情報を出力するための方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111243587A (zh) * 2020-01-08 2020-06-05 北京松果电子有限公司 语音交互方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003642A (ja) * 2011-06-13 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> 分散計算システム、分配結合装置および計算プログラム
JP2016528624A (ja) * 2013-07-31 2016-09-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・アプリケーションを動作させるための方法、コンピュータ・プログラム、およびシステム(動的なアクション委譲によるソフトウェア・アプリケーションの動作)
US20160351200A1 (en) * 2015-05-27 2016-12-01 Google Inc. Local persisting of data for selectively offline capable voice action in a voice-enabled electronic device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013034122A (ja) * 2011-08-02 2013-02-14 Denso Corp 車両用立体音響装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003642A (ja) * 2011-06-13 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> 分散計算システム、分配結合装置および計算プログラム
JP2016528624A (ja) * 2013-07-31 2016-09-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・アプリケーションを動作させるための方法、コンピュータ・プログラム、およびシステム(動的なアクション委譲によるソフトウェア・アプリケーションの動作)
US20160351200A1 (en) * 2015-05-27 2016-12-01 Google Inc. Local persisting of data for selectively offline capable voice action in a voice-enabled electronic device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021108095A (ja) * 2019-12-27 2021-07-29 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド スピーチ理解における解析異常の情報を出力するための方法
US11482211B2 (en) 2019-12-27 2022-10-25 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for outputting analysis abnormality information in spoken language understanding
JP7182584B2 (ja) 2019-12-27 2022-12-02 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド スピーチ理解における解析異常の情報を出力するための方法

Also Published As

Publication number Publication date
CN112088361A (zh) 2020-12-15
US20210200597A1 (en) 2021-07-01
JPWO2019176670A1 (ja) 2021-03-25

Similar Documents

Publication Publication Date Title
US10489112B1 (en) Method for user training of information dialogue system
EP3788620B1 (en) Supplementing voice inputs to an automated assistant according to selected suggestions
JP6827479B2 (ja) パーソナルアシスタントモジュールによる非決定的なタスク開始
JP6665321B2 (ja) デジタルアシスタント要求の非同期処理
JP6115941B2 (ja) 対話シナリオにユーザ操作を反映させる対話プログラム、サーバ及び方法
JP6553736B2 (ja) 音声対応電子デバイスにおける選択的オフライン対応の音声アクションのためのデータのローカル維持
JP5654631B2 (ja) インタラクティブシステムとインタフェースシステムを駆動する方法
JP2023115067A (ja) アシスタントアプリケーションのための音声ユーザインタフェースショートカット
CN113168304A (zh) 有条件地将各种自动助理功能分配给与外围助理控制设备的交互
WO2018145130A1 (en) Voice assistant tracking and activation
CN111033492A (zh) 为自动化助手提供命令束建议
JP6518020B1 (ja) リソース制約のあるデバイスにおけるオフライン意味論処理の促進
WO2019176670A1 (ja) 情報処理装置、情報処理方法およびプログラム
KR20200124298A (ko) 원격으로 생성된 자동화된 어시스턴트 콘텐츠를 렌더링할 때 클라이언트 디바이스 지연 완화
JP2024020472A (ja) 人間の参加者の代理の自動アシスタントによる準委任通話
JP7465124B2 (ja) 音声処理システム、音声処理方法、及び音声処理プログラム
AU2020447125B2 (en) Hot-word free pre-emption of automated assistant response presentation
US20230197072A1 (en) Warm word arbitration between automated assistant devices
WO2022251978A1 (en) Speech input to user interface controls
WO2023114087A1 (en) Warm word arbitration between automated assistant devices
KR20230158615A (ko) 자동화된 어시스턴트를 위한 소프트 엔드포인팅을 사용한 자연스러운 대화 활성화
JP2004246865A (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: 19768150

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020506432

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19768150

Country of ref document: EP

Kind code of ref document: A1