WO2020202862A1 - 応答生成装置及び応答生成方法 - Google Patents

応答生成装置及び応答生成方法 Download PDF

Info

Publication number
WO2020202862A1
WO2020202862A1 PCT/JP2020/006526 JP2020006526W WO2020202862A1 WO 2020202862 A1 WO2020202862 A1 WO 2020202862A1 JP 2020006526 W JP2020006526 W JP 2020006526W WO 2020202862 A1 WO2020202862 A1 WO 2020202862A1
Authority
WO
WIPO (PCT)
Prior art keywords
response
user
information
response generation
generation device
Prior art date
Application number
PCT/JP2020/006526
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 US17/441,388 priority Critical patent/US12033627B2/en
Publication of WO2020202862A1 publication Critical patent/WO2020202862A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/909Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • 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/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Definitions

  • the present disclosure relates to a response generator and a response generation method. More specifically, the present invention relates to a process of generating a response output to a user who uses an information device.
  • the dialogue system is required to accurately recognize the user's voice and make an appropriate response.
  • the response generation device of one form according to the present disclosure includes an acquisition unit that acquires input information that triggers the generation of a response to the user, and a response to the user based only on the input information. It is provided with a response generation unit that generates a response to the user by using the related information related to the input information when it is determined that the input information cannot be generated.
  • Embodiment 1-1 An example of information processing according to an embodiment 1-2. Configuration of response generation system according to the embodiment 1-3. Information processing procedure according to the embodiment 1-4. Modifications of the Embodiment 1-4-1. Gesture information 1-4-2. Start word 1-4-3. Providing information used for response generation 1-4-4. Example of priority judgment 1-4-5. Use of dialogue history 1-4-6. Application of response generation processing of the present disclosure 2. Other embodiments 3. Effect of response generator according to the present disclosure 4. Hardware configuration
  • FIG. 1 is a diagram showing an example of information processing according to an embodiment. The information processing according to the embodiment is executed by the response generation device 10 shown in FIG.
  • the response generator 10 is an example of the response generator according to the present disclosure.
  • the response generation device 10 is a device that interacts with the user and performs various information processing such as voice recognition and response.
  • the voice recognition and voice response processing performed by the response generator 10 may be referred to as an agent function. Further, the response generation device 10 may be referred to as an agent device.
  • the response generation device 10 is a so-called smart watch.
  • the response generator 10 may include not only a speaker unit that outputs audio but also a display unit (liquid crystal display or the like) that outputs video or the like.
  • the response generation device 10 may be a smartphone, a tablet terminal, a smart speaker, or the like.
  • the smartphone or tablet terminal functions as the response generation device 10 according to the present disclosure by executing the program (application) for realizing the response generation processing of the present disclosure.
  • the response generation device 10 may be a wearable device such as a glasses-type terminal. Further, the response generation device 10 may be realized by various smart devices having an information processing function.
  • the response generator 10 may be a smart home appliance such as a television, an air conditioner, or a refrigerator, a smart vehicle such as an automobile, a drone, a domestic robot, or the like.
  • the response generation device 10 executes response processing for information (hereinafter, referred to as “input information”) that triggers the generation of a response, such as a collected voice and a user's action.
  • input information information
  • the response generator 10 recognizes the question posed by the user, outputs the answer to the question by voice, and displays the information about the question on the screen.
  • voice recognition process the output process, and the like executed by the response generator 10.
  • the input information acquired by the agent device does not always include sufficient information to generate a response.
  • the user may omit a part of the utterance to the agent device or may not be able to make an appropriate utterance due to forgetfulness or the like.
  • the agent device may not be able to recognize "what time of the day” the alarm is set.
  • the agent device outputs a reply such as "What time do you want to set?" Or an error such as "The request could not be understood”.
  • the user needs to perform a troublesome process of performing a plurality of exchanges with the agent device.
  • the operation command related to the utterance cannot be specified depending on the agent device, and an error may be output.
  • the user may forget the activation word for the agent device (the word that triggers the activation of the agent function, etc.), for example. In such a case, even if the user makes some utterance to the agent device, the user cannot obtain a response from the agent device.
  • the agent device has a problem of realizing robust dialogue processing for information (utterances, etc.) input from the user.
  • the response generator 10 solves the above problem by the information processing described below. Specifically, when the response generation device 10 acquires the input information that triggers the generation of the response to the user, it determines whether or not the response to the user can be generated based only on the input information. In other words, the response generator 10 determines whether or not the input information is an incomplete request utterance. Then, when it is determined that the response to the user cannot be generated based only on the input information, the response generation device 10 generates a response to the user using the related information related to the input information. In the present disclosure, the incomplete request utterance includes the possibility that the user's intention cannot be understood only by the utterance such as "tomorrow" described above, and a plurality of different responses may be generated. ..
  • the response generation device 10 determines that the user's request is incomplete, it collects information related to the request and generates a response based on the collected information.
  • the response generator 10 can generate an appropriate response as much as possible, instead of a response such as "I could not hear well” even when the information input from the user is incomplete. it can. That is, the response generation device 10 realizes robust (robust) dialogue processing with respect to the information input from the user.
  • the user inputs the voice A01 including the content such as "train” to the response generation device 10 by speaking “train ".
  • the response generation device 10 starts the response generation process using the voice A01 as input information.
  • the response generator 10 acquires the voice A01, performs automatic voice recognition (ASR (Automatic Speech Recognition)) processing, natural language understanding (NLU (Natural Language Understanding)) processing, and the like, and outputs a response corresponding to the voice A01. Generate.
  • ASR Automatic Speech Recognition
  • NLU Natural Language Understanding
  • the response generation device 10 recognizes the intention of the question as input information and generates an answer to the intention of the question as a response.
  • the response generation device 10 recognizes that the voice A01 includes the character string "train” based on the voice A01.
  • the response generation device 10 determines that the user's intention cannot be understood only by the recognized content of "train”.
  • the response generator 10 determines that the voice A01 is an incomplete utterance (request).
  • the response generation device 10 determines that the user's utterance is incomplete when the operation command, which is information for specifying the content of the response to the user, cannot be determined only from the input information.
  • the content of the response to the user may be read as the field of the response or the type of the response, and is generally referred to as a dialogue domain in the dialogue processing. That is, the response generator 10 determines that the user's utterance is incomplete when it cannot determine what kind of operation should be executed in response to the request from the user. Specifically, the response generator 10 searches for train operation information, outputs a weather forecast, purchases a specific product, plays news, etc. in response to a user's request. If the action to be executed is unknown, it is determined that the user's utterance is incomplete.
  • the response generation device 10 cannot determine the attached information which is the information used to generate the response corresponding to the operation command only from the input information. May determine that the utterance is incomplete.
  • the attached information is, for example, information for specifying the content of the operation when the response generation device 10 tries to execute the operation corresponding to the operation command. For example, if the user only says “set an alarm”, the action command "set an alarm” will be given information to identify the action, such as "what time of day”. Corresponds to the attached information.
  • the response generation device 10 determines that the user's utterance is an incomplete utterance, the response generation device 10 collects related information which is information related to the input request.
  • the related information is information on the content related to the character string corresponding to the input information.
  • Content includes, for example, widely distributed services and products such as TV programs, movies, music, and games.
  • the related information may be context information which is information indicating the situation at the time when the response generation device 10 acquires the input information.
  • the context information includes, for example, information about the user who uttered the request, and various information about the situation such as the date and time and place where the request was uttered.
  • the information about the user includes various information such as attribute information such as age, gender, place of residence, and place of origin of the user, and schedule information registered by the user.
  • the related information may be a history of dialogue with the user before the input information is acquired, a history of using the service of the user who used the service via the response generation device 10, and the like.
  • the related information may include various information such as the name of a product purchased by the user in the past, the type of service frequently used by the user, and the search history of the user's website.
  • the response generation device 10 generates a response to the user based on the collected related information. Although the details will be described later, the response generation device 10 makes a comprehensive judgment on the input information based on the collected related information, and outputs a response determined to be suitable for the current situation to the user.
  • the response generator 10 when the response generator 10 is in the context of the user going out in a dialogue with the user in the past, he referred to the related information that the user frequently uses the service "train transfer guidance". And. Further, the response generator 10 refers to the current user's context information being "out of the office". Here, the response generation device 10 recognizes the word "train” of the user, and determines that the user has a high likelihood of wanting to use the service of "train transfer guidance".
  • the response generator 10 activates the voice UI (User Interface) as shown in FIG. 1, and "train transfer guidance” such as "transfer guidance from station A to home". Response A02 is generated and output to the user.
  • voice UI User Interface
  • the response generator 10 may generate a plurality of responses based on the related information. Further, the response generation device 10 may assign an order to the plurality of generated responses and present them to the user together with the assigned order.
  • the response generator 10 refers to related information that the user has a history of playing music with the song title "Train goes” in the past. In this case, the response generator 10 determines that the input information "train” has a high likelihood that the user wants to play the song "train goes”. Further, it is assumed that the response generation device 10 refers to the related information that the user has a history of playing a moving image named "train XXX” in the past. In this case, the response generator 10 determines that the input information "train” has a high likelihood that the user wants to play a moving image named "train XXX”.
  • the response generation device 10 activates the display UI, for example, and displays the response A04, which is a candidate for the response, on the display A03. For example, if the response A02 is not the response desired by the user, the user can select one of the contents of the response A04 and output the desired response.
  • the response generation device 10 acquires the input information that triggers the generation of the response to the user and determines that the response to the user cannot be generated based only on the acquired input information, it is related to the input information. Generate a response to the user with relevant information. As a result, the response generation device 10 can generate a response to the user even when the input information is incomplete, so that robust dialogue processing can be realized.
  • the response generation device 10 acquires information that detects the user's behavior such as a user's gesture as input information in addition to the voice. You may.
  • FIG. 2 is a diagram showing a configuration example of the response generation system 1 according to the embodiment.
  • the response generation system 1 includes a response generation device 10 and an external server 200.
  • the response generator 10 and the external server 200 are communicably connected by wire or wirelessly via the network N (for example, the Internet) shown in FIG.
  • the response generation system 1 may include a plurality of response generation devices 10 and an external server 200.
  • the external server 200 is a service server that provides various services.
  • the external server 200 provides the response generation device 10 with weather information, traffic information, and the like in accordance with the request of the response generation device 10.
  • the response generation device 10 inquires about the weather information
  • the external server 200 returns the weather information according to the date and time and the place to the response generation device 10.
  • the response generation device 10 is an information processing terminal that executes the response generation process according to the present disclosure. As shown in FIG. 2, the response generation device 10 includes a sensor 20, an input unit 21, a communication unit 22, a storage unit 30, an acquisition unit 40, a response generation unit 50, and an output unit 60.
  • the sensor 20 detects various information.
  • the sensor 20 includes a microphone that collects the voice spoken by the user and a camera that acquires the user's behavior as an image.
  • the sensor 20 may include a touch sensor that detects that the user has touched the response generator 10, an acceleration sensor, a gyro sensor, and the like. Further, the sensor 20 may include a sensor that detects the current position of the response generator 10. For example, the sensor 20 receives radio waves transmitted from a GPS (Global Positioning System) satellite, and detects position information (for example, latitude and longitude) indicating the current position of the response generator 10 based on the received radio waves. May be good.
  • GPS Global Positioning System
  • the senor 20 may include a radio wave sensor that detects radio waves emitted by an external device, an electromagnetic wave sensor that detects electromagnetic waves, and the like. Further, the sensor 20 may detect the environment in which the response generation device 10 is placed. Specifically, the sensor 20 detects the illuminance sensor that detects the illuminance around the response generation device 10, the illuminance sensor that detects the illuminance around the response generation device 10, and the humidity around the response generation device 10. It may include a humidity sensor, a geomagnetic sensor that detects a magnetic field at the location of the response generator 10, and the like.
  • the input unit 21 is a device for receiving various operations from the user.
  • the input unit 21 is realized by a keyboard, a mouse, a touch panel, or the like.
  • the communication unit 22 is realized by, for example, a NIC (Network Interface Card) or the like.
  • the communication unit 22 is connected to the network N by wire or wirelessly, and transmits / receives information to / from the external server 200 or the like via the network N.
  • the storage unit 30 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk.
  • the storage unit 30 has, for example, a user information table 31, a response rule table 32, and a content table 33.
  • a user information table 31 a user information table
  • a response rule table 32 a response rule table
  • a content table 33 a content table
  • the user information table 31 stores information about a user who uses the response generation device 10.
  • FIG. 3 shows an example of the user information table 31 according to the embodiment.
  • FIG. 3 is a diagram showing an example of the user information table 31 according to the embodiment of the present disclosure.
  • the user information table 31 has items such as "user ID”, "user attribute information", and "history information”.
  • the "user ID” indicates identification information that identifies the user.
  • the "user attribute information” indicates, for example, the attribute information registered by the user when the response generation device 10 is used, or the user attribute information estimated by the response generation device 10 using image recognition or voice recognition.
  • the item of the user attribute information is conceptually described as "F01", but in reality, the user attribute information includes the age, gender, place of residence, and family structure of the user. Attribute information (user profile) such as is included.
  • the user attribute information may include information required for selecting the type of information to be output, such as that the user has a visual impairment. For example, when it is registered that the user attribute information has a visual impairment, the response generation device 10 may convert the content of the response normally displayed on the screen into voice and output it.
  • “History information” indicates the usage history of the response generation device 10 by the user.
  • the item of the history information is conceptually described as “G01”, but in reality, the history information includes the content of the user's question to the response generator 10 and the response.
  • the history information may include voiceprint information, waveform information, and the like for identifying the user by voice.
  • the history information may include information about the service used by the user via the response generation device 10.
  • the information about the service may include, for example, the type of service used by the user (type of traffic information service, weather information service, news service, etc.), the number of times the service is used, the frequency of use, and the like.
  • information about the service includes the name of the product purchased by the user in the shopping service, the number and frequency of purchases of the product, the name of the content used by the user in the music distribution service and the video service, and the number of times and playback of the content. Goods and the like may be included.
  • the history information may include any information generated when the user uses the response generation device 10.
  • the user whose user ID is identified by "U01" indicates that the user attribute information is "F01” and the history information is "G01".
  • the response rule table 32 stores an operation command for the response generation device 10 (that is, an operation executed by the response generation device 10 in response generation) in association with additional information regarding the operation.
  • FIG. 4 shows an example of the response rule table 32 according to the embodiment.
  • FIG. 4 is a diagram showing an example of the response rule table 32 according to the embodiment of the present disclosure.
  • the response rule table 32 has items such as "operation ID”, "operation content”, and "attached information”.
  • “Operation ID” indicates identification information that identifies the operation.
  • “Operation content” indicates the content of the operation executed by the response generator 10.
  • the "attached information” is information used when generating a response related to an operation, and is information indicating the target of the operation, information for defining the content of the operation in more detail, and the like.
  • the operation identified by the operation ID "H01" indicates that the operation content is "weather information” and the attached information is "date and time” or “location”. ..
  • the response rule table 32 contains information on the correspondence between the input information and the operation command, such as what kind of input information is selected and what kind of operation is selected. It may be remembered.
  • the action related to the response is selected based on the elements analyzed by the semantic analysis process for the input information.
  • the agent device determines that the utterance is an element "CHECK-WEATHER". Then, when the association that the operation corresponding to the element "CHECK-WEATHER" is "weather information" is performed, the agent device determines the operation related to the response based on the association information.
  • association information may be retained in the response rule table 32. Further, such association information may be updated as appropriate by the administrator of the response generation device 10. Further, such association information (response rule) may be set in the response generation device 10 in advance, or may be arbitrarily set by the user.
  • the content table 33 stores content information which is an example of related information.
  • FIG. 5 shows an example of the content table 33 according to the embodiment.
  • FIG. 5 is a diagram showing an example of the content table 33 according to the embodiment of the present disclosure.
  • the content table 33 has items such as "content ID”, "type”, and "name”.
  • Content ID indicates identification information that identifies the content.
  • Type indicates the type of content.
  • Name indicates the name of the content. In the example shown in FIG. 5, the name item is conceptually described as "K01", but in reality, a character string indicating a specific content name is stored in the name item. To.
  • the content whose content ID is identified by "J01" has the type "TV program” and the name "K01".
  • the content table 33 may store not only the name of the content but also various information about the content.
  • the content table 33 may store the creator and director of the content, the performers, the country and place where the content was produced, the genre and content of the content, and the like.
  • the content table 33 may store the name recognition, popularity, and the like of each content. The name recognition and popularity of the content are calculated based on, for example, information such as the number of times the content is played, the number of accesses, the number of searches, and sales.
  • the content table 33 is not necessarily held by the response generation device 10, but may be distributed and held by each server or the like that stores information about the content. In this case, the response generation device 10 may access each server and collect information about the content at the timing of collecting the related information.
  • the acquisition unit 40 and the response generation unit 50 are processing units that execute information processing executed by the response generation device 10.
  • the acquisition unit 40 and the response generation unit 50 are programs stored inside the response generation device 10 by, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), or the like (for example, the present disclosure).
  • the response generation program that executes the response generation processing related to the above is realized by executing the RAM (Random Access Memory) or the like as a work area.
  • the acquisition unit 40 and the response generation unit 50 are controllers, and may be realized by, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the acquisition unit 40 is a processing unit that acquires various types of information. As shown in FIG. 2, the acquisition unit 40 includes a detection unit 41, a registration unit 42, and a reception unit 43.
  • the detection unit 41 detects various information via the sensor 20. For example, the detection unit 41 detects the voice spoken by the user via a microphone, which is an example of the sensor 20. Further, the detection unit 41 may detect various information related to the user's movement such as the user's face information, the orientation and inclination of the user's body, the movement and the moving speed, etc., via the camera, the acceleration sensor, the infrared sensor, and the like. .. That is, the detection unit 41 detects various physical quantities such as position information, acceleration, temperature, gravity, rotation (angle velocity), illuminance, geomagnetism, pressure, proximity, humidity, and rotation vector as context information via the sensor 20. You may.
  • the registration unit 42 accepts registration from the user via the input unit 21.
  • the registration unit 42 accepts registration of a user profile (attribute information) of a user who uses the response generation device 10 via a touch panel or a keyboard.
  • the registration unit 42 may register various information such as a response rule used for dialogue processing with the user and information on the content in the storage unit 30.
  • the registration unit 42 acquires information on response rules and contents via a cloud server or the like that controls the interactive processing of the response generation device 10, and registers the acquired information.
  • the registration unit 42 may accept registration of the user's schedule and the like.
  • the registration unit 42 accepts schedule registration from the user by using the application function incorporated in the response generation device 10.
  • the registration unit 42 registers schedule information such as an outing schedule in the storage unit 30 through a dialogue with the user.
  • the receiving unit 43 receives various information. For example, the receiving unit 43 receives the date and time information used for the dialogue processing, the position information of the current position where the response generation device 10 is located, and the like from the external server 200 and the like. Further, when the user's attribute information and schedule information are registered in the external service or the like instead of the response generation device 10, the receiving unit 43 receives the user's attribute information and schedule from the external server 200.
  • the receiving unit 43 may receive context information regarding communication.
  • the receiving unit 43 may receive the connection status between the response generation device 10 and various devices (servers on the network, home appliances, etc.) as context information.
  • the connection status with various devices is, for example, information indicating whether or not mutual communication is established, a communication standard used for communication, and the like.
  • the acquisition unit 40 acquires various information by controlling each of the above processing units. For example, the acquisition unit 40 acquires input information that triggers the generation of a response to the user.
  • the acquisition unit 40 acquires voice information emitted by the user as input information. Specifically, the acquisition unit 40 acquires the user's utterances such as "train” and "tomorrow", and acquires the character string (text information) included in the utterance and some intention included in the utterance as input information. To do.
  • the acquisition unit 40 may acquire a character string (text data) input by the user, not limited to the utterance of the user.
  • the acquisition unit 40 may acquire the detection information that detects the user's behavior as the input information.
  • the detection information is information detected by the detection unit 41 via the sensor 20.
  • the detection information includes information indicating that the user has seen the camera of the response generation device 10, information indicating that the user has moved from the room at home to the entrance, user gestures performed with the utterance, and the like. , This is a user action that can trigger the response generation device 10 to generate a response.
  • the acquisition unit 40 may acquire information input from the user in the past, or the content of a response output to the user in the past, rather than the input information. That is, the acquisition unit 40 acquires the past dialogue with the user, the contents of the past response generated for the user, and the like. In addition, the acquisition unit 40 may acquire the usage history of the service used by the user through the interactive processing.
  • the acquisition unit 40 may acquire the context information when the input information is input together with the input information.
  • the acquisition unit 40 may acquire the location where the user is located, the date and time when the input information is input to the response generation device 10, the attribute information of the user, and the like as context information.
  • the acquisition unit 40 includes the number of other users located near the user, the location, the category of the location (home, outdoor, etc.), and the vehicle on which the user is riding (train, subway, Shinkansen, crowded train (crowded). Degree), automobiles, ships, airplanes), etc. may be obtained.
  • the acquisition unit 40 acquires such information by using, for example, a voice recognition model for determining background noise or the like in the vehicle on which the user is riding.
  • the acquisition unit 40 may acquire such information based on the position information or the like acquired from the terminal used by the user.
  • the acquisition unit 40 may acquire attribute information such as the age and gender of the user (speaker). For example, the acquisition unit 40 may acquire the attribute information of the user registered in advance by the user. The acquisition unit 40 acquires information such as the user's gender, age, and place of residence, for example. The acquisition unit 40 may acquire the attribute information of the user by recognizing the image captured by the sensor 20.
  • the acquisition unit 40 may acquire the user's behavioral state.
  • the user's behavioral state is information indicating a state such as whether the user is standing or sitting, sleeping, walking or running, or whether the user is calling or talking to another user.
  • the acquisition unit 40 may acquire various information such as the health state of the user and whether or not the user who has spoken is a user registered in the response generation device 10.
  • the acquisition unit 40 acquires various information such as position information, acceleration, temperature, gravity, rotation (angular velocity), illuminance, geomagnetism, pressure, proximity, humidity, and rotation vector of the response generator 10 acquired via the sensor 20.
  • the physical quantity of may be acquired as context information.
  • the acquisition unit 40 may acquire the connection status with various devices (for example, information on the establishment of communication and the communication standard used) as context information by using the built-in communication function. ..
  • the context information may include information about the dialogue between the user and another user, or between the user and the response generator 10.
  • the context information may include dialogue context information indicating the context of the dialogue exchanged by the user, the domain of the dialogue (weather, news, train operation information, etc.), intention of user utterance, attribute information, and the like.
  • the context information may include date and time information when the dialogue is taking place.
  • the date and time information is information such as date, time, day of the week, holiday characteristics (Christmas, etc.), time zone (morning, noon, night, midnight) and the like.
  • the context information may include information such as the location and situation of the user.
  • the information indicating the location of the user is information indicating the location of the user, such as whether the user is in the living room, bedroom, or children's room in the home.
  • the information indicating the location where the user is located may include information on a specific location indicating the user's whereabouts.
  • the acquisition unit 40 has information on specific household chores performed by the user, the content of the TV program being watched, information indicating what is being eaten, and having a conversation with a specific person. , Various information indicating the user's situation may be acquired as context information.
  • the acquisition unit 40 determines which home appliances are active (for example, whether the power is on or off) by mutual communication with home appliances (IoT devices, etc.) placed in the home. Information such as what kind of processing the home appliance is performing may be acquired.
  • home appliances IoT devices, etc.
  • the acquisition unit 40 may acquire traffic conditions, weather information, etc. in the user's living area as context information by mutual communication with an external service.
  • the acquisition unit 40 stores each acquired information in the storage unit 30. Further, the acquisition unit 40 may refer to the storage unit 30 and appropriately acquire the information required for processing.
  • the response generation unit 50 includes a signal processing unit 51, a voice recognition unit 52, an analysis unit 53, a response unit 54, and a transmission unit 55.
  • the response generation unit 50 generates a response to the user using the related information related to the input information when it is determined that the response to the user cannot be generated based only on the input information. To do.
  • the signal processing unit 51 performs signal processing related to input information such as a user's utterance. Specifically, the signal processing unit 51 converts the voice received from the user into a voice signal in which information processing in the subsequent stage can be executed. Alternatively, the signal processing unit 51 converts the image captured by the sensor 20 into digital data in a mode in which information processing in the subsequent stage can be executed.
  • the voice recognition unit 52 recognizes the signal processed by the signal processing unit 51 as voice. For example, the voice recognition unit 52 performs automatic voice recognition (ASR) processing and natural language understanding (NLU) processing, recognizes the activation word in the response generator 10, and performs sound source separation processing between the utterance and the environmental sound. , Performs noise reduction processing.
  • ASR automatic voice recognition
  • NLU natural language understanding
  • the analysis unit 53 analyzes the voice information recognized by the voice recognition unit 52. For example, the analysis unit 53 analyzes the meaning of the voice recognized by the voice recognition unit 52. In addition, the analysis unit 53 determines whether the voice recognized by the voice recognition unit 52 is a complete utterance or an incomplete utterance.
  • the response unit 54 generates a response to the input information based on the information analyzed by the analysis unit 53.
  • the response unit 54 refers to the user information table 31 and the response rule table 32, and generates a response corresponding to the input information based on the meaning of the word included in the input information and the analysis result of the input information.
  • the response unit 54 generates a response to the input information according to the meaning of the input information analyzed by the analysis unit 53.
  • the response unit 54 may utilize various known techniques such as phrase extraction and slot analysis in dialogue.
  • the transmission unit 55 controls the output of the response generated by the response unit 54.
  • the transmission unit 55 converts the response consisting of the character string generated by the response unit 54 into voice data.
  • the transmission unit 55 converts the response with the image information generated by the response unit 54 into image data.
  • the transmission unit 55 transmits the converted data to the output unit 60.
  • the transmission unit 55 may transmit the information used for the response generation and the information such as the user's reaction to the response to the external server 200, the business operator providing various services, and the like.
  • the output unit 60 is a mechanism for outputting various information.
  • the output unit 60 is a speaker or a display.
  • the output unit 60 outputs the voice data generated by the response unit 54.
  • the output unit 60 outputs the image data generated by the response unit 54 to the display.
  • the output unit 60 may output the response in various modes such as character recognition of the voice data generated by the response unit 54 and display on the display.
  • the response generation unit 50 generates a response corresponding to the input information by controlling each of the above processing units. That is, when it is determined that the response to the user cannot be generated based only on the input information, the response generation unit 50 generates a response to the user using the related information related to the input information.
  • the response generation unit 50 generates a response to the user using the related information when the operation command, which is information for specifying the content of the response to the user, cannot be determined only from the input information.
  • the response generation unit 50 can determine the operation command only from the input information and cannot determine the attached information which is the information used to generate the response corresponding to the operation command only from the input information.
  • the relevant information may be used to generate a response to the user.
  • the response generation unit 50 extracts complete utterances and incomplete utterances from the viewpoint of whether or not the operation command and the attached information are extracted from the input information such as the user's utterance to the extent that the response can be generated. To distinguish between.
  • the response generation unit 50 analyzes the utterance as a complete utterance and generates a response to the user.
  • the complete utterance refers to an utterance in which at least the operation command and the attached information are at least aligned so that a response can be generated. For example, when the user makes an utterance "set an alarm", the response generation unit 50 determines that the operation command is "set an alarm” based on the response rule. Further, the response generation unit 50 determines that the utterance "set an alarm” does not include the attached information. In this case, the response generation unit 50 determines that the user's utterance "set an alarm” is an incomplete utterance.
  • the response generation unit 50 may determine that the utterance is incomplete, even if the utterance includes the operation command and the attached information, and depending on the operation command, even if the attached information exists. For example, when the user utters "Tell me the weather tomorrow", the response generation unit 50 determines that the operation command is "weather information” based on the response rule. Further, the response generation unit 50 determines that the utterance "Tell me the weather tomorrow” includes the "time information" of "tomorrow”. However, since the response generation unit 50 does not include location information in such an utterance, the response generation unit 50 may determine the utterance as an incomplete utterance.
  • the response generation unit 50 completes the utterance when, for example, the initial setting related to the weather information is made by the user (for example, the location of the weather information is always set to "Tokyo"). It may be judged as an utterance. That is, the attached information also includes information that can be arbitrarily or complemented in the execution of the operation. For example, when the user utters "Tell me about tomorrow's weather", the time information and location information are not always necessary, or are information that is complemented by the user's settings and context information (for example, "time information”). Can be complemented with "today” and "location information” with "current location”).
  • the response generation unit 50 may make a response that prompts the user to make a complete utterance.
  • the response generation unit 50 can perform a subsequent semantic analysis process or the like on the assumption that there is a possibility of both incompleteness and completeness of the user's utterance.
  • the response generation unit 50 determines that the user's utterance is an incomplete utterance, the type of processing for generating a response based on the related information will be described.
  • the response generation unit 50 may extract a part of the operation command from the utterance of the user and determine that the specific operation content is unknown although the user's desired operation is recognized. It is assumed that the response generation unit 50 recognizes only the character string "delete" in the user's utterance and does not recognize other information.
  • the response generation unit 50 extracts candidates for operation as related information.
  • the response generation unit 50 refers to the response rule table 32 and extracts all the operation instructions related to “deletion”. Specifically, the response generation unit 50 extracts items such as "deletion of alarm setting” and “deletion of schedule information" that include “deletion” in the operation command.
  • the response generation unit 50 selects, for example, the operation content having a high likelihood of being the operation desired by the user from the extracted operations based on the latest dialogue history with the user. Then, the response generation unit 50 generates a response based on the selected operation content. For example, it is assumed that the response generation unit 50 has received the alarm setting from the user several minutes ago. In this case, the response generation unit 50 determines that the user is likely to issue a command related to the latest operation, and outputs a response such as "delete the alarm set earlier" to the user.
  • the response generation unit 50 recognizes only the character string "play" in the user's utterance and does not recognize other information.
  • the response generation unit 50 extracts candidates for operation as related information.
  • the response generation unit 50 refers to the response rule table 32 and extracts all the operation commands related to “reproduction”. Specifically, the response generation unit 50 extracts items such as "playing music” and “playing a moving image” that include “playing” in the operation command. Then, the response generation unit 50 generates a response related to the operation expected by the user based on the user's past action history (the number of times the moving image is played is larger than that of music).
  • the response generation unit 50 recognizes only the character strings “confirm” and “tell me” in the user's utterance, and does not recognize other information. In this case, the response generation unit 50 extracts all the operation instructions in which the concept of "CHECK” is set. Then, the response generation unit 50 generates a response such as listing services and the like including the concept of "CHECK” such as weather information and traffic information as candidates.
  • the response generation unit 50 can handle the case where the user's utterance starts with an interrogative word, for example, in the same manner as described above. For example, it is assumed that the response generation unit 50 recognizes only the character strings "when” and "where" in the user's utterance, and does not recognize other information. In this case, the response generation unit 50 generates a response such as listing services or the like including concepts such as “when” and “Where” as candidates in the operation.
  • the response generation unit 50 may determine that the operation command is unknown, although only the attached information can be partially extracted from the user's speech.
  • the response generation unit 50 may generate a response to the user by using, for example, context information which is information indicating the situation at the time when the input information is acquired as the related information.
  • the response generation unit 50 uses the user's attribute information or location information as context information to generate a response to the user.
  • the response generation unit 50 recognizes only the character string "tomorrow” in the user's utterance and does not recognize other information.
  • the response generation unit 50 refers to the response rule table 32 and extracts all the operation contents including the date and time information in the attached information. For example, in the example shown in FIG. 4, "weather information", “transfer guidance”, and “schedule information” include "date and time” as ancillary information. The response generation unit 50 extracts all of these operation contents.
  • the response generation unit 50 selects the operation content having a high likelihood desired by the user based on the past dialogue with the user and the like. For example, the response generation unit 50 determines that if the user has a conversation about going out immediately before, the user is likely to issue an operation command "I want to know tomorrow's weather information", and tomorrow's "weather”. "Information" is generated as a response. Alternatively, the response generation unit 50 may generate a response that presents a plurality of operation commands that can be candidates for the response to the user. For example, the response generation unit 50 may generate a response for confirming an operation command, such as "Do you want to confirm tomorrow's weather or tomorrow's schedule?".
  • the response generation unit 50 may not be able to extract clear information such as operation commands and attached information from the user's utterance.
  • the response generation unit 50 may generate a response to the user by using the information of the content related to the character string corresponding to the input information as the related information.
  • the response generation unit 50 refers to the content table 33 and generates a response to the user based on the name of the content including the character string corresponding to the input information.
  • the response generation unit 50 may generate a response to the user based on the creator of the content, the content of the content, and the like, not limited to the name of the content.
  • the response generation unit 50 recognizes only the character string "tomorrow” in the user's utterance and does not recognize other information. In this case, the response generation unit 50 refers to the content table 33 and extracts all the contents including the character string "tomorrow”.
  • the response generation unit 50 generates a response to the user by combining the extracted content and the operation related to the content.
  • the operation related to the content is, for example, music playback, video playback, or the like. That is, the response generation unit 50 generates a response to the user, such as playing a song having a title containing "tomorrow” or playing a moving image having a title containing "tomorrow”. For example, as shown in FIG. 1, the response generation unit 50 may present the user with a content name that is a candidate for reproduction.
  • the response generation unit 50 may extract candidate content based on the name recognition of the content and the like. For example, even if the user's utterance and the name of the content match, if the name recognition of the content is low, the match is likely to be a coincidence. Therefore, when the user's name recognition is equal to or less than a predetermined threshold value, the response generation unit 50 performs a process of not generating an operation such as content playback as a response even if the user's utterance and the content name match. May be good.
  • the response generation unit 50 may refer to the dialogue history of the user and perform processing according to the pronunciation and wording habits of the user. For example, regarding the utterance of "tomorrow”, it may be different depending on the user whether to say “tomorrow” or “tomorrow” on a daily basis. Under this circumstance, when the response generation unit 50 requests "change of tomorrow's schedule” or the like, the user routinely utters “tomorrow” as “tomorrow”, but the user says “tomorrow”. Suppose you recognize that you have spoken tomorrow.
  • the response generation unit 50 determines that the utterance is not intended to be "change of tomorrow's schedule” or the like, but is likely to be content (that is, some proper noun) containing the character string "tomorrow”. To do. Then, the response generation unit 50 does not respond to the operation of using "tomorrow” as attached information (date and time information) such as "Is it a change of tomorrow's schedule?", But “" Tomorrow's (tomorrow's) ... Generate a response for actions that use "tomorrow” as a proper noun, such as "play the song”. " In this way, the response generation unit 50 can comprehensively determine an appropriate response to the user and generate a response by using information such as the user's daily wording.
  • the response generation unit 50 may estimate the action command or the ancillary information based on the user's action history or the like.
  • the response generation unit 50 may generate a response to the user by using the user's schedule information as context information.
  • the response generation unit 50 recognizes only the character string "tomorrow" in the user's utterance and does not recognize other information.
  • the response generation unit 50 refers to the user information table 31 and acquires the user's schedule information (schedule registration, etc.). Further, the response generation unit 50 refers to the response rule table 32 and extracts an operation instruction including time information from the operation instructions.
  • the response generation unit 50 further extracts the operations related to the schedule information and the like registered by the user from the extracted operation candidates. For example, when the response generation unit 50 sets an alarm to be driven tomorrow morning in an application or an external service started by the user, the response generation unit 50 performs operations such as "confirmation of alarm setting" and "deletion of alarm”. Extract. Then, the response generation unit 50 calculates the priority of the operation presumed to be related to be high, and generates a response that presents the operation to the user. Specifically, the response generation unit 50 generates a response such as "an alarm is set at 7 o'clock tomorrow" or "do you want to cancel the alarm setting tomorrow?". In this way, the response generation unit 50 comprehensively determines an appropriate response to the user and generates a response by determining the priority of the operation desired by the user using the schedule information of the user. Can be done.
  • the response generation unit 50 may generate a response to the user as related information by using the dialogue history with the user before the input information is acquired.
  • the response generation unit 50 identifies the user who made the utterance by voice recognition or image recognition, and also refers to the user information table 31 and the dialogue history of the user who made the utterance.
  • the response generation unit 50 may refer to the service usage history by the user as the dialogue history. That is, the response generation unit 50 may generate a response to the user by using the usage history of the user's service before the input information is acquired.
  • the response generation unit 50 recognizes only the character string "train” in the user's utterance and does not recognize other information.
  • the response generation unit 50 refers to the user information table 31 and refers to the usage history of the user's service. Further, the response generation unit 50 refers to the response rule table 32 and extracts an operation command (for example, a transfer guide or the like) whose target such as a vehicle is included in the attached information from the operation commands.
  • an operation command for example, a transfer guide or the like
  • the response generation unit 50 preferentially selects the transfer guide from the extracted operation commands. Then, the response generation unit 50 refers to context information such as date and time information, and generates a response regarding transfer guidance to the user based on the current time and the route that is habitually searched. As a result, the user can receive a response regarding the transfer guidance with only the fragmentary information of "train”.
  • the response generation unit 50 preferentially selects the moving image reproduction from the extracted operation commands. Then, the response generation unit 50 generates a response regarding video reproduction to the user based on the moving image that is habitually reproduced. As a result, the user can execute the moving image playback only with the fragmentary information of "train".
  • the response generation unit 50 may select an operation command based on the user's context information. For example, it is assumed that a user tends to utter an operation command related to transfer guidance while going out, and a user tends to utter an operation command related to video reproduction at home. In this case, when the response generation unit 50 receives the utterance "train" from the user, it may perform either the transfer guidance or the video playback operation according to the context information of the current user. ..
  • the response generation unit 50 may select an operation command as context information by referring not only to the location of the user but also to the surrounding environment. For example, when the user only makes an utterance of "put out", it is assumed that the response generation unit 50 determines from the various information described above that the user desires "video playback". At this time, the response generation unit 50 refers to the environment around the user by using a camera or the like, and recognizes that a person other than the family is located around the user. In this case, since the response generation unit 50 has a person other than the family member around the user, the response generation unit 50 generates a response to a question such as "Is it okay to play the video?" Instead of playing the video immediately. You may.
  • the response generation unit 50 may refer to the purchase history for each user as the service usage history. For example, suppose that a user who utters "tomorrow” has many logs of purchasing a product called “tomorrow's XXX". In this case, the response generation unit 50 may determine that the user wants to purchase the product "Tomorrow's XXX” again and generate a response such as "Do you want to order” Tomorrow's XXX "?" ..
  • the response generation unit 50 may specify the attribute of the user who made the utterance and perform processing according to the attribute. For example, assume that the user is a child and the purchase is not permitted through the response generator 10. In this case, the response generator 10 prevents the user from generating an operation such as "purchasing a product called" tomorrow's XXX "" from this utterance even if the user makes an utterance of "tomorrow". For example, the response generation device 10 presents to the user a candidate for an operation other than purchasing (for example, reproduction of content having a name including "tomorrow").
  • the response generation unit 50 generates a plurality of responses to the user using the related information, and prioritizes the plurality of responses to the user. You may present it.
  • the response generation unit 50 comprehensively determines the response candidates to be output to the user and scores the priority thereof. Then, the response generation unit 50 presents the upper N (N is an arbitrary number) responses to the user. For example, as shown in FIG. 1, the response generation unit 50 may present the response to the user in various modes such as outputting the highest-level response by voice and outputting the remaining response candidates to the display. ..
  • the response generation unit 50 may perform learning based on the user's reaction. For example, if the user continues to interact with the response to the response generated only from the utterance "tomorrow" without any particular problem, the response generation unit 50 determines the response as a "correct example". Alternatively, when the user shows a rejection reaction to the response generated only from the utterance "tomorrow", the response generation unit 50 utterances related to denial such as "No, no" or "Not so". The response is judged to be a "negative example”. Then, the response generation unit 50 learns so that the score (priority) calculated for the response is high or low. As a result, the response generation unit 50 can accurately estimate the operation desired by the user as the dialogue with the user is repeated.
  • response generation unit 50 As various response generations by the response generation unit 50, rule-based processing based on each data table stored in the storage unit 30 is shown, but the response generation processing by the response generation unit 50 is end-to-. It may be executed in the process of End.
  • FIG. 6 is a diagram conceptually showing an example of the response generation process according to the embodiment.
  • the response generation unit 50 generates a response by using the trained model 70 learned by DNN (Deep Neural Network) or the like.
  • DNN Deep Neural Network
  • the trained model 70 inputs context information such as the date and time and place where the utterance was made, user attribute information, dialogue history with the user, action history, and the like together with the user's utterance, and responds to the utterance. Is learned as a positive example or a negative example.
  • the learning data data in which positive and negative examples are labeled in advance may be used, or positive and negative examples may be appropriately determined based on the reaction from the user.
  • the response generation unit 50 performs a response generation process using the trained model 70 learned in the above learning process. For example, when the response generation unit 50 acquires the user's utterance, the response generation unit 50 inputs the context information such as the date and time and the place, the user's attribute information, the dialogue history with the user, the action history, and the like into the learned model 70 together with the utterance. To do. Then, the response generation unit 50 outputs the response to the user generated by the trained model 70. In this way, the response generation unit 50 may generate a response to the user by end-to-end processing regardless of the rule base.
  • FIG. 7 is a flowchart showing the flow of processing according to the embodiment.
  • the response generation device 10 determines whether or not the utterance acquired from the user is complete (step S101). When the utterance is not perfect (step S101; No), the response generator 10 executes each process for the incomplete utterance as described below.
  • the response generation device 10 confirms the matching between the utterance and the content (step S102). For example, the response generation device 10 enumerates the contents including the character strings included in the utterance, and extracts the operation commands and attached information related to these contents.
  • the response generator 10 confirms the attached information in the utterance (step S103). For example, the response generator 10 confirms information such as "tomorrow" that can be ancillary information of the operation, although the operation command cannot be specified only by the utterance of the user.
  • the response generator 10 extracts the operation related to the attached information (step S104). For example, the response generator 10 extracts an operation using the date and time information "tomorrow" as ancillary information.
  • the response generation device 10 confirms matching with the dialogue history with the user (step S105). For example, the response generator 10 collates with a product including the character string "tomorrow” purchased by the user in the past in the interactive process based on the utterance "tomorrow”. Then, the response generation device 10 performs a process of extracting "purchase” as an action desired by the uttered user based on the log that the user has purchased the product including the character string "tomorrow” in the past.
  • the response generation device 10 comprehensively determines the response to the utterance through the processes of steps S102 to S105 and the like (step S106). For example, the response generator 10 determines "an action presumed to have been desired by the user in an incomplete utterance" based on the priority (score) of each of the extracted actions.
  • step S101 When the utterance is complete (step S101; Yes), the response generation device 10 skips the processing of step S102 and analyzes the complete utterance (step S107).
  • the response generation device 10 may execute the processes of steps S102 to S105 and the like without skipping the process even when the utterance is complete.
  • the response generation device 10 determines whether or not a response to the user can be generated based on the estimated operation or the like (step S108). For example, if the response generation device 10 can generate a response based on the estimated operation or the like (step S108; Yes), the response generation device 10 generates the response and outputs the generated response to the user (step S109). On the other hand, when it is not possible to generate a response based on the estimated operation or the like (step S108; No), for example, when it is determined that an appropriate response cannot be generated due to insufficient attached information even if the operation is estimated, a response is generated. The device 10 listens back or outputs an error (step S110).
  • the response generation device 10 determines whether or not the response output to the user (or the response such as listening back) is correct (step S111). For example, when it is determined that the response is correct (step S111; Yes), such as when the user receives the response, the response generation device 10 learns the response as a correct example (step S112). On the other hand, when it is determined that the response is incorrect (step S111; No), such as when the user rejects the response or makes another request utterance, the response generation device 10 learns the response as a negative example (step S111; No). Step S113).
  • the response generation device 10 shows an example of acquiring a user's utterance as input information. At this time, the response generation device 10 may acquire information on gestures such as the user's movements and gestures as information related to the user's utterance.
  • the response generation device 10 may generate a response to the user by combining the acquired gesture and the utterance. It is assumed that the response generator 10 recognizes the character string "quietly" in the user's utterance. In this case, the response generator 10 determines whether the user is trying to send an e-mail or make a phone call to a person named "Shizuka", or the volume of the song being played by the response generator 10. You may not be able to identify the operation, perhaps because you are trying to lower it.
  • the response generation device 10 detects the gesture that the user puts the index finger on the mouth together with the utterance of the user. In this case, the response generation device 10 analyzes from the image recognition result of the detected gesture that the user's gesture includes "intention to suppress some sound”. The response generation device 10 comprehensively determines the information, and determines that the above utterance indicates the user's intention of "lowering the volume of the song being played”.
  • the response generation device 10 may use the detection information that detects the user's gesture or the like as the related information. As a result, the response generation device 10 can accurately estimate the user's intention by capturing the user's behavior even when it is difficult to identify the user's intention only by utterance.
  • the response generation device 10 comprehensively determines the desired operation of the user and generates a response to the user has been described.
  • the response generation device 10 does not necessarily generate a response to the user, but may be set to respond to the user's request by comprehensively determining the operation desired by the user.
  • the response generation device 10 may change the setting that triggers the activation of the dialogue process based on the fragmentary input information acquired from the user. For example, it is assumed that the activation word that activates the interactive function of the response generation device 10 is a specific word such as "hello". However, the user may forget the activation word "hello” or may not be able to speak the activation word in the case of utterance.
  • the response generator 10 acquires the user's action such that the user located in front of the response generator 10 frequently makes utterances other than the activation word such as "um” and "what is it".
  • the response generation device 10 may determine whether or not the user's behavior satisfies a predetermined condition, and may change the activation word according to the user's behavior. For example, the response generation device 10 determines whether or not the same content has been uttered by the user a predetermined number of times or more before the user utters the activation word. Then, when the response generation device 10 determines that the same content has been uttered a predetermined number of times or more, it determines that the user wants to activate the response generation device 10 with the utterance, and changes the activation word. ..
  • the response generator 10 can set a word such as "um”, which normally does not activate interactive processing, as an activation word, depending on the user.
  • the response generator 10 can improve the convenience of interactive processing for users who often forget things and users who cannot pronounce the activation word well.
  • the response generator 10 may set the activation word to something other than the user's utterance. For example, some users may make gestures such as pointing at the response generator 10 or waving at the response generator 10 instead of making an utterance such as "hello". In such a case, the response generation unit 50 changes the setting so that the gesture of pointing to the response generation device 10 or waving at the response generation device 10 triggers the activation of the dialogue processing according to the user. You may.
  • the response generation device 10 may provide various information used for generating the response to the external server 200, an external service, or the like.
  • the response generation device 10 shows a process of generating a response to a fragmentary conversation such as a user's "train” or "tomorrow".
  • the external server 200 that provides services such as transfer guidance can provide services and information that are more in line with the user's intention if the response base 10 generated by the response generation device 10 is provided.
  • the response generation device 10 provides the external service or the like with the user's utterance, the related information used in the generation process, and the like as the information on which the generated response is based.
  • the response generator 10 identifies the user's action command based on what kind of information, what is the content related to the utterance, and what is the past action history of the user related to the utterance. , Provides various information used in the response generation process.
  • the response generation device 10 may output the related information used for generating the response to the external device after generating the response to the user.
  • the response generation device 10 can provide useful information to the business operator who manages the external server 200 and the like.
  • the response generation device 10 may determine the priority of the response to the user according to the type of the device of the response generation device 10.
  • the response generator 10 determines that the user is likely to utter an operation command related to the television, and sets a priority for using the operation command related to the television as a response. Make it high. In other words, the response generation device 10 adjusts the weight of the information used for the comprehensive determination of the response generation according to the device type of the own device.
  • the response generation device 10 preferentially uses an operation command that is presumed to have a high probability of being desired by the user for the own device to generate a response, which improves the convenience of the user who uses the interactive processing. Can be made to.
  • the response generation device 10 may use not only the dialogue history of the user who made the utterance but also the dialogue history of another user. For example, the response generation device 10 may perform a conversation domain estimation process based on the contents of conversations by other plurality of surrounding users before the user speaks. For example, when a plurality of other users around the user are having a conversation related to going out, the response generator 10 determines that the conversation is a domain related to "going out” from the analysis result of words included in the conversation. After that, when there is an utterance from the user such as "What is tomorrow?", The response generation device 10 extracts the operation related to "going out” and generates a response to the user.
  • the response generator 10 extracts "weather information” as an operation related to "going out” and generates a response such as "it will be fine tomorrow".
  • the response generator 10 extracts "schedule information” as an operation related to "going out” and generates a response such as "the schedule is open tomorrow".
  • the response generation device 10 can perform a natural response for the user who has spoken by estimating the intention of the user's incomplete utterance by using the dialogue history of another user or the like.
  • the response generation device 10 may generate a response as the dialogue history of another user based on the dialogue history acquired from the other device via the cloud as well as the user located on the spot. ..
  • response generation processing of the present disclosure is not limited to interactive processing such as user's utterance, and can be applied to various techniques.
  • the response generation process of the present disclosure can also be applied to interactive processing via text data, such as chatting with a user using a robot.
  • each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of them may be functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. It can be integrated and configured.
  • the response unit 54 and the transmission unit 55 may be integrated.
  • the response generation device (response generation device 10 in the embodiment) according to the present disclosure includes an acquisition unit (acquisition unit 40 in the embodiment) and a response generation unit (response generation unit 50 in the embodiment). ..
  • the acquisition unit acquires the input information that triggers the generation of the response to the user.
  • the response generation unit generates a response to the user by using the related information related to the input information when it is determined that the response to the user cannot be generated based only on the input information.
  • the response generator according to the present disclosure can generate a response to the user even when the input information is incomplete, so that robust dialogue processing can be realized. Further, according to the response generator, since the user does not need to request a complete sentence or the like, the burden on the user in the interactive processing can be reduced.
  • the acquisition unit acquires voice information emitted by the user as input information.
  • the response generator can realize robust dialogue processing even if the content spoken by the user is incomplete.
  • the acquisition unit acquires the detection information that detects the user's behavior as input information.
  • the response generator can realize robust dialogue processing even when the user's intention cannot be estimated only by the user's behavior.
  • the response generation unit generates a response to the user by using the related information when the operation command, which is the information for specifying the content of the response to the user, cannot be determined only from the input information.
  • the response generator can generate some response to the user even when the action to be executed by the response generator is unknown.
  • the response generation unit is information used to generate a response corresponding to the operation command when the operation command, which is information for specifying the content of the response to the user, can be determined only from the input information.
  • the response generator can generate a response supplemented with such information even if the content is not clearly spoken by the user.
  • the response generation unit generates a response to the user by using the information of the content related to the character string corresponding to the input information as the related information.
  • the response generator can perform an operation such as playing back the content according to the intention of the user's utterance.
  • the response generation unit generates a response to the user based on the name of the content including the character string corresponding to the input information.
  • the response generator can perform an operation such as playing back the content according to the intention of the user's utterance.
  • the response generation unit generates a response to the user by using the context information which is the information indicating the situation at the time when the input information is acquired as the related information.
  • the response generator can generate a response in which auxiliary information or the like, which is unknown only by the user's utterance, is supplemented with context information.
  • the response generation unit uses the user's attribute information or location information as context information to generate a response to the user.
  • the response generator can generate a response suitable for the user's attribute and location.
  • the response generation unit uses the user's schedule information as context information to generate a response to the user.
  • the response generator can generate a response that matches the actual situation of the user.
  • the response generation unit generates a response to the user by using the dialogue history with the user before the input information is acquired as the related information.
  • the response generator can generate a response that does not become unnatural with respect to the past dialogue with the user and the flow of the conversation until the input information is acquired.
  • the response generation unit generates a response to the user by using the usage history of the user's service before the input information is acquired.
  • the response generator can generate a response that matches the daily behavior of the user.
  • the response generation unit generates a plurality of responses to the user using the related information, and presents the plurality of responses to the user with priority.
  • the response generator can increase the probability of generating a response according to the user's intention, so that the user's satisfaction in the dialogue processing can be improved.
  • the response generation unit outputs the related information used for generating the response to the external device after generating the response to the user.
  • the response generator can provide useful information to an external service or the like that provides information on the dialogue processing.
  • FIG. 8 is a hardware configuration diagram showing an example of a computer 1000 that realizes the function of the response generator 10.
  • the computer 1000 includes a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600.
  • Each part of the computer 1000 is connected by a bus 1050.
  • the CPU 1100 operates based on the program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 expands the program stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to various programs.
  • the ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 is started, a program that depends on the hardware of the computer 1000, and the like.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100 and data used by the program.
  • the HDD 1400 is a recording medium for recording the response generation program according to the present disclosure, which is an example of the program data 1450.
  • the communication interface 1500 is an interface for the computer 1000 to connect to an external network 1550 (for example, the Internet).
  • the CPU 1100 receives data from another device or transmits data generated by the CPU 1100 to another device via the communication interface 1500.
  • the input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000.
  • the CPU 1100 receives data from an input device such as a keyboard or mouse via the input / output interface 1600. Further, the CPU 1100 transmits data to an output device such as a display, a speaker, or a printer via the input / output interface 1600. Further, the input / output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined recording medium (media).
  • the media is, for example, an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk), a magneto-optical recording medium such as MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
  • an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
  • a magneto-optical recording medium such as MO (Magneto-Optical disk)
  • tape medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
  • MO Magneto-optical disk
  • the CPU 1100 of the computer 1000 realizes the functions of the acquisition unit 40 and the like by executing the response generation program loaded on the RAM 1200.
  • the HDD 1400 stores the response generation program according to the present disclosure and the data in the storage unit 30.
  • the CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program, but as another example, these programs may be acquired from another device via the external network 1550.
  • the present technology can also have the following configurations.
  • An acquisition unit that acquires input information that triggers the generation of a response to the user, A response generator that generates a response to the user using the related information related to the input information when it is determined that the response to the user cannot be generated based only on the input information.
  • a response generator comprising.
  • the acquisition unit The response generation device according to (1) above, which acquires voice information emitted by the user as the input information.
  • the acquisition unit The response generation device according to (1) or (2), which acquires detection information for detecting the user's behavior as the input information.
  • the response generator When an operation command, which is information for specifying the content of the response to the user, cannot be determined only from the input information, a response to the user is generated using the related information (1) to (3).
  • the response generator according to any one.
  • the response generator When the operation command, which is the information for specifying the content of the response to the user, can be determined only from the input information, the attached information which is the information used to generate the response corresponding to the operation command is provided.
  • the response generator according to any one of (1) to (4) above which generates a response to the user using the related information when it cannot be determined only from the input information.
  • the response generator The response generator according to any one of (1) to (5), which generates a response to the user by using the information of the content related to the character string corresponding to the input information as the related information. ..
  • the response generator The response generation device according to (6) above, which generates a response to the user based on the name of the content including the character string corresponding to the input information.
  • the response generator The description in any one of (1) to (7) above, which generates a response to the user by using the context information which is the information indicating the situation at the time when the input information is acquired as the related information.
  • Response generator (9) The response generator The response generation device according to (8), wherein a response to the user is generated by using the attribute information or the location information of the user as the context information.
  • the response generator The response generation device according to (8) or (9), wherein a response to the user is generated by using the schedule information of the user as the context information.
  • the response generator The response generation according to any one of (1) to (10), which generates a response to the user by using the dialogue history with the user before the input information is acquired as the related information. apparatus. (12) The response generator The response generation device according to (11), wherein a response to the user is generated by using the usage history of the service of the user before the input information is acquired. (13) The response generator The response generator according to any one of (1) to (12) above, wherein a plurality of responses to the user are generated using the related information, and a plurality of responses are prioritized and presented to the user. .. (14) The response generator The response generating device according to any one of (1) to (13) above, which outputs the related information used for generating the response to an external device after generating the response to the user.
  • the computer Acquires the input information that triggers the generation of a response to the user, A response generation method for generating a response to a user by using related information related to the input information when it is determined that a response to the user cannot be generated based only on the input information.
  • Response generation system 10
  • Response generator 20
  • Sensor 21
  • Input unit 22
  • Communication unit 30
  • Storage unit 31
  • User information table 32
  • Response rule table 40
  • Acquisition unit 41
  • Detection unit 42
  • Registration unit 43
  • Reception unit 50
  • Response generation unit 51
  • Signal processing unit 52
  • Voice recognition Part 53
  • Analysis part 54
  • Response part 55 Transmission part 60
  • External server

Landscapes

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

Abstract

本開示に係る応答生成装置は、ユーザに対する応答を生成する契機となる入力情報を取得する取得部と、入力情報のみに基づいてユーザに対する応答が生成できないと判定した場合に、入力情報に関連する関連情報を用いてユーザへの応答を生成する応答生成部と、を備える。例えば、取得部は、入力情報として、ユーザが発した音声情報を取得する。

Description

応答生成装置及び応答生成方法
 本開示は、応答生成装置及び応答生成方法に関する。詳しくは、情報機器を利用するユーザに対して出力される応答の生成処理に関する。
 スマートフォンやスマートスピーカーの普及に伴い、ユーザから受け付けた発話やユーザの行動等に反応してユーザに適切な応答を行うための対話システムが広く利用されている。対話システムでは、ユーザの音声を正確に認識し、適切な応答を行うことが求められる。
 例えば、ユーザに向けて出力されているコンテンツに対するユーザからの問い合わせに対して、コンテンツのジャンル等に応じて生成される応答の内容を生成する技術が知られている。
国際公開第2016/158005号公報
 上記の従来技術によれば、ユーザがコンテンツを見ながらそのコンテンツに対して発した質問に対する応答を、質問したユーザに適切な形態で提示することができる。
 しかしながら、従来技術は、コンテンツに関する情報に基づいて応答を生成したり、応答を出力するタイミングを決定したりするため、例えばコンテンツを視聴していないユーザの種々の発話に対して、頑健な対話処理を実現することができるとは限らない。
 そこで、本開示では、ユーザから入力された情報に対して頑健な対話処理を実現することができる応答生成装置及び応答生成方法を提案する。
 上記の課題を解決するために、本開示に係る一形態の応答生成装置は、ユーザに対する応答を生成する契機となる入力情報を取得する取得部と、前記入力情報のみに基づいて前記ユーザに対する応答が生成できないと判定した場合に、当該入力情報に関連する関連情報を用いて当該ユーザへの応答を生成する応答生成部と、を備える。
実施形態に係る情報処理の一例を示す図である。 実施形態に係る応答生成システムの構成例を示す図である。 実施形態に係るユーザ情報テーブルの一例を示す図である。 実施形態に係る応答規則テーブルの一例を示す図である。 実施形態に係るコンテンツテーブルの一例を示す図である。 実施形態に係る応答生成処理の一例を概念的に示す図である。 実施形態に係る処理の流れを示す第1のフローチャートである。 応答生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
 以下に示す項目順序に従って本開示を説明する。
  1.実施形態
   1-1.実施形態に係る情報処理の一例
   1-2.実施形態に係る応答生成システムの構成
   1-3.実施形態に係る情報処理の手順
   1-4.実施形態に係る変形例
    1-4-1.ジェスチャー情報
    1-4-2.起動ワード
    1-4-3.応答生成に用いた情報の提供
    1-4-4.優先度判定の例
    1-4-5.対話履歴の利用
    1-4-6.本開示の応答生成処理の適用
  2.その他の実施形態
  3.本開示に係る応答生成装置の効果
  4.ハードウェア構成
(1.実施形態)
[1-1.実施形態に係る情報処理の一例]
 図1を用いて、実施形態に係る情報処理の一例を説明する。図1は、実施形態に係る情報処理の一例を示す図である。実施形態に係る情報処理は、図1に示す応答生成装置10によって実行される。
 応答生成装置10は、本開示に係る応答生成装置の一例である。応答生成装置10は、ユーザとの対話を行う機器であり、音声認識や応答等の種々の情報処理を行う。応答生成装置10が実行する音声認識及び音声による応答処理等は、エージェント(Agent)機能と称される場合がある。また、応答生成装置10は、エージェント機器と称される場合がある。
 実施形態では、応答生成装置10が、いわゆるスマートウォッチ(smart watch)である例を示す。なお、応答生成装置10は、音声出力を行うスピーカー部のみならず、映像等を出力する表示部(液晶ディスプレイ等)を備えてもよい。また、応答生成装置10は、スマートフォンやタブレット端末、スマートスピーカー等であってもよい。この場合、スマートフォンやタブレット端末は、本開示の応答生成処理を実現するためのプログラム(アプリケーション)を実行することにより、本開示に係る応答生成装置10として機能する。
 また、応答生成装置10は、スマートウォッチやスマートフォン以外にも、眼鏡型端末などのウェアラブルデバイス(wearable device)であってもよい。また、応答生成装置10は、情報処理機能を有する種々のスマート機器により実現されてもよい。例えば、応答生成装置10は、テレビやエアコン、冷蔵庫等のスマート家電や、自動車などのスマートビークル(Smart vehicle)や、ドローン(drone)、家庭用ロボット等であってもよい。
 図1の例では、応答生成装置10は、集音した音声やユーザの行動等、応答を生成するための契機となる情報(以下、「入力情報」と称する)に対する応答処理を実行する。例えば、応答生成装置10は、ユーザが発した質問を認識し、質問に対する回答を音声出力したり、質問に関する情報を画面に表示したりする。なお、応答生成装置10が実行する音声認識処理や出力処理等については、種々の既知の技術が利用されてもよい。
 ところで、エージェント機器が取得する入力情報は、必ずしも応答を生成するために充分な情報を含むとは限らない。例えば、ユーザは、日常会話と同様、エージェント機器に対する発話の一部を省略したり、物忘れ等によって適切な発話ができなかったりする場合がある。具体的には、ユーザが「アラームを設定して」とだけ発話しても、エージェント機器は、「何日の何時に」アラームを設定するかを認識することができない場合がある。この場合、エージェント機器は、「何時に設定しますか」のような聞き返しや、「依頼が理解できませんでした」のようなエラーを出力する。このため、ユーザは、エージェント機器と複数のやりとりを行うという、煩わしい処理を行うことを要する。また、このとき、ユーザが、「明日の」という発話を行ったとしても、エージェント機器によっては当該発話に関する動作命令が特定できず、さらにエラーが出力されるおそれもある。
 また、ユーザは、例えばエージェント機器に対する起動ワード(エージェント機能を起動させるための契機となる単語等)を忘れる可能性もある。このような場合、ユーザは、エージェント機器に対して何らかの発話を行っても、エージェント機器から応答を得られないことになる。
 すなわち、エージェント機器には、ユーザから入力される情報(発話等)に対して頑健な対話処理を実現するという課題が存在する。
 そこで、本開示に係る応答生成装置10は、以下に説明する情報処理により、上記課題を解決する。具体的には、応答生成装置10は、ユーザに対する応答を生成する契機となる入力情報を取得すると、入力情報のみに基づいてユーザに対する応答が生成可能か否かを判定する。言い換えれば、応答生成装置10は、入力情報が不完全な依頼発話であるか否かを判定する。そして、応答生成装置10は、入力情報のみに基づいてユーザに対する応答が生成できないと判定した場合に、入力情報に関連する関連情報を用いてユーザへの応答を生成する。なお、本開示において、不完全な依頼発話とは、例えば上記した「明日の」のような、その発話だけではユーザの意図が理解できず、複数の異なる応答が生成される可能性を含むものである。
 このように、応答生成装置10は、ユーザの依頼が不完全であると判定した場合に、当該依頼に関連する情報を収集し、収集した情報に基づいて応答を生成する。これにより、応答生成装置10は、ユーザから入力された情報が不完全である場合にも、「よく聞き取れませんでした」等の聞き返しの応答ではなく、可能な限り適切な応答を生成することができる。すなわち、応答生成装置10は、ユーザから入力された情報に対して頑健な(ロバストな)対話処理を実現する。
 以下、図1を用いて、本開示に係る情報処理(応答生成処理)の一例の概要を説明する。
 図1に示すように、ユーザは、「電車・・・」と発話することにより、「電車」といった内容を含む音声A01を応答生成装置10に入力する。
 応答生成装置10は、音声A01を入力情報として、応答生成処理を開始する。例えば、応答生成装置10は、音声A01を取得し、自動音声認識(ASR(Automatic Speech Recognition))処理や自然言語理解(NLU(Natural Language Understanding))処理等を経て、音声A01に対応する応答を生成する。例えば、応答生成装置10は、音声A01にユーザからの質問の意図が含まれている場合、質問の意図を入力情報と認識し、質問の意図に対する回答を応答として生成する。
 実施形態では、応答生成装置10は、音声A01に基づいて、音声A01が「電車」という文字列を含む内容であることを認識する。ここで、応答生成装置10は、認識した「電車」という内容のみでは、ユーザの意図が理解できないと判定する。言い換えれば、応答生成装置10は、音声A01が不完全な発話(依頼)であると判定する。
 例えば、応答生成装置10は、ユーザに対する応答の内容を特定するための情報である動作命令を入力情報のみから判定できない場合に、ユーザの発話が不完全であると判定する。ユーザに対する応答の内容とは、応答の分野や応答の種別と読み替えてもよく、一般に対話処理における対話ドメイン(domain)等と称される。すなわち、応答生成装置10は、ユーザからの依頼に対して、どのような動作を実行すべきか判定できない場合に、ユーザの発話が不完全であると判定する。具体的には、応答生成装置10は、ユーザの依頼に対して、電車の運行情報を検索するか、天気予報を出力するか、特定の商品を購買するか、あるいはニュースを再生するか等、実行する動作が不明な場合、ユーザの発話が不完全であると判定する。
 あるいは、応答生成装置10は、動作命令を入力情報のみから判定できた場合であっても、動作命令に対応した応答を生成するために用いられる情報である付属情報を入力情報のみから判定できない場合には、発話が不完全であると判定してもよい。付属情報とは、例えば、動作命令に対応する動作を応答生成装置10が実行しようとする際に、当該動作の内容を特定するための情報である。例えば、ユーザが「アラームを設定して」とだけ発話した場合、「アラームを設定して」という動作命令に対して、「何日の何時に」といった、動作の内容を特定するための情報が付属情報に該当する。
 応答生成装置10は、ユーザの発話が不完全発話であると判定した場合、入力された依頼に関連する情報である関連情報を収集する。
 関連情報とは、入力情報から推定される種々の情報である。例えば、関連情報は、入力情報に対応する文字列と関連したコンテンツの情報である。コンテンツとは、例えば、テレビ番組や映画、音楽、ゲーム等、広く流通するサービスや商品を含む。
 あるいは、関連情報は、応答生成装置10が入力情報を取得した時点の状況を示す情報であるコンテキスト情報であってもよい。コンテキスト情報とは、例えば、依頼を発話したユーザに関する情報や、発話された日時や場所等、状況に関する種々の情報を含む。ユーザに関する情報とは、ユーザの年齢や性別、居住地、出身地等の属性情報や、ユーザが登録しているスケジュール情報等の種々の情報を含む。
 あるいは、関連情報は、入力情報が取得される以前のユーザとの対話履歴や、応答生成装置10を介して利用したユーザのサービスの利用履歴等であってもよい。例えば、関連情報は、ユーザが過去に購買した商品の名称や、ユーザが頻繁に利用するサービスの種別や、ユーザのウェブサイトの検索履歴等の種々の情報を含んでもよい。
 応答生成装置10は、収集した関連情報に基づいて、ユーザに対する応答を生成する。詳細は後述するが、応答生成装置10は、収集した関連情報に基づいて、入力情報に対する総合判断を行い、現状に適したと判定される応答をユーザに対して出力する。
 例えば、応答生成装置10が、過去のユーザとの対話において、ユーザが外出中であるというコンテキストにある場合、ユーザが「電車の乗換案内」というサービスを利用する頻度が高いという関連情報を参照したとする。さらに、応答生成装置10は、現在のユーザのコンテキスト情報が「外出中」であることを参照する。ここで、応答生成装置10は、ユーザの「電車」という単語を認識したことにより、ユーザが「電車の乗換案内」というサービスを利用することを所望している尤度が高いと判定する。
 これらの判定処理を経て、応答生成装置10は、図1に示すように、音声UI(User Interface)を起動し、「A駅から自宅まで乗換案内をします」といった、「電車の乗換案内」に関する応答A02を生成し、ユーザに対して出力する。
 なお、応答生成装置10は、関連情報に基づいて、複数の応答を生成してもよい。また、応答生成装置10は、生成した複数の応答に順序を付与し、付与した順序とともにユーザに提示してもよい。
 例えば、応答生成装置10は、ユーザが過去に「電車は行く」という曲名の音楽を再生した履歴があるという関連情報を参照したとする。この場合、応答生成装置10は、「電車」という入力情報が、「電車は行く」という曲を再生することをユーザが所望している尤度が高いと判定する。また、応答生成装置10は、ユーザが過去に「電車XXX」という名称の動画を再生した履歴があるという関連情報を参照したとする。この場合、応答生成装置10は、「電車」という入力情報が、「電車XXX」という名称の動画を再生することをユーザが所望している尤度が高いと判定する。
 このような場合、応答生成装置10は、例えば表示UIを起動し、ディスプレイA03に応答の候補である応答A04を表示する。例えば、ユーザは、応答A02が自身の所望する応答でなかった場合、応答A04のいずれかの内容を選択し、所望する応答を出力させることができる。
 このように、応答生成装置10は、ユーザに対する応答を生成する契機となる入力情報を取得し、取得した入力情報のみに基づいてユーザに対する応答が生成できないと判定した場合に、入力情報に関連する関連情報を用いてユーザへの応答を生成する。これにより、応答生成装置10は、入力情報が不完全である場合にもユーザへの応答を生成することができるため、頑健な対話処理を実現することができる。
 なお、図1の例では、入力情報が音声A01である例を示したが、応答生成装置10は、音声以外にも、ユーザのジェスチャー等、ユーザの行動を検知した情報を入力情報として取得してもよい。
[1-2.実施形態に係る応答生成システムの構成]
 次に、応答生成装置10を含む応答生成システム1の構成について説明する。図2は、実施形態に係る応答生成システム1の構成例を示す図である。
 図2に示すように、応答生成システム1は、応答生成装置10と外部サーバ200とを含む。応答生成装置10及び外部サーバ200は、図2に図示するネットワークN(例えば、インターネット)を介して、有線又は無線により通信可能に接続される。なお、図2での図示は省略するが、応答生成システム1は、複数台の応答生成装置10や外部サーバ200を含んでもよい。
 外部サーバ200は、各種サービスを提供するサービスサーバである。例えば、外部サーバ200は、応答生成装置10の要求に従い、天気情報や交通情報等を応答生成装置10に提供する。例えば、外部サーバ200は、応答生成装置10から天気情報の問合せが行われた場合、日時や場所に応じた天気情報を応答生成装置10に返す。
 応答生成装置10は、本開示に係る応答生成処理を実行する情報処理端末である。図2に示すように、応答生成装置10は、センサ20と、入力部21と、通信部22と、記憶部30と、取得部40と、応答生成部50と、出力部60とを有する。
 センサ20は、各種情報を検知する。例えば、センサ20は、ユーザが発話した音声を集音するマイクロフォンや、ユーザの行動を映像として取得するカメラを含む。
 また、センサ20は、ユーザが応答生成装置10に触れたことを検知するタッチセンサや、加速度センサやジャイロセンサ等を含んでもよい。また、センサ20は、応答生成装置10の現在位置を検知するセンサを含んでもよい。例えば、センサ20は、GPS(Global Positioning System)衛星から送出される電波を受信し、受信した電波に基づいて応答生成装置10の現在位置を示す位置情報(例えば、緯度及び経度)を検知してもよい。
 また、センサ20は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等を含んでもよい。また、センサ20は、応答生成装置10が置かれた環境を検知してもよい。具体的には、センサ20は、応答生成装置10の周囲の照度を検知する照度センサや、応答生成装置10の周囲の光度を検知する光度センサや、応答生成装置10の周囲の湿度を検知する湿度センサや、応答生成装置10の所在位置における磁場を検知する地磁気センサ等を含んでもよい。
 入力部21は、ユーザから各種操作を受け付けるためのデバイスである。例えば、入力部21は、キーボードやマウス、タッチパネル等によって実現される。
 通信部22は、例えば、NIC(Network Interface Card)等によって実現される。通信部22は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、外部サーバ200等との間で情報の送受信を行う。
 記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態では、記憶部30は、例えば、ユーザ情報テーブル31と、応答規則テーブル32と、コンテンツテーブル33とを有する。以下、各データテーブルについて順に説明する。
 ユーザ情報テーブル31は、応答生成装置10を利用するユーザに関する情報を記憶する。図3に、実施形態に係るユーザ情報テーブル31の一例を示す。図3は、本開示の実施形態に係るユーザ情報テーブル31の一例を示す図である。図3に示した例では、ユーザ情報テーブル31は、「ユーザID」、「ユーザ属性情報」、「履歴情報」といった項目を有する。
 「ユーザID」は、ユーザを識別する識別情報を示す。「ユーザ属性情報」は、例えば応答生成装置10の利用の際にユーザから登録された属性情報や、応答生成装置10が画像認識や音声認識を用いて推定したユーザの属性情報を示す。図3に示した例では、ユーザ属性情報の項目を「F01」のように概念的に記載しているが、実際には、ユーザ属性情報には、ユーザの年齢や性別、居住地、家族構成等の属性情報(ユーザプロファイル)が含まれる。また、ユーザ属性情報には、例えば、ユーザに視覚障碍があること等、出力する情報の種別を選択するために要する情報が含まれてもよい。例えば、ユーザ属性情報に視覚障碍があることが登録されている場合、応答生成装置10は、通常であれば画面に表示される応答の内容を、音声に変換して出力してもよい。
 「履歴情報」は、ユーザによる応答生成装置10の利用履歴を示す。図3に示した例では、履歴情報の項目を「G01」のように概念的に記載しているが、実際には、履歴情報には、ユーザが応答生成装置10に質問した内容や、聞き返しの履歴や、出力された応答の履歴等の各種情報が含まれる。また、履歴情報には、ユーザを音声で識別するための声紋情報や波形情報等が含まれてもよい。
 また、履歴情報には、応答生成装置10を介してユーザが利用したサービスに関する情報が含まれてもよい。サービスに関する情報は、例えば、ユーザが利用したサービスの種別(交通情報サービスや、天気情報サービスや、ニュースサービス等の種別)や、サービスの利用回数、利用頻度等を含んでもよい。また、サービスに関する情報は、ショッピングサービスにおいてユーザが購買した商品の名称や、商品の購買回数や購買頻度や、音楽配信サービスや動画サービスでユーザが利用したコンテンツの名称や、コンテンツの再生回数や再生品等を含んでもよい。このように、履歴情報とは、ユーザが応答生成装置10を利用した際に生じる、あらゆる情報を含んでもよい。
 すなわち、図3に示した例では、ユーザIDが「U01」で識別されるユーザは、ユーザ属性情報が「F01」であり、履歴情報が「G01」であることを示している。
 次に、応答規則テーブル32について説明する。応答規則テーブル32は、応答生成装置10に対する動作命令(すなわち、応答生成において応答生成装置10が実行する動作)と、動作に関する付属情報とを対応付けて記憶する。
 図4に、実施形態に係る応答規則テーブル32の一例を示す。図4は、本開示の実施形態に係る応答規則テーブル32の一例を示す図である。図4に示した例では、応答規則テーブル32は、「動作ID」、「動作内容」、「付属情報」といった項目を有する。
 「動作ID」は、動作を識別する識別情報を示す。「動作内容」は、応答生成装置10が実行する動作の内容を示す。「付属情報」は、動作に関する応答を生成する際に用いられる情報であり、動作の対象を示す情報や、動作の内容をより詳細に規定するための情報等である。
 すなわち、図4に示した例では、動作ID「H01」で識別される動作は、動作内容が「天気情報」であり、その付属情報は「日時」や「場所」であることを示している。
 なお、図4での図示は省略しているが、応答規則テーブル32には、どのような入力情報に対してどのような動作が選択されるかといった、入力情報と動作命令との対応情報が記憶されてもよい。
 一般に、応答に関する動作は、入力情報に対する意味解析処理によって解析された要素に基づいて選択される。一例として、入力情報が「天気おしえて」という発話である場合、エージェント機器は、かかる発話を「CHECK-WEATHER」という要素と判定する。そして、「CHECK-WEATHER」という要素に対応する動作が「天気情報」であるという対応付けが行われている場合、エージェント機器は、かかる対応付け情報に基づいて、応答に関する動作を決定する。応答規則テーブル32は、このような対応付け情報が保持してもよい。また、このような対応付け情報は、応答生成装置10の管理者等によって、適宜、更新されてもよい。また、このような対応付け情報(応答規則)は、予め応答生成装置10に設定されていてもよいし、ユーザが任意に設定してもよい。
 コンテンツテーブル33は、関連情報の一例であるコンテンツ情報を記憶する。図5に、実施形態に係るコンテンツテーブル33の一例を示す。図5は、本開示の実施形態に係るコンテンツテーブル33の一例を示す図である。図5に示した例では、コンテンツテーブル33は、「コンテンツID」、「種別」、「名称」といった項目を有する。
 「コンテンツID」は、コンテンツを識別する識別情報を示す。「種別」は、コンテンツの種別を示す。「名称」は、コンテンツの名称を示す。図5に示した例では、名称の項目を「K01」のように概念的に記載しているが、実際には、名称の項目には、具体的なコンテンツの名称を示す文字列が記憶される。
 すなわち、図5に示した例では、コンテンツIDが「J01」で識別されるコンテンツは、種別が「テレビ番組」であり、名称が「K01」であることを示している。
 なお、図5での図示は省略しているが、コンテンツテーブル33は、コンテンツの名称のみならず、コンテンツに関する種々の情報を記憶してもよい。例えば、コンテンツテーブル33は、コンテンツの制作者や監督、出演者、制作された国や場所、コンテンツのジャンルや内容等を記憶してもよい。また、コンテンツテーブル33は、各コンテンツの知名度や人気度等を記憶してもよい。コンテンツの知名度や人気度は、例えば、コンテンツの再生回数や、アクセス回数や、検索回数や、売上等の情報に基づいて算出される。また、コンテンツテーブル33は、必ずしも応答生成装置10が保持するのではなく、コンテンツに関する情報を記憶する各サーバ等が分散して保持してもよい。この場合、応答生成装置10は、関連情報を収集するタイミングで、各サーバにアクセスしてコンテンツに関する情報を収集してもよい。
 図2に戻って説明を続ける。取得部40及び応答生成部50は、応答生成装置10が実行する情報処理を実行する処理部である。取得部40及び応答生成部50は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、応答生成装置10内部に記憶されたプログラム(例えば、本開示に係る応答生成処理を実行する応答生成プログラム)がRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、取得部40及び応答生成部50は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
 取得部40は、各種情報を取得する処理部である。図2に示すように、取得部40は、検知部41と、登録部42と、受信部43とを含む。
 検知部41は、センサ20を介して、各種情報を検知する。例えば、検知部41は、センサ20の一例であるマイクロフォンを介して、ユーザが発話した音声を検知する。また、検知部41は、カメラや加速度センサ、赤外線センサ等を介して、ユーザの顔情報、ユーザの身体の向き、傾き、動きや移動速度等、ユーザの動作に関する各種情報を検知してもよい。すなわち、検知部41は、センサ20を介して、位置情報、加速度、温度、重力、回転(角速度)、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキスト情報として検知してもよい。
 登録部42は、入力部21を介して、ユーザからの登録を受け付ける。例えば、登録部42は、タッチパネルやキーボードを介して、応答生成装置10を利用するユーザのユーザプロファイル(属性情報)の登録を受け付ける。
 また、登録部42は、ユーザとの対話処理に利用する応答規則や、コンテンツに関する情報等の各種情報を記憶部30に登録してもよい。例えば、登録部42は、応答生成装置10の対話処理を制御するクラウドサーバ等を介して、応答規則やコンテンツに関する情報を取得し、取得した情報を登録する。
 また、登録部42は、ユーザのスケジュール等の登録を受け付けてもよい。例えば、登録部42は、応答生成装置10に組み込まれたアプリケーション機能を利用して、スケジュール登録をユーザから受け付ける。例えば、登録部42は、ユーザとの対話を通じて、外出予定等のスケジュール情報を記憶部30に登録する。
 受信部43は、各種情報を受信する。例えば、受信部43は、対話処理に用いる日時情報や、応答生成装置10が所在する現在位置の位置情報等を外部サーバ200等から受信する。また、受信部43は、ユーザの属性情報やスケジュール情報が、応答生成装置10ではなく外部サービス等に登録されている場合、外部サーバ200から、ユーザの属性情報やスケジュール等を受信する。
 また、受信部43は、通信に関するコンテキスト情報を受信してもよい。例えば、受信部43は、応答生成装置10と各種機器(ネットワーク上のサーバや、自宅内の家電等)との接続状況をコンテキスト情報として受信してもよい。各種機器との接続状況とは、例えば、相互通信が確立しているか否かを示す情報や、通信に利用している通信規格等である。
 取得部40は、上記各処理部を制御することにより、各種情報を取得する。例えば、取得部40は、ユーザに対する応答を生成する契機となる入力情報を取得する。
 例えば、取得部40は、入力情報として、ユーザが発した音声情報を取得する。具体的には、取得部40は、「電車」や「明日」などのユーザの発話を取得し、当該発話に含まれる文字列(テキスト情報)や、発話に含まれる何らかの意図を入力情報として取得する。なお、取得部40は、ユーザの発話に限らず、ユーザが入力する文字列(テキストデータ)を取得してもよい。
 あるいは、取得部40は、入力情報として、ユーザの行動を検知した検知情報を取得してもよい。検知情報とは、検知部41がセンサ20を介して検知した情報である。具体的には、検知情報とは、ユーザが応答生成装置10のカメラを見たことを示す情報や、ユーザが自宅の部屋から玄関へ移動したことを示す情報、発話とともに行われるユーザのジェスチャー等、応答生成装置10が応答を生成する契機となりうるユーザの行動である。
 例えば、取得部40は、入力情報よりも過去にユーザから入力された情報、もしくは、過去にユーザに対して出力した応答の内容等を取得してもよい。すなわち、取得部40は、ユーザとの過去の対話や、ユーザに対して生成した過去の応答の内容等を取得する。また、取得部40は、対話処理を介してユーザが利用したサービスの利用履歴等を取得してもよい。
 また、取得部40は、入力情報とともに、入力情報が入力された際のコンテキスト情報を取得してもよい。
 例えば、取得部40は、ユーザが所在する場所、入力情報が応答生成装置10に入力された日時、ユーザの属性情報等をコンテキスト情報として取得してもよい。
 また、取得部40は、ユーザの傍に所在する他のユーザの人数や、所在地、所在地のカテゴリ(自宅や屋外等)、ユーザが乗車している乗り物(電車、地下鉄、新幹線、満員電車(混雑度)、自動車、船、飛行機)等の情報を取得してもよい。取得部40は、例えば、ユーザが乗車している乗り物における暗騒音等を判定する音声認識モデル等を用いて、これらの情報を取得する。あるいは、取得部40は、ユーザが利用する端末から取得される位置情報等に基づいてこれらの情報を取得してもよい。
 また、取得部40は、ユーザ(発話者)の年齢や性別等の属性情報を取得してもよい。例えば、取得部40は、ユーザによって予め登録されたユーザの属性情報を取得してもよい。取得部40は、例えば、ユーザの性別や年齢、居住地等の情報を取得する。なお、取得部40は、センサ20に捉えた画像を認識することにより、ユーザの属性情報を取得してもよい。
 また、取得部40は、ユーザの行動状態を取得してもよい。ユーザの行動状態とは、ユーザが立っているか座っているか、寝ているか、歩いているか走っているか、あるいは、電話をしているか他のユーザと話しているか等の状態を示す情報である。また、取得部40は、ユーザの健康状態や、発話したユーザが応答生成装置10に登録されたユーザであるか否かといった各種情報を取得してもよい。
 なお、上記で示したコンテキスト情報は一例であり、ユーザや応答生成装置10が置かれた状況を示すあらゆる情報は、コンテキスト情報となりうる。例えば、取得部40は、センサ20を介して取得される、応答生成装置10の位置情報、加速度、温度、重力、回転(角速度)、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキスト情報として取得してもよい。また、取得部40は、内蔵する通信機能を利用して、各種装置との接続状況(例えば、通信の確立に関する情報や、利用している通信規格)などを、コンテキスト情報として取得してもよい。
 また、コンテキスト情報には、ユーザと他のユーザや、ユーザと応答生成装置10とが交わしている対話に関する情報が含まれてもよい。例えば、コンテキスト情報には、ユーザが交わしている対話の文脈を示す対話文脈情報、対話のドメイン(天気、ニュース、電車運行情報等)、ユーザ発話の意図や属性情報等が含まれてもよい。
 また、コンテキスト情報には、対話が行われている際の日時情報が含まれてもよい。具体的には、日時情報とは、日付、時間、曜日、祝日特性(クリスマス等)、時間帯(朝、昼、夜、夜中)等の情報である。
 また、コンテキスト情報には、ユーザが所在する位置や状況等の情報が含まれてもよい。具体的には、ユーザが所在する位置を示す情報とは、ユーザが自宅内のリビングにいるか、寝室にいるか、子供部屋にいるかといった、ユーザの所在地を示した情報である。あるいは、ユーザが所在する位置を示す情報には、ユーザの外出先を示す具体的な場所の情報が含まれてもよい。
 また、取得部40は、ユーザが行っている特定の家事の情報や、視聴しているテレビ番組の内容や、何を食べているかを示す情報や、特定の人物と会話をしていること等、ユーザの状況を示す種々の情報をコンテキスト情報として取得してもよい。
 また、取得部40は、自宅内に置かれた家電(IoT機器等)との相互通信により、どの家電がアクティブであるか否か(例えば、電源がオンであるかオフであるか)、どの家電がどのような処理を実行しているか、といった情報を取得してもよい。
 また、取得部40は、外部サービスとの相互通信により、ユーザの生活圏における交通状況や気象情報等をコンテキスト情報として取得してもよい。取得部40は、取得した各情報を記憶部30に格納する。また、取得部40は、記憶部30を参照し、処理に要する情報を適宜取得してもよい。
 続いて、応答生成部50について説明する。図2に示すように、応答生成部50は、信号処理部51と、音声認識部52と、解析部53と、応答部54と、送信部55とを含む。応答生成部50は、上記各処理部を制御することにより、入力情報のみに基づいてユーザに対する応答が生成できないと判定した場合に、入力情報に関連する関連情報を用いてユーザへの応答を生成する。
 信号処理部51は、ユーザの発話等の入力情報に関する信号処理を行う。具体的には、信号処理部51は、ユーザから受け付けた音声を、後段の情報処理が実行可能な態様である音声信号に変換する。あるいは、信号処理部51は、センサ20が捉えた画像を、後段の情報処理が実行可能な態様であるデジタルデータに変換する。
 音声認識部52は、信号処理部51によって処理された信号を音声として認識する。例えば、音声認識部52は、自動音声認識(ASR)処理や自然言語理解(NLU)処理を行い、応答生成装置10における起動ワードを認識したり、発話と環境音との音源分離処理を行ったり、ノイズリダクション処理を行ったりする。
 解析部53は、音声認識部52によって認識された音声情報を解析する。例えば、解析部53は、音声認識部52によって認識された音声の意味を解析する。また、解析部53は、音声認識部52によって認識された音声が完全発話であるか不完全発話であるかの判定を行う。
 応答部54は、解析部53によって解析された情報に基づいて、入力情報に対して応答を生成する。例えば、応答部54は、ユーザ情報テーブル31や応答規則テーブル32を参照し、入力情報に含まれる単語の意味や入力情報の解析結果に基づいて、入力情報に対応する応答を生成する。
 また、応答部54は、解析部53によって解析された入力情報の意味に応じて、入力情報に対する応答を生成する。このとき、応答部54は、例えば、対話におけるフレーズ抽出やスロット分析等の種々の既知の技術を利用してもよい。
 送信部55は、応答部54によって生成された応答の出力を制御する。例えば、送信部55は、応答部54によって生成された文字列からなる応答を、音声データに変換する。あるいは、送信部55は、応答部54によって生成された画像情報を伴う応答を、画像データに変換する。そして、送信部55は、変換したデータを出力部60に送信する。また、送信部55は、応答生成に用いた情報や応答に対するユーザの反応等の情報を、外部サーバ200や各種サービスを提供する事業者等に送信してもよい。
 出力部60は、種々の情報を出力するための機構である。例えば、出力部60は、スピーカーやディスプレイである。例えば、出力部60は、応答部54によって生成された音声データを音声出力する。また、出力部60は、応答部54によって生成された画像データをディスプレイに出力する。なお、出力部60は、応答部54によって生成された音声データを文字認識してディスプレイに表示する等、種々の態様で応答を出力してもよい。
 応答生成部50は、上記各処理部を制御することにより、入力情報に対応する応答を生成する。すなわち、応答生成部50は、入力情報のみに基づいてユーザに対する応答が生成できないと判定した場合に、入力情報に関連する関連情報を用いてユーザへの応答を生成する。
 具体的には、応答生成部50は、ユーザに対する応答の内容を特定するための情報である動作命令を入力情報のみから判定できない場合に、関連情報を用いてユーザへの応答を生成する。
 あるいは、応答生成部50は、動作命令を入力情報のみから判定できた場合であって、動作命令に対応した応答を生成するために用いられる情報である付属情報を入力情報のみから判定できない場合に、関連情報を用いてユーザへの応答を生成してもよい。
 ここで、動作命令及び付属情報の判定処理について説明する。例えば、応答生成部50は、ユーザの発話等の入力情報から、動作命令と付属情報とを応答が生成可能な程度に最低限抽出しているか否かという観点に基づき、完全発話と不完全発話とを区別する。
 応答生成部50は、ユーザの発話が完全であると判定した場合、完全発話としての発話解析を行い、ユーザに対する応答を生成する。本開示において完全発話とは、少なくとも動作命令と付属情報とが応答生成可能な程度に最低限そろっている発話を指す。例えば、ユーザが「アラームを設定して」という発話を行った場合、応答生成部50は、応答規則に基づき、動作命令を「アラームの設定」と判定する。また、応答生成部50は、「アラームを設定して」という発話には付属情報が含まれていないと判定する。この場合、応答生成部50は、ユーザの「アラームを設定して」という発話を不完全発話と判定する。
 なお、応答生成部50は、発話に動作命令と付属情報がそろっていても、動作命令によっては、付属情報が存在する場合であっても不完全発話と判定する場合もある。例えば、ユーザが「明日の天気教えて」と発話した場合、応答生成部50は、応答規則に基づき、動作命令を「天気情報」と判定する。また、応答生成部50は、「明日の天気教えて」という発話に「明日」という「時間情報」が含まれていると判定する。しかし、応答生成部50は、かかる発話には場所情報が含まれていないため、当該発話を不完全発話と判定する場合もある。なお、応答生成部50は、例えば天気情報に関する初期設定等がユーザから行われている場合等には(例えば、天気情報の場所は常に「東京」とする、等の設定)、当該発話を完全発話と判定することもありうる。すなわち、付属情報には、動作の実行において任意又は補完可能な情報も含まれる。例えば、ユーザが「明日の天気教えて」と発話した場合、時間情報や場所情報は、必ずしも必要ではない、あるいは、ユーザの設定やコンテキスト情報から補完される情報である(例えば、「時間情報」を「今日」と、「場所情報」を「現在地」と補完可能である)。
 なお、応答生成部50は、不完全発話を検知すると、ユーザに対して完全発話を促すような応答を行ってもよい。あるいは、応答生成部50は、ユーザの発話に対して、不完全、完全両方の可能性があるとして、後段の意味解析処理等を行うことも可能である。
 以下では、応答生成部50がユーザの発話を不完全発話と判定した場合に、関連情報に基づいて応答を生成する処理の類型について説明する。
 例えば、応答生成部50は、ユーザの発話から動作命令の一部を抽出し、ユーザの所望の動作は認識したものの、具体的な動作の内容が不明であると判定する場合がある。仮に、応答生成部50が、ユーザの発話のうち「削除」という文字列のみを認識し、その他の情報を認識していないとする。
 この場合、応答生成部50は、関連情報として、動作の対象の候補を抽出する。例えば、応答生成部50は、応答規則テーブル32を参照し、「削除」に関連する動作命令を全て抽出する。具体的には、応答生成部50は、「アラーム設定の削除」や、「スケジュール情報の削除」等、動作命令に「削除」が含まれる項目を抽出する。
 そして、応答生成部50は、例えばユーザとの直近の対話履歴に基づいて、抽出した動作のうちユーザが所望する動作である尤度の高い動作内容を選択する。そして、応答生成部50は、選択した動作内容に基づいて応答を生成する。例えば、応答生成部50は、数分前にユーザからアラームの設定を受け付けていたものとする。この場合、応答生成部50は、ユーザが直近の動作に関する命令を行う可能性が高いと判定し、「さきほど設定したアラームを削除します」のような応答をユーザに出力する。
 また、他の例として、応答生成部50が、ユーザの発話のうち「再生して」という文字列のみを認識し、その他の情報を認識していないとする。
 この場合も、応答生成部50は、関連情報として、動作の対象の候補を抽出する。例えば、応答生成部50は、応答規則テーブル32を参照し、「再生」に関連する動作命令を全て抽出する。具体的には、応答生成部50は、「音楽の再生」や、「動画の再生」等、動作命令に「再生」が含まれる項目を抽出する。そして、応答生成部50は、ユーザのこれまでの行動履歴(音楽より動画再生の回数の方が多いなど)に基づいて、ユーザが所望すると想定される動作に関する応答を生成する。
 あるいは、応答生成部50が、ユーザの発話のうち「確認して」や「おしえて」という文字列のみを認識し、その他の情報を認識していないとする。この場合、応答生成部50は、「CHECK」という概念が設定されている動作命令を全て抽出する。そして、応答生成部50は、天気情報や交通情報など「CHECK」という概念が含まれるサービス等を候補として列挙する等の応答を生成する。
 なお、応答生成部50は、例えばユーザの発話が疑問詞で始まる場合等にも、上記と同様に対応可能である。例えば、応答生成部50が、ユーザの発話のうち「いつ」や「どこで」という文字列のみを認識し、その他の情報を認識していないとする。この場合、応答生成部50は、動作において「when」や「Where」等の概念が含まれるサービス等を候補として列挙する等の応答を生成する。
 また、応答生成部50は、ユーザの発話から付属情報のみ部分的に抽出できたものの、動作命令が不明であると判定する場合がある。
 この場合、応答生成部50は、関連情報として、例えば、入力情報が取得された時点の状況を示す情報であるコンテキスト情報を用いてユーザへの応答を生成してもよい。
 具体的には、応答生成部50は、コンテキスト情報として、ユーザの属性情報もしくは所在地情報を用いて、ユーザへの応答を生成する。
 仮に、応答生成部50が、ユーザの発話のうち「明日の」という文字列のみを認識し、その他の情報を認識していないとする。この場合、応答生成部50は、応答規則テーブル32を参照し、日時情報が付属情報に含まれる動作内容を全て抽出する。例えば、図4に示した例では、動作内容として「天気情報」や「乗換案内」や「スケジュール情報」には、付属情報として「日時」が含まれる。応答生成部50は、これらの動作内容を全て抽出する。
 そして、応答生成部50は、ユーザとの過去の対話等に基づいて、ユーザが所望する尤度の高い動作内容を選択する。例えば、応答生成部50は、直前にユーザが外出に関する会話等を行っていた場合、ユーザが「明日の天気情報を知りたい」という動作命令を行う可能性が高いと判定し、明日の「天気情報」を応答として生成する。あるいは、応答生成部50は、応答の候補となりうる複数の動作命令をユーザに提示するような応答を生成してもよい。例えば、応答生成部50は、「明日の天気を確認しますか、それとも、明日のスケジュールを確認しますか?」といった、動作命令を確定するための応答を生成してもよい。
 また、応答生成部50は、ユーザの発話から動作命令や付属情報という明確な情報が抽出できない場合もある。
 このような場合、応答生成部50は、関連情報として、入力情報に対応する文字列と関連したコンテンツの情報を用いて、ユーザへの応答を生成してもよい。
 具体的には、応答生成部50は、コンテンツテーブル33を参照し、入力情報に対応する文字列を含むコンテンツの名称に基づいてユーザへの応答を生成する。なお、応答生成部50は、コンテンツの名称に限らず、コンテンツの制作者やコンテンツの内容等に基づいてユーザへの応答を生成してもよい。
 仮に、応答生成部50が、ユーザの発話のうち「明日の」という文字列のみを認識し、その他の情報を認識していないとする。この場合、応答生成部50は、コンテンツテーブル33を参照し、「明日の」という文字列が含まれるコンテンツを全て抽出する。
 そして、応答生成部50は、抽出されたコンテンツと、コンテンツに関連する動作とを組み合わせて、ユーザに対する応答を生成する。コンテンツに関連する動作とは、例えば、音楽の再生や動画の再生等である。すなわち、応答生成部50は、「明日の」が含まれるタイトルを有する曲の再生や、「明日の」が含まれるタイトルを有する動画の再生等をユーザに対する応答として生成する。例えば、応答生成部50は、図1に示したように、再生の候補となるコンテンツ名をユーザに提示してもよい。
 なお、応答生成部50は、コンテンツの知名度等に基づいて、候補となるコンテンツを抽出してもよい。例えば、ユーザの発話とコンテンツの名称が一致したとしても、コンテンツの知名度が低い場合、その一致は偶然である蓋然性が高い。このため、応答生成部50は、ユーザの知名度が所定の閾値以下である場合、ユーザの発話とコンテンツの名称が一致したとしても、コンテンツの再生等の動作を応答として生成しないといった処理を行ってもよい。
 また、応答生成部50は、音声認識や画像認識によりユーザを特定可能な場合、当該ユーザの対話履歴を参照し、当該ユーザの発音や言い回しの癖に即した処理を行ってもよい。例えば、「明日の」の発話に関して、ユーザによって、日常的に「あした」と発話するか、「あす」と発話するかが異なる場合がある。この状況下で、応答生成部50が、「明日の予定の変更」等を依頼する際にユーザが日常的に「明日」を「あした」と発話しているにも関わらず、当該ユーザが「あす」と発話したと認識したとする。この場合、応答生成部50は、当該発話は「明日の予定の変更」等の意図ではなく、「あす」という文字列が含まれるコンテンツ(すなわち、何らかの固有名詞)である可能性が高いと判定する。そして、応答生成部50は、「明日の予定の変更でしょうか」のような、「明日」を付属情報(日時情報)として利用する動作に関する応答ではなく、「「明日の(あすの)・・・」という曲を再生します」のような、「明日」を固有名詞として利用する動作に関する応答を生成する。このように、応答生成部50は、ユーザの日常的な言い回し等の情報を用いることで、ユーザに対して適切な応答を総合的に判断して応答を生成することができる。
 また、応答生成部50は、ユーザの発話から動作命令や付属情報という明確な情報が抽出できない場合、ユーザの行動履歴等に基づいて、動作命令や付属情報を推定してもよい。
 例えば、応答生成部50は、コンテキスト情報として、ユーザのスケジュール情報を用いてユーザへの応答を生成してもよい。
 仮に、応答生成部50が、ユーザの発話のうち「明日の」という文字列のみを認識し、その他の情報を認識していないとする。この場合、応答生成部50は、ユーザ情報テーブル31を参照し、ユーザのスケジュール情報(スケジュールの登録等)を取得する。また、応答生成部50は、応答規則テーブル32を参照し、動作命令のうち時間情報が含まれる動作命令を抽出する。
 応答生成部50は、抽出した動作の候補のうち、ユーザが登録したスケジュール情報等に関係する動作をさらに抽出する。例えば、応答生成部50は、ユーザが起動させたアプリケーションや外部サービスにおいて、明日の朝に駆動するアラーム設定を行っている場合、「アラームの設定の確認」や「アラームの削除」等の動作を抽出する。そして、応答生成部50は、関係すると推定される動作の優先度を高く算出して、ユーザに動作を提示するような応答を生成する。具体的には、応答生成部50は、「明日は7時にアラーム設定されています」や、「明日のアラーム設定を解除しますか」といった応答を生成する。このように、応答生成部50は、ユーザのスケジュール情報を用いてユーザが所望する動作の優先度を判定することで、ユーザに対して適切な応答を総合的に判断して応答を生成することができる。
 また、応答生成部50は、関連情報として、入力情報が取得される以前のユーザとの対話履歴を用いてユーザへの応答を生成してもよい。この場合、応答生成部50は、音声認識や画像認識により発話を行ったユーザを特定するとともに、ユーザ情報テーブル31を参照し、発話を行ったユーザの対話履歴を参照する。
 この場合、応答生成部50は、対話履歴として、ユーザによるサービスの利用履歴を参照してもよい。すなわち、応答生成部50は、入力情報が取得される以前のユーザのサービスの利用履歴を用いてユーザへの応答を生成してもよい。
 仮に、応答生成部50が、ユーザの発話のうち「電車」という文字列のみを認識し、その他の情報を認識していないとする。この場合、応答生成部50は、ユーザ情報テーブル31を参照し、ユーザのサービスの利用履歴を参照する。また、応答生成部50は、応答規則テーブル32を参照し、動作命令のうち、乗り物等の対象が付属情報に含まれる動作命令(例えば、乗換案内等)を抽出する。
 例えば、ユーザのサービスの利用履歴のうち、発話を行ったユーザに、習慣的に朝の時間帯に乗換案内サービスを利用しているログがあるとする。この場合、応答生成部50は、抽出した動作命令のうち、乗換案内を優先的に選択する。そして、応答生成部50は、日時情報等のコンテキスト情報を参照し、現在の時間と、習慣的に検索されている路線とに基づいて、ユーザに対して乗換案内に関する応答を生成する。これにより、ユーザは、「電車」という断片的な情報のみで、乗換案内に関する応答を受け取ることができる。
 あるいは、ユーザのサービスの利用履歴のうち、発話を行ったユーザに、習慣的に電車が被写体である動画に関する動画配信サービスを利用しているログがあるとする。この場合、応答生成部50は、抽出した動作命令のうち、動画再生を優先的に選択する。そして、応答生成部50は、習慣的に再生されている動画に基づいて、ユーザに対して動画再生に関する応答を生成する。これにより、ユーザは、「電車」という断片的な情報のみで、動画再生を実行させることができる。
 このとき、応答生成部50は、ユーザのコンテキスト情報に基づいて動作命令を選択してもよい。例えば、あるユーザは、外出中には乗換案内に係る動作命令を発話する傾向にあり、自宅では動画再生に係る動作命令を発話する傾向にあるものとする。この場合、応答生成部50は、ユーザから「電車」という発話を受け付けた場合に、現在のユーザのコンテキスト情報に合わせて、乗換案内か動画再生かのいずれかの動作を行うようにしてもよい。
 また、応答生成部50は、コンテキスト情報として、ユーザの所在地のみならず、周囲の環境を参照して動作命令を選択してもよい。例えば、ユーザが「出して」という発話のみを行った場合に、応答生成部50が、上述した種々の情報から、ユーザが「動画再生」を所望していると判定したものとする。このとき、応答生成部50は、カメラ等を用いてユーザの周囲の環境を参照し、ユーザの周囲に家族以外の人間が所在することを認識する。この場合、応答生成部50は、ユーザの周囲に家族以外の人間が所在するため、すぐに動画再生を行うのではなく、「動画再生を行ってもよいでしょうか」等の問いかけの応答を生成してもよい。
 また、他の一例として、応答生成部50は、サービスの利用履歴として、ユーザごとの購買履歴を参照してもよい。例えば、「明日の」という発話を行ったユーザに、「明日のXXX」という商品を購入したログが多数あるとする。この場合、応答生成部50は、当該ユーザが再び「明日のXXX」という商品を購入することを所望すると判定し、「「明日のXXX」を注文しますか」といった応答を生成してもよい。
 上記のような例では、応答生成部50は、発話を行ったユーザの属性を特定し、属性に合わせた処理を行ってもよい。例えば、ユーザが子どもであり、応答生成装置10を介して購買が認められていないユーザであるとする。この場合、応答生成装置10は、当該ユーザが「明日の」という発話を行ったとしても、この発話から「「明日のXXX」という商品を購入する」といった動作を発生させないようにする。例えば、応答生成装置10は、購買以外の動作の候補(例えば、「明日の」を含む名称のコンテンツの再生等)をユーザに提示する。
 上記、応答生成部50による種々の応答生成の例を示したが、応答生成部50は、関連情報を用いてユーザへの応答を複数生成するとともに、優先順位を付けて複数の応答をユーザに提示してもよい。
 例えば、応答生成部50は、ユーザに対して出力する応答の候補を総合判断し、その優先度をスコアリングする。そして、応答生成部50は、上位N個(Nは任意の数)の応答をユーザに提示する。例えば、応答生成部50は、図1に示したように、最上位の応答を音声出力し、残りの応答の候補をディスプレイに出力する等、種々の態様でユーザに応答を提示してもよい。
 また、上記の応答生成部50による種々の応答生成において、応答生成部50は、ユーザの反応に基づいて学習を行ってもよい。例えば、応答生成部50は、「明日の」という発話のみから生成した応答に対して、ユーザが特に問題なくその応答との対話を続けていたとすると、その応答を「正例」と判定する。あるいは、応答生成部50は、「明日の」という発話のみから生成した応答に対して、ユーザが拒否反応を示した場合(「いや、違うよ」や「そうじゃなくて」等、否定に関する発話をした場合等)、その応答を「負例」と判定する。そして、応答生成部50は、当該応答に対して算出したスコア(優先度)が高く、あるいは低くなるよう学習する。これにより、応答生成部50は、ユーザとの対話を重ねるにつれ、当該ユーザが所望する動作を正確に推定することができるようになる。
 なお、上記の応答生成部50による種々の応答生成として、記憶部30に記憶された各データテーブルに基づくルールベースの処理を示したが、応答生成部50による応答生成処理は、End-to-Endの処理で実行されてもよい。
 この点について、図6を用いて説明する。図6は、実施形態に係る応答生成処理の一例を概念的に示す図である。図6の例では、応答生成部50は、DNN(Deep Neural Network)等により学習された学習済みモデル70を利用して応答を生成する。
 例えば、学習済みモデル70は、ユーザの発話とともに、発話が行われた日時や場所等のコンテキスト情報や、ユーザの属性情報や、ユーザとの対話履歴や行動履歴等を入力とし、その発話に対する応答を正例もしくは負例として学習される。なお、学習データは、予め正例や負例がラベル付けされたデータを用いてもよいし、ユーザからの反応に基づいて正例や負例を適宜判定されるものでもよい。
 応答生成部50は、上記の学習処理で学習された学習済みモデル70を用いて応答生成処理を行う。例えば、応答生成部50は、ユーザの発話を取得した場合、発話とともに、日時や場所等のコンテキスト情報や、ユーザの属性情報や、ユーザとの対話履歴や行動履歴等を学習済みモデル70に入力する。そして、応答生成部50は、学習済みモデル70によって生成されたユーザへの応答を出力する。このように、応答生成部50は、ルールベースによらず、End-to-Endの処理でユーザへの応答を生成してもよい。
[1-3.実施形態に係る情報処理の手順]
 次に、図7を用いて、実施形態に係る情報処理の手順について説明する。図7は、実施形態に係る処理の流れを示すフローチャートである。
 図7に示すように、応答生成装置10は、ユーザから取得した発話が完全か否かを判定する(ステップS101)。発話が完全でない場合(ステップS101;No)、応答生成装置10は、以下に説明するように、不完全発話に対する各処理を実行する。
 例えば、応答生成装置10は、発話とコンテンツとのマッチングを確認する(ステップS102)。例えば、応答生成装置10は、発話に含まれる文字列を含むコンテンツを列挙するとともに、これらコンテンツに関係する動作命令や付属情報等を抽出する。
 また、応答生成装置10は、発話内の付属情報を確認する(ステップS103)。例えば、応答生成装置10は、「明日」など、ユーザの発話のみでは動作命令が特定できないものの、動作の付属情報になりうる情報を確認する。
 続けて、応答生成装置10は、付属情報に関連する動作を抽出する(ステップS104)。例えば、応答生成装置10は、「明日」という日時情報を付属情報とする動作を抽出する。
 また、応答生成装置10は、ユーザとの対話履歴とのマッチングを確認する(ステップS105)。例えば、応答生成装置10は、「明日」という発話に基づいて、対話処理において過去にユーザが購買した「明日」という文字列を含む商品との照合を行う。そして、応答生成装置10は、「明日」という文字列を含む商品を過去にユーザが購買したというログに基づいて、発話したユーザが所望する動作として「購買」を抽出するといった処理を行う。
 応答生成装置10は、ステップS102~ステップS105等の処理を経て、発話に対する応答を総合判定する(ステップS106)。例えば、応答生成装置10は、抽出した動作の各々の優先度(スコア)に基づいて、「不完全発話においてユーザが所望していたと推定される動作」を決定する。
 なお、応答生成装置10は、発話が完全であった場合(ステップS101;Yes)、ステップS102等の処理をスキップして、完全発話を解析する(ステップS107)。なお、応答生成装置10は、発話が完全である場合にも処理をスキップせず、ステップS102~ステップS105等の処理を実行してもよい。
 そして、応答生成装置10は、推定した動作等に基づいて、ユーザに対する応答が生成可能か否かを判定する(ステップS108)。例えば、応答生成装置10は、推定した動作等に基づいて応答が生成可能であれば(ステップS108;Yes)、応答を生成し、生成した応答をユーザに対して出力する(ステップS109)。一方、推定した動作等に基づいて応答が生成可能でない場合(ステップS108;No)、例えば動作を推定したとしても付属情報等が不足していて適切な応答が生成できないと判定した場合、応答生成装置10は、聞き返しもしくはエラーを出力する(ステップS110)。
 その後、応答生成装置10は、ユーザに対して出力した応答(あるいは聞き返し等の対応)が正しいものであったか否かを判定する(ステップS111)。例えば、応答生成装置10は、ユーザが応答を受けいれた等、応答が正しかったと判定される場合(ステップS111;Yes)、当該応答を正例として学習する(ステップS112)。一方、応答生成装置10は、ユーザが応答を拒否したり再度の依頼発話を行ったりした等、応答が正しくなかったと判定される場合(ステップS111;No)、当該応答を負例として学習する(ステップS113)。
[1-4.実施形態に係る変形例]
 上記で説明した実施形態に係る応答生成処理は、様々な変形を伴ってもよい。以下に、実施形態の変形例について説明する。
[1-4-1.ジェスチャー情報]
 上記実施形態では、応答生成装置10は、入力情報としてユーザの発話を取得する例を示した。このとき、応答生成装置10は、ユーザの発話の関連情報として、ユーザの動きや身振り手振り等のジェスチャーに関する情報を取得してもよい。
 また、応答生成装置10は、取得したジェスチャーと発話とを組み合わせて、ユーザに対する応答を生成してもよい。仮に、応答生成装置10が、ユーザの発話のうち「しずかに」という文字列を認識したものとする。この場合、応答生成装置10は、ユーザが、例えば「しずか」という名称の人物にメールを送信したり電話をかけたりしようとしているのか、あるいは、応答生成装置10が再生している曲の音量を下げようとしているのか、動作を特定できない場合がある。
 ここで、応答生成装置10は、ユーザの発話とともに、ユーザが人差し指を口にあてているというジェスチャーを検知したとする。この場合、応答生成装置10は、検知したジェスチャーの画像認識結果から、ユーザのジェスチャーに「何らかの音を抑えようとする意図」が含まれる、と解析する。応答生成装置10は、これらの情報を総合判定し、上記の発話が「再生している曲の音量を下げる」というユーザの意図を示していると判定する。
 このように、応答生成装置10は、音声情報が入力情報である場合、関連情報として、ユーザのジェスチャー等を検知した検知情報を用いてもよい。これにより、応答生成装置10は、発話のみではユーザの意図を特定することが困難な場合であっても、ユーザの行動を捉えることでユーザの意図を正確に推定することができる。
[1-4-2.起動ワード]
 上記実施形態では、応答生成装置10がユーザの所望する動作を総合的に判断し、ユーザに対する応答を生成する処理について説明した。ここで、応答生成装置10は、必ずしもユーザに対する応答を生成するのではなく、ユーザの所望する動作を総合的に判断して、ユーザの要望に応えるような設定を行ってもよい。
 例えば、応答生成装置10は、ユーザから取得した断片的な入力情報に基づいて、対話処理を起動させる契機となる設定を変更してもよい。例えば、応答生成装置10の対話機能を起動させる起動ワードが、「ハロー」等の特定の単語であるものとする。しかし、ユーザは、起動ワードである「ハロー」を忘れたり、咄嗟の場合に起動ワードを発話することができなかったりする場合がある。
 この場合、応答生成装置10は、応答生成装置10の前に所在したユーザが、「えっと」「なんだっけ」など、起動ワードでない発話をたびたび行うといったユーザの行動を取得することが想定される。このような場合、応答生成装置10は、ユーザの行動が所定の条件を満たすか否かを判定し、ユーザの行動に応じて起動ワードを変更してもよい。
例えば、応答生成装置10は、ユーザが起動ワードを発話する前に、当該ユーザから所定回数以上、同じ内容の発話がなされたか否かを判定する。そして、応答生成装置10は、所定回数以上同じ内容の発話がなされたと判定した場合、当該ユーザがその発話で応答生成装置10を起動させたいと所望していると判断し、起動ワードを変更する。
 このように、応答生成装置10は、ユーザに応じて、「えっと」など通常では対話処理が起動しない単語を起動ワードに設定することができる。これにより、応答生成装置10は、物忘れが多いユーザや、起動ワードをうまく発音できないユーザに対して、対話処理の利便性を向上させることができる。
 なお、応答生成装置10は、ユーザの発話以外を起動ワードに設定してもよい。例えば、ユーザによっては、「ハロー」のような発話をするのではなく、応答生成装置10を指さしたり、応答生成装置10に対して手を振ったりするジェスチャーを行う可能性がある。このような場合、応答生成部50は、ユーザに応じて、応答生成装置10を指さしたり、応答生成装置10に対して手を振ったりするジェスチャーが対話処理の起動の契機となるよう設定変更してもよい。
[1-4-3.応答生成に用いた情報の提供]
 応答生成装置10は、応答の生成に用いた各種情報を外部サーバ200や外部サービス等に提供してもよい。
 例えば、上記実施形態では、応答生成装置10が、ユーザの「電車」や「明日の」といった、断片的な会話に対する応答を生成する処理を示した。この場合、乗換案内等のサービスを提供する外部サーバ200は、応答生成装置10が生成した応答の根拠の提供を受けた方が、よりユーザの意図に即したサービスや情報を提供することができる場合がある。このため、応答生成装置10は、生成した応答の根拠となる情報として、ユーザの発話や、生成処理に用いた関連情報等を外部サービス等に提供する。具体的には、応答生成装置10は、どのような情報に基づいてユーザの動作命令を特定したか、発話に関連するコンテンツは何か、発話に関連する過去のユーザの行動履歴は何かといった、応答生成処理に用いられた各種情報を提供する。
 このように、応答生成装置10は、ユーザに対する応答を生成した後に、応答を生成するために用いた関連情報を外部装置に出力してもよい。これにより、応答生成装置10は、外部サーバ200等を管理する事業者に有用な情報を提供することができる。
[1-4-4.優先度判定の例]
 応答生成装置10は、応答生成装置10の機器の種別に応じて、ユーザに対する応答の優先度を判定してもよい。
 例えば、応答生成装置10がテレビである場合、応答生成装置10は、ユーザがテレビに関係する動作命令を発話する可能性が高いと判定し、テレビに関係する動作命令を応答として用いる優先度を高くする。言い換えれば、応答生成装置10は、自装置の機器種別に応じて、応答生成の総合判定に利用する情報の重みを調整する。
 これにより、応答生成装置10は、自装置に対してユーザが所望する確率が高いと推定される動作命令を優先的に用いて応答を生成するので、対話処理を利用するユーザの利便性を向上させることができる。
[1-4-5.対話履歴の利用]
 応答生成装置10は、発話をしたユーザ自身の対話履歴のみならず、他のユーザの対話履歴を利用してもよい。例えば、応答生成装置10は、ユーザが発話をする前に、周囲の他の複数ユーザが会話していた内容に基づいて会話のドメインの推定処理を行ってもよい。例えば、周囲の他の複数ユーザが外出に関する会話をしていた場合、応答生成装置10は、かかる会話に含まれる単語の解析結果等から、会話が「外出」に関するドメインであると判定する。その後、「明日は?」といったユーザからの発話があった場合、応答生成装置10は、「外出」に関する動作を抽出し、当該ユーザに対する応答を生成する。一例として、応答生成装置10は、「外出」に関する動作として「天気情報」を抽出し、「明日は晴れます」といった応答を生成する。あるいは、応答生成装置10は、「外出」に関する動作として「スケジュール情報」を抽出し、「明日は予定が空いています」といった応答を生成する。
 このように、応答生成装置10は、他のユーザの対話履歴等を利用してユーザの不完全発話の意図を推定することで、発話したユーザにとって自然な応答を行うことができる。
 なお、応答生成装置10は、他のユーザの対話履歴として、その場に所在するユーザのみならず、クラウドを介して他の装置から取得された対話履歴等に基づいて応答を生成してもよい。
[1-4-6.本開示の応答生成処理の適用]
 本開示の応答生成処理は、ユーザの発話等の対話処理に限らず、種々の技術に適用可能である。例えば、本開示の応答生成処理は、ロボットを利用したユーザとのチャットなど、テキストデータを介した対話処理にも適用可能である。
(2.その他の実施形態)
 また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、応答部54と送信部55は統合されてもよい。
 また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
(3.本開示に係る応答生成装置の効果)
 上述のように、本開示に係る応答生成装置(実施形態では応答生成装置10)は、取得部(実施形態では取得部40)と、応答生成部(実施形態では応答生成部50)とを備える。取得部は、ユーザに対する応答を生成する契機となる入力情報を取得する。応答生成部は、入力情報のみに基づいてユーザに対する応答が生成できないと判定した場合に、入力情報に関連する関連情報を用いてユーザへの応答を生成する。
 これにより、本開示に係る応答生成装置は、入力情報が不完全である場合にもユーザへの応答を生成することができるため、頑健な対話処理を実現することができる。また、応答生成装置によれば、ユーザは完全な文などの依頼を行うことを要しないため、対話処理におけるユーザの負担を軽減することができる。
 また、取得部は、入力情報として、ユーザが発した音声情報を取得する。これにより、応答生成装置は、ユーザが発話した内容が不完全であったとしても、頑健な対話処理を実現することができる。
 また、取得部は、入力情報として、ユーザの行動を検知した検知情報を取得する。これにより、応答生成装置は、ユーザの行動のみではユーザの意図が推定できない場合であっても、頑健な対話処理を実現することができる。
 また、応答生成部は、ユーザに対する応答の内容を特定するための情報である動作命令を入力情報のみから判定できない場合に、関連情報を用いてユーザへの応答を生成する。これにより、応答生成装置は、ユーザが応答生成装置に実行させようとする動作が不明な場合であっても、ユーザに対する何らかの応答を生成することができる。
 また、応答生成部は、ユーザに対する応答の内容を特定するための情報である動作命令を入力情報のみから判定できた場合であって、動作命令に対応した応答を生成するために用いられる情報である付属情報を入力情報のみから判定できない場合に、関連情報を用いてユーザへの応答を生成する。これにより、応答生成装置は、ユーザが明確に発話していない内容等であっても、かかる情報を補った応答を生成することができる。
 また、応答生成部は、関連情報として、入力情報に対応する文字列と関連したコンテンツの情報を用いて、ユーザへの応答を生成する。これにより、応答生成装置は、ユーザの発話の意図に沿ったコンテンツの再生等の動作を実行することができる。
 また、応答生成部は、入力情報に対応する文字列を含むコンテンツの名称に基づいて、ユーザへの応答を生成する。これにより、応答生成装置は、ユーザの発話の意図に沿ったコンテンツの再生等の動作を実行することができる。
 また、応答生成部は、関連情報として、入力情報が取得された時点の状況を示す情報であるコンテキスト情報を用いて、ユーザへの応答を生成する。これにより、応答生成装置は、ユーザの発話のみでは不明な付属情報等をコンテキスト情報で補った応答を生成することができる。
 また、応答生成部は、コンテキスト情報として、ユーザの属性情報もしくは所在地情報を用いて、ユーザへの応答を生成する。これにより、応答生成装置は、ユーザの属性や所在地に適した応答を生成することができる。
 また、応答生成部は、コンテキスト情報として、ユーザのスケジュール情報を用いて、ユーザへの応答を生成する。これにより、応答生成装置は、ユーザの実情に即した応答を生成することができる。
 また、応答生成部は、関連情報として、入力情報が取得される以前のユーザとの対話履歴を用いて、ユーザへの応答を生成する。これにより、応答生成装置は、過去のユーザとの対話や、入力情報が取得されるまでの会話の流れに対して不自然とならない応答を生成することができる。
 また、応答生成部は、入力情報が取得される以前のユーザのサービスの利用履歴を用いて、ユーザへの応答を生成する。これにより、応答生成装置は、ユーザの日常的な行動に即した応答を生成することができる。
 また、応答生成部は、関連情報を用いてユーザへの応答を複数生成するとともに、優先順位を付けて複数の応答をユーザに提示する。これにより、応答生成装置は、ユーザの意図に沿った応答を生成する確率を上げることができるので、対話処理におけるユーザの満足度を向上させることができる。
 また、応答生成部は、ユーザに対する応答を生成した後に、応答を生成するために用いた関連情報を外部装置に出力する。これにより、応答生成装置は、対話処理に関する情報を提供する外部サービス等に有用な情報を提供することができる。
(4.ハードウェア構成)
 上述してきた各実施形態に係る応答生成装置10や外部サーバ200等の情報機器は、例えば図8に示すような構成のコンピュータ1000によって実現される。以下、実施形態に係る応答生成装置10を例に挙げて説明する。図8は、応答生成装置10の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る応答生成プログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が実施形態に係る応答生成装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた応答生成プログラムを実行することにより、取得部40等の機能を実現する。また、HDD1400には、本開示に係る応答生成プログラムや、記憶部30内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 ユーザに対する応答を生成する契機となる入力情報を取得する取得部と、
 前記入力情報のみに基づいて前記ユーザに対する応答が生成できないと判定した場合に、当該入力情報に関連する関連情報を用いて当該ユーザへの応答を生成する応答生成部と、
 を備える応答生成装置。
(2)
 前記取得部は、
 前記入力情報として、前記ユーザが発した音声情報を取得する
 前記(1)に記載の応答生成装置。
(3)
 前記取得部は、
 前記入力情報として、前記ユーザの行動を検知した検知情報を取得する
 前記(1)又は(2)に記載の応答生成装置。
(4)
 前記応答生成部は、
 前記ユーザに対する応答の内容を特定するための情報である動作命令を当該入力情報のみから判定できない場合に、前記関連情報を用いて当該ユーザへの応答を生成する
 前記(1)~(3)のいずれか一つに記載の応答生成装置。
(5)
 前記応答生成部は、
 前記ユーザに対する応答の内容を特定するための情報である動作命令を当該入力情報のみから判定できた場合であって、当該動作命令に対応した応答を生成するために用いられる情報である付属情報を当該入力情報のみから判定できない場合に、前記関連情報を用いて当該ユーザへの応答を生成する
 前記(1)~(4)のいずれか一つに記載の応答生成装置。
(6)
 前記応答生成部は、
 前記関連情報として、前記入力情報に対応する文字列と関連したコンテンツの情報を用いて、前記ユーザへの応答を生成する
 前記(1)~(5)のいずれか一つに記載の応答生成装置。
(7)
 前記応答生成部は、
 前記入力情報に対応する文字列を含むコンテンツの名称に基づいて、前記ユーザへの応答を生成する
 前記(6)に記載の応答生成装置。
(8)
 前記応答生成部は、
 前記関連情報として、前記入力情報が取得された時点の状況を示す情報であるコンテキスト情報を用いて、前記ユーザへの応答を生成する
 前記(1)~(7)のいずれか一つに記載の応答生成装置。
(9)
 前記応答生成部は、
 前記コンテキスト情報として、前記ユーザの属性情報もしくは所在地情報を用いて、前記ユーザへの応答を生成する
 前記(8)に記載の応答生成装置。
(10)
 前記応答生成部は、
 前記コンテキスト情報として、前記ユーザのスケジュール情報を用いて、前記ユーザへの応答を生成する
 前記(8)又は(9)に記載の応答生成装置。
(11)
 前記応答生成部は、
 前記関連情報として、前記入力情報が取得される以前の前記ユーザとの対話履歴を用いて、前記ユーザへの応答を生成する
 前記(1)~(10)のいずれか一つに記載の応答生成装置。
(12)
 前記応答生成部は、
 前記入力情報が取得される以前の前記ユーザのサービスの利用履歴を用いて、前記ユーザへの応答を生成する
 前記(11)に記載の応答生成装置。
(13)
 前記応答生成部は、
 前記関連情報を用いて前記ユーザへの応答を複数生成するとともに、優先順位を付けて複数の応答を当該ユーザに提示する
 前記(1)~(12)のいずれか一つに記載の応答生成装置。
(14)
 前記応答生成部は、
 前記ユーザに対する応答を生成した後に、当該応答を生成するために用いた関連情報を外部装置に出力する
 前記(1)~(13)のいずれか一つに記載の応答生成装置。
(15)
 コンピュータが、
 ユーザに対する応答を生成する契機となる入力情報を取得し、
 前記入力情報のみに基づいて前記ユーザに対する応答が生成できないと判定した場合に、当該入力情報に関連する関連情報を用いて当該ユーザへの応答を生成する
 応答生成方法。
 1 応答生成システム
 10 応答生成装置
 20 センサ
 21 入力部
 22 通信部
 30 記憶部
 31 ユーザ情報テーブル
 32 応答規則テーブル
 40 取得部
 41 検知部
 42 登録部
 43 受信部
 50 応答生成部
 51 信号処理部
 52 音声認識部
 53 解析部
 54 応答部
 55 送信部
 60 出力部
 200 外部サーバ

Claims (15)

  1.  ユーザに対する応答を生成する契機となる入力情報を取得する取得部と、
     前記入力情報のみに基づいて前記ユーザに対する応答が生成できないと判定した場合に、当該入力情報に関連する関連情報を用いて当該ユーザへの応答を生成する応答生成部と、
     を備える応答生成装置。
  2.  前記取得部は、
     前記入力情報として、前記ユーザが発した音声情報を取得する
     請求項1に記載の応答生成装置。
  3.  前記取得部は、
     前記入力情報として、前記ユーザの行動を検知した検知情報を取得する
     請求項1に記載の応答生成装置。
  4.  前記応答生成部は、
     前記ユーザに対する応答の内容を特定するための情報である動作命令を当該入力情報のみから判定できない場合に、前記関連情報を用いて当該ユーザへの応答を生成する
     請求項1に記載の応答生成装置。
  5.  前記応答生成部は、
     前記ユーザに対する応答の内容を特定するための情報である動作命令を当該入力情報のみから判定できた場合であって、当該動作命令に対応した応答を生成するために用いられる情報である付属情報を当該入力情報のみから判定できない場合に、前記関連情報を用いて当該ユーザへの応答を生成する
     請求項1に記載の応答生成装置。
  6.  前記応答生成部は、
     前記関連情報として、前記入力情報に対応する文字列と関連したコンテンツの情報を用いて、前記ユーザへの応答を生成する
     請求項1に記載の応答生成装置。
  7.  前記応答生成部は、
     前記入力情報に対応する文字列を含むコンテンツの名称に基づいて、前記ユーザへの応答を生成する
     請求項6に記載の応答生成装置。
  8.  前記応答生成部は、
     前記関連情報として、前記入力情報が取得された時点の状況を示す情報であるコンテキスト情報を用いて、前記ユーザへの応答を生成する
     請求項1に記載の応答生成装置。
  9.  前記応答生成部は、
     前記コンテキスト情報として、前記ユーザの属性情報もしくは所在地情報を用いて、前記ユーザへの応答を生成する
     請求項8に記載の応答生成装置。
  10.  前記応答生成部は、
     前記コンテキスト情報として、前記ユーザのスケジュール情報を用いて、前記ユーザへの応答を生成する
     請求項8に記載の応答生成装置。
  11.  前記応答生成部は、
     前記関連情報として、前記入力情報が取得される以前の前記ユーザとの対話履歴を用いて、前記ユーザへの応答を生成する
     請求項1に記載の応答生成装置。
  12.  前記応答生成部は、
     前記入力情報が取得される以前の前記ユーザのサービスの利用履歴を用いて、前記ユーザへの応答を生成する
     請求項11に記載の応答生成装置。
  13.  前記応答生成部は、
     前記関連情報を用いて前記ユーザへの応答を複数生成するとともに、優先順位を付けて複数の応答を当該ユーザに提示する
     請求項1に記載の応答生成装置。
  14.  前記応答生成部は、
     前記ユーザに対する応答を生成した後に、当該応答を生成するために用いた関連情報を外部装置に出力する
     請求項1に記載の応答生成装置。
  15.  コンピュータが、
     ユーザに対する応答を生成する契機となる入力情報を取得し、
     前記入力情報のみに基づいて前記ユーザに対する応答が生成できないと判定した場合に、当該入力情報に関連する関連情報を用いて当該ユーザへの応答を生成する
     応答生成方法。
PCT/JP2020/006526 2019-03-29 2020-02-19 応答生成装置及び応答生成方法 WO2020202862A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/441,388 US12033627B2 (en) 2019-03-29 2020-02-19 Response generation device and response generation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019067768 2019-03-29
JP2019-067768 2019-03-29

Publications (1)

Publication Number Publication Date
WO2020202862A1 true WO2020202862A1 (ja) 2020-10-08

Family

ID=72667796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/006526 WO2020202862A1 (ja) 2019-03-29 2020-02-19 応答生成装置及び応答生成方法

Country Status (1)

Country Link
WO (1) WO2020202862A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022028889A (ja) * 2021-01-04 2022-02-16 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 対話生成方法、装置、電子機器及び記憶媒体
JP7388620B2 (ja) 2021-07-20 2023-11-29 Lineヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014222511A (ja) * 2010-01-18 2014-11-27 アップル インコーポレイテッド インテリジェント自動アシスタント

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014222511A (ja) * 2010-01-18 2014-11-27 アップル インコーポレイテッド インテリジェント自動アシスタント

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022028889A (ja) * 2021-01-04 2022-02-16 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 対話生成方法、装置、電子機器及び記憶媒体
JP7388620B2 (ja) 2021-07-20 2023-11-29 Lineヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Also Published As

Publication number Publication date
US20220172716A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
US11600291B1 (en) Device selection from audio data
EP3583749B1 (en) User registration for intelligent assistant computer
US11875820B1 (en) Context driven device arbitration
KR102513297B1 (ko) 전자 장치 및 전자 장치의 기능 실행 방법
US11138977B1 (en) Determining device groups
CN112074900B (zh) 用于自然语言处理的音频分析
US20180293221A1 (en) Speech parsing with intelligent assistant
JPWO2019098038A1 (ja) 情報処理装置、及び情報処理方法
US8484219B2 (en) Developing a knowledge base associated with a user that facilitates evolution of an intelligent user interface
JP7230806B2 (ja) 情報処理装置、及び情報処理方法
JP7276129B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
US8954356B2 (en) Evolution of a user interface based on learned idiosyncrasies and collected data of a user
WO2020202862A1 (ja) 応答生成装置及び応答生成方法
JPWO2019155717A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
US11398221B2 (en) Information processing apparatus, information processing method, and program
US20230215422A1 (en) Multimodal intent understanding for automated assistant
WO2020208972A1 (ja) 応答生成装置及び応答生成方法
WO2019118147A1 (en) Speech parsing with intelligent assistant
US12033627B2 (en) Response generation device and response generation method
US20220108693A1 (en) Response processing device and response processing method
US11527247B2 (en) Computing device and method of operating the same
WO2020017165A1 (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: 20784840

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20784840

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP