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

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

Info

Publication number
WO2020241143A1
WO2020241143A1 PCT/JP2020/017814 JP2020017814W WO2020241143A1 WO 2020241143 A1 WO2020241143 A1 WO 2020241143A1 JP 2020017814 W JP2020017814 W JP 2020017814W WO 2020241143 A1 WO2020241143 A1 WO 2020241143A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
commands
external device
goal
command
Prior art date
Application number
PCT/JP2020/017814
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/613,357 priority Critical patent/US20220223152A1/en
Priority to JP2021522721A priority patent/JPWO2020241143A1/ja
Priority to CN202080038330.3A priority patent/CN113875262A/zh
Publication of WO2020241143A1 publication Critical patent/WO2020241143A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/30User interface
    • G08C2201/31Voice input
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/50Receiving or transmitting feedback, e.g. replies, status updates, acknowledgements, from the controlled devices
    • G08C2201/51Remote controlling of devices based on replies, status thereof
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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/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 an information processing device capable of voice recognition, an information processing method and an information processing program that can be executed by the information processing device capable of voice recognition.
  • Patent Documents 1 and 2 In recent years, a technique for operating surrounding devices by voice recognition has been developed (see, for example, Patent Documents 1 and 2).
  • the information processing device includes an external device control unit, an external device state recognition unit, and a model acquisition unit.
  • the external device control unit transmits a plurality of commands to one or a plurality of external devices to be controlled.
  • the external device state recognition unit recognizes the state of one or a plurality of external devices before and after the transmission of a plurality of commands by the external device control unit.
  • the model acquisition unit generates a state transition model in which a plurality of commands transmitted from the external device control unit are associated with the states of one or a plurality of external devices before and after the transmission of the plurality of commands by the external device control unit.
  • the information processing method includes the following two.
  • A To recognize the state of one or more external devices before and after the transmission of a plurality of commands by transmitting a plurality of commands to one or a plurality of external devices to be controlled and receiving the responses.
  • B To generate a state transition model in which a plurality of transmitted commands are associated with the states of one or a plurality of external devices before and after the transmission of a plurality of commands.
  • the information processing program causes a computer to execute the following two.
  • B) The output multiple commands are associated with the status of one or a plurality of external devices before and after the transmission of a plurality of commands.
  • a state transition model that associates the states of multiple external devices is generated. This makes it possible to control one or more external devices to be controlled toward the goal state corresponding to the command input from the outside while selecting the command to be executed from the state transition model. ..
  • FIG. 1 It is a figure which shows the schematic configuration example of the agent apparatus which concerns on one Embodiment of this disclosure. It is a figure which shows an example of the model stored in the device control model database of FIG. It is a figure which shows an example of the model stored in the device control model shared database of FIG. It is a figure which shows an example of the creation procedure of a state transition model. It is a figure which shows an example of the registration procedure of a voice command. It is a figure which shows an example of the execution procedure of a voice command. It is a figure which shows an example of the correction procedure of a voice command. It is a figure which shows one modification of the schematic structure of the agent apparatus of FIG. It is a figure which shows the schematic configuration example of the mobile terminal of FIG. It is a figure which shows one modification of the schematic structure of the agent apparatus of FIG. It is a figure which shows one modification of the schematic structure of the agent device of FIG.
  • the goal base is not to input the action sequence for controlling the AI character as a command, but to input the goal state, and the AI character selects and executes various actions by itself toward the specified goal state. It means to achieve the goal state.
  • the AI character selects and executes various actions by itself toward the specified goal state. It means to achieve the goal state.
  • it was necessary to grasp the current state in advance, determine a series of action sequences for moving to the goal state, and input it.
  • the goal base it is only necessary to indicate the goal state, and even if the surrounding state changes on the way and the action to be performed changes, the AI character adapts itself to switch the action and heads for the goal state. It will also be possible to give autonomy to move forward.
  • Patent Document 1 Japanese Patent Laid-Open No. 2003-1111557 discloses an integrated controller capable of comfortably controlling various devices according to a user's lifestyle, living environment, etc., or according to a user's preference.
  • Patent Document 2 Japanese Patent Laid-Open No. 2005-867678 describes a control device capable of easily operating these various devices with settings suitable for each user's habits by using a network connecting various devices. It is disclosed.
  • Patent Documents 1 and 2 assume that the user's habits are acquired, and actions that the user does not perform cannot be acquired or executed. Therefore, in the following, based on the goal-based concept, an agent device capable of controlling each device toward the goal state while adaptively changing the command sent to the device will be described.
  • FIG. 1 shows a schematic configuration example of the agent device 1.
  • the agent device 1 includes a command acquisition unit 10 and a goal-based execution unit 20.
  • the agent device 1 is connected to the voice agent cloud service 30 and the device control model sharing database 40 via a network.
  • the device control model sharing database 40 corresponds to a specific example of the “storage unit” of the present disclosure.
  • One or a plurality of external devices (for example, external devices 50, 60, 70) to be controlled are installed around the agent device 1.
  • the external device 50 is, for example, a television.
  • the device control model shared database 40 is, for example, a database that operates as a cloud service.
  • the device control model shared database 40 may include, for example, a volatile memory such as a DRAM (Dynamic Random Access Memory) or a non-volatile memory such as an EEPROM (Electrically Erasable Programmable Read-Only Memory) or a flash memory.
  • the external device 60 is, for example, a lighting fixture in a room.
  • the external device 70 is, for example, a player such as a DVD (registered trademark) or a BD (registered trademark).
  • the external devices 50, 60, and 70 are not limited to the above devices.
  • the network is, for example, a network that communicates using a communication protocol (TCP / IP) that is standardly used on the Internet.
  • the network may be, for example, a secure network that communicates using the communication protocol unique to the network.
  • the network is, for example, the Internet, an intranet, or a local area network.
  • the connection between the network and the agent device 1 may be, for example, a wired LAN (Local Area Network) such as Ethernet (registered trademark), a wireless LAN such as Wi-Fi, or a mobile phone line. May be good.
  • the command acquisition unit 10 acquires a voice command by voice recognition.
  • the command acquisition unit 10 includes, for example, a microphone 11, a voice recognition unit 12, an utterance interpretation / execution unit 13, a voice synthesis unit 14, and a speaker 15.
  • the microphone 11 receives the surrounding sound and outputs the sound signal obtained thereby to the voice recognition unit 12.
  • the voice recognition unit 12 extracts the user's utterance voice signal included in the input sound signal and outputs it to the utterance interpretation / execution unit 13.
  • the utterance interpretation / execution unit 13 outputs the input utterance voice signal to the voice agent cloud service 30.
  • the utterance interpretation / execution unit 13 extracts a command (voice command) included in the text data obtained from the voice agent cloud service 30 and outputs it to the goal-based execution unit 20.
  • the utterance interpretation / execution unit 13 generates voice text data using this text data and outputs it to the voice synthesis unit 14.
  • the voice synthesis unit 14 generates a sound signal based on the input voice text data and outputs the sound signal to the speaker 15.
  • the speaker 15 converts the input sound signal into voice and outputs it to the outside.
  • the voice agent cloud service 30 receives the user's voice data from the agent device 1 (speech interpretation / execution unit 13).
  • the voice agent cloud service 30 converts the received utterance voice data into text by voice recognition, and outputs the text data obtained by the text conversion to the agent device 1 (speech interpretation / execution unit 13).
  • the goal-based execution unit 20 adaptively changes the commands to be sent to one or a plurality of external devices (for example, external devices 50, 60, 70) to be controlled toward the goal state. Control each external device.
  • the goal-based execution unit 20 is, for example, an external device state recognition unit 21, an external device control unit 22, a device control model database 23, a device control model acquisition unit 24, a goal-based device control unit 25, and a goal-based command registration / execution unit 26. It also has a command / goal state conversion database 27.
  • the device control model database 23 corresponds to a specific example of the “storage unit” of the present disclosure.
  • the goal-based command registration / execution unit 26 corresponds to a specific example of the “execution unit” of the present disclosure.
  • the external device state recognition unit 21 recognizes the type and current state of one or a plurality of external devices to be controlled.
  • the external device state recognition unit 21 recognizes, for example, the states of one or a plurality of external devices before and after the transmission of a plurality of commands by the external device control unit 22.
  • the recognition method of the external device state recognition unit 21 differs depending on the type of one or a plurality of external devices to be controlled.
  • the external device state recognition unit 21 when an external device is connected to the network, the external device state recognition unit 21 is configured to be able to recognize the state of the external device by communicating with the external device connected to the network. You may be.
  • the external device state recognition unit 21 is composed of, for example, a communication device capable of communicating with one or a plurality of external devices connected to the network.
  • the external device state recognition unit 21 is configured to be able to recognize the state of the external device by taking an image of the external device. You may be.
  • the external device state recognition unit 21 is composed of, for example, an imaging device capable of imaging one or a plurality of external devices. Further, for example, when the external device can recognize the state from the sound emitted from the external device, the external device state recognition unit 21 acquires the sound emitted from the external device to obtain the external device. It may be configured so that the state of is recognizable. In this case, the external device state recognition unit 21 is composed of, for example, a sound collecting device capable of acquiring sounds emitted from one or a plurality of external devices.
  • the external device state recognition unit 21 receives the infrared remote control code transmitted to the external device, thereby causing the external device. It may be configured so that the state of is recognizable.
  • the external device state recognition unit 21 is composed of, for example, a receiving device capable of receiving the infrared remote control code transmitted to one or a plurality of external devices.
  • the infrared remote control code is an example of the code received by the external device state recognition unit 21, and the code received by the external device state recognition unit 21 is not limited to the infrared remote control code.
  • the external device state recognition unit 21 receives the code transmitted to the external device, thereby. It may be configured so that the state of the external device can be recognized.
  • the external device state recognition unit 21 is composed of, for example, a receiving device capable of receiving a code transmitted to one or a plurality of external devices.
  • the external device state recognition unit 21 may be composed of, for example, at least one of the communication device, the image pickup device, the sound collecting device, and the receiving device.
  • the external device control unit 22 executes control for changing the state of one or a plurality of external devices to be controlled.
  • the external device control unit 22 controls the external device, for example, by transmitting a plurality of commands to one or a plurality of external devices to be controlled.
  • the control method differs depending on the type of one or a plurality of external devices to be controlled.
  • the external device control unit 22 when an external device is connected to the network, even if the external device control unit 22 is configured to be able to control the external device by communicating with the external device connected to the network. Good. Further, for example, when the external device is configured to be controllable by the infrared remote control code, the external device control unit 22 controls the external device by transmitting the infrared remote control code to the external device. May be configured to allow. Further, for example, when the external device has a physical input interface such as a button or a switch, the external device control unit 22 can operate the external device via the robot manipulator. It may be configured.
  • the device control model database 23 stores the device control model M.
  • the device control model sharing database 40 stores the device control model M.
  • the device control model M stored in the device control model database 23 and the device control model shared database 40 includes a device ID list 23A, a command list 23B, a state discrimination list 23C, and a state transition model. Includes 23D.
  • the device control model M is stored in, for example, a volatile memory such as a DRAM (Dynamic Random Access Memory) or a non-volatile memory such as an EEPROM (Electrically Erasable Programmable Read-Only Memory) or a flash memory.
  • the device ID list 23A includes an identifier (external device ID) assigned to each external device.
  • the external device ID is generated by the device control model acquisition unit 24, for example, based on the information obtained from the external device.
  • the external device ID is configured to include, for example, the manufacturer and model number of the external device.
  • the external device ID may be generated by the device control model acquisition unit 24, for example, based on the information obtained from the appearance image of the external device.
  • the external device ID may be generated by the device control model acquisition unit 24, for example, based on the information input from the user.
  • the command list 23B includes a table (hereinafter, referred to as "table A") in which the external device ID and a plurality of commands that can be accepted by the external device corresponding to the external device ID are associated with each other.
  • Table A corresponds to a specific example of the "first table” of the present disclosure.
  • the command list 23B includes a table A for each external device ID.
  • the command list 23B is based on, for example, information obtained from an external device (external device ID) and information pre-installed in the device control model database 23 or the device control model shared database 40 (command list). It is generated by the device control model acquisition unit 24.
  • the command list 23B is generated by the device control model acquisition unit 24, for example, based on the information (external device ID) obtained from the external device and the infrared remote control code transmitted to the external device. You may.
  • the command list 23B may be, for example, pre-installed in the device control model database 23 or the device control model sharing database 40.
  • the state determination list 23C includes a table (hereinafter, referred to as "table B") in which the external device ID and the information on the method capable of determining the state of the external device corresponding to the external device ID are associated with each other.
  • Table B corresponds to a specific example of the "second table” of the present disclosure.
  • the state determination list 23C includes a table B for each external device ID.
  • the state determination list 23C is based on, for example, information obtained from an external device (external device ID) and information pre-installed in the device control model database 23 or the device control model shared database 40 (state determination method). Is generated by the device control model acquisition unit 24.
  • the state determination list 23C may be, for example, pre-installed in the device control model database 23 or the device control model shared database 40.
  • the state transition model 23D is, for example, an external device ID, a plurality of commands that can be accepted by the external device corresponding to the external device ID, and an external device corresponding to the external device ID before and after transmission of a plurality of commands by the external device control unit 22. It includes a table (hereinafter referred to as "table C") associated with the state of the device.
  • the state transition model 23D includes a table C for each external device ID, for example.
  • the state transition model 23D is generated by the device control model acquisition unit 24, for example, based on the information obtained from the external device.
  • the state transition model 23D may be a learning model generated by machine learning.
  • the state transition model 23D when the state (current state) of one or more external devices to be controlled and the goal state are input, is required to reach the input goal state. It is configured to output a command (that is, one or more commands to be executed next).
  • the device control model acquisition unit 24 generates an external device ID, for example, based on the information obtained from the external device state recognition unit 21.
  • the device control model acquisition unit 24 may generate an external device ID based on, for example, information input from the user.
  • the device control model acquisition unit 24 may store the generated external device ID in the device control model database 23 and the device control model sharing database 40, for example.
  • the device control model acquisition unit 24 generates a command list 23B based on, for example, information obtained from an external device (external device ID) and a command input from the device control model acquisition unit 24 to the external device control unit 22. To do.
  • the device control model acquisition unit 24 associates the external device ID with the command only when there is a change in the state of the external device corresponding to the external device ID before and after the command transmission by the external device control unit 22, for example. , May be stored in the command list 23B. That is, the device control model acquisition unit 24 may store the external device ID and the command in the command list 23B in association with each other only when the external device executes the command, for example.
  • the device control model acquisition unit 24 may store the generated command list 23B in the device control model database 23 and the device control model sharing database 40, for example.
  • the device control model acquisition unit 24 is based on, for example, information obtained from an external device (external device ID) and information obtained from the device control model database 23 or the device control model sharing database 40 (state determination method). , Generates the state determination list 23C.
  • the device control model acquisition unit 24 may store, for example, the generated state determination list 23C in the device control model database 23 and the device control model sharing database 40.
  • the device control model acquisition unit 24 has, for example, transmitted information (external device ID) obtained from an external device and a command (transmitted from the external device control unit 22) input from the device control model acquisition unit 24 to the external device control unit 22.
  • the state transition model 23D is generated based on the command) and the information obtained from the external device (the state of the external device corresponding to the external device ID before and after the command is transmitted by the external device control unit 22).
  • the device control model acquisition unit 24 uses machine learning (for example, reinforcement learning) to send various commands to the external device control unit 22, and obtains the state of the external device obtained by the external device state recognition unit 21. Based on this, the state transition model 23D is generated.
  • the device control model acquisition unit 24 may store the generated state transition model 23D in the device control model database 23 and the device control model sharing database 40, for example.
  • the device control model acquisition unit 24 may, for example, create a part of the state transition model 23D by programming or the like without using machine learning (for example, reinforcement learning). This is an example in which machine control is too complicated to acquire a part of the state transition model 23D by machine learning, an example in which the state of an external device is insufficiently discriminated by external observation, or the state transition model 23D. This is an effective method in cases where it is more efficient to acquire a part of the state transition model 23D in a compact manner if a part of the state transition model 23D is simple enough and does not use machine learning.
  • machine learning for example, reinforcement learning
  • the goal-based device control unit 25 uses the device control model read from the device control model database 23 or the device control model sharing database 40, and controls until the goal state instructed by the goal-based command registration / execution unit 26 is reached. Controls one or more external devices.
  • the goal-based device control unit 25 generates, for example, a command list necessary for reaching the goal state instructed by the goal-based command registration / execution unit 26 based on the state transition model 23D.
  • the goal-based device control unit 25 changes from, for example, the state of one or a plurality of external devices to be controlled obtained from the external device state recognition unit 21 to the goal state instructed by the goal-based command registration / execution unit 26.
  • the command list required to reach is generated based on the state transition model 23D.
  • the goal-based device control unit 25 sequentially executes, for example, each command in the generated command list. For example, the goal-based device control unit 25 sequentially outputs each command in the generated command list to the external device control unit 22.
  • the goal-based device control unit 25 is, for example, the state (current state) of one or a plurality of external devices to be controlled obtained from the external device state recognition unit 21. And, the goal state instructed by the goal-based command registration / execution unit 26 is input to the state transition model 23D, and one or a plurality of commands (specifically) necessary to reach the input goal state from the state transition model 23D. May get one or more commands to be executed next).
  • the goal-based device control unit 25 may output the acquired one or a plurality of commands to the external device control unit 22 each time one or a plurality of commands are acquired from the state transition model 23D, for example. Further, the goal-based device control unit 25 may, for example, repeat this operation until the current state and the goal state match, thereby transitioning the state of one or more external devices to be controlled to the goal state. ..
  • the command / goal state conversion database 27 stores a table (hereinafter, referred to as "table D") in which the voice command and the goal state are associated with each other.
  • Table D corresponds to a specific example of the "third table” of the present disclosure.
  • Table D is a goal-based command registration / execution unit based on, for example, a voice command input by the user via the command acquisition unit 10 and a goal state input by the user via an input IF (Interface) (not shown).
  • the table D is stored in, for example, a volatile memory such as a DRAM or a non-volatile memory such as an EEPROM or a flash memory.
  • the goal-based command registration / execution unit 26 grasps the goal state corresponding to the voice command input from the command acquisition unit 10 (utterance interpretation / execution unit 13) from the table stored in the command / goal state conversion database 27. .. Subsequently, the goal-based command registration / execution unit 26 outputs the grasped goal state to the goal-based device control unit 25.
  • the command / goal state conversion database 27 uses, for example, a table D based on a voice command input by the user via the command acquisition unit 10 and a goal state input by the user via an input IF (Interface) (not shown). Generate and store in the command / goal state conversion database 27.
  • FIG. 4 shows an example of the procedure for creating the device control model M.
  • the device control model acquisition unit 24 outputs a signal obtained from one or a plurality of external devices to be controlled to the external device control unit 22.
  • the external device control unit 22 generates a predetermined signal based on the signal input from the device control model acquisition unit 24, and outputs the predetermined signal to one or a plurality of external devices to be controlled.
  • the external device state recognition unit 21 receives a signal from one or a plurality of external devices to be controlled
  • the external device state recognition unit 21 outputs the received signal to the device control model acquisition unit 24.
  • the device control model acquisition unit 24 generates an external device ID of one or a plurality of external devices to be controlled based on the signal input from the external device state recognition unit 21 (step S101).
  • the device control model acquisition unit 24 stores the generated external device ID in the device control model database 23 and the device control model sharing database 40.
  • the device control model acquisition unit 24 acquires the command list 23B from the outside (step S102).
  • the device control model acquisition unit 24 stores the acquired command list 23B in the device control model database 23 and the device control model sharing database 40.
  • the device control model acquisition unit 24 acquires the state determination list 23C from the outside (step S103).
  • the device control model acquisition unit 24 stores the acquired state determination list 23C in the device control model database 23 and the device control model sharing database 40.
  • the device control model acquisition unit 24 outputs each command included in the command list 23B read from the device control model database 23 or the device control model sharing database 40 to the external device control unit 22.
  • the external device control unit 22 outputs each command input from the device control model acquisition unit 24 to one or a plurality of external devices to be controlled. That is, the device control model acquisition unit 24 controls the external device by outputting a plurality of commands included in the command list 23B read from the device control model database 23 or the device control model sharing database 40 to the external device control unit 22. From unit 22, a plurality of commands are output to one or a plurality of external devices to be controlled.
  • the external device state recognition unit 21 recognizes and recognizes the state of one or a plurality of external devices to be controlled before and after the transmission of one or a plurality of commands by the external device control unit 22, for example, one or a plurality of recognized states.
  • the state of the external device is output to the device control model acquisition unit 24.
  • the device control model acquisition unit 24 acquires the state of one or more external devices to be controlled from the external device state recognition unit 21 before and after the transmission of one or a plurality of commands by the external device control unit 22. Further, the device control model acquisition unit 24, for example, inputs information (external device ID) obtained from one or a plurality of external devices to be controlled and the device control model acquisition unit 24 to the external device control unit 22.
  • a plurality of commands (one or a plurality of commands transmitted from the external device control unit 22) and information obtained from the external device (one or a plurality of external devices to be controlled before and after the command transmission by the external device control unit 22).
  • the state transition model 23D is generated based on the device state) (step S104).
  • the device control model acquisition unit 24 obtains, for example, the goal state specified by the user and the command list 23B read from the device control model database 23 or the device control model sharing database 40.
  • the machine learning used is performed on the state transition model 23D.
  • the device control model acquisition unit 24 first searches for and outputs a plurality of commands read from the command list 23B to the external device control unit 22 when a certain goal state is specified by the user.
  • the external device control unit 22 outputs each command input from the device control model acquisition unit 24 to one or a plurality of external devices to be controlled.
  • the device control model acquisition unit 24 acquires the state of the external device corresponding to the external device ID from the external device state recognition unit 21 before and after the command transmission by the external device control unit 22.
  • the device control model acquisition unit 24 randomly selects a command to be output to the external device control unit 22, and outputs the randomly selected command to the external device control unit 22.
  • the device control model acquisition unit 24 learns the state (current state) of one or a plurality of external devices to be controlled obtained from the external device state recognition unit 21 and the goal state specified by the user. Input to the state transition model 23D in the middle (that is, incomplete), and select the command output from the state transition model 23D in the middle of learning as the command to be executed next.
  • the device control model acquisition unit 24 outputs the command output from the state transition model 23D during learning to the external device control unit 22.
  • the device control model acquisition unit 24 repeats this series of operations each time a goal state is specified by the user, and finally, one or a plurality of external devices to be controlled are in an arbitrary state. When it is, it generates a state transition model 23D that can identify a series of commands that would be optimal for transitioning that state to the goal state.
  • the device control model acquisition unit 24 stores the generated state transition model 23D in the device control model database 23 and the device control model sharing database 40. In this way, the device control model M is generated.
  • the external devices include a washing robot and a washing machine capable of performing washing, a cooking robot capable of performing cooking, a refrigerator, a microwave oven and a kitchen, and a television, an AV amplifier, an electric curtain and an air conditioner.
  • the user wants to make the goal state of the voice command "wash” after a series of operations of washing the accumulated laundry using a washing machine and drying it on the balcony.
  • FIG. 5 shows an example of the procedure for registering a voice command.
  • the goal-based command registration / execution unit 26 acquires a voice command registration start instruction (step S201). Specifically, the user utters a voice command instructing the start of registration of the voice command. For example, the user says, "Remember what you are about to do.” Then, the command acquisition unit 10 acquires the voice command input from the user and outputs it to the goal-based command registration / execution unit 26. The goal-based command registration / execution unit 26 determines that the voice command registration start instruction has been acquired when the voice command instructing the start of registration of the voice command is input from the command acquisition unit 10 (step S201).
  • the goal-based command registration / execution unit 26 When the goal-based command registration / execution unit 26 acquires the voice command registration start instruction, it starts monitoring the status of the external device (step S202). Specifically, the goal-based command registration / execution unit 26 waits for an input from the external device state recognition unit 21. After that, the user himself operates one or more external devices, and when the operation is completed, the user utters a voice command instructing the end of registration of the voice command. For example, the user utters "Remember this state as XXXXX (command name)". Then, the command acquisition unit 10 acquires the voice command input from the user and outputs it to the goal-based command registration / execution unit 26. The goal-based command registration / execution unit 26 determines that the voice command registration end instruction has been acquired when the voice command instructing the end of registration of the voice command is input from the command acquisition unit 10 (step S203).
  • the goal-based command registration / execution unit 26 When the goal-based command registration / execution unit 26 acquires the voice command registration end instruction, the goal-based command registration / execution unit 26 receives one or a plurality of external devices to be operated based on the input from the external device state recognition unit 21 obtained during monitoring. And specify the final state of one or more external devices to be operated as the goal state. Further, the goal-based command registration / execution unit 26 receives the command name (XXXXX) input from the command acquisition unit 10 between the acquisition of the voice command registration start instruction and the acquisition of the voice command registration end instruction. X) is specified as a voice command.
  • the goal-based command registration / execution unit 26 generates a table D in which the specified goal states of one or more external devices to be operated and the specified voice commands are associated with each other, and creates a table D in the command / goal state conversion database 27. Store. In this way, the goal-based command registration / execution unit 26 registers the voice command and the monitoring result in the command / goal state conversion database 27 (step S204).
  • the user may start registering the voice command by, for example, pressing a predetermined button provided on the agent device 1.
  • the goal-based command registration / execution unit 26 may determine that the voice command registration start instruction has been acquired when the signal for detecting that the predetermined button has been pressed by the user has been acquired.
  • FIG. 6 shows an example of the execution procedure of the voice command.
  • the goal-based command registration / execution unit 26 acquires a voice command (step S301). Specifically, the user utters a voice command corresponding to the final state of one or a plurality of external devices to be operated. For example, the user says “set to theater mode”. Then, the command acquisition unit 10 acquires the "theater mode” as a voice command input from the user, and outputs the "theater mode" to the goal-based command registration / execution unit 26. The goal-based command registration / execution unit 26 acquires a voice command from the command acquisition unit 10.
  • the goal-based command registration / execution unit 26 specifies the goal state corresponding to the input voice command from the command / goal state conversion database 27 (step S302). .. Subsequently, the goal-based command registration / execution unit 26 outputs the specified goal state to the goal-based device control unit 25.
  • the goal-based device control unit 25 receives the current state of one or more external devices in which the goal state is defined by the external device state recognition unit 21. (Step S303). Next, the goal-based device control unit 25 generates a command list necessary for one or a plurality of external devices to be controlled to reach the goal state from the current state based on the state transition model 23D (step S304). .. Next, the goal-based device control unit 25 sequentially executes each command in the generated command list (step S305). Specifically, the goal-based device control unit 25 sequentially outputs each command in the generated command list to the external device control unit 22. As a result, one or more external devices to be operated are in the final state corresponding to the voice command.
  • the correction of voice commands can be roughly divided into (1) addition of one or more external devices as operation targets (further addition of the final state of one or more external devices to be added), and (2) operation. At least one of (3) deletion of one or more external devices from the target and (3) change of the final state of at least one external device included in the operation target can be considered. In both cases, it is appropriate to modify the voice command based on the registered voice command.
  • the user first instructs the agent device 1 to execute the registered voice command, and then in the cases of (1) and (3), operates an additional external device and then corrects the voice command. Instruct.
  • the case of (2) is almost the same, and after the agent device 1 operates the external device to be deleted, the user instructs the deletion of the operation.
  • the user when creating an alias for a voice command or combining multiple voice commands to create a new voice command, the user can operate the difference from there while using the existing command, and set the final state. You can register it as a new command. By doing so, the agent device 1 can acquire more complicated actions based on simple actions, and is based on the goal-based concept. Therefore, how each external device changes when executing a command. Even if it is in such a state, the goal state can be realized.
  • the agent device 1 saves the state of the external device before executing the command, and when the user instructs to return to the previous state after executing the command, the saved state is set as the goal state and controlled. Just do it.
  • FIG. 7 shows an example of a procedure for modifying a voice command.
  • the goal-based command registration / execution unit 26 acquires a voice command modification start instruction (step S401). Specifically, the user utters a voice command instructing the start of modification of the voice command. For example, the user says "correct voice command”. Then, the command acquisition unit 10 acquires the voice command input from the user and outputs it to the goal-based command registration / execution unit 26. The goal-based command registration / execution unit 26 determines that the voice command correction start instruction has been acquired when the voice command instructing the start of correction of the voice command is input from the command acquisition unit 10 (step S401).
  • the goal-based command registration / execution unit 26 acquires the voice command to be corrected after acquiring the voice command correction start instruction (step S402). Specifically, the user utters a voice command to be modified. For example, the user utters "correction of theater mode". Then, the command acquisition unit 10 acquires the voice command input from the user and outputs it to the goal-based command registration / execution unit 26. The goal-based command registration / execution unit 26 acquires the voice command to be corrected from the command acquisition unit 10 (step S402).
  • the goal-based command registration / execution unit 26 When the goal-based command registration / execution unit 26 acquires the voice command correction start instruction and the voice command to be corrected from the command acquisition unit 10, the goal-based command registration / execution unit 26 executes the above-mentioned steps S302 to S304 (step S403). Subsequently, the goal-based command registration / execution unit 26 executes the above-mentioned step S305 while monitoring the state of one or a plurality of external devices to be operated (step S404). That is, the goal-based command registration / execution unit 26 monitors the status of one or a plurality of external devices to be operated, and outputs one or a plurality of commands necessary to reach the goal status corresponding to the voice command to be corrected. Run.
  • the user operates one or a plurality of external devices newly added as the operation target, instructs the deletion of the operation performed by the agent device 1, or at least one external device included in the operation target. Change the final state of.
  • the goal-based command registration / execution unit 26 identifies the goal state corresponding to the voice command to be corrected by performing processing according to the above-mentioned instruction content from the user.
  • the goal-based command registration / execution unit 26 monitors the status of one or more external devices to be operated and voice commands to be corrected when performing processing according to the above-mentioned instruction contents from the user. Execution of one or more commands required to reach the corresponding goal state may be omitted.
  • the user utters a voice command instructing the end of correction of the voice command.
  • a voice command instructing the end of correction of the voice command.
  • the user utters "Remember this state as XXXXX (command name)".
  • the command acquisition unit 10 acquires the voice command input from the user and outputs it to the goal-based command registration / execution unit 26.
  • the goal-based command registration / execution unit 26 determines that the voice command correction end instruction has been acquired when the voice command instructing the correction end of the voice command is input from the command acquisition unit 10 (step S405).
  • the goal-based command registration / execution unit 26 When the goal-based command registration / execution unit 26 acquires the correction end instruction of the voice command, the goal-based command registration / execution unit 26 receives one or a plurality of external devices to be operated based on the input from the external device state recognition unit 21 obtained during the monitoring. And specify the final state of one or more external devices to be operated as the goal state. Further, the goal-based command registration / execution unit 26 specifies the command name (XXXXX) input from the command acquisition unit 10 as a voice command. The goal-based command registration / execution unit 26 generates a table D in which the specified goal states of one or more external devices to be operated and the specified voice commands are associated with each other, and creates a table D in the command / goal state conversion database 27. Store. In this way, the goal-based command registration / execution unit 26 registers the voice command and the monitoring result in the command / goal state conversion database 27 (step S406). As a result, the correction of the voice command is completed.
  • the user may start modifying the voice command by, for example, pressing a predetermined button provided on the agent device 1.
  • the goal-based command registration / execution unit 26 may determine that the voice command correction start instruction has been acquired when the signal for detecting that the predetermined button has been pressed by the user has been acquired.
  • the agent device 1 a plurality of commands transmitted to one or a plurality of external devices to be controlled and the states of the one or a plurality of external devices before and after the transmission of the plurality of commands are displayed.
  • the associated state transition model 23D is generated. This makes it possible to control one or more external devices to be controlled toward the goal state corresponding to the command input from the outside while selecting the command to be executed from the state transition model 23D. Become. Therefore, it is possible to operate the surrounding devices up to the goal state by inputting one voice command, and the agent device 1 can be operated intuitively. In addition, it is possible to add or change user-specific voice commands without requiring special skills.
  • the command list 23B and the state determination list 23C are provided in the device control model database 23.
  • the command list 23B, the state determination list 23C, and the state transition model 23D it is possible to operate the surrounding devices up to the goal state by inputting one voice command.
  • a command acquisition unit 10 a command / goal state conversion database 27, and a goal-based command registration / execution unit 26 are provided.
  • the state transition model 23D is provided in the device control model database 23.
  • the command list 23B, the state determination list 23C, and the state transition model 23D provided in the agent device 1 it is possible to operate the surrounding devices up to the goal state by inputting one voice command. Become.
  • the state transition model 23D is provided in the device control model sharing database 40 on the network.
  • other agent devices can use the device control model shared database 40 on the network, so that it is not necessary to perform machine learning for each agent device, and the time and effort required to create the model can be reduced. ..
  • the voice agent cloud service 30 may be omitted.
  • the utterance interpretation / execution unit 13 may convert the received utterance voice data into text by voice recognition.
  • the voice recognition unit 12, the utterance interpretation / execution unit 13, and the voice synthesis unit 14 may be omitted.
  • a cloud service that realizes the functions of the voice recognition unit 12, the speech interpretation / execution unit 13, and the voice synthesis unit 14 is provided on the network, and the command acquisition unit 10 transmits the sound signal obtained by the microphone 11 to the network.
  • the sound signal generated by the cloud service may be received via the network by transmitting to the cloud service via the cloud service.
  • the agent device 1 may include a communication unit 80 capable of communicating with the mobile terminal 90, for example, as shown in FIG.
  • the mobile terminal 90 provides a UI (User Interface) of the agent device 1.
  • the mobile terminal 90 has, for example, a communication unit 91, a microphone 92, a speaker 93, a display unit 94, a storage unit 95, and a control unit 96.
  • the communication unit 91 is configured to be able to communicate with the mobile terminal 90 via a network.
  • the network is, for example, a network that communicates using a communication protocol (TCP / IP) that is standardly used on the Internet.
  • the network may be, for example, a secure network that communicates using the communication protocol unique to the network.
  • the network is, for example, the Internet, an intranet, or a local area network.
  • the connection between the network and the agent device 1 may be, for example, a wired LAN such as Ethernet (registered trademark), a wireless LAN such as Wi-Fi, or a mobile phone line.
  • the microphone 92 receives the surrounding sound and outputs the sound signal obtained thereby to the control unit 96.
  • the speaker 93 converts the input sound signal into voice and outputs it to the outside.
  • the display unit 94 is, for example, a liquid crystal panel or an organic EL (Electro Luminescence) panel.
  • the display unit 94 displays an image based on the image signal input from the control unit 96.
  • the storage unit 95 is, for example, a volatile memory such as a DRAM or a non-volatile memory such as an EEPROM or a flash memory.
  • the storage unit 95 stores a program 95A for providing the UI of the agent device 1. When the program 95A is loaded into the control unit 96, the control unit 96 executes the operation described in the program 95A.
  • the control unit 96 generates a video signal including information input from the agent device 1 via the communication unit 91, and outputs the video signal to the display unit 94.
  • the control unit 96 outputs the sound signal obtained by the microphone 92 to the agent device 1 (voice recognition unit 12) via the communication unit 91.
  • the voice recognition unit 12 extracts the user's utterance voice signal included in the sound signal input from the mobile terminal 90 and outputs it to the utterance interpretation / execution unit 13.
  • the mobile terminal 90 provides the UI of the agent device 1. As a result, even when the agent device 1 is far away from the user, the voice command can be reliably input to the agent device 1.
  • a series of processes executed by the device control model acquisition unit 24, the goal-based device control unit 25, and the goal-based command registration / execution unit 26 may be realized by a program.
  • the goal-based execution unit 20 may include a calculation unit 28 and a storage unit 29.
  • the storage unit 29 is, for example, a volatile memory such as a DRAM or a non-volatile memory such as an EEPROM or a flash memory.
  • the storage unit 29 stores a program 29A for executing a series of processes executed by the device control model acquisition unit 24, the goal-based device control unit 25, and the goal-based command registration / execution unit 26.
  • the program 29A is loaded into the arithmetic unit 28, the arithmetic unit 28 executes the operation described in the program 29A.
  • the present disclosure may have the following structure.
  • An external device control unit that sends multiple commands to one or more external devices to be controlled
  • An external device state recognition unit that recognizes the state of the one or a plurality of external devices before and after the transmission of the plurality of commands by the external device control unit.
  • a model that generates a state transition model in which the plurality of commands transmitted from the external device control unit are associated with the states of the one or a plurality of external devices before and after the transmission of the plurality of commands by the external device control unit.
  • (2) A first table in which a plurality of identifiers assigned to each external device and a plurality of commands that can be accepted by each external device are associated with each other.
  • the information processing apparatus according to (1) further including a storage unit that stores the state transition model.
  • (3) A command acquisition unit that acquires voice commands by voice recognition, A third table in which the voice command is associated with the goal state, The goal state corresponding to the voice command acquired by the command acquisition unit is grasped from the third table, and one or a plurality of commands necessary to reach the grasped goal state are obtained based on the state transition model.
  • the information processing apparatus further comprising a storage unit for storing the state transition model generated by the model acquisition unit.
  • the information processing device according to any one of (1) to (3), wherein the model acquisition unit stores the generated state transition model in a storage unit on the network.
  • the external device state recognition unit includes a communication device capable of communicating with the one or a plurality of external devices, an imaging device capable of photographing the one or a plurality of external devices, and the one or a plurality of external devices. It is composed of at least one of a sound collecting device capable of acquiring the sound emitted from the device and a receiving device capable of receiving the infrared remote control code transmitted to the one or more external devices.
  • the information processing apparatus according to any one of (1) to (5).
  • the state transition model is a learning model generated by machine learning, and when the state of the one or a plurality of external devices and the goal state are input, 1 required to reach the input goal state.
  • the information processing apparatus according to (3) which is configured to output a plurality of commands.
  • the information processing apparatus according to (2) further including an identifier generation unit that generates the identifier for each external device based on the information obtained from the one or a plurality of external devices.
  • the execution unit acquires the voice command registration start instruction, it starts monitoring the status of the one or more external devices, and when it acquires the voice command registration end instruction, the external device obtained during the monitoring.
  • the information described in (3) which identifies one or more external devices to be operated based on the input from the state recognition unit, and specifies the final state of one or more external devices to be operated as a goal state.
  • Processing equipment (10) The information processing device according to (9), wherein the execution unit creates the third table by associating a voice command input from a user with the goal state. (11) The execution unit associates the voice command input from the user between the acquisition of the voice command registration start instruction and the acquisition of the voice command registration end instruction with the goal state, and the third table.
  • the information processing apparatus according to (9) or (10).
  • the execution unit When the execution unit acquires the voice command correction start instruction and the voice command to be corrected, the execution unit specifies the goal state corresponding to the voice command to be corrected by performing processing according to the instruction content from the user (9). ). (13) When the execution unit acquires the voice command correction start instruction and the voice command to be corrected, the execution unit reaches the goal state corresponding to the voice command to be corrected while monitoring the state of the one or more external devices.
  • the information processing apparatus wherein the goal state corresponding to the voice command to be corrected is specified by executing one or a plurality of necessary commands and further performing processing according to the instruction content from the user. ..
  • the execution unit adds a new one or a plurality of external devices to the operation target, deletes one or a plurality of external devices from the operation target, and performs the operation target as processing according to the instruction content from the user.
  • the information processing apparatus according to (12) which performs at least one process of changing the final state of at least one external device included in the above.
  • (15) By transmitting a plurality of commands to one or a plurality of external devices to be controlled and receiving the responses, the state of the one or a plurality of external devices before and after the transmission of the plurality of commands can be recognized.
  • An information processing method including generating a state transition model in which the plurality of transmitted commands are associated with the states of the one or a plurality of external devices before and after the transmission of the plurality of commands.
  • the external device control unit By outputting a plurality of commands to the external device control unit, the external device control unit outputs the plurality of commands to one or a plurality of external devices to be controlled, and then obtains the response.
  • An information processing program that causes a computer to generate a state transition model in which the plurality of output commands are associated with the states of the one or a plurality of external devices before and after the transmission of the plurality of commands.
  • a state transition model that associates the states of multiple external devices is generated. This makes it possible to control one or more external devices to be controlled toward the goal state corresponding to the command input from the outside while selecting the command to be executed from the state transition model. .. Therefore, it is possible to operate the surrounding devices up to the goal state by inputting one voice command.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Selective Calling Equipment (AREA)

Abstract

本開示の一実施形態に係る情報処理装置は、外部機器制御部と、外部機器状態認識部と、モデル獲得部とを備えている。外部機器制御部は、制御対象である1または複数の外部機器に対して複数のコマンドを送信する。外部機器状態認識部は、外部機器制御部による複数のコマンド送信前後の、1または複数の外部機器の状態を認識する。モデル獲得部は、外部機器制御部から送信された複数のコマンドと、外部機器制御部による複数のコマンド送信前後の、1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成する。

Description

情報処理装置、情報処理方法および情報処理プログラム
 本開示は、音声認識可能な情報処理装置、音声認識可能な情報処理装置で実行可能な情報処理方法および情報処理プログラムに関する。
 近年、音声認識によって周囲の機器を操作する技術が開発されている(例えば、特許文献1,2参照)。
特開2003-111157号公報 特開2005-86768号公報
 ところで、周囲の機器を目的の状態(ゴール状態)にするために、多数の音声コマンドを順次、入力するのは、ユーザにとって非常に煩雑である。1つの音声コマンドの入力によって周囲の機器をゴール状態に至るまで操作することの可能な情報処理装置、情報処理方法および情報処理プログラムを提供することが望ましい。
 本開示の一実施形態に係る情報処理装置は、外部機器制御部と、外部機器状態認識部と、モデル獲得部とを備えている。外部機器制御部は、制御対象である1または複数の外部機器に対して複数のコマンドを送信する。外部機器状態認識部は、外部機器制御部による複数のコマンド送信前後の、1または複数の外部機器の状態を認識する。モデル獲得部は、外部機器制御部から送信された複数のコマンドと、外部機器制御部による複数のコマンド送信前後の、1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成する。
 本開示の一実施形態に係る情報処理方法は、以下の2つを含む。
(A)制御対象である1または複数の外部機器に対して複数のコマンドを送信し、その応答を受信することにより、複数のコマンド送信前後の、1または複数の外部機器の状態を認識すること
(B)送信した複数のコマンドと、複数のコマンド送信前後の、1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成すること
 本開示の一実施形態に係る情報処理プログラムは、以下の2つをコンピュータに実行させる。
(A)複数のコマンドを外部機器制御部に出力することにより、外部機器制御部から、制御対象である1または複数の外部機器に対して複数のコマンドを出力させた後、その応答を得ることにより、複数のコマンド送信前後の、1または複数の外部機器の状態を得ること
(B)出力した複数のコマンドと、複数のコマンド送信前後の、1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成することと
 をコンピュータに実行させる
 本開示の一実施形態に係る情報処理装置、情報処理方法および情報処理プログラムでは、制御対象である1または複数の外部機器に対して送信した複数のコマンドと、複数のコマンド送信前後の、1または複数の外部機器の状態とを対応付けた状態遷移モデルが生成される。これにより、状態遷移モデルから、実行すべきコマンドを選択しながら、外部から入力されたコマンドに対応するゴール状態に向けて、制御対象である1または複数の外部機器を制御することが可能となる。
本開示の一実施形態に係るエージェント機器の概略構成例を表す図である。 図1の機器制御モデルデータベースに格納されるモデルの一例を表す図である。 図1の機器制御モデル共有データベースに格納されるモデルの一例を表す図である。 状態遷移モデルの作成手順の一例を表す図である。 音声コマンドの登録手順の一例を表す図である。 音声コマンドの実行手順の一例を表す図である。 音声コマンドの修正手順の一例を表す図である。 図1のエージェント機器の概略構成の一変形例を表す図である。 図8の携帯端末の概略構成例を表す図である。 図1のエージェント機器の概略構成の一変形例を表す図である。 図8のエージェント機器の概略構成の一変形例を表す図である。
 以下、本開示を実施するための形態について、図面を参照して詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。説明は以下の順序で行う。

 1.背景
 2.実施の形態
    ゴールベースで音声コマンドの処理を実行する例
 3.変形例
    携帯端末画面にUIを表示する例
    ゴールベース実行部の一部をプログラムで構成する例
<1.背景>
 ゲームのAI(artificial intelligence)キャラクタを制御する際の考え方の1つにゴールベースというものがある。ゴールベースとは、AIキャラクタを制御するためのアクション列をコマンドとして入力するのではなく、ゴール状態を入力することで、AIキャラクタが指示されたゴール状態に向かって自ら多様なアクションを選択・実行してゴール状態を実現していくことを指している。従来のアクション列をコマンドとして入力する場合には、現在状態を事前に把握した上でゴール状態に向かうための一連のアクション列を決定し、それを入力としなければならなかった。しかし、ゴールベースでは、ゴール状態のみを指示すればよくなると共に、途中で周囲の状態が変化して行うべきアクションが変化した場合にも、AIキャラクタが自ら適応的にアクションを切り換えてゴール状態に向かって進んでいくという自律性も与えることが可能になる。
 以下では、この考え方を現実世界の外部機器制御に用いて、ユーザがゴール状態を指示すると、複数の外部機器に向けて複数のコマンドを実行しながら現在状態からゴール状態に向けて自動で各外部機器の制御を行う手法を指す言葉として、"ゴールベース"を用いることとする。
 特許文献1(特開2003-111157)には、ユーザの生活習慣や生活環境等に応じて、あるいはユーザの嗜好に則って、各種機器を快適に制御することの可能な統合コントローラが開示されている。特許文献2(特開2005-86768)には、各種機器を接続したネットワークを利用して、これら各種機器を各ユーザのそれぞれの習慣に合った設定で容易に動作させることの可能な制御装置が開示されている。
 特許文献1,2では、ユーザの習慣を獲得することが前提となっており、ユーザが行ってない行動は獲得・実行することができない。そこで、以下では、ゴールベースの考え方に基づいて、機器に送るコマンドを適応的に変えながらゴール状態に向けて各機器を制御することの可能なエージェント機器について説明する。
<2.実施の形態>
[構成]
 本開示の一実施の形態に係るエージェント機器1について説明する。図1は、エージェント機器1の概略構成例を表したものである。エージェント機器1は、コマンド取得部10と、ゴールベース実行部20とを備えている。
 エージェント機器1は、ネットワークを介して、音声エージェントクラウドサービス30および機器制御モデル共有データベース40に接続されている。機器制御モデル共有データベース40は、本開示の「記憶部」の一具体例に相当する。エージェント機器1の周囲には、制御対象である1または複数の外部機器(例えば、外部機器50,60,70)が設置されている。外部機器50は、例えば、テレビジョンである。機器制御モデル共有データベース40は、例えば、クラウドサービスとして動作するデータベースである。機器制御モデル共有データベース40には、例えば、DRAM(Dynamic Random Access Memory)などの揮発性メモリ、または、EEPROM(Electrically Erasable Programmable Read-Only Memory)やフラッシュメモリなどの不揮発性メモリが含まれ得る。外部機器60は、例えば、部屋の照明器具である。外部機器70は、例えば、DVD(登録商標)もしくはBD(登録商標)などのプレーヤである。なお、外部機器50,60,70は、上記の機器に限定されるものではない。
 ここで、ネットワークは、例えば、インターネットで標準的に利用されている通信プロトコル(TCP/IP)を用いて通信を行うネットワークである。ネットワークは、例えば、そのネットワーク独自の通信プロトコルを用いて通信を行うセキュアなネットワークであってもよい。ネットワークは、例えば、インターネット、イントラネット、または、ローカルエリアネットワークである。ネットワークと、エージェント機器1との接続は、例えば、イーサネット(登録商標)等の有線LAN(Local Area Network)であってもよいし、Wi-Fi等の無線LANや、携帯電話回線などであってもよい。
(コマンド取得部10)
 コマンド取得部10は、音声認識により音声コマンドを取得する。コマンド取得部10は、例えば、マイク11、音声認識部12、発話解釈・実行部13、音声合成部14およびスピーカ15を有している。
 マイク11は、周囲のサウンドを受信し、それにより得られたサウンド信号を音声認識部12に出力する。音声認識部12は、入力されたサウンド信号に含まれる、ユーザの発話音声信号を抽出し、発話解釈・実行部13に出力する。発話解釈・実行部13は、入力された発話音声信号を音声エージェントクラウドサービス30に出力する。発話解釈・実行部13は、音声エージェントクラウドサービス30から得られたテキストデータに含まれるコマンド(音声コマンド)を抽出し、ゴールベース実行部20に出力する。発話解釈・実行部13は、このテキストデータを用いた音声テキストデータを生成し、音声合成部14に出力する。音声合成部14は、入力された音声テキストデータに基づいてサウンド信号を生成し、スピーカ15に出力する。スピーカ15は、入力されたサウンド信号を音声に変換し、外部に出力する。
 音声エージェントクラウドサービス30は、エージェント機器1(発話解釈・実行部13)からユーザの発話音声データを受信する。音声エージェントクラウドサービス30は、受信した発話音声データを音声認識によりテキスト化し、テキスト化により得られたテキストデータをエージェント機器1(発話解釈・実行部13)に出力する。
(ゴールベース実行部20)
 ゴールベース実行部20は、ゴールベースの考え方に基づいて、制御対象である1または複数の外部機器(例えば、外部機器50,60,70)に送るコマンドを適応的に変えながらゴール状態に向けて各外部機器を制御する。ゴールベース実行部20は、例えば、外部機器状態認識部21、外部機器制御部22、機器制御モデルデータベース23、機器制御モデル獲得部24、ゴールベース機器制御部25、ゴールベースコマンド登録・実行部26およびコマンド・ゴール状態変換データベース27を有している。機器制御モデルデータベース23は、本開示の「記憶部」の一具体例に相当する。ゴールベースコマンド登録・実行部26は、本開示の「実行部」の一具体例に相当する。
 外部機器状態認識部21は、制御対象である1または複数の外部機器の種別および現在状態を認識する。外部機器状態認識部21は、例えば、外部機器制御部22による複数のコマンド送信前後の、1または複数の外部機器の状態を認識する。
 外部機器状態認識部21では、制御対象である1または複数の外部機器の種類によって認識方法が異なる。例えば、外部機器がネットワークに接続されている場合には、外部機器状態認識部21は、ネットワークに接続された外部機器と通信を行うことにより、外部機器の状態を認識することが可能に構成されていてもよい。この場合、外部機器状態認識部21は、例えば、ネットワークに接続された1または複数の外部機器と通信を行うことの可能な通信機器で構成されている。また、例えば、外部機器が外観から状態を認識可能となっている場合には、外部機器状態認識部21は、外部機器を撮像することにより、外部機器の状態を認識することが可能に構成されていてもよい。この場合、外部機器状態認識部21は、例えば、1または複数の外部機器を撮像することの可能な撮像装置で構成されている。また、例えば、外部機器が、当該外部機器から発せられるサウンドから状態を認識可能となっている場合には、外部機器状態認識部21は、外部機器から発せられるサウンドを取得することにより、外部機器の状態を認識することが可能に構成されていてもよい。この場合、外部機器状態認識部21は、例えば、1または複数の外部機器から発せられるサウンドを取得することの可能な集音装置で構成されている。また、例えば、外部機器が、赤外線リモコンコードで制御可能に構成されている場合には、外部機器状態認識部21は、外部機器に対して送信された赤外線リモコンコードを受信することにより、外部機器の状態を認識することが可能に構成されていてもよい。この場合、外部機器状態認識部21は、例えば、1または複数の外部機器に対して送信された赤外線リモコンコードを受信することの可能な受信装置で構成されている。なお、この場合、赤外線リモコンコードは、外部機器状態認識部21が受信するコードの一例であり、外部機器状態認識部21が受信するコードは、赤外線リモコンコードに限定されない。また、例えば、外部機器が、赤外線リモコンコードとは異なるコードで制御可能に構成されている場合には、外部機器状態認識部21は、外部機器に対して送信されたコードを受信することにより、外部機器の状態を認識することが可能に構成されていてもよい。この場合、外部機器状態認識部21は、例えば、1または複数の外部機器に対して送信されたコードを受信することの可能な受信装置で構成されている。外部機器状態認識部21は、例えば、上記通信機器、上記撮像装置、上記集音装置および上記受信装置の少なくとも1つによって構成されていてもよい。
 外部機器制御部22は、制御対象である1または複数の外部機器の状態を変更するための制御を実行する。外部機器制御部22は、例えば、制御対象である1または複数の外部機器に対して複数のコマンドを送信することにより、外部機器を制御する。外部機器制御部22では、制御対象である1または複数の外部機器の種類によって制御方法が異なる。
 例えば、外部機器がネットワークに接続されている場合には、外部機器制御部22は、ネットワークに接続された外部機器と通信を行うことにより、外部機器を制御することが可能に構成されていてもよい。また、例えば、外部機器が、赤外線リモコンコードで制御可能に構成されている場合には、外部機器制御部22は、外部機器に対して赤外線リモコンコードを送信することにより、外部機器を制御することが可能に構成されていてもよい。また、例えば、外部機器が、例えばボタンやスイッチなどの物理的な入力インターフェースを有している場合には、外部機器制御部22は、ロボットマニピュレーターを介して、外部機器を操作することが可能に構成されていてもよい。
 機器制御モデルデータベース23は、機器制御モデルMを格納している。機器制御モデル共有データベース40は、機器制御モデルMを格納している。機器制御モデルデータベース23および機器制御モデル共有データベース40に格納された機器制御モデルMは、図2、図3に示したように、機器ID一覧23A、コマンド一覧23B、状態判別一覧23Cおよび状態遷移モデル23Dを含んでいる。機器制御モデルMは、例えば、DRAM(Dynamic Random Access Memory)などの揮発性メモリ、または、EEPROM(Electrically Erasable Programmable Read-Only Memory)やフラッシュメモリなどの不揮発性メモリに格納されている。
 機器ID一覧23Aには、外部機器ごとに割り当てられた識別子(外部機器ID)が含まれている。外部機器IDは、例えば、外部機器から得られた情報を基に、機器制御モデル獲得部24によって生成される。外部機器IDは、例えば、外部機器の製造会社および型番などを含んで構成されている。外部機器IDは、例えば、外部機器の外観映像から得られた情報を基に、機器制御モデル獲得部24によって生成されたものであってもよい。外部機器IDは、例えば、ユーザから入力された情報を基に、機器制御モデル獲得部24によって生成されたものであってもよい。
 コマンド一覧23Bは、外部機器IDと、外部機器IDに対応する外部機器において受け付け可能な複数のコマンドとを関連付けたテーブル(以下、「テーブルA」と称する。)を含んでいる。テーブルAは、本開示の「第1のテーブル」の一具体例に相当する。コマンド一覧23Bは、外部機器IDごとに、テーブルAを含んでいる。コマンド一覧23Bは、例えば、外部機器から得られた情報(外部機器ID)と、機器制御モデルデータベース23もしくは機器制御モデル共有データベース40に対してプリインストールされた情報(コマンド一覧)とを基に、機器制御モデル獲得部24によって生成される。コマンド一覧23Bは、例えば、外部機器から得られた情報(外部機器ID)と、外部機器に対して送信された赤外線リモコンコードとを基に、機器制御モデル獲得部24によって生成されたものであってもよい。コマンド一覧23Bは、例えば、機器制御モデルデータベース23もしくは機器制御モデル共有データベース40に対してプリインストールされたものであってもよい。
 状態判別一覧23Cは、外部機器IDと、外部機器IDに対応する外部機器の状態を判別可能な方法についての情報とを関連付けたテーブル(以下、「テーブルB」と称する。)を含んでいる。テーブルBは、本開示の「第2のテーブル」の一具体例に相当する。状態判別一覧23Cは、外部機器IDごとに、テーブルBを含んでいる。状態判別一覧23Cは、例えば、外部機器から得られた情報(外部機器ID)と、機器制御モデルデータベース23もしくは機器制御モデル共有データベース40に対してプリインストールされた情報(状態判別方法)とを基に、機器制御モデル獲得部24によって生成される。状態判別一覧23Cは、例えば、機器制御モデルデータベース23もしくは機器制御モデル共有データベース40に対してプリインストールされたものであってもよい。
 状態遷移モデル23Dは、例えば、外部機器IDと、外部機器IDに対応する外部機器において受け付け可能な複数のコマンドと、外部機器制御部22による複数のコマンド送信前後の、外部機器IDに対応する外部機器の状態とを関連付けたテーブル(以下、「テーブルC」と称する。)を含んでいる。状態遷移モデル23Dは、例えば、外部機器IDごとに、テーブルCを含んでいる。状態遷移モデル23Dは、例えば、外部機器から得られた情報を基に、機器制御モデル獲得部24によって生成される。
 状態遷移モデル23Dは、機械学習によって生成された学習モデルであってもよい。この場合、状態遷移モデル23Dは、制御対象である1または複数の外部機器の状態(現在状態)と、ゴール状態が入力されると、入力されたゴール状態に至るのに必要な1または複数のコマンド(つまり、次に実行すべき1または複数のコマンド)を出力する出力するように構成されている。
 機器制御モデル獲得部24は、例えば、外部機器状態認識部21から得られた情報を基に、外部機器IDを生成する。機器制御モデル獲得部24は、例えば、ユーザから入力された情報を基に、外部機器IDを生成してもよい。機器制御モデル獲得部24は、例えば、生成した外部機器IDを機器制御モデルデータベース23および機器制御モデル共有データベース40に格納してもよい。
 機器制御モデル獲得部24は、例えば、外部機器から得られた情報(外部機器ID)と、機器制御モデル獲得部24から外部機器制御部22に入力したコマンドとを基に、コマンド一覧23Bを生成する。機器制御モデル獲得部24は、例えば、外部機器制御部22によるコマンド送信前後の、外部機器IDに対応する外部機器の状態に変化がある場合に限り、外部機器IDと、コマンドとを対応付けて、コマンド一覧23Bに格納してもよい。つまり、機器制御モデル獲得部24は、例えば、外部機器がコマンドを実行した場合に限り、外部機器IDと、コマンドとを対応付けて、コマンド一覧23Bに格納してもよい。機器制御モデル獲得部24は、例えば、生成したコマンド一覧23Bを機器制御モデルデータベース23および機器制御モデル共有データベース40に格納してもよい。
 機器制御モデル獲得部24は、例えば、外部機器から得られた情報(外部機器ID)と、機器制御モデルデータベース23もしくは機器制御モデル共有データベース40から得られた情報(状態判別方法)とを基に、状態判別一覧23Cを生成する。機器制御モデル獲得部24は、例えば、生成した状態判別一覧23Cを機器制御モデルデータベース23および機器制御モデル共有データベース40に格納してもよい。
 機器制御モデル獲得部24は、例えば、外部機器から得られた情報(外部機器ID)と、機器制御モデル獲得部24から外部機器制御部22に入力したコマンド(外部機器制御部22から送信されたコマンド)と、外部機器から得られた情報(外部機器制御部22によるコマンド送信前後の、外部機器IDに対応する外部機器の状態)とを基に、状態遷移モデル23Dを生成する。機器制御モデル獲得部24は、例えば、機械学習(例えば、強化学習)を用いて、多様なコマンドを外部機器制御部22に送りながら、外部機器状態認識部21で得られた外部機器の状態を基に、状態遷移モデル23Dを生成する。機器制御モデル獲得部24は、例えば、生成した状態遷移モデル23Dを機器制御モデルデータベース23および機器制御モデル共有データベース40に格納してもよい。
 機器制御モデル獲得部24は、例えば、状態遷移モデル23Dの一部を、機械学習(例えば、強化学習)を用いずに、プログラミングなどを用いて、作成してもよい。これは、機械制御が複雑すぎて機械学習では状態遷移モデル23Dの一部の獲得が困難な例や、外部からの観測では外部機器の状態の判別が不十分な例、または、状態遷移モデル23Dの一部が十分にシンプルで機械学習を使わない方が状態遷移モデル23Dの一部の獲得をコンパクトにできて効率的である例などにおいて、有効な手法である。
 ゴールベース機器制御部25は、機器制御モデルデータベース23もしくは機器制御モデル共有データベース40から読み出した機器制御モデルを用いながら、ゴールベースコマンド登録・実行部26より指示されたゴール状態になるまで、制御対象である1または複数の外部機器の制御を行う。ゴールベース機器制御部25が、例えば、ゴールベースコマンド登録・実行部26より指示されたゴール状態に至るのに必要なコマンドリストを状態遷移モデル23Dに基づいて生成する。ゴールベース機器制御部25は、例えば、外部機器状態認識部21から得られた、制御対象である1または複数の外部機器の状態から、ゴールベースコマンド登録・実行部26より指示されたゴール状態に至るのに必要なコマンドリストを状態遷移モデル23Dに基づいて生成する。続いて、ゴールベース機器制御部25は、例えば、生成したコマンドリスト内の各コマンドを順次、実行する。ゴールベース機器制御部25は、例えば、生成したコマンドリスト内の各コマンドを順次、外部機器制御部22に出力する。
 なお、状態遷移モデル23Dが学習モデルである場合、ゴールベース機器制御部25は、例えば、外部機器状態認識部21から得られた、制御対象である1または複数の外部機器の状態(現在状態)と、ゴールベースコマンド登録・実行部26より指示されたゴール状態を状態遷移モデル23Dに入力し、状態遷移モデル23Dから、入力されたゴール状態に至るのに必要な1または複数のコマンド(具体的には、次に実行すべき1または複数のコマンド)を得てもよい。このとき、ゴールベース機器制御部25は、例えば、状態遷移モデル23Dから1または複数のコマンドを取得するたびに、取得した1または複数のコマンドを外部機器制御部22に出力してもよい。さらに、ゴールベース機器制御部25は、例えば、この動作を、現在状態とゴール状態が一致するまで繰り返すことで、制御対象である1または複数の外部機器の状態をゴール状態まで遷移させてもよい。
 コマンド・ゴール状態変換データベース27は、音声コマンドとゴール状態とが関連付けられたテーブル(以下、「テーブルD」と称する。)を格納している。テーブルDは、本開示の「第3のテーブル」の一具体例に相当する。テーブルDは、例えば、ユーザがコマンド取得部10を介して入力した音声コマンドと、図示しない入力IF(Interface)を介してユーザから入力されたゴール状態とを基に、ゴールベースコマンド登録・実行部26によって生成される。テーブルDは、例えば、DRAMなどの揮発性メモリ、または、EEPROMやフラッシュメモリなどの不揮発性メモリに格納されている。
 ゴールベースコマンド登録・実行部26は、コマンド取得部10(発話解釈・実行部13)から入力された音声コマンドに対応するゴール状態を、コマンド・ゴール状態変換データベース27に格納されたテーブルから把握する。続いて、ゴールベースコマンド登録・実行部26は、把握したゴール状態をゴールベース機器制御部25に出力する。コマンド・ゴール状態変換データベース27は、例えば、ユーザがコマンド取得部10を介して入力した音声コマンドと、図示しない入力IF(Interface)を介してユーザから入力されたゴール状態とを基にテーブルDを生成し、コマンド・ゴール状態変換データベース27に格納する。
(機器制御モデルMの作成)
 次に、機器制御モデルMの作成手順について説明する。図4は、機器制御モデルMの作成手順の一例を表したものである。
 まず、機器制御モデル獲得部24は、制御対象である1または複数の外部機器から何らかの応答が得られる信号を外部機器制御部22に出力する。外部機器制御部22は、機器制御モデル獲得部24から入力された信号を基に、所定の信号を生成し、制御対象である1または複数の外部機器に対して出力する。外部機器状態認識部21は、制御対象である1または複数の外部機器から信号を受信すると、受信した信号を機器制御モデル獲得部24に出力する。機器制御モデル獲得部24は、外部機器状態認識部21から入力された信号を基に、制御対象である1または複数の外部機器の外部機器IDを生成する(ステップS101)。機器制御モデル獲得部24は、生成した外部機器IDを機器制御モデルデータベース23および機器制御モデル共有データベース40に格納する。
 次に、機器制御モデル獲得部24は、外部からコマンド一覧23Bを取得する(ステップS102)。機器制御モデル獲得部24は、取得したコマンド一覧23Bを機器制御モデルデータベース23および機器制御モデル共有データベース40に格納する。続いて、機器制御モデル獲得部24は、外部から状態判別一覧23Cを取得する(ステップS103)。機器制御モデル獲得部24は、取得した状態判別一覧23Cを機器制御モデルデータベース23および機器制御モデル共有データベース40に格納する。
 次に、機器制御モデル獲得部24は、機器制御モデルデータベース23または機器制御モデル共有データベース40から読み出したコマンド一覧23Bに含まれる各コマンドを、外部機器制御部22に出力する。外部機器制御部22は、機器制御モデル獲得部24から入力された各コマンドを、制御対象である1または複数の外部機器に対して出力する。つまり、機器制御モデル獲得部24は、機器制御モデルデータベース23または機器制御モデル共有データベース40から読み出したコマンド一覧23Bに含まれる複数のコマンドを、外部機器制御部22に出力することにより、外部機器制御部22から、制御対象である1または複数の外部機器に対して複数のコマンドを出力させる。このとき、外部機器状態認識部21は、例えば、外部機器制御部22による1または複数のコマンド送信前後の、制御対象である1または複数の外部機器の状態を認識し、認識した1または複数の外部機器の状態を機器制御モデル獲得部24に出力する。機器制御モデル獲得部24は、外部機器状態認識部21から、外部機器制御部22による1または複数のコマンド送信前後の、制御対象である1または複数の外部機器の状態を取得する。さらに、機器制御モデル獲得部24は、例えば、制御対象である1または複数の外部機器から得られた情報(外部機器ID)と、機器制御モデル獲得部24から外部機器制御部22に入力した1または複数のコマンド(外部機器制御部22から送信された1または複数のコマンド)と、外部機器から得られた情報(外部機器制御部22によるコマンド送信前後の、制御対象である1または複数の外部機器の状態)とを基に、状態遷移モデル23Dを生成する(ステップS104)。
 状態遷移モデル23Dが学習モデルである場合、機器制御モデル獲得部24は、例えば、ユーザから指定されたゴール状態と、機器制御モデルデータベース23または機器制御モデル共有データベース40から読み出したコマンド一覧23Bとを用いた機械学習を、状態遷移モデル23Dに対して行う。具体的には、機器制御モデル獲得部24は、まず、ユーザから、あるゴール状態が指定されると、コマンド一覧23Bから読み出した複数のコマンドを探索的に外部機器制御部22に出力する。外部機器制御部22は、機器制御モデル獲得部24から入力された各コマンドを、制御対象である1または複数の外部機器に対して出力する。このとき、機器制御モデル獲得部24は、外部機器制御部22によるコマンド送信前後の、外部機器IDに対応する外部機器の状態を、外部機器状態認識部21から取得する。
 機器制御モデル獲得部24は、初期には、外部機器制御部22に出力するコマンドをランダムに選択し、ランダムに選択したコマンドを外部機器制御部22に出力する。その後、機器制御モデル獲得部24は、外部機器状態認識部21から得られた、制御対象である1または複数の外部機器の状態(現在状態)と、ユーザから指定されたゴール状態とを、学習途中(つまり未完成)の状態遷移モデル23Dに入力し、学習途中の状態遷移モデル23Dから出力されたコマンドを、次に実行すべきコマンドとして選択する。機器制御モデル獲得部24は、学習途中の状態遷移モデル23Dから出力されたコマンドを、外部機器制御部22に出力する。機器制御モデル獲得部24は、ユーザからゴール状態が指定されるたびに、この一連の動作を繰り返し行うことで、最終的には、制御対象である1または複数の外部機器が任意の状態となっているときに、その状態をゴール状態に遷移させるのに最適であろう一連のコマンドを特定可能な状態遷移モデル23Dを生成する。
 機器制御モデル獲得部24は、生成した状態遷移モデル23Dを機器制御モデルデータベース23および機器制御モデル共有データベース40に格納する。このようにして、機器制御モデルMが生成される。
(音声コマンドの登録)
 次に、音声コマンドの登録について説明する。
 まず、音声コマンドを登録する際の課題について説明する。家庭には様々な外部機器が設置されており、実行したい内容もユーザによって変化することがある。例えば、シアターモードを実現することを考える。制御対象となる外部機器としては、テレビ、部屋の照明、AVアンプ、DVD/BDプレーヤといったものが考えられる。ある程度まではシアターモードという機能を共通のものとしてプリインストールしておくことは可能である。しかし、家庭ごとの配線によって各AV機器の入出力設定は異なる。また、ある家には電動カーテンがあり、別の家には通常の照明に加えて間接照明があり、ある家ではノイズ音を発生している空気清浄機を止めたいかもしれない。こういった状況を踏まえると、各ユーザの手元で音声コマンドと実現すべきゴール状態との関係を容易にカスタマイズできることが重要であると考える。
 また、音声コマンドと紐づけるべき機器をどのようにして特定するのかという問題もある。その場に存在する制御可能なすべての外部機器の状態をまとめて保存してゴール状態とすることもできるが、それではユーザが真に求めるゴール状態とは異なることが多いと考える。例えば、外部機器として、洗濯を実行可能な洗濯ロボットおよび洗濯機と、料理を実行可能な料理ロボット、冷蔵庫、電子レンジおよびキッチンと、テレビ、AVアンプ、電動カーテンおよびエアコンとがあったとする。ユーザは溜まった洗濯物を、洗濯機を使って洗濯し、それをベランダに干すという一連の動作が終わっている状態を"洗濯して"という音声コマンドのゴール状態としたかったとする。しかし、それ以外の料理ロボットやテレビなどの状態まで一緒にゴール状態として覚えてしまうと、次に"洗濯して"という音声コマンドを実行すると、料理ロボットやテレビの状態までが再現されてしまうことなる。よって、コマンドによって制御対象となる外部機器がどれなのかを適切に選定することが重要となる。
 そこで、本出願人は、ユーザの協力を得ながら制御対象の外部機器を特定するのが適切であると考えた。図5は、音声コマンドの登録手順の一例を表したものである。
 まず、ゴールベースコマンド登録・実行部26は、音声コマンドの登録開始指示を取得する(ステップS201)。具体的には、ユーザが、音声コマンドの登録開始を指示する音声コマンドを発話する。例えば、ユーザが、「今から行う操作を覚えて」と発話する。すると、コマンド取得部10は、ユーザから入力された音声コマンドを取得し、ゴールベースコマンド登録・実行部26に出力する。ゴールベースコマンド登録・実行部26は、コマンド取得部10から、音声コマンドの登録開始を指示する音声コマンドが入力されると、音声コマンドの登録開始指示を取得したと判断する(ステップS201)。
 ゴールベースコマンド登録・実行部26は、音声コマンドの登録開始指示を取得すると、外部機器の状態の監視を開始する(ステップS202)。具体的には、ゴールベースコマンド登録・実行部26は、外部機器状態認識部21からの入力を待つ。その後、ユーザ自らが、1または複数の外部機器の操作を行い、操作が終了した段階で、音声コマンドの登録終了を指示する音声コマンドを発話する。例えば、ユーザが、「この状態を×××××(コマンド名)として覚えて」と発話する。すると、コマンド取得部10は、ユーザから入力された音声コマンドを取得し、ゴールベースコマンド登録・実行部26に出力する。ゴールベースコマンド登録・実行部26は、コマンド取得部10から、音声コマンドの登録終了を指示する音声コマンドが入力されると、音声コマンドの登録終了指示を取得したと判断する(ステップS203)。
 ゴールベースコマンド登録・実行部26は、音声コマンドの登録終了指示を取得すると、監視の間に得られた、外部機器状態認識部21からの入力を基に、操作対象の1または複数の外部機器を特定するとともに、操作対象の1または複数の外部機器の最終状態をゴール状態として特定する。さらに、ゴールベースコマンド登録・実行部26は、音声コマンド登録開始指示を取得してから、音声コマンド登録終了指示を取得するまでの間にコマンド取得部10から入力されたコマンド名(×××××)を音声コマンドとして特定する。ゴールベースコマンド登録・実行部26は、特定した、操作対象の1または複数の外部機器のゴール状態と、特定した音声コマンドとを互いに関連付けたテーブルDを生成し、コマンド・ゴール状態変換データベース27に格納する。このようにして、ゴールベースコマンド登録・実行部26は、音声コマンドおよび監視結果をコマンド・ゴール状態変換データベース27に登録する(ステップS204)。
 なお、ユーザが、例えば、エージェント機器1に設けられた所定のボタンを押すことにより、音声コマンドの登録が開始されてもよい。この場合、ゴールベースコマンド登録・実行部26は、ユーザによって所定のボタンが押されたことを検知する信号を取得したときに、音声コマンドの登録開始指示を取得したと判断してもよい。
(音声コマンドの実行)
 次に、音声コマンドの実行について説明する。図6は、音声コマンドの実行手順の一例を表したものである。
 まず、ゴールベースコマンド登録・実行部26は、音声コマンドを取得する(ステップS301)。具体的には、ユーザが、操作対象の1または複数の外部機器の最終状態に対応する音声コマンドを発話する。例えば、ユーザが、「シアターモードにして」と発話する。すると、コマンド取得部10は、ユーザから入力された音声コマンドとして、“シアターモード”を取得し、ゴールベースコマンド登録・実行部26に出力する。ゴールベースコマンド登録・実行部26は、コマンド取得部10から、音声コマンドを取得する。
 ゴールベースコマンド登録・実行部26は、コマンド取得部10から、音声コマンドが入力されると、コマンド・ゴール状態変換データベース27から、入力された音声コマンドに対応するゴール状態を特定する(ステップS302)。続いて、ゴールベースコマンド登録・実行部26は、特定したゴール状態をゴールベース機器制御部25に出力する。
 ゴールベース機器制御部25は、ゴール状態がゴールベースコマンド登録・実行部26から入力されると、外部機器状態認識部21から、ゴール状態が規定された、1または複数の外部機器の現在の状態を取得する(ステップS303)。次に、ゴールベース機器制御部25は、制御対象である1または複数の外部機器が現在の状態からゴール状態に至るのに必要なコマンドリストを状態遷移モデル23Dに基づいて生成する(ステップS304)。次に、ゴールベース機器制御部25は、生成したコマンドリスト内の各コマンドを順次、実行する(ステップS305)。具体的には、ゴールベース機器制御部25は、生成したコマンドリスト内の各コマンドを順次、外部機器制御部22に出力する。その結果、操作対象の1または複数の外部機器が、音声コマンドに対応した最終状態となる。
(音声コマンドの修正)
 次に、音声コマンドの修正について説明する。
 音声コマンドの修正には、大まかに分けて、(1)操作対象として新たな1または複数の外部機器の追加(更に、追加する1または複数の外部機器の最終状態の追加)、(2)操作対象からの1または複数の外部機器の削除、および(3)操作対象に含まれる少なくとも1つの外部機器の最終状態の変更、のうち、少なくとも1つが考えられる。いずれも登録済みの音声コマンドを基準にして、音声コマンドの修正を行うのが適切であると考える。ユーザは最初に登録済みの音声コマンドを実行するようにエージェント機器1に指示し、次に(1)および(3)の場合は追加の外部機器の操作を行った上で、音声コマンドの修正を指示する。(2)の場合もほぼ同様で、エージェント機器1が削除対象の外部機器の操作を行った後に、ユーザがその操作の削除を指示する。
 音声コマンドの別名を作成する場合や、複数の音声コマンドを組み合わせて新しい音声コマンドを作る場合も同様に、既存のコマンドを使いつつ、必要あればユーザがそこから差分の操作を行い、最終状態を新しいコマンドとして登録すればよい。このようにすることで、エージェント機器1は簡単な動作を元にして、より複雑な動作を獲得することができ、しかもゴールベースの考え方に基づいているので、コマンド実行時に各外部機器がどのような状態にあったとしても、ゴール状態を実現することができる。
 また、Undoの実現も容易である。エージェント機器1はコマンド実行前の外部機器の状態を保存しておき、コマンド実行後にユーザから、1つ前の状態に戻すよう指示を受けたら、保存しておいた状態をゴール状態として制御を行えばよい。
 次に、音声コマンドの修正手順の一例について説明する。図7は、音声コマンドの修正手順の一例を表したものである。
 まず、ゴールベースコマンド登録・実行部26は、音声コマンドの修正開始指示を取得する(ステップS401)。具体的には、ユーザが、音声コマンドの修正開始を指示する音声コマンドを発話する。例えば、ユーザが、「音声コマンドの修正」と発話する。すると、コマンド取得部10は、ユーザから入力された音声コマンドを取得し、ゴールベースコマンド登録・実行部26に出力する。ゴールベースコマンド登録・実行部26は、コマンド取得部10から、音声コマンドの修正開始を指示する音声コマンドが入力されると、音声コマンドの修正開始指示を取得したと判断する(ステップS401)。
 ゴールベースコマンド登録・実行部26は、音声コマンドの修正開始指示を取得した後、修正対象の音声コマンドを取得する(ステップS402)。具体的には、ユーザが、修正対象の音声コマンドを発話する。例えば、ユーザが、「シアターモードの修正」と発話する。すると、コマンド取得部10は、ユーザから入力された音声コマンドを取得し、ゴールベースコマンド登録・実行部26に出力する。ゴールベースコマンド登録・実行部26は、コマンド取得部10から、修正対象の音声コマンドを取得する(ステップS402)。
 ゴールベースコマンド登録・実行部26は、コマンド取得部10から、音声コマンドの修正開始指示および修正対象の音声コマンドを取得すると、上述のステップS302~S304を実行する(ステップS403)。続いて、ゴールベースコマンド登録・実行部26は、操作対象の1または複数の外部機器の状態を監視しながら、上述のステップS305を実行する(ステップS404)。つまり、ゴールベースコマンド登録・実行部26は、操作対象の1または複数の外部機器の状態を監視しながら、修正対象の音声コマンドに対応するゴール状態に至るのに必要な1または複数のコマンドを実行する。このとき、ユーザが、例えば、操作対象として新たに追加する1または複数の外部機器を操作したり、エージェント機器1が行った操作の削除を指示したり、操作対象に含まれる少なくとも1つの外部機器の最終状態を変更したりする。ゴールベースコマンド登録・実行部26は、ユーザからの上述のような指示内容に応じた処理を行うことにより、修正対象の音声コマンドに対応するゴール状態を特定する。なお、ゴールベースコマンド登録・実行部26は、ユーザからの上述のような指示内容に応じた処理を行うにあたって、操作対象の1または複数の外部機器の状態の監視や、修正対象の音声コマンドに対応するゴール状態に至るのに必要な1または複数のコマンドの実行を省略してもよい。
 その後、ユーザが、音声コマンドの修正終了を指示する音声コマンドを発話する。例えば、ユーザが、「この状態を×××××(コマンド名)として覚えて」と発話する。すると、コマンド取得部10は、ユーザから入力された音声コマンドを取得し、ゴールベースコマンド登録・実行部26に出力する。ゴールベースコマンド登録・実行部26は、コマンド取得部10から、音声コマンドの修正終了を指示する音声コマンドが入力されると、音声コマンドの修正終了指示を取得したと判断する(ステップS405)。
 ゴールベースコマンド登録・実行部26は、音声コマンドの修正終了指示を取得すると、監視の間に得られた、外部機器状態認識部21からの入力を基に、操作対象の1または複数の外部機器を特定するとともに、操作対象の1または複数の外部機器の最終状態をゴール状態として特定する。さらに、ゴールベースコマンド登録・実行部26は、コマンド取得部10から入力されたコマンド名(×××××)を音声コマンドとして特定する。ゴールベースコマンド登録・実行部26は、特定した、操作対象の1または複数の外部機器のゴール状態と、特定した音声コマンドとを互いに関連付けたテーブルDを生成し、コマンド・ゴール状態変換データベース27に格納する。このようにして、ゴールベースコマンド登録・実行部26は、音声コマンドおよび監視結果をコマンド・ゴール状態変換データベース27に登録する(ステップS406)。その結果、音声コマンドの修正が完了する。
 なお、ユーザが、例えば、エージェント機器1に設けられた所定のボタンを押すことにより、音声コマンドの修正が開始されてもよい。この場合、ゴールベースコマンド登録・実行部26は、ユーザによって所定のボタンが押されたことを検知する信号を取得したときに、音声コマンドの修正開始指示を取得したと判断してもよい。
[効果]
 次に、エージェント機器1の効果について説明する。
 音声認識によってアプリケーションを起動する際に、最短発話でアプリケーションを起動させることで、発話に要するユーザ負担を軽減することが望まれている。例えば、「音楽をかけて」と言う代わりに、「音楽」と言うだけで、音楽を流せるようにすることが望まれている。しかし、最短発話でアプリケーションを起動しようとすると、周囲の話声やノイズにより、誤動作が生じる確率が高くなってしまうと言う問題があった。
 一方、本実施の形態に係るエージェント機器1では、制御対象である1または複数の外部機器に対して送信した複数のコマンドと、複数のコマンド送信前後の、1または複数の外部機器の状態とを対応付けた状態遷移モデル23Dが生成される。これにより、状態遷移モデル23Dから、実行すべきコマンドを選択しながら、外部から入力されたコマンドに対応するゴール状態に向けて、制御対象である1または複数の外部機器を制御することが可能となる。従って、1つの音声コマンドの入力によって周囲の機器をゴール状態に至るまで操作するが可能となり、エージェント機器1を直感的に操作することができる。また、特別なスキルを必要とせず、ユーザ独自の音声コマンドの追加や変更も行うことが可能となる。
 また、本実施の形態では、コマンド一覧23Bおよび状態判別一覧23Cが機器制御モデルデータベース23に設けられている。これにより、コマンド一覧23Bおよび状態判別一覧23Cと、状態遷移モデル23Dとを用いることで、1つの音声コマンドの入力によって周囲の機器をゴール状態に至るまで操作するが可能となる。
 また、本実施の形態では、コマンド取得部10と、コマンド・ゴール状態変換データベース27と、ゴールベースコマンド登録・実行部26とが設けられている。これにより、状態遷移モデル23Dから、実行すべきコマンドを選択しながら、外部から入力されたコマンドに対応するゴール状態に向けて、制御対象である1または複数の外部機器を制御することが可能となる。従って、1つの音声コマンドの入力によって周囲の機器をゴール状態に至るまで操作するが可能となる。
 また、本実施の形態では、状態遷移モデル23Dが機器制御モデルデータベース23に設けられている。これにより、エージェント機器1内に設けられたコマンド一覧23B、状態判別一覧23Cおよび状態遷移モデル23Dを用いることで、1つの音声コマンドの入力によって周囲の機器をゴール状態に至るまで操作するが可能となる。
 また、本実施の形態では、状態遷移モデル23Dがネットワーク上の機器制御モデル共有データベース40に設けられている。これにより、他のエージェント機器がネットワーク上の機器制御モデル共有データベース40を利用することができるので、エージェント機器ごとに、機械学習を行う必要がなくなり、モデルの作成に要する手間を低減することができる。
 また、本実施の形態では、状態遷移モデル23Dの一部が、機械学習(例えば、強化学習)を用いずに、プログラミングなどを用いて、作成されている場合には、機械学習では実現困難な制御モデルや、より効率的な制御モデルを設けることが可能となる。
<3.変形例>
 次に、上記実施の形態に係るエージェント機器1の変形例について説明する。
[変形例A]
 上記実施の形態において、音声エージェントクラウドサービス30が省略されてもよい。この場合、発話解釈・実行部13が、受信した発話音声データを音声認識によりテキスト化するようになっていてもよい。また、上記実施の形態において、音声認識部12、発話解釈・実行部13および音声合成部14が省略されてもよい。この場合、音声認識部12、発話解釈・実行部13および音声合成部14の機能を実現するクラウドサービスがネットワーク上に設けられ、コマンド取得部10が、マイク11で得られたサウンド信号を、ネットワークを介して当該クラウドサービスに送信し、当該クラウドサービスで生成されたサウンド信号を、ネットワークを介して受信するようになっていてもよい。
[変形例B]
 また、上記実施の形態およびその変形例において、エージェント機器1は、例えば、図8に示したように、携帯端末90と通信可能な通信部80を備えていてもよい。携帯端末90は、エージェント機器1のUI(User Interface)を提供する。携帯端末90は、例えば、図9に示したように、通信部91、マイク92、スピーカ93、表示部94、記憶部95および制御部96を有している。
 通信部91は、ネットワークを介して、携帯端末90と通信可能に構成されている。ここで、ネットワークは、例えば、インターネットで標準的に利用されている通信プロトコル(TCP/IP)を用いて通信を行うネットワークである。ネットワークは、例えば、そのネットワーク独自の通信プロトコルを用いて通信を行うセキュアなネットワークであってもよい。ネットワークは、例えば、インターネット、イントラネット、または、ローカルエリアネットワークである。ネットワークと、エージェント機器1との接続は、例えば、イーサネット(登録商標)等の有線LANであってもよいし、Wi-Fi等の無線LANや、携帯電話回線などであってもよい。
 マイク92は、周囲のサウンドを受信し、それにより得られたサウンド信号を制御部96に出力する。スピーカ93は、入力されたサウンド信号を音声に変換し、外部に出力する。表示部94は、例えば、液晶パネル、または、有機EL(Electro Luminescence)パネルである。表示部94は、制御部96から入力された映像信号に基づいて映像を表示する。記憶部95は、例えば、DRAMなどの揮発性メモリ、または、EEPROMやフラッシュメモリなどの不揮発性メモリである。記憶部95には、エージェント機器1のUIを提供するためのプログラム95Aが格納されている。プログラム95Aが制御部96にロードされることにより、制御部96は、プログラム95Aに記述された動作を実行する。
 制御部96は、通信部91を介してエージェント機器1から入力された情報を含む映像信号を生成し、表示部94に出力する。制御部96は、マイク92で得られたサウンド信号を、通信部91を介してエージェント機器1(音声認識部12)に出力する。音声認識部12は、携帯端末90から入力されたサウンド信号に含まれる、ユーザの発話音声信号を抽出し、発話解釈・実行部13に出力する。
 本変形例では、携帯端末90によって、エージェント機器1のUIが提供される。これにより、エージェント機器1がユーザから遠く離れている場合であっても、エージェント機器1に対して音声コマンドを確実に入力することができる。
[変形例C]
 上記実施の形態およびその変形例において、機器制御モデル獲得部24、ゴールベース機器制御部25およびゴールベースコマンド登録・実行部26で実行される一連の処理をプログラムによって実現してもよい。例えば、図10、図11に示したように、ゴールベース実行部20が、演算部28および記憶部29を備えていてもよい。記憶部29は、例えば、DRAMなどの揮発性メモリ、または、EEPROMやフラッシュメモリなどの不揮発性メモリである。記憶部29には、機器制御モデル獲得部24、ゴールベース機器制御部25およびゴールベースコマンド登録・実行部26で実行される一連の処理を実行するためのプログラム29Aが格納されている。プログラム29Aが演算部28にロードされることにより、演算部28は、プログラム29Aに記述された動作を実行する。
 また、例えば、本開示は以下のような構成を取ることができる。
(1)
 制御対象である1または複数の外部機器に対して複数のコマンドを送信する外部機器制御部と、
 前記外部機器制御部による前記複数のコマンド送信前後の、前記1または複数の外部機器の状態を認識する外部機器状態認識部と、
 前記外部機器制御部から送信された前記複数のコマンドと、前記外部機器制御部による前記複数のコマンド送信前後の、前記1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成するモデル獲得部と
 を備えた
 情報処理装置。
(2)
 前記外部機器ごとに1つずつ割り当てられた複数の識別子と、各前記外部機器において受け付け可能な複数のコマンドとを関連付けた第1テーブルと、
 前記複数の識別子と、各前記外部機器の状態を判別可能な方法についての情報とを関連付けた第2テーブルと、
 前記状態遷移モデルと
 を格納する記憶部を更に備えた
 (1)に記載の情報処理装置。
(3)
 音声認識により音声コマンドを取得するコマンド取得部と、
 前記音声コマンドとゴール状態とが関連付けられた第3のテーブルと、
 前記コマンド取得部によって取得された前記音声コマンドに対応する前記ゴール状態を前記第3のテーブルから把握し、把握した前記ゴール状態に至るのに必要な1または複数のコマンドを前記状態遷移モデルに基づいて生成し、生成した前記1または複数のコマンドを実行する実行部と
 を更に備えた
 (1)または(1)に記載の情報処理装置。
(4)
 前記モデル獲得部で生成した前記状態遷移モデルを格納する記憶部を更に備えた
 (1)ないし(3)のいずれか1つに記載の情報処理装置。
(5)
 前記モデル獲得部は、生成した前記状態遷移モデルをネットワーク上の記憶部に格納する
 (1)ないし(3)のいずれか1つに記載の情報処理装置。
(6)
 前記外部機器状態認識部は、前記1または複数の外部機器と通信を行うことの可能な通信機器、前記1または複数の外部機器を撮像することの可能な撮像装置、前記1または複数の外部機器から発せられるサウンドを取得することの可能な集音装置、および前記1または複数の外部機器に対して送信された赤外線リモコンコードを受信することの可能な受信装置の少なくとも1つによって構成されている
 (1)ないし(5)のいずれか1つに記載の情報処理装置。
(7)
 前記状態遷移モデルは、機械学習によって生成された学習モデルであり、前記1または複数の外部機器の状態と、前記ゴール状態が入力されると、入力された前記ゴール状態に至るのに必要な1または複数のコマンドを出力するように構成されている
 (3)に記載の情報処理装置。
(8)
 前記1または複数の外部機器から得られた情報を基に、前記外部機器ごとに前記識別子を生成する識別子生成部を更に備えた
 (2)に記載の情報処理装置。
(9)
 前記実行部は、音声コマンド登録開始指示を取得すると、前記1または複数の外部機器の状態の監視を開始し、音声コマンド登録終了指示を取得すると、前記監視の間に得られた、前記外部機器状態認識部からの入力を基に、操作対象の1または複数の外部機器を特定するとともに、前記操作対象の1または複数の外部機器の最終状態をゴール状態として特定する
 (3)に記載の情報処理装置。
(10)
 前記実行部は、ユーザから入力された音声コマンドと、前記ゴール状態とを関連付けて前記第3テーブルを作成する
 (9)に記載の情報処理装置。
(11)
 前記実行部は、前記音声コマンド登録開始指示を取得してから、前記音声コマンド登録終了指示を取得するまでの間にユーザから入力された音声コマンドと、前記ゴール状態とを関連付けて前記第3テーブルを作成する
 (9)または(10)に記載の情報処理装置。
(12)
 前記実行部は、音声コマンド修正開始指示および修正対象の音声コマンドを取得すると、ユーザからの指示内容に応じた処理を行うことにより、前記修正対象の音声コマンドに対応するゴール状態を特定する
 (9)に記載の情報処理装置。
(13)
 前記実行部は、音声コマンド修正開始指示および修正対象の音声コマンドを取得すると、前記1または複数の外部機器の状態を監視しながら、前記修正対象の音声コマンドに対応する前記ゴール状態に至るのに必要な1または複数のコマンドを実行し、さらに、ユーザからの指示内容に応じた処理を行うことにより、前記修正対象の音声コマンドに対応するゴール状態を特定する
 (12)に記載の情報処理装置。
(14)
 前記実行部は、前記ユーザからの指示内容に応じた処理として、前記操作対象へ新たな1または複数の外部機器の追加、前記操作対象から1または複数の外部機器の削除、および、前記操作対象に含まれる少なくとも1つの外部機器の最終状態の変更のうち少なくとも1つの処理を行う
 (12)に記載の情報処理装置。
(15)
 制御対象である1または複数の外部機器に対して複数のコマンドを送信し、その応答を受信することにより、前記複数のコマンド送信前後の、前記1または複数の外部機器の状態を認識することと、
 送信した前記複数のコマンドと、前記複数のコマンド送信前後の、前記1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成することと
 を含む
 情報処理方法。
(16)
 複数のコマンドを外部機器制御部に出力することにより、前記外部機器制御部から、制御対象である1または複数の外部機器に対して前記複数のコマンドを出力させた後、その応答を得ることにより、前記複数のコマンド送信前後の、前記1または複数の外部機器の状態を得ることと、
 出力した前記複数のコマンドと、前記複数のコマンド送信前後の、前記1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成することと
 をコンピュータに実行させる
 情報処理プログラム。
 本開示の一実施形態に係る情報処理装置、情報処理方法および情報処理プログラムでは、制御対象である1または複数の外部機器に対して送信した複数のコマンドと、複数のコマンド送信前後の、1または複数の外部機器の状態とを対応付けた状態遷移モデルが生成される。これにより、状態遷移モデルから、実行すべきコマンドを選択しながら、外部から入力されたコマンドに対応するゴール状態に向けて、制御対象である1または複数の外部機器を制御することが可能となる。従って、1つの音声コマンドの入力によって周囲の機器をゴール状態に至るまで操作するが可能となる。
 本出願は、日本国特許庁において2019年5月30日に出願された日本特許出願番号第2019-100956号を基礎として優先権を主張するものであり、この出願のすべての内容を参照によって本出願に援用する。
 当業者であれば、設計上の要件や他の要因に応じて、種々の修正、コンビネーション、サブコンビネーション、および変更を想到し得るが、それらは添付の請求の範囲やその均等物の範囲に含まれるものであることが理解される。

Claims (16)

  1.  制御対象である1または複数の外部機器に対して複数のコマンドを送信する外部機器制御部と、
     前記外部機器制御部による前記複数のコマンド送信前後の、前記1または複数の外部機器の状態を認識する外部機器状態認識部と、
     前記外部機器制御部から送信された前記複数のコマンドと、前記外部機器制御部による前記複数のコマンド送信前後の、前記1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成するモデル獲得部と
     を備えた
     情報処理装置。
  2.  前記外部機器ごとに1つずつ割り当てられた複数の識別子と、各前記外部機器において受け付け可能な複数のコマンドとを関連付けた第1のテーブルと、
     前記複数の識別子と、各前記外部機器の状態を判別可能な方法についての情報とを関連付けた第2のテーブルと
     を格納する記憶部を更に備えた
     請求項1に記載の情報処理装置。
  3.  音声認識により音声コマンドを取得するコマンド取得部と、
     前記音声コマンドとゴール状態とが関連付けられた第3のテーブルと、
     前記コマンド取得部によって取得された前記音声コマンドに対応する前記ゴール状態を前記第3のテーブルから把握し、把握した前記ゴール状態に至るのに必要な1または複数のコマンドを前記状態遷移モデルに基づいて生成し、生成した前記1または複数のコマンドを実行する実行部と
     を更に備えた
     請求項1に記載の情報処理装置。
  4.  前記モデル獲得部で生成した前記状態遷移モデルを格納する記憶部を更に備えた
     請求項1に記載の情報処理装置。
  5.  前記モデル獲得部は、生成した前記状態遷移モデルをネットワーク上の記憶部に格納する
     請求項1に記載の情報処理装置。
  6.  前記外部機器状態認識部は、前記1または複数の外部機器と通信を行うことの可能な通信機器、前記1または複数の外部機器を撮像することの可能な撮像装置、前記1または複数の外部機器から発せられるサウンドを取得することの可能な集音装置、および前記1または複数の外部機器に対して送信された赤外線リモコンコードを受信することの可能な受信装置の少なくとも1つによって構成されている
     請求項1に記載の情報処理装置。
  7.  前記状態遷移モデルは、機械学習によって生成された学習モデルであり、前記1または複数の外部機器の状態と、前記ゴール状態が入力されると、入力された前記ゴール状態に至るのに必要な1または複数のコマンドを出力するように構成されている
     請求項3に記載の情報処理装置。
  8.  前記1または複数の外部機器から得られた情報を基に、前記外部機器ごとに前記識別子を生成する識別子生成部を更に備えた
     請求項2に記載の情報処理装置。
  9.  前記実行部は、音声コマンド登録開始指示を取得すると、前記1または複数の外部機器の状態の監視を開始し、音声コマンド登録終了指示を取得すると、前記監視の間に得られた、前記外部機器状態認識部からの入力を基に、操作対象の1または複数の外部機器を特定するとともに、前記操作対象の1または複数の外部機器の最終状態をゴール状態として特定する
     請求項3に記載の情報処理装置。
  10.  前記実行部は、ユーザから入力された音声コマンドと、前記ゴール状態とを関連付けて前記第3テーブルを作成する
     請求項9に記載の情報処理装置。
  11.  前記実行部は、前記音声コマンド登録開始指示を取得してから、前記音声コマンド登録終了指示を取得するまでの間にユーザから入力された音声コマンドと、前記ゴール状態とを関連付けて前記第3テーブルを作成する
     請求項9に記載の情報処理装置。
  12.  前記実行部は、音声コマンド修正開始指示および修正対象の音声コマンドを取得すると、ユーザからの指示内容に応じた処理を行うことにより、前記修正対象の音声コマンドに対応するゴール状態を特定する
     請求項9に記載の情報処理装置。
  13.  前記実行部は、音声コマンド修正開始指示および修正対象の音声コマンドを取得すると、前記1または複数の外部機器の状態を監視しながら、前記修正対象の音声コマンドに対応する前記ゴール状態に至るのに必要な1または複数のコマンドを実行し、さらに、ユーザからの指示内容に応じた処理を行うことにより、前記修正対象の音声コマンドに対応するゴール状態を特定する
     請求項12に記載の情報処理装置。
  14.  前記実行部は、前記ユーザからの指示内容に応じた処理として、前記操作対象へ新たな1または複数の外部機器の追加、前記操作対象から1または複数の外部機器の削除、および、前記操作対象に含まれる少なくとも1つの外部機器の最終状態の変更のうち少なくとも1つの処理を行う
     請求項12に記載の情報処理装置。
  15.  制御対象である1または複数の外部機器に対して複数のコマンドを送信し、その応答を受信することにより、前記複数のコマンド送信前後の、前記1または複数の外部機器の状態を認識することと、
     送信した前記複数のコマンドと、前記複数のコマンド送信前後の、前記1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成することと
     を含む
     情報処理方法。
  16.  複数のコマンドを外部機器制御部に出力することにより、前記外部機器制御部から、制御対象である1または複数の外部機器に対して前記複数のコマンドを出力させた後、その応答を得ることにより、前記複数のコマンド送信前後の、前記1または複数の外部機器の状態を得ることと、
     出力した前記複数のコマンドと、前記複数のコマンド送信前後の、前記1または複数の外部機器の状態とを対応付けた状態遷移モデルを生成することと
     をコンピュータに実行させる
     情報処理プログラム。
PCT/JP2020/017814 2019-05-30 2020-04-24 情報処理装置、情報処理方法および情報処理プログラム WO2020241143A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/613,357 US20220223152A1 (en) 2019-05-30 2020-04-24 Information processing device, information processing method, and information processing program
JP2021522721A JPWO2020241143A1 (ja) 2019-05-30 2020-04-24
CN202080038330.3A CN113875262A (zh) 2019-05-30 2020-04-24 信息处理装置、信息处理方法和信息处理程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019100956 2019-05-30
JP2019-100956 2019-05-30

Publications (1)

Publication Number Publication Date
WO2020241143A1 true WO2020241143A1 (ja) 2020-12-03

Family

ID=73552547

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/017814 WO2020241143A1 (ja) 2019-05-30 2020-04-24 情報処理装置、情報処理方法および情報処理プログラム

Country Status (4)

Country Link
US (1) US20220223152A1 (ja)
JP (1) JPWO2020241143A1 (ja)
CN (1) CN113875262A (ja)
WO (1) WO2020241143A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223444A (ja) * 2008-03-13 2009-10-01 Sony Corp 情報処理装置および方法、並びにプログラム
JP2018170744A (ja) * 2017-03-30 2018-11-01 株式会社エヌ・ティ・ティ・データ リモコン制御システム、リモコン制御方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233660A1 (en) * 2002-06-18 2003-12-18 Bellsouth Intellectual Property Corporation Device interaction
KR100621593B1 (ko) * 2004-09-24 2006-09-19 삼성전자주식회사 다중양식의 입력을 이용하는 통합 원격 제어 장치 및 방법
EP2827605B1 (en) * 2012-03-12 2016-09-28 NTT DoCoMo, Inc. Remote control system, remote control method, communication device and program
CN104854815B (zh) * 2012-12-13 2018-10-19 三星电子株式会社 在家庭网络系统中控制设备的方法和装置
SG2014010086A (en) * 2013-02-20 2015-02-27 Panasonic Ip Corp America Control method for information apparatus and program
JP6189346B2 (ja) * 2015-01-19 2017-08-30 シャープ株式会社 制御装置、制御装置の制御プログラム、制御装置の制御方法、および制御システム
US10686865B2 (en) * 2017-04-10 2020-06-16 Ayla Networks, Inc. Third-party application control of devices in an IoT platform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223444A (ja) * 2008-03-13 2009-10-01 Sony Corp 情報処理装置および方法、並びにプログラム
JP2018170744A (ja) * 2017-03-30 2018-11-01 株式会社エヌ・ティ・ティ・データ リモコン制御システム、リモコン制御方法及びプログラム

Also Published As

Publication number Publication date
CN113875262A (zh) 2021-12-31
JPWO2020241143A1 (ja) 2020-12-03
US20220223152A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
WO2016204223A1 (ja) 制御端末装置、オーディオシステムおよびオーディオシステム制御方法
US11194975B2 (en) Electronic device, user input apparatus controlling the same, and control method thereof
WO2018201695A1 (zh) 设备的控制方法、装置、系统及虚拟现实vr设备
JP6545897B2 (ja) インテリジェント端末遠隔制御装置機能化制御システム及び制御方法
KR101253148B1 (ko) 스마트폰과 중계 홈서버를 이용한 적외선 신호 학습이 가능한 디지털기기 제어시스템
CN111883129A (zh) 终端设备控制方法、装置及终端设备
US9886844B2 (en) Information processing apparatus, information processing method, and program
CN105187480B (zh) 配置文件获取方法、装置及系统
CN108711424B (zh) 一种分布式语音控制方法及系统
TWI392243B (zh) 遙控器及其功能設定與操作方法
KR20150132069A (ko) 스마트 텔레비전을 위한 원격 제어 방법 및 관련된 장치
JP2020021748A (ja) 照明システム及びリモートコントローラ
WO2020241143A1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
KR20110054814A (ko) 블루투스 통신을 통한 가전제품 통합 원격제어 방법
JP6406957B2 (ja) サーバ、サーバの制御方法、サーバの制御プログラム、および制御システム
CN208431846U (zh) 一种声控系统及吸油烟机
WO2018168006A1 (ja) ネットワークシステム、情報処理方法、サーバ、および端末
TWM614494U (zh) 具有訊號延伸器的物聯網系統
JP6874386B2 (ja) 通信機器、通信システム及び通信方法
KR102599783B1 (ko) 회의 기기를 통합 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
JP2009071366A (ja) 映像表示装置およびその信号処理方法
US11457260B2 (en) Systems and methods for controlling device configuration in a networked environment
CN211828529U (zh) 开关面板及其控制系统
US11443745B2 (en) Apparatus control device, apparatus control system, apparatus control method, and apparatus control program
JP2019068321A (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: 20815498

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021522721

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20815498

Country of ref document: EP

Kind code of ref document: A1