WO2021172642A1 - 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법 - Google Patents

장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법 Download PDF

Info

Publication number
WO2021172642A1
WO2021172642A1 PCT/KR2020/003019 KR2020003019W WO2021172642A1 WO 2021172642 A1 WO2021172642 A1 WO 2021172642A1 KR 2020003019 W KR2020003019 W KR 2020003019W WO 2021172642 A1 WO2021172642 A1 WO 2021172642A1
Authority
WO
WIPO (PCT)
Prior art keywords
artificial intelligence
interworking
information
information table
devices
Prior art date
Application number
PCT/KR2020/003019
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 CN202080075156.XA priority Critical patent/CN114631095A/zh
Priority to EP20920925.3A priority patent/EP4113905A4/en
Priority to US17/641,010 priority patent/US20220338281A1/en
Publication of WO2021172642A1 publication Critical patent/WO2021172642A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Definitions

  • the present disclosure relates to an artificial intelligence device and method for providing a device control function based on interworking between devices.
  • artificial intelligence devices equipped with artificial intelligence-based technology to provide various functions have been widely distributed, greatly increasing the convenience of daily life.
  • These artificial intelligence devices may provide actions determined in consideration of context information or usage records, and may provide various functions according to voice recognition or image recognition.
  • voice recognition or image recognition As the number of artificial intelligence devices used by users increases, the necessity of managing and controlling various artificial intelligence devices by linking them increases.
  • a service for linking a plurality of artificial intelligence devices is provided by registering artificial intelligence devices in a user's account.
  • Such an account-oriented link service is inconvenient in that, when a plurality of users exist, it is necessary to separately register each user in order to use the link service. If artificial intelligence devices are linked based on interworking between devices, a device control service can be provided to multiple users as well.
  • An object of the present disclosure is to provide an artificial intelligence device and a method for providing a function of directly or indirectly controlling an interworking device based on interworking between the devices.
  • An embodiment of the present disclosure is an artificial device that searches for interoperable devices when entering a device interworking mode, interworks with a target device among interoperable devices, and updates the interworking information table by adding interworking information on the target device to the interworking information table.
  • An intelligent device and method thereof are provided.
  • an embodiment of the present disclosure provides an artificial intelligence device and a method for sharing an interworking information table with an interworking device or an artificial intelligence server.
  • an embodiment of the present disclosure determines information on a transmitting device that transmits a command corresponding to the device use command, information on a receiving device that receives and performs the command, and an operation command upon receiving the device use command, and transmits
  • Provided are an artificial intelligence device and a method for determining a connection path from a device to a receiving device, generating a command corresponding to a device use command in consideration of the connection path, and transmitting the command according to the connection path.
  • an embodiment of the present disclosure provides an artificial intelligence device and a method for determining a connection path by using an interworking information table of another device stored in a memory.
  • an embodiment of the present disclosure provides an artificial intelligence device and method for determining a connection path by requesting a connection path from an artificial intelligence server.
  • an embodiment of the present disclosure determines whether a receiving device is a directly interlocked device using an interworking information table, and when the receiving device is not a directly interlocked device, a connection path from a directly interlocked device to a receiving device.
  • an artificial intelligence device and a method for requesting a connection and determining a connection path based on a connection path received from a directly interworking device.
  • a user-independent device interworking system may be constructed.
  • the indirectly interworking device is identified, thereby reducing the security problem due to the sharing of device interworking information.
  • FIG. 1 is a block diagram illustrating an AI device according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating an AI server according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram illustrating an AI system according to an embodiment of the present disclosure.
  • FIG. 4 is a block diagram illustrating an AI device according to an embodiment of the present disclosure.
  • FIG. 5 is a block diagram illustrating an artificial intelligence system according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating artificial intelligence systems that provide a device control function based on interworking between devices according to various embodiments of the present disclosure.
  • FIG. 7 is an operation flowchart illustrating a method of providing a device control function based on interworking between devices according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram illustrating a device interworking interface for providing information on an interworking device according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram illustrating a device interworking interface interworking with a new device according to an embodiment of the present disclosure.
  • FIG. 10 is an operation flowchart illustrating a method of providing a device control function based on interworking between devices according to an embodiment of the present disclosure.
  • 11 is an operation flowchart illustrating a method of providing a device control function based on interworking between devices according to an embodiment of the present disclosure.
  • FIG. 12 is a diagram illustrating an example of an interworking information table according to an embodiment of the present disclosure.
  • 13 to 15 are diagrams illustrating artificial intelligence systems according to various embodiments of the present disclosure.
  • a component When it is said that a component is 'connected' or 'connected' to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in between. It should be On the other hand, when it is mentioned that a certain element is 'directly connected' or 'directly connected' to another element, it should be understood that the other element does not exist in the middle.
  • Machine learning refers to a field that defines various problems dealt with in the field of artificial intelligence and studies methodologies to solve them. do.
  • Machine learning is also defined as an algorithm that improves the performance of a certain task through constant experience.
  • An artificial neural network is a model used in machine learning, and may refer to an overall model having problem-solving ability, which is composed of artificial neurons (nodes) that form a network by combining synapses.
  • An artificial neural network may be defined by a connection pattern between neurons of different layers, a learning process that updates model parameters, and an activation function that generates an output value.
  • the artificial neural network may include an input layer, an output layer, and optionally one or more hidden layers. Each layer includes one or more neurons, and the artificial neural network may include neurons and synapses connecting neurons. In the artificial neural network, each neuron may output a function value of an activation function for input signals, weights, and biases input through synapses.
  • Model parameters refer to parameters determined through learning, and include the weight of synaptic connections and the bias of neurons.
  • the hyperparameter refers to a parameter to be set before learning in a machine learning algorithm, and includes a learning rate, the number of iterations, a mini-batch size, an initialization function, and the like.
  • the purpose of learning the artificial neural network can be seen as determining the model parameters that minimize the loss function.
  • the loss function may be used as an index for determining optimal model parameters in the learning process of the artificial neural network.
  • Machine learning can be classified into supervised learning, unsupervised learning, and reinforcement learning according to a learning method.
  • Supervised learning refers to a method of training an artificial neural network in a state where a label for training data is given. can mean Unsupervised learning may refer to a method of training an artificial neural network in a state where no labels are given for training data. Reinforcement learning can refer to a learning method in which an agent defined in an environment learns to select an action or sequence of actions that maximizes the cumulative reward in each state.
  • machine learning implemented as a deep neural network (DNN) including a plurality of hidden layers is also called deep learning (deep learning), and deep learning is a part of machine learning.
  • DNN deep neural network
  • deep learning deep learning
  • machine learning is used in a sense including deep learning.
  • a robot can mean a machine that automatically handles or operates a task given by its own capabilities.
  • a robot having a function of recognizing an environment and performing an operation by self-judgment may be referred to as an intelligent robot.
  • Robots can be classified into industrial, medical, home, military, etc. depending on the purpose or field of use.
  • the robot may be provided with a driving unit including an actuator or a motor to perform various physical operations such as moving the robot joints.
  • the movable robot includes a wheel, a brake, a propeller, and the like in the driving unit, and can travel on the ground or fly in the air through the driving unit.
  • Autonomous driving refers to a technology that drives by itself, and an autonomous driving vehicle refers to a vehicle that runs without a user's manipulation or with a minimal user's manipulation.
  • autonomous driving includes technology for maintaining a driving lane, technology for automatically adjusting speed such as adaptive cruise control, technology for automatically driving along a predetermined route, technology for automatically setting a route when a destination is set, etc. All of these can be included.
  • the vehicle includes a vehicle having only an internal combustion engine, a hybrid vehicle having both an internal combustion engine and an electric motor, and an electric vehicle having only an electric motor, and may include not only automobiles, but also trains, motorcycles, and the like.
  • the autonomous vehicle may be viewed as a robot having an autonomous driving function.
  • the extended reality is a generic term for virtual reality (VR), augmented reality (AR), and mixed reality (MR).
  • VR technology provides only CG images of objects or backgrounds in the real world
  • AR technology provides virtual CG images on top of images of real objects
  • MR technology is a computer that mixes and combines virtual objects in the real world. graphic technology.
  • MR technology is similar to AR technology in that it shows both real and virtual objects. However, there is a difference in that in AR technology, a virtual object is used in a form that complements a real object, whereas in MR technology, a virtual object and a real object are used with equal characteristics.
  • HMD Head-Mount Display
  • HUD Head-Up Display
  • mobile phone tablet PC, laptop, desktop, TV, digital signage, etc.
  • FIG. 1 is a block diagram illustrating an AI device 100 according to an embodiment of the present disclosure.
  • the artificial intelligence device 100 may be referred to as a terminal.
  • the AI device 100 is a TV, a projector, a mobile phone, a smart phone, a desktop computer, a notebook computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation system, a tablet PC, a wearable device, a set-top box (STB) ), a DMB receiver, a radio, a washing machine, a refrigerator, a desktop computer, a digital signage, a robot, a vehicle, etc., may be implemented as a stationary device or a movable device.
  • the artificial intelligence device 100 includes a communication unit 110 , an input unit 120 , a learning processor 130 , a sensing unit 140 , an output unit 150 , a memory 170 and a processor 180 . and the like.
  • the communication unit 110 may transmit/receive data to and from external devices such as other AI devices 100a to 100e or the AI server 200 using wired/wireless communication technology.
  • the communication unit 110 may transmit/receive sensor information, a user input, a learning model, a control signal, and the like with external devices.
  • the communication technology used by the communication unit 110 includes GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), LTE (Long Term Evolution), 5G, WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity) ), Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), and the like.
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • LTE Long Term Evolution
  • 5G Fifth Generation
  • WLAN Wireless LAN
  • Wi-Fi Wireless-Fidelity
  • Bluetooth Bluetooth
  • RFID Radio Frequency Identification
  • IrDA Infrared Data Association
  • ZigBee ZigBee
  • NFC Near Field Communication
  • the input unit 120 may acquire various types of data.
  • the input unit 120 may include a camera for inputting an image signal, a microphone for receiving an audio signal, a user input unit for receiving information from a user, and the like.
  • the camera or microphone may be treated as a sensor, and a signal obtained from the camera or microphone may be referred to as sensing data or sensor information.
  • the input unit 120 may acquire training data for model training and input data to be used when acquiring an output using the training model.
  • the input unit 120 may acquire raw input data, and in this case, the processor 180 or the learning processor 130 may extract an input feature as a preprocessing for the input data.
  • the learning processor 130 may train a model composed of an artificial neural network by using the training data.
  • the learned artificial neural network may be referred to as a learning model.
  • the learning model may be used to infer a result value with respect to new input data other than the training data, and the inferred value may be used as a basis for a decision to perform a certain operation.
  • the learning processor 130 may perform AI processing together with the learning processor 240 of the AI server 200 .
  • the learning processor 130 may include a memory integrated or implemented in the AI device 100 .
  • the learning processor 130 may be implemented using the memory 170 , an external memory directly coupled to the AI device 100 , or a memory maintained in an external device.
  • the sensing unit 140 may acquire at least one of internal information of the AI device 100 , information on the surrounding environment of the AI device 100 , and user information by using various sensors.
  • sensors included in the sensing unit 140 include a proximity sensor, an illuminance sensor, an acceleration sensor, a magnetic sensor, a gyro sensor, an inertial sensor, an RGB sensor, an IR sensor, a fingerprint recognition sensor, an ultrasonic sensor, an optical sensor, a microphone, and a lidar. , radar, etc.
  • the output unit 150 may generate an output related to visual, auditory or tactile sense.
  • the output unit 150 may include a display unit that outputs visual information, a speaker that outputs auditory information, and a haptic module that outputs tactile information.
  • the memory 170 may store data supporting various functions of the AI device 100 .
  • the memory 170 may store input data obtained from the input unit 120 , learning data, a learning model, a learning history, and the like.
  • the processor 180 may determine at least one executable operation of the AI device 100 based on information determined or generated using a data analysis algorithm or a machine learning algorithm. In addition, the processor 180 may control the components of the AI device 100 to perform the determined operation.
  • the processor 180 may request, search, receive, or utilize the data of the learning processor 130 or the memory 170, and may perform a predicted operation or an operation determined to be desirable among the at least one executable operation. It is possible to control the components of the AI device 100 to execute.
  • the processor 180 may generate a control signal for controlling the corresponding external device and transmit the generated control signal to the corresponding external device.
  • the processor 180 may obtain intention information with respect to a user input and determine a user's requirement based on the obtained intention information.
  • the processor 180 uses at least one of a speech to text (STT) engine for converting a voice input into a character string or a natural language processing (NLP) engine for obtaining intention information of a natural language. Intention information corresponding to the input may be obtained.
  • STT speech to text
  • NLP natural language processing
  • At least one of the STT engine and the NLP engine may be configured as an artificial neural network, at least a part of which is learned according to a machine learning algorithm. And, at least one of the STT engine or the NLP engine is learned by the learning processor 130 , or learned by the learning processor 240 of the AI server 200 , or learned by distributed processing thereof. it could be
  • the processor 180 collects history information including the user's feedback on the operation contents or operation of the AI device 100 and stores it in the memory 170 or the learning processor 130, or the AI server 200 It can be transmitted to an external device.
  • the collected historical information may be used to update the learning model.
  • the processor 180 may control at least some of the components of the AI device 100 in order to drive an application program stored in the memory 170 . Furthermore, in order to drive the application program, the processor 180 may operate two or more of the components included in the AI device 100 in combination with each other.
  • FIG. 2 is a block diagram illustrating an AI server 200 according to an embodiment of the present disclosure.
  • the AI server 200 may refer to a device that trains an artificial neural network using a machine learning algorithm or uses a learned artificial neural network.
  • the AI server 200 may be configured with a plurality of servers to perform distributed processing, and may be defined as a 5G network.
  • the AI server 200 may be included as a part of the AI device 100 to perform at least a part of AI processing together.
  • the AI server 200 may include a communication unit 210 , a memory 230 , a learning processor 240 , and a processor 260 .
  • the communication unit 210 may transmit/receive data to and from an external device such as the AI device 100 .
  • the memory 230 may include a model storage unit 231 .
  • the model storage unit 231 may store a model (or artificial neural network, 231a) being trained or learned through the learning processor 240 .
  • the learning processor 240 may train the artificial neural network 231a using the training data.
  • the learning model may be used while being mounted on the AI server 200 of the artificial neural network, or may be used while being mounted on an external device such as the AI device 100 .
  • the learning model may be implemented in hardware, software, or a combination of hardware and software.
  • one or more instructions constituting the learning model may be stored in the memory 230 .
  • the processor 260 may infer a result value with respect to new input data using the learning model, and may generate a response or a control command based on the inferred result value.
  • FIG 3 is a diagram illustrating an AI system 1 according to an embodiment of the present disclosure.
  • the AI system 1 includes at least one of an AI server 200 , a robot 100a , an autonomous vehicle 100b , an XR device 100c , a smart phone 100d , or a home appliance 100e . It is connected to the cloud network 10 .
  • the robot 100a to which the AI technology is applied, the autonomous driving vehicle 100b, the XR device 100c, the smart phone 100d, or the home appliance 100e may be referred to as AI devices 100a to 100e.
  • the cloud network 10 may constitute a part of the cloud computing infrastructure or may refer to a network existing in the cloud computing infrastructure.
  • the cloud network 10 may be configured using a 3G network, a 4G or Long Term Evolution (LTE) network, or a 5G network.
  • LTE Long Term Evolution
  • each of the devices 100a to 100e and 200 constituting the AI system 1 may be connected to each other through the cloud network 10 .
  • each of the devices 100a to 100e and 200 may communicate with each other through the base station, but may also directly communicate with each other without passing through the base station.
  • the AI server 200 may include a server performing AI processing and a server performing an operation on big data.
  • the AI server 200 includes at least one or more of the AI devices constituting the AI system 1, such as a robot 100a, an autonomous vehicle 100b, an XR device 100c, a smartphone 100d, or a home appliance 100e. It is connected through the cloud network 10 and may help at least a part of AI processing of the connected AI devices 100a to 100e.
  • the AI server 200 may train the artificial neural network according to a machine learning algorithm on behalf of the AI devices 100a to 100e, and directly store the learning model or transmit it to the AI devices 100a to 100e.
  • the AI server 200 receives input data from the AI devices 100a to 100e, infers a result value with respect to the input data received using the learning model, and provides a response or control command based on the inferred result value. It can be generated and transmitted to the AI devices 100a to 100e.
  • the AI devices 100a to 100e may infer a result value with respect to input data using a direct learning model, and generate a response or a control command based on the inferred result value.
  • the AI devices 100a to 100e to which the above-described technology is applied will be described.
  • the AI devices 100a to 100e shown in FIG. 3 can be viewed as specific examples of the AI device 100 shown in FIG. 1 .
  • the robot 100a may be implemented as a guide robot, a transport robot, a cleaning robot, a wearable robot, an entertainment robot, a pet robot, an unmanned flying robot, etc. to which AI technology is applied.
  • the robot 100a may include a robot control module for controlling an operation, and the robot control module may mean a software module or a chip implemented as hardware.
  • the robot 100a obtains state information of the robot 100a by using sensor information obtained from various types of sensors, detects (recognizes) the surrounding environment and objects, generates map data, moves path and travels A plan may be determined, a response to a user interaction may be determined, or an action may be determined.
  • the robot 100a may use sensor information obtained from at least one sensor among LiDAR, radar, and camera to determine a movement path and a travel plan.
  • the robot 100a may perform the above-described operations using a learning model composed of at least one artificial neural network.
  • the robot 100a may recognize a surrounding environment and an object using a learning model, and may determine an operation using the recognized surrounding environment information or object information.
  • the learning model may be directly learned from the robot 100a or learned from an external device such as the AI server 200 .
  • the robot 100a may perform an operation by generating a result by using the direct learning model, but transmits sensor information to an external device such as the AI server 200 and receives the result generated accordingly to perform the operation You may.
  • the robot 100a determines a movement path and travel plan using at least one of map data, object information detected from sensor information, or object information obtained from an external device, and controls the driving unit to apply the determined movement path and travel plan. Accordingly, the robot 100a may be driven.
  • the map data may include object identification information for various objects disposed in a space in which the robot 100a moves.
  • the map data may include object identification information for fixed objects such as walls and doors and movable objects such as flowerpots and desks.
  • the object identification information may include a name, a type, a distance, a location, and the like.
  • the robot 100a may perform an operation or drive by controlling the driving unit based on the user's control/interaction.
  • the robot 100a may acquire intention information of an interaction according to a user's motion or voice utterance, determine a response based on the acquired intention information, and perform the operation.
  • the autonomous driving vehicle 100b may be implemented as a mobile robot, a vehicle, an unmanned aerial vehicle, etc. by applying AI technology.
  • the autonomous driving vehicle 100b may include an autonomous driving control module for controlling an autonomous driving function, and the autonomous driving control module may mean a software module or a chip implemented as hardware.
  • the autonomous driving control module may be included as a component of the autonomous driving vehicle 100b, or may be configured and connected to the outside of the autonomous driving vehicle 100b as separate hardware.
  • the autonomous driving vehicle 100b acquires state information of the autonomous driving vehicle 100b using sensor information obtained from various types of sensors, detects (recognizes) surrounding environments and objects, generates map data, A moving route and a driving plan may be determined, or an operation may be determined.
  • the autonomous vehicle 100b may use sensor information obtained from at least one sensor among LiDAR, radar, and camera, similarly to the robot 100a, in order to determine a moving route and a driving plan.
  • the autonomous vehicle 100b may receive sensor information from external devices to recognize an environment or object for an area where the field of view is blocked or an area over a certain distance, or receive information recognized directly from external devices. .
  • the autonomous vehicle 100b may perform the above-described operations using a learning model composed of at least one artificial neural network.
  • the autonomous driving vehicle 100b may recognize a surrounding environment and an object using a learning model, and may determine a driving route using the recognized surrounding environment information or object information.
  • the learning model may be directly learned from the autonomous vehicle 100b or learned from an external device such as the AI server 200 .
  • the autonomous vehicle 100b may generate a result by using a direct learning model and perform an operation, but operates by transmitting sensor information to an external device such as the AI server 200 and receiving the result generated accordingly. can also be performed.
  • the autonomous driving vehicle 100b determines a moving route and a driving plan by using at least one of map data, object information detected from sensor information, or object information acquired from an external device, and controls the driving unit to determine the moving path and driving.
  • the autonomous vehicle 100b may be driven according to a plan.
  • the map data may include object identification information for various objects disposed in a space (eg, a road) in which the autonomous vehicle 100b travels.
  • the map data may include object identification information for fixed objects such as street lights, rocks, and buildings, and movable objects such as vehicles and pedestrians.
  • the object identification information may include a name, a type, a distance, a location, and the like.
  • the autonomous vehicle 100b may perform an operation or drive by controlling the driving unit based on the user's control/interaction.
  • the autonomous vehicle 100b may acquire intention information of an interaction according to a user's motion or voice utterance, determine a response based on the obtained intention information, and perform the operation.
  • the XR apparatus 100c is AI technology applied, so a head-mount display (HMD), a head-up display (HUD) provided in a vehicle, a television, a mobile phone, a smart phone, a computer, a wearable device, a home appliance, and a digital signage , a vehicle, a stationary robot, or a mobile robot.
  • HMD head-mount display
  • HUD head-up display
  • the XR device 100c analyzes three-dimensional point cloud data or image data obtained through various sensors or from an external device to generate position data and attribute data for three-dimensional points, thereby providing information on surrounding space or real objects. It can be obtained and output by rendering the XR object to be output. For example, the XR apparatus 100c may output an XR object including additional information on the recognized object to correspond to the recognized object.
  • the XR apparatus 100c may perform the above operations by using a learning model composed of at least one artificial neural network.
  • the XR apparatus 100c may recognize a real object from 3D point cloud data or image data using a learning model, and may provide information corresponding to the recognized real object.
  • the learning model may be directly learned from the XR device 100c or learned from an external device such as the AI server 200 .
  • the XR device 100c may perform an operation by generating a result using the direct learning model, but transmits sensor information to an external device such as the AI server 200 and receives the result generated accordingly to perform the operation. can also be done
  • the robot 100a may be implemented as a guide robot, a transport robot, a cleaning robot, a wearable robot, an entertainment robot, a pet robot, an unmanned flying robot, etc. to which AI technology and autonomous driving technology are applied.
  • the robot 100a to which AI technology and autonomous driving technology are applied may mean a robot having an autonomous driving function or a robot 100a that interacts with the autonomous driving vehicle 100b.
  • the robot 100a having an autonomous driving function may collectively refer to devices that move by themselves according to a given movement line without user's control, or move by determining a movement line by themselves.
  • the robot 100a with the autonomous driving function and the autonomous driving vehicle 100b may use a common sensing method to determine one or more of a moving route or a driving plan.
  • the robot 100a having an autonomous driving function and the autonomous driving vehicle 100b may determine one or more of a moving route or a driving plan by using information sensed through lidar, radar, and camera.
  • the robot 100a interacting with the autonomous driving vehicle 100b exists separately from the autonomous driving vehicle 100b and is linked to the autonomous driving function inside the autonomous driving vehicle 100b or connected to the autonomous driving vehicle 100b. An operation associated with the user on board may be performed.
  • the robot 100a interacting with the autonomous driving vehicle 100b acquires sensor information on behalf of the autonomous driving vehicle 100b and provides it to the autonomous driving vehicle 100b, or obtains sensor information and obtains information about the surrounding environment or By generating object information and providing it to the autonomous driving vehicle 100b, the autonomous driving function of the autonomous driving vehicle 100b may be controlled or supported.
  • the robot 100a interacting with the autonomous driving vehicle 100b may monitor a user riding in the autonomous driving vehicle 100b or control a function of the autonomous driving vehicle 100b through interaction with the user. .
  • the robot 100a may activate the autonomous driving function of the autonomous driving vehicle 100b or assist the control of the driving unit of the autonomous driving vehicle 100b.
  • the function of the autonomous driving vehicle 100b controlled by the robot 100a may include not only an autonomous driving function, but also a function provided by a navigation system or an audio system provided in the autonomous driving vehicle 100b.
  • the robot 100a interacting with the autonomous driving vehicle 100b may provide information or assist a function to the autonomous driving vehicle 100b from the outside of the autonomous driving vehicle 100b.
  • the robot 100a may provide traffic information including signal information to the autonomous vehicle 100b, such as a smart traffic light, or interact with the autonomous vehicle 100b, such as an automatic electric charger for an electric vehicle. You can also automatically connect an electric charger to the charging port.
  • the robot 100a may be implemented as a guide robot, a transport robot, a cleaning robot, a wearable robot, an entertainment robot, a pet robot, an unmanned flying robot, a drone, etc. to which AI technology and XR technology are applied.
  • the robot 100a to which the XR technology is applied may mean a robot that is a target of control/interaction within an XR image.
  • the robot 100a is distinguished from the XR device 100c and may be interlocked with each other.
  • the robot 100a which is the target of control/interaction in the XR image, obtains sensor information from sensors including a camera, the robot 100a or the XR device 100c generates an XR image based on the sensor information. and the XR apparatus 100c may output the generated XR image.
  • the robot 100a may operate based on a control signal input through the XR device 100c or a user's interaction.
  • the user can check the XR image corresponding to the viewpoint of the remotely linked robot 100a through an external device such as the XR device 100c, and adjust the autonomous driving path of the robot 100a through interaction or , control motion or driving, or check information of surrounding objects.
  • an external device such as the XR device 100c
  • the autonomous vehicle 100b may be implemented as a mobile robot, a vehicle, an unmanned aerial vehicle, etc. by applying AI technology and XR technology.
  • the autonomous driving vehicle 100b to which the XR technology is applied may mean an autonomous driving vehicle equipped with a means for providing an XR image or an autonomous driving vehicle subject to control/interaction within the XR image.
  • the autonomous driving vehicle 100b which is the target of control/interaction in the XR image, is distinguished from the XR device 100c and may be interlocked with each other.
  • the autonomous driving vehicle 100b having means for providing an XR image may obtain sensor information from sensors including a camera, and output an XR image generated based on the acquired sensor information.
  • the autonomous vehicle 100b may provide an XR object corresponding to a real object or an object in the screen to the occupant by outputting an XR image with a HUD.
  • the XR object when the XR object is output to the HUD, at least a portion of the XR object may be output to overlap the actual object to which the passenger's gaze is directed.
  • the XR object when the XR object is output to a display provided inside the autonomous driving vehicle 100b, at least a portion of the XR object may be output to overlap the object in the screen.
  • the autonomous vehicle 100b may output XR objects corresponding to objects such as a lane, other vehicles, traffic lights, traffic signs, two-wheeled vehicles, pedestrians, and buildings.
  • the autonomous driving vehicle 100b which is the subject of control/interaction in the XR image, acquires sensor information from sensors including a camera, the autonomous driving vehicle 100b or the XR device 100c performs An XR image is generated, and the XR apparatus 100c may output the generated XR image.
  • the autonomous vehicle 100b may operate based on a control signal input through an external device such as the XR device 100c or a user's interaction.
  • FIG. 4 is a block diagram illustrating the AI device 100 according to an embodiment of the present disclosure.
  • the communication unit 110 may also be referred to as a communication modem or a communication circuit.
  • the input unit 120 may be referred to as an input interface.
  • the output unit 150 may be referred to as an output interface.
  • the input unit 120 includes a camera 121 for inputting an image signal, a microphone 122 for receiving an audio signal, and a user input unit for receiving information from a user. 123) may be included.
  • the voice data or image data collected by the input unit 120 may be analyzed and processed as a user's control command.
  • the input unit 120 is for inputting image information (or signal), audio information (or signal), data, or information input from a user.
  • the AI device 100 may include one or more Cameras 121 may be provided.
  • the camera 121 processes an image frame such as a still image or a moving image obtained by an image sensor in a video call mode or a photographing mode.
  • the processed image frame may be displayed on the display unit 151 or stored in the memory 170 .
  • the microphone 122 processes an external sound signal as electrical voice data.
  • the processed voice data may be utilized in various ways according to a function (or a running application program) being performed by the AI device 100 . Meanwhile, various noise removal algorithms for removing noise generated in the process of receiving an external sound signal may be applied to the microphone 122 .
  • the user input unit 123 is for receiving information from a user, and when information is input through the user input unit 123 , the processor 180 may control the operation of the AI device 100 to correspond to the input information. .
  • the user input unit 123 is a mechanical input means (or a mechanical key, for example, a button located on the front/rear or side of the AI device 100, a dome switch, a jog wheel, a jog switch, etc.) and a touch input means.
  • the touch input means consists of a virtual key, a soft key, or a visual key displayed on the touch screen through software processing, or a part other than the touch screen. It may be made of a touch key (touch key) disposed on the.
  • the sensing unit 140 may be referred to as a sensor unit.
  • the output unit 150 includes at least one of a display unit 151, a sound output unit 152, a haptic module 153, and an optical output unit 154. can do.
  • the display unit 151 displays (outputs) information processed by the AI device 100 .
  • the display unit 151 may display execution screen information of an application program driven by the AI device 100 , or user interface (UI) and graphic user interface (GUI) information according to the execution screen information.
  • UI user interface
  • GUI graphic user interface
  • the display unit 151 may implement a touch screen by forming a layer structure with the touch sensor or being formed integrally with the touch sensor.
  • a touch screen may function as the user input unit 123 providing an input interface between the AI device 100 and the user, and may provide an output interface between the terminal 100 and the user.
  • the sound output unit 152 may output audio data received from the communication unit 110 or stored in the memory 170 in a call signal reception, a call mode or a recording mode, a voice recognition mode, a broadcast reception mode, and the like.
  • the sound output unit 152 may include at least one of a receiver, a speaker, and a buzzer.
  • the haptic module 153 generates various tactile effects that the user can feel.
  • a representative example of the tactile effect generated by the haptic module 153 may be vibration.
  • the light output unit 154 outputs a signal for notifying the occurrence of an event by using the light of the light source of the AI device 100 .
  • Examples of the event generated by the AI device 100 may be message reception, call signal reception, missed call, alarm, schedule notification, email reception, information reception through an application, and the like.
  • FIG. 5 is a block diagram illustrating an artificial intelligence system 1 according to an embodiment of the present disclosure.
  • the artificial intelligence system 1 includes an artificial intelligence device 100 , a speech to text (STT) server 300 , a natural language processing (NLP) server 400 and a voice A synthesis server 500 may be included.
  • STT speech to text
  • NLP natural language processing
  • the artificial intelligence device 100 may transmit voice data to the STT server 300 .
  • the STT server 300 may convert the voice data received from the artificial intelligence device 100 into text data.
  • the NLP server 400 may receive text data from the STT server 300 .
  • the NLP server 400 may perform intention analysis on the text data based on the received text data.
  • the NLP server 400 may transmit intention analysis information indicating a result of performing the intention analysis to the artificial intelligence device 100 or the voice synthesis server 500 .
  • the voice synthesis server 500 may generate a synthesized voice reflecting the user's intention based on the intention analysis information, and transmit the generated synthesized voice to the artificial intelligence apparatus 100 .
  • the STT server 300 may increase the accuracy of speech-text conversion by using a language model.
  • the language model may refer to a model capable of calculating a probability of a sentence or calculating a probability that a next word will appear when previous words are given.
  • the language model may include probabilistic language models such as a Unigram model, a Bigram model, an N-gram model, and the like.
  • the unigram model is a model that assumes that the use of all words is completely independent of each other.
  • the bigram model is a model that assumes that the word conjugation depends only on the previous one word.
  • the N-gram model is a model that assumes that the word conjugation depends on the previous (n-1) words.
  • the STT server 300 may determine whether the text data converted from the voice data is properly converted using the language model, thereby increasing the accuracy of the conversion from the voice data to the text data.
  • the NLP server 400 may generate intention analysis information by sequentially performing a morpheme analysis step, a syntax analysis step, a dialogue act analysis step, and a dialogue processing step on the text data.
  • the morpheme analysis step is a step of classifying text data corresponding to the voice uttered by the user into a morpheme unit, which is the smallest unit having meaning, and determining which part of speech each classified morpheme has.
  • the syntax analysis step is a step of classifying text data into noun phrases, verb phrases, adjective phrases, etc., using the result of the morpheme analysis step, and determining what kind of relationship exists between the divided phrases. Through the syntax analysis step, the subject, object, and modifier of the voice spoken by the user may be determined.
  • the dialogue act analysis step is a step of analyzing the intention of the voice uttered by the user using the result of the syntax analysis step.
  • the dialogue act analysis step is a step of determining the intent of the sentence, such as whether the user asks a question, makes a request, or expresses a simple emotion.
  • the dialog processing step is a step for determining whether to respond to the user's utterance, to respond, or to ask a question for inquiring additional information using the result of the dialog act analysis step.
  • the NLP server 400 may generate intention analysis information including at least one of an answer to the intention uttered by the user, a response, and an additional information inquiry.
  • the NLP server 400 may receive text data from the artificial intelligence device 100 .
  • the artificial intelligence device 100 may convert voice data into text data and transmit the converted text data to the NLP server 400 . .
  • the voice synthesis server 500 may generate a synthesized voice by combining pre-stored voice data.
  • the voice synthesis server 500 may record the voice of a person selected as a model, and divide the recorded voice into syllables or words.
  • the voice synthesis server 500 may store the divided voice in a syllable or word unit in an internal or external database.
  • the speech synthesis server 500 may search a database for a syllable or word corresponding to the given text data, and synthesize a combination of the searched syllables or words to generate a synthesized speech.
  • the speech synthesis server 500 may store a plurality of speech language groups corresponding to each of the plurality of languages.
  • the voice synthesis server 500 may include a first voice language group recorded in Korean and a second voice language group recorded in English.
  • the speech synthesis server 500 may translate text data of a first language into text of a second language, and generate a synthesized speech corresponding to the translated text of the second language by using the second speech language group.
  • the artificial intelligence system 1 may further include an artificial intelligence server 200 .
  • the artificial intelligence server 200 may learn at least one of an STT engine used in the STT server 300 , an NLP engine used in the NLP server 400 , and a speech synthesis engine used in the voice synthesis server 500 . That is, at least one of the STT server 300 , the NLP server 400 , and the speech synthesis server 500 may use models or engines learned in the artificial intelligence server 200 .
  • the artificial intelligence device 100 , the STT server 300 , the NLP server 400 , and the voice synthesis server 500 are illustrated separately from each other, but the present disclosure is not limited thereto.
  • some of the artificial intelligence server 200 , the STT server 300 , the NLP server 400 , or the voice synthesis server 500 may be configured as one server.
  • some of the STT server 300 , the NLP server 400 or the speech synthesis server 500 may be included in the artificial intelligence device 100 , which the artificial intelligence device 100 is the STT server 300 . , means performing the function of the NLP server 400 or the voice synthesis server 500 .
  • FIG. 6 is a diagram illustrating artificial intelligence systems 1 that provide a device control function based on interworking between devices according to various embodiments of the present disclosure.
  • the artificial intelligence system 1 essentially includes the artificial intelligence device 100 , and may optionally further include at least one or more of the artificial intelligence server 200 and the IoT device 600 . .
  • the artificial intelligence system 1 that provides a device control function based on inter-device interworking may include at least two or more artificial intelligence devices 100 or IoT devices 600 to be interlocked in order to provide a device control function.
  • the artificial intelligence system 1 may include only a plurality of artificial intelligence devices 100 , or may include one or more artificial intelligence devices 100 and one or more IoT devices 600 .
  • At least some of the artificial intelligence device 100 , the artificial intelligence server 200 , or the IoT device 600 included in the artificial intelligence system 1 may communicate with each other based on wired/wireless communication technology. All of the artificial intelligence device 100 , the artificial intelligence server 200 , or the IoT device 600 included in the artificial intelligence system 1 may directly communicate with each other, or some may directly communicate with each other. In particular, the artificial intelligence device 100 or the IoT device 600 included in the artificial intelligence system 1 may directly or indirectly communicate with each other.
  • Two devices communicate indirectly means that the two devices communicate through at least one or more third devices (eg, artificial intelligence device 100, artificial intelligence server 200, or Internet of Things device 600).
  • third devices eg, artificial intelligence device 100, artificial intelligence server 200, or Internet of Things device 600.
  • direct communication between the two devices may mean that the two devices directly communicate with each other through or without a communication-only device (eg, a base station, a router, etc.).
  • FIG. 6 (a) and (b) are artificial intelligence systems including a first artificial intelligence device 100_1, a second artificial intelligence device 100_2, an artificial intelligence server 200, and an IoT device 600 ( 1)
  • FIG. 6C shows an artificial intelligence system 1 including a first artificial intelligence device 100_1 , a second artificial intelligence device 100_2 , and an IoT device 600 .
  • the first artificial intelligence device 100_1 , the second artificial intelligence device 100_2 , the artificial intelligence server 200 and the IoT device 600 may directly communicate with each other. have.
  • the first artificial intelligence device 100_1 , the artificial intelligence server 200 and the IoT device 600 may directly communicate with each other, and the second artificial intelligence device 100_2 ) may directly communicate with the first artificial intelligence device 100_1. Accordingly, the second artificial intelligence device 100_2 may communicate with the IoT device 600 only through the first artificial intelligence device 100_1 .
  • the first artificial intelligence device 100_1 may communicate directly with the second artificial intelligence device 100_2 and the Internet of Things device 600, and the second artificial intelligence device 100_2 ( 100_2 may directly communicate with the first artificial intelligence device 100_1 , and the IoT device 600 may directly communicate with the first artificial intelligence device 100_1 . Accordingly, the second artificial intelligence device 100_2 and the IoT device 600 may indirectly communicate with each other through the first artificial intelligence device 100_1 .
  • the artificial intelligence device 100 or the IoT device 600 included in the artificial intelligence system 1 may communicate directly or indirectly with each other.
  • the artificial intelligence device 100 included in the artificial intelligence system 1 performs pairing between devices through communication with another artificial intelligence device 100 or the Internet of Things device 600, and provides information about the interlocked devices. information can be stored. And, when the artificial intelligence device 100 is connected to the artificial intelligence server 200 , the artificial intelligence device 100 may transmit information on the interlocked devices to the artificial intelligence server 200 .
  • the information on the companion devices may include at least one or more of device identification information, a communication method, and a companion platform for the devices that are interworking with each other.
  • Information on companion devices may be stored in the form of a table, which may be referred to as a pairing information table.
  • the interworking information table may be stored in the memory 170 of the artificial intelligence device 100 or the memory 230 of the artificial intelligence server 200 .
  • the device identification information may include a device serial number corresponding to each device (such as an artificial intelligence device or an IoT device).
  • the communication method refers to a method of communicating between interlocked devices, and may include Bluetooth, Wi-Fi, cellular network, Ethernet, infrared communication, and the like.
  • the interworking platform may mean a service platform or a command platform used to interact between interlocked devices, and may include a value indicating each platform, an API list, a grammar rule, and the like.
  • the linkage information table for the first artificial intelligence device 100_1 shown in FIG. 6B may include linkage information of the first artificial intelligence device 100_1.
  • the first item of the interworking information table for the first artificial intelligence device 100_1 shown in FIG. 6B is the interworking between the first artificial intelligence device 100_1 and the second artificial intelligence device 100_2. information
  • the second item may be interworking information between the first artificial intelligence device 100_1 and the IoT device 600 .
  • the third item of the interworking information table for the first artificial intelligence device 100_1 shown in FIG. 6(b) may be interworking information between the first artificial intelligence device 100_1 and the artificial intelligence server 200 have.
  • the artificial intelligence server 200 may receive the interworking information table from the connected artificial intelligence device 100 and manage the interworking information table received from several artificial intelligence devices 100 .
  • the artificial intelligence device 100 may share their interworking information table among connected devices.
  • the second artificial intelligence device 100_2 associates its own interworking information table (the second interworking information table) with the interlocked first artificial intelligence device 100_1 ), and the first artificial intelligence device 100_1 has its own interworking information table (the first interworking information table) as well as the interworking information table (second interworking information table) received from the second artificial intelligence device 100_2. ) can be stored and managed.
  • the artificial intelligence device 100 when the artificial intelligence device 100 needs to connect with a target device (eg, another artificial intelligence device 100, artificial intelligence server 200, or Internet of Things device 600, etc.) to perform a specific operation , can set a connection path based on at least a part of its own interworking information table or interworking information table received from another device, generate a command for performing a specific operation in consideration of the determined connection path, and according to the determined connection path A specific operation can be performed by transmitting the generated command to the target device.
  • a target device eg, another artificial intelligence device 100, artificial intelligence server 200, or Internet of Things device 600, etc.
  • the artificial intelligence device 100 included in the artificial intelligence system 1 does not share its interworking information table with other artificial intelligence devices 100 or IoT devices 600, Only the artificial intelligence server 200 may share its own interworking information table. In this case, the artificial intelligence device 100 queries another device whether it is possible to connect to the desired target device, and receives connectivity information or a connection path from the other device. of interworking information table can be used indirectly.
  • the artificial intelligence device 100 when the artificial intelligence device 100 needs to connect with a target device (eg, another artificial intelligence device 100, artificial intelligence server 200, or Internet of Things device 600, etc.) to perform a specific operation , can set a connection path based on at least a part of its own interworking information table and connectivity information received from other interworking devices, generate a command for performing a specific operation in consideration of the determined connection path, and determine the connection path
  • a target device eg, another artificial intelligence device 100, artificial intelligence server 200, or Internet of Things device 600, etc.
  • the generated command may include transmitting device information and receiving device information.
  • the via-generated command may further include via device information.
  • the transmitting device refers to the artificial intelligence device 100 that generates a command
  • the receiving device refers to a target device that performs a specific operation or a destination device that receives the generated command and performs the operation can do.
  • the artificial intelligence device 100 may receive the user's spoken voice, determine the intention of the received user's uttered voice, and determine the operation with the target device or the receiving device, and a connection path to the receiving device using the interworking information table may be determined, and a command for performing an operation in the target device may be generated and transmitted based on the determined connection path and the determined operation.
  • the user's spoken voice may include a starting word for calling the transmitting device, a name or alias indicating the receiving device, and a command indicating an operation to be performed by the receiving device.
  • the starting word for calling the transmitting device may be a name or an alias indicating the transmitting device, or may be a starting word set in the voice recognition platform installed in the transmitting device or used by the transmitting device.
  • FIG. 7 is an operation flowchart illustrating a method of providing a device control function based on interworking between devices according to an embodiment of the present disclosure.
  • FIG. 7 illustrates an artificial intelligence device 100 showing another device (eg, another artificial intelligence device 100 or an IoT device (eg, another artificial intelligence device 100) in order to provide a device control function based on interworking between devices according to an embodiment of the present disclosure. 600))) and is an operation flowchart showing a method of interworking.
  • another device eg, another artificial intelligence device 100 or an IoT device (eg, another artificial intelligence device 100) in order to provide a device control function based on interworking between devices according to an embodiment of the present disclosure. 600)
  • the processor 180 of the artificial intelligence device 100 enters the device interworking mode ( S701 ).
  • the device interworking mode may mean a mode in which the artificial intelligence device 100 attempts to link with another artificial intelligence device 100 or the IoT device 600 . Entering the device interworking mode may mean that the device interworking mode is activated.
  • the processor 180 may enter the device interworking mode when a device interworking application is executed or a setting item for device interworking is entered.
  • the processor 180 of the artificial intelligence device 100 searches for interoperable devices through the communication unit 110 (S703).
  • Searching for interoperable devices may mean detecting an interworking request signal output from another device by using a communication technology available for interworking in the communication unit 110 , and transmitting the interworking request signal through the communication unit 110 . It may mean outputting and detecting an interworking request signal output from another device in response thereto.
  • the processor 180 of the artificial intelligence device 100 interworks with the found interoperable device (S705).
  • the processor 180 When a plurality of interoperable devices are found, the processor 180 outputs a pairable device list including a plurality of interoperable devices through the display unit 151, and the user's input through the input unit 120 It can be linked with the device selected by input.
  • the interworking device may be referred to as a target device.
  • the processor 180 When one interlockable device is found, the processor 180 outputs a list of interlockable devices including one interlockable device through the display unit 151, or a notification asking whether to interwork with one found interlockable device. may be output, and may be interlocked with a searchable interoperable device based on a user input through the input unit 120 .
  • the processor 180 may acquire identification information, device name information, device type information, communication address information, and the like of the interworking device in the device interworking process.
  • the identification information of the interworking device may include a serial number of the interworking device.
  • the communication address information may include an IP address (Internet Protocol Address), a MAC address (Media Access Control Address), a Bluetooth address, and the like.
  • the processor 180 of the artificial intelligence device 100 sets the name or nickname of the interworking device (S707).
  • the step (S707) of setting the name or nickname of the interlocked device may be selectively performed.
  • the name or nickname of the linked device may be set based on a user's input through the input unit 130 , and the user's input may include text or spoken voice.
  • the processor 180 of the artificial intelligence device 100 updates the pairing information table (S709).
  • the interworking information table may include identification information, name, nickname, type information, communication method, interworking platform, and the like of the interworking device.
  • the interworking information table may include information between interworking devices.
  • the interworking information table may include interworking information on interworking devices, and the processor 180 may update the interworking information table by adding interworking information on a newly interworking device to the interworking information table.
  • the processor 180 of the artificial intelligence device 100 may transmit the updated interworking information table to the artificial intelligence server 200 or the interworking device through the communication unit 110 .
  • the processor 180 of the artificial intelligence device 100 may receive the interworking information table of the other interworking device from the artificial intelligence server 200 or the interworking device through the communication unit 110 .
  • the device interworking method does not include a process of linking a user's account with a device, but only includes a process of linking between devices. Accordingly, in an embodiment of the present disclosure, there is an advantage that interworking between devices is possible without being dependent on a specific user by interworking between devices.
  • the order of the steps shown in FIG. 7 is merely an example, and the present disclosure is not limited thereto. That is, in an embodiment, the order of some of the steps shown in FIG. 7 may be reversed to be performed. Also, in an embodiment, some of the steps shown in FIG. 7 may be performed in parallel. Also, only some of the steps shown in FIG. 7 may be performed.
  • FIG. 7 shows only one cycle of a method in which the artificial intelligence device 100 interworks with other devices, and the present disclosure is not limited thereto. That is, the steps shown in FIG. 7 may be repeatedly performed, and accordingly, the artificial intelligence device 100 may interwork with several devices.
  • FIG. 8 is a diagram illustrating a device interworking interface for providing information on an interworking device according to an embodiment of the present disclosure.
  • the processor 180 of the artificial intelligence device 100 may provide a device interworking interface that provides information on a paired device through the display unit 151 , and the device interworking interface may include a paired device list 811 indicating a currently paired device.
  • the processor 180 may provide a device interworking interface including an interworking device list 811 indicating the interworking device (FIG. 8(a)) )).
  • the processor 180 provides a notification 821 indicating that there is no interworking device or a device interworking interface including an empty list of interworking devices It can be done (FIG. 8 (b)).
  • FIG. 9 is a diagram illustrating a device interworking interface interworking with a new device according to an embodiment of the present disclosure.
  • the processor 180 of the artificial intelligence device 100 may provide a device interworking interface that interworks with a new device through the display unit 151 , and the device interworking interface includes a pairable device list. list 911), a name setting interface 921 of an interlocked device, and a list 931 of an interlocked device may be included.
  • the processor 180 may search for interoperable devices and provide a device interworking interface including a list of interoperable devices 911 indicating the found interoperable devices (FIG. 9(a)) )). In addition, the processor 180 may interwork with at least one of the interworking capable devices included in the interworking possible device list 911 based on a user input through the input unit 120 .
  • the processor 180 may provide a device interworking interface including a name setting interface 921 for setting a name of an interworking device (FIG. 9(b)).
  • the set name of the interlocked device may mean a nickname for calling the interlocked device by voice.
  • a device named “my house air conditioner 2” may be set to “home air conditioner”, and in this case, the user can use the voice "My house air conditioner 2" can be specified by calling it "home air conditioner”.
  • the processor 180 may provide a device interworking interface including a linked device list 931 indicating the interworking device (FIG. 9(c)).
  • interworking between the artificial intelligence device 100 and other devices may be performed through a terminal connected to the artificial intelligence device 100, and a device interworking interface may be provided on a display unit provided in the terminal. have.
  • the artificial intelligence device 100 may perform an operation such as setting whether to interwork with another device or setting a nickname of a device to be interlocked based on a user input through the input unit of the terminal.
  • FIG. 10 is an operation flowchart illustrating a method of providing a device control function based on interworking between devices according to an embodiment of the present disclosure.
  • the processor 180 of the artificial intelligence device 100 receives a user's device use command through the input unit 120 ( S1001 ).
  • the device use command may include a command for controlling an operation or state of the target device (or the receiving device) or a command for using a function of the target device.
  • the device use command may be a command for controlling the operation of power or operation of the air conditioner, or a command for requesting state information of the air conditioner.
  • the device use command may also be referred to as a device use request.
  • the device use command may be input in the form of a user's spoken voice, or may be input in the form of a touch or text on the device use interface.
  • the processor 180 of the artificial intelligence device 100 obtains the transmitting device information, the receiving device information, and the operation information by using the device use command (S1003).
  • the processor 180 may obtain reception device information and operation information based on the device use command. Also, since the artificial intelligence device 100 functions as a transmission device, the processor 180 may obtain transmission device information.
  • the transmitting device information is information specifying the artificial intelligence device 100 as a transmitting device, and may include a name or a serial number of the artificial intelligence device 100 .
  • Receiving device information is information for specifying a receiving device (or target device) performing an operation, and may include a name, title, nickname, serial number, and the like of the receiving device.
  • the operation information may indicate an operation to be performed by the receiving device (or the target device).
  • the processor 180 of the artificial intelligence device 100 converts the spoken voice into text directly or through the artificial intelligence server 200, and a natural language processing (NLP) technique for the converted text can be used to determine the user's intention.
  • NLP natural language processing
  • the processor 180 of the artificial intelligence device 100 determines a connection path to the receiving device using the interworking information table (S1005).
  • the connection path to the receiving device may mean a path for the artificial intelligence device 100 as a transmitting device to connect to the receiving device (or target device). If the artificial intelligence device 100 directly interworks with the reception device, the connection path may include only the artificial intelligence device 100 as a transmission device and the reception device. On the other hand, when the artificial intelligence device 100 is interlocked with a specific intermediate device and the specific intermediate device is interlocked with the receiving device, the connection path sequentially connects the artificial intelligence device 100 as the transmitting device, the intermediate device, and the receiving device. , and this connection path may mean that the artificial intelligence device 100 may be connected to the receiving device through an intermediate device.
  • the processor 180 may identify interworking devices by using the interworking information table stored in the memory 170 , and may determine a connection path based thereon.
  • the memory 170 may store only the artificial intelligence device 100's own interworking information table (hereinafter, the first interworking information table), but also the interworking information table (hereinafter, the second interworking information table) of the interworking devices received from the interworking devices. interworking information table) can be additionally stored.
  • the first interworking information table hereinafter, the first interworking information table
  • the second interworking information table hereinafter, the second interworking information table
  • the processor 180 may determine whether a receiving device is included among directly interlocked devices using its own interworking information table (hereinafter, referred to as a first interworking information table) stored in the memory 170 . If the receiving device is included among the directly interworking devices, the processor 180 may determine a connection path. If the receiving device is not included among the directly interlocked devices, the processor 180 transmits through the communication unit 110 to the devices included in the first interworking information table, that is, directly interlocked devices from the transmitting device to the receiving device. You can request a connection path to In addition, when a connection path is received from among directly interlocked devices, the processor 180 may determine a connection path based on the received connection path. Here, directly interlocked devices may determine a connection path in the same way as the artificial intelligence device 100 .
  • a first interworking information table hereinafter, referred to as a first interworking information table
  • the processor 180 may request a connection path to the receiving device from the artificial intelligence server 200 through the communication unit 110 .
  • the processor 260 of the artificial intelligence server 200 calculates a connection path from the transmitting device to the receiving device using the interworking information table received from each device (such as the artificial intelligence device 100 or the Internet of Things 600). is determined, and the determined connection path may be transmitted to the artificial intelligence device 100 through the communication unit 210 .
  • the processor 180 uses its own interworking information table (first interworking information table) stored in the memory 170 and interworking information tables (second interworking information table) of other devices from the transmitting device to the receiving device You can determine the connection path to
  • the processor 180 of the artificial intelligence device 100 determines whether a connection path to the receiving device exists (S1007).
  • the processor 180 may determine that the connection path does not exist.
  • step S1007 when a connection path to the receiving device does not exist, the processor 180 of the artificial intelligence device 100 outputs a notification that the device use command cannot be performed through the output unit 150 . do (S1009).
  • connection path to the receiving device When the connection path to the receiving device does not exist, it means that the connection path to the receiving device cannot be determined, so the receiving device (or target device) to perform the device use command by the user input is not specified. can mean Accordingly, since the processor 180 did not find a target for performing the device use command, the processor 180 may output a notification indicating that the device use command cannot be executed and end the procedure.
  • step S1007 if there is a connection path to the receiving device, the processor 180 of the artificial intelligence device 100 generates a command for performing an operation corresponding to the device use command in the receiving device (S1011) ).
  • the generated command may include transmitting device information, receiving device information, and operation information. Furthermore, the generated command may further include a connection path.
  • the processor 180 of the artificial intelligence device 100 transmits the generated command according to the connection path determined through the communication unit 110 (S1013).
  • the processor 180 may transmit the generated command to the receiving device through the communication unit 110 . If, in the connection path, the artificial intelligence device 100 as the transmitting device is connected to the receiving device through at least one intermediate device, the processor 180 performs the artificial intelligence device 100 on the connection path through the communication unit 110 . It is possible to transmit the generated command to an intermediate device directly interlocked with .
  • the order of the steps shown in FIG. 10 is merely an example, and the present disclosure is not limited thereto. That is, in an embodiment, the order of some of the steps shown in FIG. 10 may be changed to be performed. Also, in an embodiment, some of the steps shown in FIG. 10 may be performed in parallel. Also, only some of the steps shown in FIG. 10 may be performed.
  • FIG. 10 shows only one cycle of a method in which the artificial intelligence device 100 provides a device control function, and the present disclosure is not limited thereto. That is, the steps shown in FIG. 10 may be repeatedly performed, and accordingly, the artificial intelligence device 100 may perform the control of the external device several times.
  • 11 is an operation flowchart illustrating a method of providing a device control function based on interworking between devices according to an embodiment of the present disclosure.
  • the processor 180 of the artificial intelligence device 100 receives a user's device use command through the input unit 120 ( S1101 ). This step corresponds to the step S1001 of receiving the device use command shown in FIG. 10 .
  • the processor 180 of the artificial intelligence device 100 obtains the transmitting device information, the receiving device information, and the operation information by using the device use command (S1103).
  • This step corresponds to the step S1103 of obtaining the transmitting device information, the receiving device information, and the operation information shown in FIG. 10 .
  • the processor 180 of the artificial intelligence device 100 generates a command for performing an operation corresponding to the device use command in the receiving device (S1105).
  • the generated command may include transmitting device information, receiving device information, and operation information. And, the generated command may include a command to transmit the generated command to the receiving device.
  • the processor 180 of the artificial intelligence device 100 transmits the generated command to the artificial intelligence server 200 through the communication unit 110 (S1107).
  • the artificial intelligence server 200 checks the receiving device from the command received from the artificial intelligence device 100, determines whether the artificial intelligence device 100 as a transmitting device has a connection path with the receiving device, and there is a connection path In this case, the received command may be transmitted to the confirmed receiving device.
  • the order of the steps shown in FIG. 11 is only an example, and the present disclosure is not limited thereto. That is, according to an embodiment, the order of some of the steps shown in FIG. 11 may be changed to be performed. Also, in an embodiment, some of the steps shown in FIG. 11 may be performed in parallel. Also, only some of the steps shown in FIG. 11 may be performed.
  • FIG. 11 shows only one cycle of a method in which the artificial intelligence device 100 provides a device control function, and the present disclosure is not limited thereto. That is, the steps shown in FIG. 11 may be repeatedly performed, and accordingly, the artificial intelligence device 100 may perform the control of the external device several times.
  • FIG. 12 is a diagram illustrating an example of an interworking information table according to an embodiment of the present disclosure.
  • a name 1211 of a first shared device 1210 an alias 1212 of the first linked device 1210 , and a first linked device 1210 are shown.
  • identification information 1213 a name 1221 of a second shared device 1220 , an alias 1222 of the second paired device 1220 , and a name of the second linked device 1220 .
  • Identification information 1223 a communication method 1230 between interworking devices, and an interworking platform 1240 between interworking devices may be included.
  • 12 may be an interworking information table of the first artificial intelligence device.
  • the first artificial intelligence device and the second artificial intelligence device are linked on the first platform, and the first artificial intelligence device and the second artificial intelligence device may communicate via Wi-Fi. .
  • the first artificial intelligence device and the third artificial intelligence device are linked on the first platform, and the first artificial intelligence device and the third artificial intelligence device may communicate via Wi-Fi. .
  • the first artificial intelligence device and the IoT device are linked on the second platform, and the first artificial intelligence device and the IoT device may communicate through Bluetooth Low Energy (BLE).
  • BLE Bluetooth Low Energy
  • the first artificial intelligence device and the artificial intelligence server are linked on the first platform, and the first artificial intelligence device and the artificial intelligence server can communicate through Ethernet or Wi-Fi. have.
  • the interworking information table may be updated in a situation such as when a new device is interlocked or an existing interworking device is disconnected.
  • 13 to 15 are diagrams illustrating artificial intelligence systems according to various embodiments of the present disclosure.
  • the artificial intelligence system 1300 is a refrigerator 1310 as a first artificial intelligence device, a TV 1320 as a second artificial intelligence device, and an air conditioner 1330 and an artificial intelligence server 1340 as a third artificial intelligence device. ) may be included.
  • the refrigerator 1310 may interwork with the TV 1320 and the artificial intelligence server 1340 .
  • the TV 1320 may be linked with the refrigerator 1310 , the air conditioner 1330 , and the artificial intelligence server 1340 .
  • the air conditioner 1330 may interwork with the TV 1320 and the artificial intelligence server 1340 . That is, the refrigerator 1310 is indirectly connected to the air conditioner 1330 through the TV 1320 .
  • interworking information tables 1311 , 1321 , 1331 stored in the respective devices 1310 , 1320 , 1330 , and 1340 are shown in FIGS. 13 to 15 , the first device among several items included in the illustrated interworking information table. Only the nickname of the second device and the nickname of the second device were expressed. That is, the interworking information table actually stored in each device may further include not only the items shown in FIGS. 13 to 15 , but also the name of each device, identification information, interworking platform, communication method, and the like.
  • the user 1360 may input a device use command for turning on the power of the air conditioner 1330 by uttering “Turn on the air conditioner” 1361 with respect to the refrigerator 1310 .
  • the refrigerator 1310 When the refrigerator 1310 obtains the user 1360's spoken voice 1361, it analyzes the intention to determine the transmitting device as the refrigerator 1310, the receiving device information as the keyword “air conditioner”, and the operation information as “power on”. have. Since the refrigerator 1310 has not yet confirmed whether the keyword "air conditioner” for the receiving device obtained from the user's spoken voice points to the air conditioner 1330 included in the artificial intelligence system 1300, the receiving device information is only a keyword " It can be determined only in the form of "air conditioner”. For example, the refrigerator 1310 may determine the "intent” item as "power on” in the intention information, and determine the "device keyword", which is a sub item of the "slot” item, as "air conditioner” as additional information. Since a device corresponding to "air conditioner” has not yet been identified, it is unclear whether "air conditioner” is a name or a nickname of an interlocked device, and therefore "air conditioner” may be classified as a device keyword item.
  • each of the devices 1310 , 1320 , 1330 , and 1340 does not transmit its own interworking information table (the first interworking information table) to other devices.
  • the refrigerator 1310 stores only the interworking information table 1311 of the refrigerator 1310
  • the TV 1320 stores only the interworking information table 1321 of the TV 1320
  • the air conditioner 1330 may store only the interworking information table 1331 of the air conditioner 1330
  • the artificial intelligence server 1340 may store only the interworking information table 1341 of the artificial intelligence server 1340 .
  • the refrigerator 1310 determines whether a device corresponding to the keyword “air conditioner” exists among devices directly interlocked based on the interworking information table 1311 . However, since the refrigerator 1310 is not directly interlocked with the air conditioner 1330 , the refrigerator 1310 is a keyword to the TV 1320 or artificial intelligence server 1340 as an interlocked device included in the interworking information table 1311 . You can request a connection path to the device corresponding to the "air conditioner”.
  • the TV 1320 is interlocked with the air conditioner 1330 based on the interworking information table 1321, and the nickname of the air conditioner 1330 is "air conditioner", so the device corresponding to the keyword "air conditioner” is used as the air conditioner 1330. can decide In addition, the TV 1320 may determine a connection path to the air conditioner 1330 as “TV->air conditioner” and transmit it to the refrigerator 1310 .
  • the information transmitted by the TV 1320 to the refrigerator 1310 may further include information on the air conditioner 1330 as a receiving device and information on the TV 1320 as an intermediate device as well as a connection path.
  • the refrigerator 1310 recognizes that the device corresponding to the keyword "air conditioner” is the air conditioner 1330 based on the information received from the TV 1320, and sets the connection path to the air conditioner 1330 as "refrigerator -> TV -> Air Conditioning" can be decided.
  • the refrigerator 1310 may generate a command to turn on the power of the air conditioner 1330 in consideration of the determined connection path, and transmit the generated command to the TV 1320 according to the connection path.
  • the transmitted command may include information on the refrigerator 1310 as a transmitting device, information on the air conditioner 1330 as a receiving device, and “power on” as operation information.
  • the TV 1320 may transmit the command received from the refrigerator 1310 to the air conditioner 1330 based on a connection path included in the command received from the refrigerator 1310 or separately received from the refrigerator 1310 .
  • the air conditioner 1330 may perform an operation of turning on the power based on the received command.
  • the refrigerator 1310 may perform a device use command for the air conditioner 1330 that is not directly interlocked through the TV 1320 .
  • each device 1310 , 1320 , 1330 , and 1340 transmits its own interworking information table (a first interworking information table) to other devices.
  • a refrigerator 1310 , a TV 1320 , an air conditioner 1330 , and an artificial intelligence server 1340 share an interworking information table with each other, and an interworking information table 1411 including interworking information of various devices. , 1421, 1431, 1441) can be stored.
  • the refrigerator 1310 may determine whether a device corresponding to the keyword “air conditioner” exists among devices directly interlocked based on the interworking information table 1411 , and may determine that the device corresponding to the keyword “air conditioner” is the air conditioner 1330 . . Then, the refrigerator 1310 establishes a connection path from the refrigerator 1310 to the air conditioner 1330 based on the stored interlocking information table 1441 to "refrigerator -> TV -> air conditioner" and "refrigerator -> artificial intelligence server -> Air Conditioning" can be decided.
  • the refrigerator 1310 may determine the connection path as one of “refrigerator->TV->air conditioner” and “refrigerator->artificial intelligence server->air conditioner” based on a preset communication protocol or a user input. In addition, the refrigerator 1310 may generate a command to turn on the power of the air conditioner 1330 in consideration of the determined connection path, and transmit the generated command to the TV 1320 or the artificial intelligence server 1340 according to the connection path. .
  • the transmitted command may include information on the refrigerator 1310 as a transmitting device, information on the air conditioner 1330 as a receiving device, and “power on” as operation information.
  • the TV 1320 or the artificial intelligence server 1340 transmits the command received from the refrigerator 1310 to the air conditioner 1330 based on a connection path included in the command received from the refrigerator 1310 or separately received from the refrigerator 1310 . can be sent to In addition, the air conditioner 1330 may perform an operation of turning on the power based on the received command.
  • the refrigerator 1310 may perform a device use command for the air conditioner 1330 that is not directly linked through the TV 1320 or the artificial intelligence server 1340 .
  • each device 1310 , 1320 , 1330 except for the artificial intelligence server 1340 transmits its own interworking information table (the first interworking information table) to the artificial intelligence server 1340 .
  • the refrigerator 1310 , the TV 1320 , and the air conditioner 1330 share their interworking information tables with the artificial intelligence server 1340 , and the artificial intelligence server 1340 includes devices interworking with them.
  • a linkage information table 1541 including linkage information of (1310, 1320, 1330) may be stored.
  • the refrigerator 1310 stores only the interlocking information table 1511 of the refrigerator 1310
  • the TV 1320 stores only the interlocking information table 1521 of the TV 1320
  • the air conditioner 1330 stores the air conditioner 1330 .
  • the interworking information table 1531 can be stored.
  • the refrigerator 1310 determines whether there is a device corresponding to the keyword “air conditioner” among the devices directly linked based on the interworking information table 1511 . However, since the refrigerator 1310 is not directly interlocked with the air conditioner 1330 , the refrigerator 1310 is a keyword to the TV 1320 or artificial intelligence server 1340 as an interlocked device included in the interworking information table 1311 . You can request a connection path to the device corresponding to the "air conditioner”.
  • the artificial intelligence server 1340 may determine a connection path with the receiving device even if it does not communicate with the other devices 1310 , 1320 , and 1330 .
  • the TV 1320 may set a connection path and serve as an intermediate device that transmits a command from the refrigerator 1310 to the air conditioner 1330 .
  • the artificial intelligence server 1340 may determine that the nickname of the air conditioner 1330 is “air conditioner” based on the interworking information table 1541 , and determine the device corresponding to the keyword “air conditioner” as the air conditioner 1330 . And, the artificial intelligence server 1340 can confirm that each of the TV 1320 and the artificial intelligence server 1340 is connected to the refrigerator 1310 and the air conditioner 1330 based on the interworking information table 1541, Based on the connection path to the air conditioner 1330 "refrigerator -> TV -> air conditioner" and "refrigerator -> artificial intelligence server -> air conditioner" may be determined. In addition, the artificial intelligence server 1340 may transmit the two determined connection paths to the refrigerator 1310 . The information transmitted by the artificial intelligence server 1340 to the refrigerator 1310 may further include information on the air conditioner 1330 as a receiving device, information on the TV 1320 as an intermediate device, etc., as well as a connection path. .
  • the refrigerator 1310 recognizes that the device corresponding to the keyword “air conditioner” is the air conditioner 1330 based on the information received from the TV 1320, and establishes a connection path based on a preset communication protocol or user input. Refrigerator->TV->Air Conditioning" or "Refrigerator->AI Server->Air Conditioning". In addition, the refrigerator 1310 may generate a command to turn on the power of the air conditioner 1330 in consideration of the determined connection path, and transmit the generated command to the TV 1320 or the artificial intelligence server 1340 according to the connection path. .
  • the transmitted command may include information on the refrigerator 1310 as a transmitting device, information on the air conditioner 1330 as a receiving device, and “power on” as operation information.
  • the TV 1320 or the artificial intelligence server 1340 transmits the command received from the refrigerator 1310 to the air conditioner 1330 based on a connection path included in the command received from the refrigerator 1310 or separately received from the refrigerator 1310 . can be sent to In addition, the air conditioner 1330 may perform an operation of turning on the power based on the received command.
  • the refrigerator 1310 does not determine a connection path, and, with respect to the artificial intelligence server 1340 , the information on the refrigerator 1310 as the transmitting device information, the keyword “air conditioner” as the receiving device information, and the operation A command including “power on” may be generated as information, and the generated command may be transmitted to the artificial intelligence server 1340 .
  • the artificial intelligence server 1340 determines the receiving device as the air conditioner 1330 based on the receiving device information included in the command received from the refrigerator 1310, and includes “power on” as the operation information to the air conditioner 1330 . command can be sent.
  • the air conditioner 1330 may perform an operation of turning on the power based on the received command.
  • the refrigerator 1310 may perform a device use command for the air conditioner 1330 that is not directly linked through the TV 1320 or the artificial intelligence server 1340 .
  • the above-described method may be implemented as computer-readable code in a medium in which a program is recorded.
  • the computer-readable medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is this.

Abstract

본 개시의 일 실시 예는 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치에 있어서, 통신부; 연동된 장치에 대한 연동 정보를 포함하는 연동 정보 테이블을 저장하는 메모리; 및 장치 연동 모드에 진입하면 상기 통신부를 통해 연동 가능한 장치(pairable device)를 검색하고, 상기 통신부를 통해 검색된 연동 가능한 장치 중에서 대상 장치와 연동하고, 상기 대상 장치에 대한 연동 정보를 상기 연동 정보 테이블에 추가하여 상기 연동 정보 테이블을 갱신하는 프로세서를 포함하는, 인공 지능 장치를 제공한다.

Description

장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법
본 개시(disclosure)는 장치간 연동에 기반하여 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법에 관한 것이다.
최근 인공 지능에 기반한 기술을 탑재하여 다양한 기능을 제공하는 인공 지능 장치들이 많이 보급되어 일상 생활의 편의성을 크게 증대시키고 있다. 이러한 인공 지능 장치들은 상황 정보나 사용 기록을 고려하여 결정한 동작을 제공할 수도 있고, 음성 인식이나 영상 인식에 따라 다양한 기능을 제공할 수 있다. 사용자가 이용하는 인공 지능 장치가 늘어남에 따라, 여러 인공 지능 장치들을 연계하여 관리 및 제어할 필요성이 증가하고 있다.
그러나, 기존에는 사용자의 계정에 인공 지능 장치들을 등록함으로써 복수의 인공 지능 장치들을 연계하는 서비스만을 제공하고 있을 뿐이다. 이러한 계정 중심 연계 서비스는 복수의 사용자가 존재하는 경우에 연계 서비스의 이용을 위하여 사용자별로 구분하여 등록해야하는 불편함이 있다. 만약, 인공 지능 장치들을 장치 간 연동에 기초하여 연계하게 된다면, 여러 사용자들에 대하여도 장치 제어 서비스를 제공할 수 있다.
본 개시는 장치 간 연동에 기초하여 직접적으로 또는 간접적으로 연동된 장치를 제어하는 기능을 제공하는 인공 지능 장치 및 그 방법을 제공하고자 한다.
본 개시의 일 실시 예는 장치 연동 모드에 진입하면 연동 가능한 장치를 검색하고, 연동 가능한 장치 중에서 대상 장치와 연동하고, 대상 장치에 대한 연동 정보를 연동 정보 테이블에 추가함으로써 연동 정보 테이블을 갱신하는 인공 지능 장치 및 그 방법을 제공한다.
또한, 본 개시의 일 실시 예는 연동 정보 테이블을 연동된 장치 또는 인공 지능 서버와 공유하는 인공 지능 장치 및 그 방법을 제공한다.
또한, 본 개시의 일 실시 예는 장치 이용 명령을 수신하면 장치 이용 명령에 대응하는 명령어를 송신하는 송신 장치에 대한 정보, 명령어를 수신 및 수행하는 수신 장치에 대한 정보 및 동작 명령을 결정하고, 송신 장치에서 수신 장치까지에 대한 연결 경로를 결정하고, 연결 경로를 고려하여 장치 이용 명령에 대응하는 명령어를 생성하고, 연결 경로에 따라 명령어를 전송하는 인공 지능 장치 및 그 방법을 제공한다.
또한, 본 개시의 일 실시 예는 메모리에 저장된 다른 장치의 연동 정보 테이블을 이용하여 연결 경로를 결정하는 인공 지능 장치 및 그 방법을 제공한다.
또한, 본 개시의 일 실시 예는 인공 지능 서버에 연결 경로를 요청하여 연결 경로를 결정하는 인공 지능 장치 및 그 방법을 제공한다.
또한, 본 개시의 일 실시 예는 연동 정보 테이블을 이용하여 수신 장치가 직접 연동된 장치인지 판단하고, 수신 장치가 직접 연동된 장치가 아닌 경우에, 직접 연동된 장치에 수신 장치까지에 대한 연결 경로를 요청하고, 직접 연동된 장치로부터 수신한 연결 경로에 기초하여 연결 경로를 결정하는 인공 지능 장치 및 그 방법을 제공한다.
본 개시의 다양한 실시 예에 따르면, 사용자 계정 정보를 이용하지 않고 장치 간에 연동을 수행함으로써, 사용자에 독립적인 장치 연동 시스템을 구축할 수 있다.
그리고, 본 개시의 다양한 실시 예에 따르면, 인공 지능 서버를 통해 또는 직접 연동된 장치를 통해 간접적으로 연동된 장치에 대한 동작을 제어할 수 있다.
그리고, 본 개시의 다양한 실시 예에 따르면, 다른 장치의 연동 정보 테이블을 저장하지 않더라도 간접적으로 연동된 장치를 파악함으로써, 장치 연동 정보가 공유됨에 따른 보안 문제를 줄일 수 있다.
도 1은 본 개시의 일 실시 예에 따른 AI 장치를 나타낸 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 AI 서버를 나타낸 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 AI 시스템을 나타낸 도면이다.
도 4는 본 개시의 일 실시 예에 따른 AI 장치를 나타낸 블록도이다.
도 5는 본 개시의 일 실시 예에 따른 인공 지능 시스템을 나타낸 블록도이다.
도 6은 본 개시의 여러 실시 예들에 따른 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 시스템들을 나타낸 도면이다.
도 7은 본 개시의 일 실시 예에 따른 장치 간 연동에 기초한 장치 제어 기능을 제공하는 방법을 나타낸 동작 흐름도이다.
도 8은 본 개시의 일 실시 예에 따른 연동된 장치에 대한 정보를 제공하는 장치 연동 인터페이스를 나타낸 도면이다.
도 9는 본 개시의 일 실시 예에 따른 새로운 장치와 연동하는 장치 연동 인터페이스를 나타낸 도면이다.
도 10은 본 개시의 일 실시 예에 따른 장치 간 연동에 기초한 장치 제어 기능을 제공하는 방법을 나타낸 동작 흐름도이다.
도 11은 본 개시의 일 실시 예에 따른 장치 간 연동에 기초한 장치 제어 기능을 제공하는 방법을 나타낸 동작 흐름도이다.
도 12는 본 개시의 일 실시 예에 따른 연동 정보 테이블의 예시를 나타낸 도면이다.
도 13 내지 15는 본 개시의 다양한 실시 예들에 따른 인공 지능 시스템들을 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 '모듈' 및 '부'는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
<인공 지능(AI: Artificial Intelligence)>
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
<로봇(Robot)>
로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
<자율 주행(Self-Driving)>
자율 주행은 스스로 주행하는 기술을 의미하며, 자율 주행 차량은 사용자의 조작 없이 또는 사용자의 최소한의 조작으로 주행하는 차량(Vehicle)을 의미한다.
예컨대, 자율 주행에는 주행중인 차선을 유지하는 기술, 어댑티브 크루즈 컨트롤과 같이 속도를 자동으로 조절하는 기술, 정해진 경로를 따라 자동으로 주행하는 기술, 목적지가 설정되면 자동으로 경로를 설정하여 주행하는 기술 등이 모두 포함될 수 있다.
차량은 내연 기관만을 구비하는 차량, 내연 기관과 전기 모터를 함께 구비하는 하이브리드 차량, 그리고 전기 모터만을 구비하는 전기 차량을 모두 포괄하며, 자동차뿐만 아니라 기차, 오토바이 등을 포함할 수 있다.
이때, 자율 주행 차량은 자율 주행 기능을 가진 로봇으로 볼 수 있다.
<확장 현실(XR: eXtended Reality)>
확장 현실은 가상 현실(VR: Virtual Reality), 증강 현실(AR: Augmented Reality), 혼합 현실(MR: Mixed Reality)을 총칭한다. VR 기술은 현실 세계의 객체나 배경 등을 CG 영상으로만 제공하고, AR 기술은 실제 사물 영상 위에 가상으로 만들어진 CG 영상을 함께 제공하며, MR 기술은 현실 세계에 가상 객체들을 섞고 결합시켜서 제공하는 컴퓨터 그래픽 기술이다.
MR 기술은 현실 객체와 가상 객체를 함께 보여준다는 점에서 AR 기술과 유사하다. 그러나, AR 기술에서는 가상 객체가 현실 객체를 보완하는 형태로 사용되는 반면, MR 기술에서는 가상 객체와 현실 객체가 동등한 성격으로 사용된다는 점에서 차이점이 있다.
XR 기술은 HMD(Head-Mount Display), HUD(Head-Up Display), 휴대폰, 태블릿 PC, 랩탑, 데스크탑, TV, 디지털 사이니지 등에 적용될 수 있고, XR 기술이 적용된 장치를 XR 장치(XR Device)라 칭할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 AI 장치(100)를 나타낸 블록도이다.
이하에서, 인공 지능 장치(100)는 단말기라 칭할 수 있다.
AI 장치(100)는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
도 1을 참조하면, 인공 지능 장치(100)는 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 메모리(170) 및 프로세서(180) 등을 포함할 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치(100a 내지 100e)나 AI 서버(200) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth쪠), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 입력부(120)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
이때, 러닝 프로세서(130)는 AI 서버(200)의 러닝 프로세서(240)과 함께 AI 프로세싱을 수행할 수 있다.
이때, 러닝 프로세서(130)는 AI 장치(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(170), AI 장치(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(140)는 다양한 센서들을 이용하여 AI 장치(100) 내부 정보, AI 장치(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센싱부(140)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 출력부(150)에는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
메모리(170)는 AI 장치(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(170)는 입력부(120)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, AI 장치(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(180)는 AI 장치(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(180)는 러닝 프로세서(130) 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 AI 장치(100)의 구성 요소들을 제어할 수 있다.
이때, 프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
이때, 프로세서(180)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 AI 장치(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, AI 장치(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, AI 장치(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
도 2는 본 개시의 일 실시 예에 따른 AI 서버(200)를 나타낸 블록도이다.
도 2를 참조하면, AI 서버(200)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, AI 서버(200)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버(200)는 AI 장치(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
AI 서버(200)는 통신부(210), 메모리(230), 러닝 프로세서(240) 및 프로세서(260) 등을 포함할 수 있다.
통신부(210)는 AI 장치(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(230)는 모델 저장부(231)를 포함할 수 있다. 모델 저장부(231)는 러닝 프로세서(240)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 231a)을 저장할 수 있다.
러닝 프로세서(240)는 학습 데이터를 이용하여 인공 신경망(231a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 AI 서버(200)에 탑재된 상태에서 이용되거나, AI 장치(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(230)에 저장될 수 있다.
프로세서(260)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 AI 시스템(1)을 나타낸 도면이다.
도 3을 참조하면, AI 시스템(1)은 AI 서버(200), 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상이 클라우드 네트워크(10)와 연결된다. 여기서, AI 기술이 적용된 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 등을 AI 장치(100a 내지 100e)라 칭할 수 있다.
클라우드 네트워크(10)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(10)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다.
즉, AI 시스템(1)을 구성하는 각 장치들(100a 내지 100e, 200)은 클라우드 네트워크(10)를 통해 서로 연결될 수 있다. 특히, 각 장치들(100a 내지 100e, 200)은 기지국을 통해서 서로 통신할 수도 있지만, 기지국을 통하지 않고 직접 서로 통신할 수도 있다.
AI 서버(200)는 AI 프로세싱을 수행하는 서버와 빅 데이터에 대한 연산을 수행하는 서버를 포함할 수 있다.
AI 서버(200)는 AI 시스템(1)을 구성하는 AI 장치들인 로봇(100a), 자율 주행 차량(100b), XR 장치(100c), 스마트폰(100d) 또는 가전(100e) 중에서 적어도 하나 이상과 클라우드 네트워크(10)을 통하여 연결되고, 연결된 AI 장치들(100a 내지 100e)의 AI 프로세싱을 적어도 일부를 도울 수 있다.
이때, AI 서버(200)는 AI 장치(100a 내지 100e)를 대신하여 머신 러닝 알고리즘에 따라 인공 신경망을 학습시킬 수 있고, 학습 모델을 직접 저장하거나 AI 장치(100a 내지 100e)에 전송할 수 있다.
이때, AI 서버(200)는 AI 장치(100a 내지 100e)로부터 입력 데이터를 수신하고, 학습 모델을 이용하여 수신한 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성하여 AI 장치(100a 내지 100e)로 전송할 수 있다.
또는, AI 장치(100a 내지 100e)는 직접 학습 모델을 이용하여 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수도 있다.
이하에서는, 상술한 기술이 적용되는 AI 장치(100a 내지 100e)의 다양한 실시 예들을 설명한다. 여기서, 도 3에 도시된 AI 장치(100a 내지 100e)는 도 1에 도시된 AI 장치(100)의 구체적인 실시 예로 볼 수 있다.
<AI+로봇>
로봇(100a)은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇(100a)은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇(100a)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇(100a)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇(100a)은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇(100a)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇(100a)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇(100a)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇(100a)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(200) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇(100a)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇(100a)을 주행시킬 수 있다.
맵 데이터에는 로봇(100a)이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇(100a)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇(100a)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
<AI+자율주행>
자율 주행 차량(100b)은 AI 기술이 적용되어, 이동형 로봇, 차량, 무인 비행체 등으로 구현될 수 있다.
자율 주행 차량(100b)은 자율 주행 기능을 제어하기 위한 자율 주행 제어 모듈을 포함할 수 있고, 자율 주행 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다. 자율 주행 제어 모듈은 자율 주행 차량(100b)의 구성으로써 내부에 포함될 수도 있지만, 자율 주행 차량(100b)의 외부에 별도의 하드웨어로 구성되어 연결될 수도 있다.
자율 주행 차량(100b)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 자율 주행 차량(100b)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 동작을 결정할 수 있다.
여기서, 자율 주행 차량(100b)은 이동 경로 및 주행 계획을 결정하기 위하여, 로봇(100a)과 마찬가지로, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
특히, 자율 주행 차량(100b)은 시야가 가려지는 영역이나 일정 거리 이상의 영역에 대한 환경이나 객체는 외부 장치들로부터 센서 정보를 수신하여 인식하거나, 외부 장치들로부터 직접 인식된 정보를 수신할 수 있다.
자율 주행 차량(100b)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 자율 주행 차량(100b)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 주행 동선을 결정할 수 있다. 여기서, 학습 모델은 자율 주행 차량(100b)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 자율 주행 차량(100b)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(200) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
자율 주행 차량(100b)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 자율 주행 차량(100b)을 주행시킬 수 있다.
맵 데이터에는 자율 주행 차량(100b)이 주행하는 공간(예컨대, 도로)에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 가로등, 바위, 건물 등의 고정 객체들과 차량, 보행자 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 자율 주행 차량(100b)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 자율 주행 차량(100b)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
<AI+XR>
XR 장치(100c)는 AI 기술이 적용되어, HMD(Head-Mount Display), 차량에 구비된 HUD(Head-Up Display), 텔레비전, 휴대폰, 스마트 폰, 컴퓨터, 웨어러블 디바이스, 가전 기기, 디지털 사이니지, 차량, 고정형 로봇이나 이동형 로봇 등으로 구현될 수 있다.
XR 장치(100c)는 다양한 센서들을 통해 또는 외부 장치로부터 획득한 3차원 포인트 클라우드 데이터 또는 이미지 데이터를 분석하여 3차원 포인트들에 대한 위치 데이터 및 속성 데이터를 생성함으로써 주변 공간 또는 현실 객체에 대한 정보를 획득하고, 출력할 XR 객체를 렌더링하여 출력할 수 있다. 예컨대, XR 장치(100c)는 인식된 물체에 대한 추가 정보를 포함하는 XR 객체를 해당 인식된 물체에 대응시켜 출력할 수 있다.
XR 장치(100c)는 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, XR 장치(100c)는 학습 모델을 이용하여 3차원 포인트 클라우드 데이터 또는 이미지 데이터에서 현실 객체를 인식할 수 있고, 인식한 현실 객체에 상응하는 정보를 제공할 수 있다. 여기서, 학습 모델은 XR 장치(100c)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다.
이때, XR 장치(100c)는 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(200) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
<AI+로봇+자율주행>
로봇(100a)은 AI 기술 및 자율 주행 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
AI 기술과 자율 주행 기술이 적용된 로봇(100a)은 자율 주행 기능을 가진 로봇 자체나, 자율 주행 차량(100b)과 상호작용하는 로봇(100a) 등을 의미할 수 있다.
자율 주행 기능을 가진 로봇(100a)은 사용자의 제어 없이도 주어진 동선에 따라 스스로 움직이거나, 동선을 스스로 결정하여 움직이는 장치들을 통칭할 수 있다.
자율 주행 기능을 가진 로봇(100a) 및 자율 주행 차량(100b)은 이동 경로 또는 주행 계획 중 하나 이상을 결정하기 위해 공통적인 센싱 방법을 사용할 수 있다. 예컨대, 자율 주행 기능을 가진 로봇(100a) 및 자율 주행 차량(100b)은 라이다, 레이더, 카메라를 통해 센싱된 정보를 이용하여, 이동 경로 또는 주행 계획 중 하나 이상을 결정할 수 있다.
자율 주행 차량(100b)과 상호작용하는 로봇(100a)은 자율 주행 차량(100b)과 별개로 존재하면서, 자율 주행 차량(100b)의 내부에서 자율 주행 기능에 연계되거나, 자율 주행 차량(100b)에 탑승한 사용자와 연계된 동작을 수행할 수 있다.
이때, 자율 주행 차량(100b)과 상호작용하는 로봇(100a)은 자율 주행 차량(100b)을 대신하여 센서 정보를 획득하여 자율 주행 차량(100b)에 제공하거나, 센서 정보를 획득하고 주변 환경 정보 또는 객체 정보를 생성하여 자율 주행 차량(100b)에 제공함으로써, 자율 주행 차량(100b)의 자율 주행 기능을 제어하거나 보조할 수 있다.
또는, 자율 주행 차량(100b)과 상호작용하는 로봇(100a)은 자율 주행 차량(100b)에 탑승한 사용자를 모니터링하거나 사용자와의 상호작용을 통해 자율 주행 차량(100b)의 기능을 제어할 수 있다. 예컨대, 로봇(100a)은 운전자가 졸음 상태인 경우로 판단되는 경우, 자율 주행 차량(100b)의 자율 주행 기능을 활성화하거나 자율 주행 차량(100b)의 구동부의 제어를 보조할 수 있다. 여기서, 로봇(100a)이 제어하는 자율 주행 차량(100b)의 기능에는 단순히 자율 주행 기능뿐만 아니라, 자율 주행 차량(100b)의 내부에 구비된 네비게이션 시스템이나 오디오 시스템에서 제공하는 기능도 포함될 수 있다.
또는, 자율 주행 차량(100b)과 상호작용하는 로봇(100a)은 자율 주행 차량(100b)의 외부에서 자율 주행 차량(100b)에 정보를 제공하거나 기능을 보조할 수 있다. 예컨대, 로봇(100a)은 스마트 신호등과 같이 자율 주행 차량(100b)에 신호 정보 등을 포함하는 교통 정보를 제공할 수도 있고, 전기 차량의 자동 전기 충전기와 같이 자율 주행 차량(100b)과 상호작용하여 충전구에 전기 충전기를 자동으로 연결할 수도 있다.
<AI+로봇+XR>
로봇(100a)은 AI 기술 및 XR 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇, 드론 등으로 구현될 수 있다.
XR 기술이 적용된 로봇(100a)은 XR 영상 내에서의 제어/상호작용의 대상이 되는 로봇을 의미할 수 있다. 이 경우, 로봇(100a)은 XR 장치(100c)와 구분되며 서로 연동될 수 있다.
XR 영상 내에서의 제어/상호작용의 대상이 되는 로봇(100a)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하면, 로봇(100a) 또는 XR 장치(100c)는 센서 정보에 기초한 XR 영상을 생성하고, XR 장치(100c)는 생성된 XR 영상을 출력할 수 있다. 그리고, 이러한 로봇(100a)은 XR 장치(100c)를 통해 입력되는 제어 신호 또는 사용자의 상호작용에 기초하여 동작할 수 있다.
예컨대, 사용자는 XR 장치(100c) 등의 외부 장치를 통해 원격으로 연동된 로봇(100a)의 시점에 상응하는 XR 영상을 확인할 수 있고, 상호작용을 통하여 로봇(100a)의 자율 주행 경로를 조정하거나, 동작 또는 주행을 제어하거나, 주변 객체의 정보를 확인할 수 있다.
<AI+자율주행+XR>
자율 주행 차량(100b)은 AI 기술 및 XR 기술이 적용되어, 이동형 로봇, 차량, 무인 비행체 등으로 구현될 수 있다.
XR 기술이 적용된 자율 주행 차량(100b)은 XR 영상을 제공하는 수단을 구비한 자율 주행 차량이나, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량 등을 의미할 수 있다. 특히, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량(100b)은 XR 장치(100c)와 구분되며 서로 연동될 수 있다.
XR 영상을 제공하는 수단을 구비한 자율 주행 차량(100b)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하고, 획득한 센서 정보에 기초하여 생성된 XR 영상을 출력할 수 있다. 예컨대, 자율 주행 차량(100b)은 HUD를 구비하여 XR 영상을 출력함으로써, 탑승자에게 현실 객체 또는 화면 속의 객체에 대응되는 XR 객체를 제공할 수 있다.
이때, XR 객체가 HUD에 출력되는 경우에는 XR 객체의 적어도 일부가 탑승자의 시선이 향하는 실제 객체에 오버랩되도록 출력될 수 있다. 반면, XR 객체가 자율 주행 차량(100b)의 내부에 구비되는 디스플레이에 출력되는 경우에는 XR 객체의 적어도 일부가 화면 속의 객체에 오버랩되도록 출력될 수 있다. 예컨대, 자율 주행 차량(100b)은 차로, 타 차량, 신호등, 교통 표지판, 이륜차, 보행자, 건물 등과 같은 객체와 대응되는 XR 객체들을 출력할 수 있다.
XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량(100b)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하면, 자율 주행 차량(100b) 또는 XR 장치(100c)는 센서 정보에 기초한 XR 영상을 생성하고, XR 장치(100c)는 생성된 XR 영상을 출력할 수 있다. 그리고, 이러한 자율 주행 차량(100b)은 XR 장치(100c) 등의 외부 장치를 통해 입력되는 제어 신호 또는 사용자의 상호작용에 기초하여 동작할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 AI 장치(100)를 나타낸 블록도이다.
도 1과 중복되는 설명은 생략한다.
통신부(110)는 통신 모뎀(communication modem) 또는 통신 회로(communication circuit)라고도 칭할 수 있다.
입력부(120)는 입력 인터페이스(input interface)라고 칭할 수 있다.
출력부(150)는 출력 인터페이스(output interface)라고 칭할 수 있다.
도 4를 참조하면, 입력부(120)는 영상 신호 입력을 위한 카메라(Camera, 121), 오디오 신호를 수신하기 위한 마이크로폰(Microphone, 122), 사용자로부터 정보를 입력 받기 위한 사용자 입력부(User Input Unit, 123)를 포함할 수 있다.
입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어 명령으로 처리될 수 있다.
입력부(120)는 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 영상 정보의 입력을 위하여, AI 장치(100)는 하나 또는 복수의 카메라(121)들을 구비할 수 있다.
카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(Display Unit, 151)에 표시되거나 메모리(170)에 저장될 수 있다.
마이크로폰(122)은 외부의 음향 신호를 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 AI 장치(100)에서 수행 중인 기능(또는 실행 중인 응용 프로그램)에 따라 다양하게 활용될 수 있다. 한편, 마이크로폰(122)에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 적용될 수 있다.
사용자 입력부(123)는 사용자로부터 정보를 입력 받기 위한 것으로서, 사용자 입력부(123)를 통해 정보가 입력되면, 프로세서(180)는 입력된 정보에 대응되도록 AI 장치(100)의 동작을 제어할 수 있다.
사용자 입력부(123)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예컨대, AI 장치(100)의 전/후면 또는 측면에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단을 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다.
센싱부(140)는 센서부라고 칭할 수 있다.
출력부(150)는 디스플레이부(Display Unit, 151), 음향 출력부(Sound Output Unit, 152), 햅틱 모듈(Haptic Module, 153), 광 출력부(Optical Output Unit, 154) 중 적어도 하나를 포함할 수 있다.
디스플레이부(151)는 AI 장치(100)에서 처리되는 정보를 표시(출력)한다. 예컨대, 디스플레이부(151)는 AI 장치(100)에서 구동되는 응용 프로그램의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, AI 장치(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 단말기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
음향 출력부(152)는 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 통신부(110)로부터 수신되거나 메모리(170)에 저장된 오디오 데이터를 출력할 수 있다.
음향 출력부(152)는 리시버(receiver), 스피커(speaker), 버저(buzzer) 중 적어도 하나 이상을 포함할 수 있다.
햅틱 모듈(haptic module)(153)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(153)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 될 수 있다.
광출력부(154)는 AI 장치(100)의 광원의 빛을 이용하여 이벤트 발생을 알리기 위한 신호를 출력한다. AI 장치(100)에서 발생 되는 이벤트의 예로는 메시지 수신, 호 신호 수신, 부재중 전화, 알람, 일정 알림, 이메일 수신, 애플리케이션을 통한 정보 수신 등이 될 수 있다.
도 5는 본 개시의 일 실시 예에 따른 인공 지능 시스템(1)을 나타낸 블록도이다.
도 5를 참조하면, 인공 지능 시스템(1)은 인공 지능 장치(100), 음성 텍스트 변환(STT: Speech To Text) 서버(300), 자연어 처리(NLP: Natural Language Processing) 서버(400) 및 음성 합성 서버(500)를 포함할 수 있다.
인공 지능 장치(100)는 음성 데이터를 STT 서버(300)에 전송할 수 있다. STT 서버(300)는 인공 지능 장치(100)로부터 수신한 음성 데이터를 텍스트 데이터로 변환할 수 있다. NLP 서버(400)는 STT 서버(300)로부터 텍스트 데이터를 수신할 수 있다. NLP 서버(400)는 수신한 텍스트 데이터에 기초하여, 텍스트 데이터에 대한 의도 분석을 수행할 수 있다. NLP 서버(400)는 의도 분석의 수행 결과를 나타내는 의도 분석 정보를 인공 지능 장치(100) 또는 음성 합성 서버(500)에 전송할 수 있다. 음성 합성 서버(500)는 의도 분석 정보에 기초하여 사용자의 의도를 반영한 합성 음성을 생성하고, 생성된 합성 음성을 인공 지능 장치(100)에 전송할 수 있다.
STT 서버(300)는 언어 모델을 이용하여 음성-텍스트 변환의 정확도를 높일 수 있다. 언어 모델은 문장의 확률을 계산하거나, 이전의 단어들이 주어졌을 때 다음 단어가 나올 확률을 계산할 수 있는 모델을 의미할 수 있다. 예컨대, 언어 모델은 유니그램(Unigram) 모델, 바이그램(Bigram) 모델, N-그램(N-gram) 모델 등과 같은 확률론적 언어 모델들을 포함할 수 있다. 유니그램 모델은 모든 단어의 활용이 완전히 서로 독립적이라고 가정하는 모델로, 단어 열의 확률을 각 단어의 확률의 곱으로 계산하는 모델이다. 바이그램 모델은 단어의 활용이 이전 1개의 단어에만 의존한다고 가정하는 모델이다. N-그램 모델은 단어의 활용이 이전 (n-1)개의 단어에 의존한다고 가정하는 모델이다.
즉, STT 서버(300)는 언어 모델을 이용하여 음성 데이터로부터 변환된 텍스트 데이터가 적합하게 변환된 것인지 판단할 수 있고, 이를 통해 음성 데이터에서 텍스트 데이터로의 변환의 정확도를 높일 수 있다.
NLP 서버(400)는 텍스트 데이터에 대해, 형태소 분석 단계, 구문 분석 단계, 화행 분석 단계, 대화 처리 단계를 순차적으로 수행하여, 의도 분석 정보를 생성할 수 있다.
형태소 분석 단계는 사용자가 발화한 음성에 대응하는 텍스트 데이터를 의미를 지닌 가장 작은 단위인 형태소 단위로 분류하고, 분류된 각 형태소가 어떤 품사를 가지는지를 결정하는 단계이다. 구문 분석 단계는 형태소 분석 단계의 결과를 이용하여, 텍스트 데이터를 명사구, 동사구, 형용사 구 등으로 구분하고, 구분된 각 구들 사이에, 어떠한 관계가 존재하는지를 결정하는 단계이다. 구문 분석 단계를 통해, 사용자가 발화한 음성의 주어, 목적어, 수식어들이 결정될 수 있다. 화행 분석 단계는 구문 분석 단계의 결과를 이용하여, 사용자가 발화한 음성에 대한 의도를 분석하는 단계이다. 구체적으로, 화행 분석 단계는 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 단순한 감정 표현을 하는 것인지와 같은, 문장의 의도를 결정하는 단계이다. 대화 처리 단계는 화행 분석 단계의 결과를 이용하여, 사용자의 발화에 대해 대답을 할지, 호응을 할지, 추가 정보를 문의하는 질문을 할지를 판단하는 위한 단계이다.
NLP 서버(400)는 대화 처리 단계 후, 사용자가 발화한 의도에 대한 답변, 호응, 추가 정보 문의 중 하나 이상을 포함하는 의도 분석 정보를 생성할 수 있다.
한편, NLP 서버(400)는 인공 지능 장치(100)로부터 텍스트 데이터를 수신할 수도 있다. 예를 들어, 인공 지능 장치(100)가 음성 텍스트 변환 기능을 지원하는 경우, 인공 지능 장치(100)는 음성 데이터를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터를 NLP 서버(400)에 전송할 수 있다.
음성 합성 서버(500)는 기 저장된 음성 데이터들을 조합하여, 합성 음성을 생성할 수 있다. 음성 합성 서버(500)는 모델로 선정된 한 사람의 음성을 녹음하고, 녹음된 음성을 음절 또는 단어 단위로 분할할 수 있다. 음성 합성 서버(500)는 음절 또는 단어 단위로, 분할된 음성을 내부 또는 외부의 데이터 베이스에 저장할 수 있다.
음성 합성 서버(500)는 주어진 텍스트 데이터에 대응하는 음절 또는 단어를 데이터 베이스로부터 검색하고, 검색된 음절 또는 단어들의 조합을 합성하여, 합성 음성을 생성할 수 있다.
음성 합성 서버(500)는 복수의 언어들 각각에 대응하는 복수의 음성 언어 그룹들을 저장하고 있을 수 있다. 예를 들어, 음성 합성 서버(500)는 한국어로 녹음된 제1 음성 언어 그룹, 영어로, 녹음된 제2 음성 언어 그룹을 포함할 수 있다.
음성 합성 서버(500)는 제1 언어의 텍스트 데이터를 제2 언어의 텍스트로 번역하고, 제2 음성 언어 그룹을 이용하여, 번역된 제2 언어의 텍스트에 대응하는 합성 음성을 생성할 수 있다.
인공 지능 시스템(1)은 인공 지능 서버(200)를 더 포함할 수 있다. 인공 지능 서버(200)는 STT 서버(300)에서 이용하는 STT 엔진, NLP 서버(400)에서 이용하는 NLP 엔진, 음성 합성 서버(500)에서 이용하는 음성 합성 엔진 중에서 적어도 하나 이상을 학습시킬 수 있다. 즉, STT 서버(300), NLP 서버(400), 음성 합성 서버(500) 중에서 적어도 하나 이상은 인공 지능 서버(200)에서 학습된 모델들 또는 엔진들을 이용할 수 있다.
도 5에서는 인공 지능 장치(100), STT 서버(300), NLP 서버(400) 및 음성 합성 서버(500)가 서로 구분되어 도시되어 있으나, 본 개시는 이에 한정되지 않는다. 일 실시 예에서, 인공 지능 서버(200), STT 서버(300), NLP 서버(400) 또는 음성 합성 서버(500) 중에서 일부는 하나의 서버로 구성될 수도 있다. 일 실시 예에서, STT 서버(300), NLP 서버(400) 또는 음성 합성 서버(500) 중에서 일부는 인공 지능 장치(100)에 포함될 수도 있고, 이는 인공 지능 장치(100)가 STT 서버(300), NLP 서버(400) 또는 음성 합성 서버(500)의 기능을 수행하는 것을 의미한다.
도 6은 본 개시의 여러 실시 예들에 따른 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 시스템들(1)을 나타낸 도면이다.
도 6을 참조하면, 인공 지능 시스템(1)은 필수적으로 인공 지능 장치(100)를 포함하고, 선택적으로 인공 지능 서버(200) 또는 사물인터넷 기기(600) 중에서 적어도 하나 이상을 더 포함할 수 있다.
장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 시스템(1)은 장치 제어 기능을 제공하기 위하여, 연동의 대상이 되는 인공 지능 장치(100) 또는 사물인터넷 기기(600)를 적어도 둘 이상 포함할 수 있다. 즉, 인공 지능 시스템(1)은 복수의 인공 지능 장치(100)만을 포함할 수도 있고, 하나 이상의 인공 지능 장치(100)와 하나 이상의 사물인터넷 기기(600)를 포함할 수도 있다.
인공 지능 시스템(1)에 포함된 인공 지능 장치(100), 인공 지능 서버(200) 또는 사물인터넷 기기(600) 중에서 적어도 일부는 유무선 통신 기술에 기초하여 서로 통신할 수 있다. 인공 지능 시스템(1)에 포함된 인공 지능 장치(100), 인공 지능 서버(200) 또는 사물인터넷 기기(600) 모두가 서로 직접적으로 통신할 수도 있고, 일부끼리 직접적으로 통신할 수도 있다. 특히, 인공 지능 시스템(1)에 포함된 인공 지능 장치(100) 또는 사물인터넷 기기(600)는 직접적으로 또는 간접적으로 서로 통신할 수 있다.
두 장치가 간접적으로 통신한다는 것의 의미는 두 장치가 적어도 하나 이상의 제 3의 장치(예컨대 인공 지능 장치(100), 인공 지능 서버(200) 또는 사물인터넷 기기(600))를 통해서 통신하는 것을 의미할 수 있다. 반면, 두 장치가 직접적으로 통신한다는 것은 두 장치가 통신만을 위한 장치(예컨대, 기지국, 라우터 등)를 통하거나 이를 통하지 않고 직접 서로 통신하는 것을 의미할 수 있다.
도 6의 (a) 및 (b)는 제1 인공 지능 장치(100_1), 제2 인공 지능 장치(100_2), 인공 지능 서버(200) 및 사물인터넷 기기(600)를 포함하는 인공 지능 시스템들(1)을 나타내고, 도 6c는 제1 인공 지능 장치(100_1), 제2 인공 지능 장치(100_2) 및 사물인터넷 기기(600)를 포함하는 인공 지능 시스템(1)을 나타낸다.
도 6의 (a)에 도시된 실시 예에서, 제1 인공 지능 장치(100_1), 제2 인공 지능 장치(100_2), 인공 지능 서버(200) 및 사물인터넷 기기(600)는 서로 직접 통신할 수 있다.
도 6의 (b)에 도시된 실시 예에서, 제1 인공 지능 장치(100_1), 인공 지능 서버(200) 및 사물인터넷 기기(600)는 서로 직접 통신할 수 있고, 제2 인공 지능 장치(100_2)는 제1 인공 지능 장치(100_1)와 직접 통신할 수 있다. 따라서, 제2 인공 지능 장치(100_2)는 제1 인공 지능 장치(100_1)를 통해서만 사물인터넷 기기(600)와 통신할 수 있다.
도 6의 (c)에 도시된 실시 예에서, 제1 인공 지능 장치(100_1)는 제2 인공 지능 장치(100_2) 및 사물인터넷 기기(600)와 직접 통신할 수 있고, 제2 인공 지능 장치(100_2)는 제1 인공 지능 장치(100_1)와 직접 통신할 수 있고, 사물인터넷 기기(600)는 제1 인공 지능 장치(100_1)와 직접 통신할 수 있다. 따라서, 제2 인공 지능 장치(100_2)와 사물인터넷 기기(600)는 제1 인공 지능 장치(100_1)를 통해서 간접적으로 서로 통신할 수 있다.
도 6의 (a) 내지 (c)에 도시된 바와 같이, 인공 지능 시스템(1)에 포함된 인공 지능 장치(100) 또는 사물인터넷 기기(600)는 서로 직접 또는 간접적으로 통신할 수 있다.
인공 지능 시스템(1)에 포함된 인공 지능 장치(100)는 다른 인공 지능 장치(100) 또는 사물인터넷 기기(600)와 통신을 통해 장치간 연동(pairing)을 수행하고, 연동된 장치들에 대한 정보를 저장할 수 있다. 그리고, 인공 지능 장치(100)가 인공 지능 서버(200)와 연결된 경우, 인공 지능 장치(100)는 연동된 장치들에 대한 정보를 인공 지능 서버(200)에 전송할 수 있다.
연동 장치들에 대한 정보는 상호 연동된 장치들에 대한 장치 식별 정보, 통신 방법, 연동 플랫폼 중에서 적어도 하나 이상을 포함할 수 있다. 연동 장치들에 대한 정보는 테이블의 형태로 저장될 수 있고, 이는 연동 정보 테이블(pairing information table)이라 칭할 수도 있다. 연동 정보 테이블은 인공 지능 장치(100)의 메모리(170) 또는 인공 지능 서버(200)의 메모리(230)에 저장될 수 있다.
장치 식별 정보는 각 장치(인공 지능 장치 또는 사물인터넷 기기 등)에 대응하는 장치 일련 번호(serial number) 등을 포함할 수 있다. 통신 방법은 연동된 장치들 사이에 통신하는 방법을 의미하며, 블루투스, 와이파이, 셀룰러 네트워크, 이더넷, 적외선 통신 등을 포함할 수 있다. 연동 플랫폼은 연동된 장치들 사이에서 상호작용하기 위해 이용하는 서비스 플랫폼 또는 명령어 플랫폼을 의미할 수 있고, 각 플랫폼을 나타내는 값, API 목록, 문법 규칙 등을 포함할 수 있다.
예컨대, 도 6의 (b)에 도시된 제1 인공 지능 장치(100_1)에 대한 연동 정보 테이블에는 제1 인공 지능 장치(100_1)의 연동 정보가 포함될 수 있다. 구체적으로, 도 6의 (b)에 도시된 제1 인공 지능 장치(100_1)에 대한 연동 정보 테이블의 제1 항목은 제1 인공 지능 장치(100_1)와 제2 인공 지능 장치(100_2) 사이의 연동 정보이고, 제2 항목은 제1 인공 지능 장치(100_1)와 사물인터넷 기기(600) 사이의 연동 정보일 수 있다. 나아가, 도 6의 (b)에 도시된 제1 인공 지능 장치(100_1)에 대한 연동 정보 테이블의 제3 항목은 제1 인공 지능 장치(100_1)와 인공 지능 서버(200) 사이의 연동 정보일 수 있다.
인공 지능 서버(200)는 연결된 인공 지능 장치(100)로부터 연동 정보 테이블을 수신하고, 여러 인공 지능 장치들(100)로부터 수신한 연동 정보 테이블을 관리할 수 있다.
인공 지능 시스템(1)에 포함된 인공 지능 장치(100), 인공 지능 서버(200) 또는 사물인터넷 기기(600) 중에서 일부는 연결된 장치들끼리 서로 자신의 연동 정보 테이블을 공유할 수 있다. 예컨대, 도 6의 (b)에 도시된 인공 지능 시스템(1)에서, 제2 인공 지능 장치(100_2)는 자신의 연동 정보 테이블(제2 연동 정보 테이블)을 연동된 제1 인공 지능 장치(100_1)에 공유할 수 있고, 제1 인공 지능 장치(100_1)는 자신의 연동 정보 테이블(제1 연동 정보 테이블)뿐만 아니라 제2 인공 지능 장치(100_2)로부터 수신한 연동 정보 테이블(제2 연동 정보 테이블)을 저장 및 관리할 수 있다.
이 경우, 인공 지능 장치(100)는 특정 동작을 수행하기 위해 대상 장치(예컨대, 다른 인공 지능 장치(100), 인공 지능 서버(200) 또는 사물인터넷 기기(600) 등)와 연결할 필요가 있을 때, 자신의 연동 정보 테이블 또는 다른 장치로부터 수신한 연동 정보 테이블 중에서 적어도 일부에 기초하여 연결 경로를 설정할 수 있고, 결정한 연결 경로를 고려하여 특정 동작을 수행하기 위한 명령어를 생성하고, 결정한 연결 경로에 따라 생성한 명령어를 대상 장치에 전송함으로써 특정 동작을 수행케 할 수 있다.
또는, 장치 간 보안을 위하여, 인공 지능 시스템(1)에 포함된 인공 지능 장치(100)는 다른 인공 지능 장치(100) 또는 사물인터넷 기기(600)에 대하여 자신의 연동 정보 테이블을 공유하지 않고, 오직 인공 지능 서버(200)에 대하여만 자신의 연동 정보 테이블을 공유할 수도 있다. 이 경우, 인공 지능 장치(100)는 다른 장치에 대하여 자신이 원하는 대상 장치에의 연결이 가능한지 질의(query)하고, 그 다른 장치로부터 연결성 정보(connectivity information) 또는 연결 경로를 수신함으로써, 해당 다른 장치의 연동 정보 테이블을 간접적으로 이용할 수 있다.
이 경우, 인공 지능 장치(100)는 특정 동작을 수행하기 위해 대상 장치(예컨대, 다른 인공 지능 장치(100), 인공 지능 서버(200) 또는 사물인터넷 기기(600) 등)와 연결할 필요가 있을 때, 자신의 연동 정보 테이블 및 연동된 다른 장치들로부터 수신한 연결성 정보 중 적어도 일부에 기초하여 연결 경로를 설정할 수 있고, 결정한 연결 경로를 고려하여 특정 동작을 수행하기 위한 명령어를 생성하고, 결정한 연결 경로에 따라 생성한 명령어를 대상 장치에 전송함으로써 특정 동작을 수행케 할 수 있다.
생성된 명령어에는 송신 장치 정보와 수신 장치 정보가 포함될 수 있다. 또한, 송신 장치가 다른 장치를 통해 수신 장치와 통신하는 경우, 즉 연결 경로상에 송신 장치와 수신 장치 사이에 다른 장치가 존재하는 경우에, 경유 생성된 명령어에는 경유 장치 정보가 더 포함될 수 있다. 송신 장치는 명령어를 생성하는 인공 지능 장치(100)를 의미하며, 수신 장치는 특정 동작을 수행하는 대상 장치(target device) 또는 생성한 명령어를 수신하여 동작을 수행할 목적지 장치(destination device)를 의미할 수 있다.
인공 지능 장치(100)는 사용자의 발화 음성을 수신하고, 수신한 사용자의 발화 음성의 의도를 파악하여 대상 장치 또는 수신 장치와 동작을 결정할 수 있고, 연동 정보 테이블을 이용하여 수신 장치에 대한 연결 경로를 결정할 수 있고, 결정된 연결 경로와 결정된 동작에 기초하여 대상 장치에서 동작을 수행케하는 명령어를 생성 및 전송할 수 있다.
사용자의 발화 음성은 송신 장치를 호출하는 기동어와 수신 장치를 가리키는 명칭 또는 별칭, 수신 장치에서 수행할 동작을 가리키는 명령어 등을 포함할 수 있다. 송신 장치를 호출하는 기동어는 송신 장치를 가리키는 명칭 또는 별칭일 수도 있고, 송신 장치에 탑재된 또는 송신 장치에서 이용하는 음성 인식 플랫폼에 설정된 기동어일 수도 있다.
도 7은 본 개시의 일 실시 예에 따른 장치 간 연동에 기초한 장치 제어 기능을 제공하는 방법을 나타낸 동작 흐름도이다.
구체적으로, 도 7은 본 개시의 일 실시 예에 따른 장치 간 연동에 기초한 장치 제어 기능을 제공하기 위하여 인공 지능 장치(100)가 다른 장치(예컨대, 다른 인공 지능 장치(100) 또는 사물인터넷 기기(600))와 연동하는 방법을 나타낸 동작 흐름도이다.
도 7을 참조하면, 인공 지능 장치(100)의 프로세서(180)는 장치 연동 모드에 진입한다(S701).
장치 연동 모드는 인공 지능 장치(100)에서 다른 인공 지능 장치(100)나 사물인터넷 기기(600)와의 연동을 시도하는 모드를 의미할 수 있다. 장치 연동 모드의 진입은 장치 연동 모드가 활성화됨을 의미할 수 있다.
프로세서(180)는 장치 연동 어플리케이션이 실행되거나, 장치 연동을 위한 설정 항목에 진입하는 경우에 장치 연동 모드에 진입할 수 있다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 통신부(110)를 통해 연동 가능한 장치들을 검색한다(S703).
연동 가능한 장치들의 검색은 통신부(110)에서 장치 간 연동에 이용할 수 있는 통신 기술을 이용하여 다른 장치로부터 출력되는 연동 요청 신호를 감지하는 것을 의미할 수도 있고, 통신부(110)를 통해 연동 요청 신호를 출력하고 그에 응답하여 다른 장치로부터 출력되는 연동 요청 신호를 감지하는 것을 의미할 수도 있다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 검색된 연동 가능한 장치와 연동한다(S705).
프로세서(180)는 연동 가능한 장치가 여러 개 검색된 경우에는 디스플레이부(151)를 통해 여러 개의 연동 가능한 장치들을 포함하는 연동 가능 장치 목록(pairable device list)을 출력하고, 입력부(120)를 통한 사용자의 입력에 의하여 선택된 장치와 연동할 수 있다. 연동되는 장치는 대상 장치라 칭할 수 있다.
프로세서(180)는 연동 가능한 장치가 한 개 검색된 경우에는 디스플레이부(151)를 통해 한 개의 연동 가능한 장치를 포함하는 연동 가능 장치 목록을 출력하거나, 검색된 한 개의 연동 가능한 장치와의 연동 여부를 묻는 알림을 출력할 수 있고, 입력부(120)를 통한 사용자의 입력에 기초하여 검색된 연동 가능한 장치와 연동할 수 있다.
프로세서(180)는 장치 연동 과정에서 연동된 장치의 식별 정보, 장치 이름 정보, 장치 종류 정보, 통신 주소 정보 등을 획득할 수 있다. 연동된 장치의 식별 정보에는 연동된 장치의 일련 번호(serial number)가 포함될 수 있다. 통신 주소 정보에는 IP 주소(Internet Protocol Address), MAC 주소 (Media Access Control Address), 블루투스 주소 등이 포함될 수 있다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 연동된 장치의 명칭 또는 별명을 설정한다(S707).
연동된 장치의 명칭 또는 별명을 설정하는 단계(S707)은 선택적으로 수행될 수 있다.
연동된 장치의 명칭 또는 별명은 입력부(130)를 통한 사용자의 입력에 기초하여 설정될 수 있고, 사용자의 입력은 텍스트 또는 발화 음성 등을 포함할 수 있다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 연동 정보 테이블(pairing information table)을 갱신한다(S709).
연동 정보 테이블은 연동된 장치의 식별 정보, 명칭, 별명, 종류 정보, 통신 방법, 연동 플랫폼 등을 포함할 수 있다. 특히, 연동 정보 테이블은 연동된 장치들 상호 간의 정보를 포함할 수 있다.
연동 정보 테이블은 연동된 장치에 대한 연동 정보를 포함할 수 있고, 프로세서(180)는 새로 연동하는 장치에 대한 연동 정보를 연동 정보 테이블에 추가함으로써 연동 정보 테이블을 갱신할 수 있다.
일 실시 예에서, 인공 지능 장치(100)의 프로세서(180)는 통신부(110)를 통해 인공 지능 서버(200)나 연동된 장치에 갱신된 연동 정보 테이블을 전송할 수도 있다. 마찬가지로, 인공 지능 장치(100)의 프로세서(180)는 통신부(110)를 통해 인공 지능 서버(200)나 연동된 장치로부터 다른 연동된 장치의 연동 정보 테이블을 수신할 수 있다.
상술한 바와 같이, 본 개시의 일 실시 예에 따른 장치 연동 방법에는 사용자의 계정과 장치를 연동하는 과정이 포함되지 않고, 오직 장치 간에 연동하는 과정만이 포함된다. 따라서, 본 개시의 일 실시 예에서는 장치들 사이에 연동이 이루어짐으로써, 특정 사용자에 종속적이지 않은 장치 간 연동이 가능하다는 장점이 있다.
도 7에 도시된 단계들(steps)의 순서는 하나의 예시에 불과하며, 본 개시가 이에 한정되지는 않는다. 즉, 일 실시 예에서, 도 7에 도시된 단계들 중 일부 단계의 순서가 서로 바뀌어 수행될 수도 있다. 또한, 일 실시 예에서, 도 7에 도시된 단계들 중 일부 단계는 병렬적으로 수행될 수도 있다. 또한, 도 7에 도시된 단계들 중 일부만 수행될 수도 있다.
도 7은 인공 지능 장치(100)가 다른 장치와 연동하는 방법을 한 사이클(cycle)만 나타낸 것으로, 본 개시가 이에 한정되지 않는다. 즉, 도 7에 도시된 단계들은 반복적으로 수행될 수 있고, 이에 따라 인공 지능 장치(100)는 여러 장치들과 연동할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 연동된 장치에 대한 정보를 제공하는 장치 연동 인터페이스를 나타낸 도면이다.
도 8을 참조하면, 인공 지능 장치(100)의 프로세서(180)는 디스플레이부(151)를 통해 연동된 장치(paired device)에 대한 정보를 제공하는 장치 연동 인터페이스를 제공할 수 있고, 장치 연동 인터페이스는 현재 연동된 장치를 나타내는 연동된 장치 목록(paired device list, 811)을 포함할 수 있다.
인공 지능 장치(100)와 연동된 장치가 존재하는 경우에는, 프로세서(180)는 연동된 장치를 나타내는 연동된 장치 목록(811)을 포함하는 장치 연동 인터페이스를 제공할 수 있다(도 8의 (a)).
반면, 인공 지능 장치(100)와 연동된 장치가 존재하지 않는 경우에는, 프로세서(180)는 연동된 장치가 없음을 나타내는 알림(821) 또는 비어있는 연동된 장치 목록을 포함하는 장치 연동 인터페이스를 제공할 수 있다(도 8의 (b)).
도 9는 본 개시의 일 실시 예에 따른 새로운 장치와 연동하는 장치 연동 인터페이스를 나타낸 도면이다.
도 9를 참조하면, 인공 지능 장치(100)의 프로세서(180)는 디스플레이부(151)를 통해 새로운 장치와 연동하는 장치 연동 인터페이스를 제공할 수 있고, 장치 연동 인터페이스는 연동 가능 장치 목록(pairable device list, 911), 연동된 장치의 호칭 설정 인터페이스(921) 또는 연동된 장치 목록(931) 중에서 적어도 하나 이상을 포함할 수 있다.
장치 연동 모드에 진입한 경우, 프로세서(180)는 연동 가능한 장치들을 검색하고, 검색된 연동 가능한 장치들을 나타내는 연동 가능 장치 목록(911)을 포함하는 장치 연동 인터페이스를 제공할 수 있다(도 9의 (a)). 그리고, 프로세서(180)는 입력부(120)를 통한 사용자의 입력에 기초하여 연동 가능 장치 목록(911)에 포함된 연동 가능 장치 중에서 적어도 하나 이상과 연동할 수 있다.
프로세서(180)는 연동된 장치의 호칭을 설정하는 호칭 설정 인터페이스(921)를 포함하는 장치 연동 인터페이스를 제공할 수 있다(도 9의 (b)). 설정되는 연동된 장치의 호칭은 음성으로 연동된 장치를 호출하기 위한 별명을 의미할 수 있다. 예컨대, 도 9의 (b)를 참조하면, 인공 지능 장치(100)와 연동된 장치 중에서 명칭이 "우리집 에어컨2"인 장치는 호칭이 "안방 에어컨"으로 설정될 수 있고, 이 경우 사용자는 음성으로 "안방 에어컨"이라 칭함으로써 "우리집 에어컨2"를 특정할 수 있다.
프로세서(180)는 새로운 장치와 연동한 이후에, 연동된 장치를 나타내는 연동된 장치 목록(931)을 포함하는 장치 연동 인터페이스를 제공할 수 있다(도 9의 (c)).
도 7 내지 9에서는 인공 지능 장치(100)가 직접 다른 장치와 연동하는 방법과 그에 따른 장치 연동 인터페이스를 도시하고 있으나, 본 개시가 이에 한정되지 않는다. 즉, 일 실시 예에서, 인공 지능 장치(100)와 다른 장치와의 연동은 인공 지능 장치(100)와 연결된 단말기를 통하여 수행될 수 있고, 장치 연동 인터페이스가 단말기에 구비된 디스플레이부에 제공될 수도 있다. 마찬가지로, 인공 지능 장치(100)는 단말기의 입력부를 통한 사용자의 입력에 기초하여 다른 장치와의 연동 여부를 설정하거나, 연동할 장치의 별명을 설정하는 등의 동작을 수행할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 장치 간 연동에 기초한 장치 제어 기능을 제공하는 방법을 나타낸 동작 흐름도이다.
도 10을 참조하면, 인공 지능 장치(100)의 프로세서(180)는 입력부(120)를 통해 사용자의 장치 이용 명령을 수신한다(S1001).
장치 이용 명령은 대상 장치(또는 수신 장치)의 동작이나 상태를 제어하는 명령, 또는 대상 장치의 기능을 이용하는 명령을 포함할 수 있다. 예컨대, 대상 장치가 에어컨인 경우에 장치 이용 명령은 에어컨의 전원이나 동작을 조작을 제어하는 명령일 수도 있고, 에어컨의 상태 정보를 요청하는 명령일 수도 있다. 장치 이용 명령은 장치 이용 요청이라 칭할 수도 있다.
장치 이용 명령은 사용자의 발화 음성의 형태로 입력될 수도 있고, 장치 이용 인터페이스에 대한 터치 또는 텍스트의 형태 등으로 입력될 수 있다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 장치 이용 명령을 이용하여 송신 장치 정보, 수신 장치 정보 및 동작 정보를 획득한다(S1003).
장치 이용 명령에는 대상 장치(또는 수신 장치)에서의 동작에 대한 정보가 포함되어 있으므로, 프로세서(180)는 장치 이용 명령에 기초하여 수신 장치 정보와 동작 정보를 획득할 수 있다. 또한, 인공 지능 장치(100)가 송신 장치로써 기능하므로, 프로세서(180)는 송신 장치 정보를 획득할 수 있다.
송신 장치 정보는 송신 장치로써의 인공 지능 장치(100)를 특정하는 정보로, 인공 지능 장치(100)의 이름이나 일련 번호 등을 포함할 수 있다. 수신 장치 정보는 동작을 수행하는 수신 장치(또는 대상 장치)를 특정하는 정보로, 수신 장치의 이름, 호칭, 별명, 일련 번호 등을 포함할 수 있다. 동작 정보는 수신 장치(또는 대상 장치)에서 수행할 동작을 가리킬 수 있다.
장치 이용 명령이 발화 음성인 경우, 인공 지능 장치(100)의 프로세서(180)는 직접 또는 인공 지능 서버(200)를 통해 발화 음성을 텍스트로 변환하고, 변환된 텍스트에 대하여 자연어 처리(NLP) 기법을 이용하여 사용자의 의도를 파악할 수 있다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 연동 정보 테이블을 이용하여 수신 장치에 대한 연결 경로를 결정한다(S1005).
수신 장치에 대한 연결 경로는 송신 장치로써의 인공 지능 장치(100)가 수신 장치(또는 대상 장치)에 연결하기 위한 경로를 의미할 수 있다. 만약, 인공 지능 장치(100)가 수신 장치와 직접 연동된 경우에, 연결 경로는 송신 장치로써의 인공 지능 장치(100) 및 수신 장치만 포함할 수 있다. 반면, 인공 지능 장치(100)가 특정 중간 장치와 연동되고, 해당 특정 중간 장치가 수신 장치와 연동된 경우에, 연결 경로는 송신 장치로써의 인공 지능 장치(100), 중간 장치 및 수신 장치를 순차적으로 포함할 수 있고, 이러한 연결 경로는 인공 지능 장치(100)가 중간 장치를 통해서 수신 장치와 연결될 수 있음을 의미할 수 있다.
프로세서(180)는 메모리(170)에 저장된 연동 정보 테이블을 이용하여 연동된 장치들을 파악할 수 있고, 이에 기초하여 연결 경로를 결정할 수 있다.
메모리(170)는 인공 지능 장치(100) 자신의 연동 정보 테이블(이하, 제1 연동 정보 테이블)만을 저장할 수도 있지만, 아니라 연동된 장치들로부터 수신한 연동된 장치들의 연동 정보 테이블(이하, 제2 연동 정보 테이블)도 추가적으로 저장할 수 있다.
일 실시 예에서, 프로세서(180)는 메모리(170)에 저장된 자신의 연동 정보 테이블(이하, 제1 연동 정보 테이블)을 이용하여 직접 연동된 장치 중에서 수신 장치가 포함되어 있는지 판단할 수 있다. 직접 연동된 장치 중에 수신 장치가 포함되어 있는 경우라면, 프로세서(180)는 연결 경로를 결정할 수 있다. 직접 연동된 장치 중에 수신 장치가 포함되지 않는 경우라면, 프로세서(180)는 통신부(110)를 통해 제1 연동 정보 테이블에 포함된 장치들, 즉 직접 연동된 장치들에 송신 장치로부터 수신 장치까지에 대한 연결 경로를 요청할 수 있다. 그리고, 프로세서(180)는 직접 연동된 장치들 중에서 연결 경로를 수신한 경우, 수신한 연결 경로에 기초하여 연결 경로를 결정할 수 있다. 여기서, 직접 연동된 장치들도 인공 지능 장치(100)와 동일한 방법으로 연결 경로를 결정할 수 있다.
일 실시 예에서, 프로세서(180)는 통신부(110)를 통해 인공 지능 서버(200)에 수신 장치에 대한 연결 경로를 요청할 수 있다. 인공 지능 서버(200)의 프로세서(260)는 각 장치들(인공 지능 장치(100) 또는 사물인터넷 기기(600) 등)로부터 수신한 연동 정보 테이블을 이용하여 송신 장치에서 수신 장치까지의 연결 경로를 결정하고, 통신부(210)를 통해 인공 지능 장치(100)에 결정된 연결 경로를 전송할 수 있다.
일 실시 예에서, 프로세서(180)는 메모리(170)에 저장된 자신의 연동 정보 테이블(제1 연동 정보 테이블)과 다른 장치들의 연동 정보 테이블(제2 연동 정보 테이블)을 이용하여 송신 장치에서 수신 장치까지의 연결 경로를 결정할 수 있다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 수신 장치에 대한 연결 경로가 존재하는지 판단한다(S1007).
프로세서(180)는 연결 경로의 결정에 실패하는 경우에 연결 경로가 존재하지 않는다고 판단할 수 있다.
단계(S1007)의 판단 결과, 수신 장치에 대한 연결 경로가 존재하지 않는 경우, 인공 지능 장치(100)의 프로세서(180)는 출력부(150)를 통해 장치 이용 명령을 수행할 수 없다는 알림을 출력한다(S1009).
수신 장치에 대한 연결 경로가 존재하지 않는 경우는 수신 장치에 대한 연결 경로를 결정하지 못하는 경우를 의미하므로, 사용자의 입력에 의한 장치 이용 명령을 수행할 수신 장치(또는 대상 장치)를 특정하지 못한 상황을 의미할 수 있다. 따라서, 프로세서(180)는 장치 이용 명령을 수행할 대상을 찾지 못하였으므로, 장치 이용 명령을 수행할 수 없다는 알림을 출력하고 절차를 종료할 수 있다.
단계(S1007)의 판단 결과, 수신 장치에 대한 연결 경로가 존재하는 경우, 인공 지능 장치(100)의 프로세서(180)는 수신 장치에서 장치 이용 명령에 대응하는 동작을 수행하는 명령어를 생성한다(S1011).
생성된 명령어에는 송신 장치 정보, 수신 장치 정보 및 동작 정보가 포함될 수 있다. 나아가, 생성된 명령어에는 연결 경로가 더 포함될 수 있다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 통신부(110)를 통해 결정한 연결 경로에 따라 생성된 명령어를 전송한다(S1013).
연결 경로에서 송신 장치로써의 인공 지능 장치(100)가 수신 장치와 곧 바로 연결되는 경우, 프로세서(180)는 통신부(110)를 통해 수신 장치에 생성된 명령어를 전송할 수 있다. 만약, 연결 경로에서 송신 장치로써의 인공 지능 장치(100)가 적어도 하나 이상의 중간 장치를 통해 수신 장치와 연결되는 경우, 프로세서(180)는 통신부(110)를 통해 연결 경로상에서 인공 지능 장치(100)와 직접 연동된 중간 장치에 생성된 명령어를 전송할 수 있다.
도 10에 도시된 단계들의 순서는 하나의 예시에 불과하며, 본 개시가 이에 한정되지는 않는다. 즉, 일 실시 예에서, 도 10에 도시된 단계들 중 일부 단계의 순서가 서로 바뀌어 수행될 수도 있다. 또한, 일 실시 예에서, 도 10에 도시된 단계들 중 일부 단계는 병렬적으로 수행될 수도 있다. 또한, 도 10에 도시된 단계들 중 일부만 수행될 수도 있다.
도 10은 인공 지능 장치(100)가 장치 제어 기능을 제공하는 방법을 한 사이클만 나타낸 것으로, 본 개시가 이에 한정되지 않는다. 즉, 도 10에 도시된 단계들은 반복적으로 수행될 수 있고, 이에 따라 인공 지능 장치(100)는 외부 장치의 제어를 여러 번 수행할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 장치 간 연동에 기초한 장치 제어 기능을 제공하는 방법을 나타낸 동작 흐름도이다.
도 10과 중복되는 설명은 생략한다.
도 11을 참조하면, 인공 지능 장치(100)의 프로세서(180)는 입력부(120)를 통해 사용자의 장치 이용 명령을 수신한다(S1101). 본 단계는 도 10에 도시된 장치 이용 명령을 수신하는 단계(S1001)에 대응한다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 장치 이용 명령을 이용하여 송신 장치 정보, 수신 장치 정보 및 동작 정보를 획득한다(S1103). 본 단계는 도 10에 도시된 송신 장치 정보, 수신 장치 정보 및 동작 정보를 획득하는 단계(S1103)에 대응한다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 수신 장치에서 장치 이용 명령에 대응하는 동작을 수행하는 명령어를 생성한다(S1105).
생성된 명령어에는 송신 장치 정보, 수신 장치 정보 및 동작 정보가 포함될 수 있다. 그리고, 생성된 명령어에는 수신 장치로 생성된 명령어를 전송하라는 명령어가 포함될 수 있다.
그리고, 인공 지능 장치(100)의 프로세서(180)는 통신부(110)를 통해 인공 지능 서버(200)에 생성된 명령어를 전송한다(S1107).
인공 지능 서버(200)는 인공 지능 장치(100)로부터 수신한 명령어로부터 수신 장치를 확인하고, 송신 장치로써의 인공 지능 장치(100)가 수신 장치와 연결 경로가 존재하는지 판단하고, 연결 경로가 존재하는 경우에 확인된 수신 장치에 수신한 명령어를 송신할 수 있다.
도 11에 도시된 단계들의 순서는 하나의 예시에 불과하며, 본 개시가 이에 한정되지는 않는다. 즉, 일 실시 예에서, 도 11에 도시된 단계들 중 일부 단계의 순서가 서로 바뀌어 수행될 수도 있다. 또한, 일 실시 예에서, 도 11에 도시된 단계들 중 일부 단계는 병렬적으로 수행될 수도 있다. 또한, 도 11에 도시된 단계들 중 일부만 수행될 수도 있다.
도 11은 인공 지능 장치(100)가 장치 제어 기능을 제공하는 방법을 한 사이클만 나타낸 것으로, 본 개시가 이에 한정되지 않는다. 즉, 도 11에 도시된 단계들은 반복적으로 수행될 수 있고, 이에 따라 인공 지능 장치(100)는 외부 장치의 제어를 여러 번 수행할 수 있다.
도 12는 본 개시의 일 실시 예에 따른 연동 정보 테이블의 예시를 나타낸 도면이다.
도 12를 참조하면, 연동 정보 테이블에는 제1 연동된 장치(a first shared device, 1210)의 이름(1211), 제1 연동된 장치(1210)의 별명(1212), 제1 연동된 장치(1210)의 식별 정보(1213), 제2 연동된 장치(a second shared device, 1220)의 이름(1221), 제2 연동된 장치(1220)의 별명(1222), 제2 연동된 장치(1220)의 식별 정보(1223), 연동된 장치 간의 통신 방법(1230) 및 연동된 장치 간의 연동 플랫폼(1240) 등이 포함될 수 있다.
도 12는 제1 인공 지능 장치의 연동 정보 테이블일 수 있다.
제1 페어링 정보(1251)에 따르면, 제1 인공 지능 장치와 제2 인공 지능 장치는 제1 플랫폼에서 연동되며, 제1 인공 지능 장치와 제2 인공 지능 장치는 Wi-Fi를 통해 통신할 수 있다.
제2 페어링 정보(1252)에 따르면, 제1 인공 지능 장치와 제3 인공 지능 장치는 제1 플랫폼에서 연동되며, 제1 인공 지능 장치와 제3 인공 지능 장치는 Wi-Fi를 통해 통신할 수 있다.
제3 페어링 정보(1253)에 따르면, 제1 인공 지능 장치와 사물인터넷 기기는 제2 플랫폼에서 연동되며, 제1 인공 지능 장치와 사물인터넷 기기는 BLE(Bluetooth Low Energy)를 통해 통신할 수 있다.
제4 페어링 정보(1254)에 따르면, 제1 인공 지능 장치와 인공 지능 서버는 제1 플랫폼에서 연동되며, 제1 인공 지능 장치와 인공 지능 서버는 이더넷(Ethernet) 또는 Wi-Fi를 통해 통신할 수 있다.
연동 정보 테이블은 새로운 장치가 연동되거나, 기존의 연동된 장치의 연동이 해제되는 등의 상황에서 갱신될 수 있다.
도 13 내지 15는 본 개시의 다양한 실시 예들에 따른 인공 지능 시스템들을 나타낸 도면이다.
도 13 내지 15에서 인공 지능 시스템(1300)은 제1 인공 지능 장치로써 냉장고(1310), 제2 인공 지능 장치로써 TV(1320), 제3 인공 지능 장치로써 에어컨(1330) 및 인공 지능 서버(1340)를 포함할 수 있다. 냉장고(1310)는 TV(1320) 및 인공 지능 서버(1340)와 연동될 수 있다. TV(1320)는 냉장고(1310), 에어컨(1330) 및 인공 지능 서버(1340)와 연동될 수 있다. 에어컨(1330)은 TV(1320) 및 인공 지능 서버(1340)와 연동될 수 있다. 즉, 냉장고(1310)는 TV(1320)를 통해서 에어컨(1330)과 간접적으로 연결되어 있다.
또한, 도 13 내지 15에는 각 장치(1310, 1320, 1330, 1340)에 저장된 연동 정보 테이블(1311, 1321, 1331)이 도시되어 있으나, 도시된 연동 정보 테이블에는 포함된 여러 항목들 중에서 제1 장치의 별명과 제2 장치의 별명만을 표현하였다. 즉, 실제 각 장치에 저장된 연동 정보 테이블에는 도 13 내지 15에 도시된 항목뿐만 아니라, 각 장치의 명칭, 식별 정보, 연동 플랫폼, 통신 방식 등이 더 포함될 수 있다.
도 13 내지 15에서, 사용자(1360)는 냉장고(1310)에 대하여, "에어컨 켜 줘."(1361)과 같이 발화함으로써, 에어컨(1330)의 전원을 켜는 장치 이용 명령을 입력할 수 있다.
냉장고(1310)는 사용자(1360)의 발화 음성(1361)을 획득하면 그 의도를 분석하여 송신 장치를 냉장고(1310), 수신 장치 정보를 키워드 "에어컨", 동작 정보를 "power on"으로 결정할 수 있다. 냉장고(1310)는 아직 사용자의 발화 음성으로부터 획득한 수신 장치에 대한 키워드 "에어컨"이 인공 지능 시스템(1300)에 포함된 에어컨(1330)을 가리키는지 확인하지 않았으므로, 수신 장치 정보는 단지 키워드 "에어컨"과 같은 형태로만 결정될 수 있다. 예컨대, 냉장고(1310)는 의도 정보에서 "intent" 항목을 "power on"으로 결정하고, 부가 정보로써 "slot" 항목의 하위 항목인 "device keword"를 "에어컨"으로 결정할 수 있다. 아직 "에어컨"에 대응하는 장치가 파악되지 않았기 때문에 "에어컨"이 연동된 장치의 명칭인지 별명인지 불명확하며, 따라서 "에어컨"은 장치 키워드 항목으로 분류될 수 있다.
도 13은 각 장치(1310, 1320, 1330, 1340)가 자신의 연동 정보 테이블(제1 연동 정보 테이블)을 다른 장치들에게 전송하지 않은 실시 예를 나타낸다.
도 13을 참조하면, 냉장고(1310)는 냉장고(1310)의 연동 정보 테이블(1311)만을 저장하고, TV(1320)는 TV(1320)의 연동 정보 테이블(1321)만을 저장하고, 에어컨(1330)은 에어컨(1330)의 연동 정보 테이블(1331)만을 저장하고, 인공 지능 서버(1340)는 인공 지능 서버(1340)의 연동 정보 테이블(1341)만을 저장할 수 있다.
냉장고(1310)는 연동 정보 테이블(1311)에 기초하여 직접 연동된 장치 중에서 키워드 "에어컨"에 대응하는 장치가 존재하는지 판단한다. 하지만, 냉장고(1310)는 에어컨(1330)과 직접 연동되지 않았으므로, 냉장고(1310)는 연동 정보 테이블(1311)에 포함된 연동된 장치로써의 TV(1320) 또는 인공 지능 서버(1340)에 키워드 "에어컨"에 대응하는 장치에의 연결 경로를 요청할 수 있다.
TV(1320)는 연동 정보 테이블(1321)에 기초하여 자신이 에어컨(1330)과 연동되었으며, 에어컨(1330)의 별명이 "에어컨"이므로, 키워드 "에어컨"에 대응하는 장치를 에어컨(1330)으로 결정할 수 있다. 그리고, TV(1320)는 에어컨(1330)에의 연결 경로를 "TV->에어컨"으로 결정하여 냉장고(1310)에 전송할 수 있다. TV(1320)가 냉장고(1310)에 전송하는 정보에는 연결 경로뿐만 아니라, 수신 장치로써의 에어컨(1330)에 대한 정보, 중간 장치로써의 TV(1320)에 대한 정보 등이 더 포함될 수 있다.
냉장고(1310)는 TV(1320)로부터 수신한 정보에 기초하여, 키워드 "에어컨"에 대응하는 장치가 에어컨(1330)이었음을 파악하고, 에어컨(1330)에의 연결 경로를 "냉장고->TV->에어컨"으로 결정할 수 있다. 그리고, 냉장고(1310)는 결정한 연결 경로를 고려하여, 에어컨(1330)의 전원을 켜는 명령어를 생성하고, 생성한 명령어를 연결 경로에 따라 TV(1320)에 전송할 수 있다. 전송되는 명령어에는 송신 장치로써의 냉장고(1310)에 대한 정보, 수신 장치로써의 에어컨(1330)에 대한 정보, 그리고 동작 정보로써의 "power on" 등이 포함될 수 있다.
TV(1320)는 냉장고(1310)로부터 수신한 명령어에 포함되거나 냉장고(1310)로부터 별도로 수신한 연결 경로에 기초하여, 냉장고(1310)로부터 수신한 명령어를 에어컨(1330)에 전송할 수 있다. 그리고, 에어컨(1330)은 수신한 명령어에 기초하여 전원을 켜는 동작을 수행할 수 있다.
이에 따라, 냉장고(1310)는, TV(1320)를 통해, 직접 연동되지 않은 에어컨(1330)에 대한 장치 이용 명령을 수행할 수 있다.
도 14는 각 장치(1310, 1320, 1330, 1340)가 자신의 연동 정보 테이블(제1 연동 정보 테이블)을 다른 장치들에게 전송한 실시 예를 나타낸다.
도 14를 참조하면, 냉장고(1310), TV(1320), 에어컨(1330) 및 인공 지능 서버(1340)는 서로의 연동 정보 테이블을 공유하여, 여러 장치들의 연동 정보가 포함된 연동 정보 테이블(1411, 1421, 1431, 1441)을 저장할 수 있다.
냉장고(1310)는 연동 정보 테이블(1411)에 기초하여 직접 연동된 장치 중에서 키워드 "에어컨"에 대응하는 장치가 존재하는지 판단하고, 키워드 "에어컨"에 대응하는 장치가 에어컨(1330)임을 결정할 수 있다. 그리고, 냉장고(1310)는 저장된 연동 정보 테이블(1441)에 기초하여 냉장고(1310)에서 에어컨(1330)까지의 연결 경로를 "냉장고->TV->에어컨" 와 "냉장고->인공 지능 서버->에어컨"으로 결정할 수 있다.
냉장고(1310)는 미리 설정된 통신 프로토콜이나 사용자의 입력에 기초하여 연결 경로를 "냉장고->TV->에어컨" 와 "냉장고->인공 지능 서버->에어컨" 중에서 하나로 결정할 수 있다. 그리고, 냉장고(1310)는 결정한 연결 경로를 고려하여, 에어컨(1330)의 전원을 켜는 명령어를 생성하고, 생성한 명령어를 연결 경로에 따라 TV(1320) 또는 인공 지능 서버(1340)에 전송할 수 있다. 전송되는 명령어에는 송신 장치로써의 냉장고(1310)에 대한 정보, 수신 장치로써의 에어컨(1330)에 대한 정보, 그리고 동작 정보로써의 "power on" 등이 포함될 수 있다.
TV(1320) 또는 인공 지능 서버(1340)는 냉장고(1310)로부터 수신한 명령어에 포함되거나 냉장고(1310)로부터 별도로 수신한 연결 경로에 기초하여, 냉장고(1310)로부터 수신한 명령어를 에어컨(1330)에 전송할 수 있다. 그리고, 에어컨(1330)은 수신한 명령어에 기초하여 전원을 켜는 동작을 수행할 수 있다.
이에 따라, 냉장고(1310)는, TV(1320) 또는 인공 지능 서버(1340)를 통해, 직접 연동되지 않은 에어컨(1330)에 대한 장치 이용 명령을 수행할 수 있다.
도 15는 인공 지능 서버(1340)를 제외한 각 장치(1310, 1320, 1330)가 자신의 연동 정보 테이블(제1 연동 정보 테이블)을 인공 지능 서버(1340)에 전송한 실시 예를 나타낸다.
도 15를 참조하면, 냉장고(1310), TV(1320) 및 에어컨(1330)은 각자의 연동 정보 테이블을 인공 지능 서버(1340)에 공유하고, 인공 지능 서버(1340)는 자신과 연동된 장치들(1310, 1320, 1330)의 연동 정보를 포함하는 연동 정보 테이블(1541)을 저장할 수 있다. 그리고, 냉장고(1310)는 냉장고(1310)의 연동 정보 테이블(1511)만을 저장하고, TV(1320)는 TV(1320)의 연동 정보 테이블(1521)만을 저장하고, 에어컨(1330)은 에어컨(1330)의 연동 정보 테이블(1531)만을 저장할 수 있다.
냉장고(1310)는 연동 정보 테이블(1511)에 기초하여 직접 연동된 장치 중에서 키워드 "에어컨"에 대응하는 장치가 존재하는지 판단한다. 하지만, 냉장고(1310)는 에어컨(1330)과 직접 연동되지 않았으므로, 냉장고(1310)는 연동 정보 테이블(1311)에 포함된 연동된 장치로써의 TV(1320) 또는 인공 지능 서버(1340)에 키워드 "에어컨"에 대응하는 장치에의 연결 경로를 요청할 수 있다.
도 15에 도시된 실시 예는, 도 13에 도시된 실시 예와는 달리, 인공 지능 서버(1340)가 각 장치들(1310, 1320, 1330)로부터 연동 정보 테이블을 획득하였기 때문에, 인공 지능 서버(1340)는 다른 장치들(1310, 1320, 1330)과 통신하지 않더라도 수신 장치와 연결 경로를 결정할 수 있다. 도 15의 실시 예에서도 도 13과 마찬가지로 TV(1320)에서 연결 경로를 설정하고, 냉장고(1310)의 명령어를 에어컨(1330)에 전달하는 중간 장치로서의 역할을 수행할 수 있다.
인공 지능 서버(1340)는 연동 정보 테이블(1541)에 기초하여 에어컨(1330)의 별명이 "에어컨"임을 확인하고, 키워드 "에어컨"에 대응하는 장치를 에어컨(1330)으로 결정할 수 있다. 그리고, 인공 지능 서버(1340)는 연동 정보 테이블(1541)에 기초하여 TV(1320)와 인공 지능 서버(1340) 각각이 냉장고(1310)와 에어컨(1330)에 연결되어 있음을 확인할 수 있고, 그에 기초하여 에어컨(1330)에의 연결 경로를 "냉장고->TV->에어컨" 와 "냉장고->인공 지능 서버->에어컨"으로 결정할 수 있다. 그리고, 인공 지능 서버(1340)는 결정한 두 연결 경로를 냉장고(1310)에 전송할 수 있다. 인공 지능 서버(1340)가 냉장고(1310)에 전송하는 정보에는 연결 경로뿐만 아니라, 수신 장치로써의 에어컨(1330)에 대한 정보, 중간 장치로써의 TV(1320)에 대한 정보 등이 더 포함될 수 있다.
냉장고(1310)는 TV(1320)로부터 수신한 정보에 기초하여, 키워드 "에어컨"에 대응하는 장치가 에어컨(1330)이었음을 파악하고, 미리 설정된 통신 프로토콜이나 사용자의 입력에 기초하여 연결 경로를 "냉장고->TV->에어컨" 또는 "냉장고->인공 지능 서버->에어컨" 중에서 하나로 결정할 수 있다. 그리고, 냉장고(1310)는 결정한 연결 경로를 고려하여, 에어컨(1330)의 전원을 켜는 명령어를 생성하고, 생성한 명령어를 연결 경로에 따라 TV(1320) 또는 인공 지능 서버(1340)에 전송할 수 있다. 전송되는 명령어에는 송신 장치로써의 냉장고(1310)에 대한 정보, 수신 장치로써의 에어컨(1330)에 대한 정보, 그리고 동작 정보로써의 "power on" 등이 포함될 수 있다.
TV(1320) 또는 인공 지능 서버(1340)는 냉장고(1310)로부터 수신한 명령어에 포함되거나 냉장고(1310)로부터 별도로 수신한 연결 경로에 기초하여, 냉장고(1310)로부터 수신한 명령어를 에어컨(1330)에 전송할 수 있다. 그리고, 에어컨(1330)은 수신한 명령어에 기초하여 전원을 켜는 동작을 수행할 수 있다.
다른 일 실시 예에서, 냉장고(1310)는, 연결 경로를 결정하지 않고, 인공 지능 서버(1340)에 대하여 송신 장치 정보로써 냉장고(1310)에 대한 정보, 수신 장치 정보로써 키워드 "에어컨", 그리고 동작 정보로써 "power on"을 포함하는 명령어를 생성할 수 있고, 생성한 명령어를 인공 지능 서버(1340)에 전송할 수도 있다. 인공 지능 서버(1340)는 냉장고(1310)로부터 수신한 명령어에서 포함된 수신 장치 정보에 기초하여 수신 장치를 에어컨(1330)으로 결정하고, 에어컨(1330)에 동작 정보로써의 "power on"을 포함하는 명령어를 전송할 수 있다. 그리고, 에어컨(1330)은 수신한 명령어에 기초하여 전원을 켜는 동작을 수행할 수 있다.
이에 따라, 냉장고(1310)는, TV(1320) 또는 인공 지능 서버(1340)를 통해, 직접 연동되지 않은 에어컨(1330)에 대한 장치 이용 명령을 수행할 수 있다.
본 개시의 일 실시 예에 따르면, 전술한 방법은 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.

Claims (15)

  1. 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치에 있어서,
    통신부;
    연동된 장치에 대한 연동 정보를 포함하는 연동 정보 테이블을 저장하는 메모리; 및
    장치 연동 모드에 진입하면 상기 통신부를 통해 연동 가능한 장치(pairable device)를 검색하고, 상기 통신부를 통해 검색된 연동 가능한 장치 중에서 대상 장치와 연동하고, 상기 대상 장치에 대한 연동 정보를 상기 연동 정보 테이블에 추가하여 상기 연동 정보 테이블을 갱신하는 프로세서
    를 포함하는, 인공 지능 장치.
  2. 청구항 1에 있어서,
    상기 연동 정보 테이블은
    상기 연동된 장치의 식별 정보, 명칭, 별명, 종류 정보, 통신 방법 또는 연동 플랫폼 중에서 적어도 하나 이상을 포함하는, 인공 지능 장치.
  3. 청구항 2에 있어서,
    상기 프로세서는
    사용자의 입력에 기초하여 상기 대상 장치의 명칭 또는 별명을 설정하고,
    상기 연동 정보 테이블은
    상기 설정된 명칭 또는 상기 설정된 별명을 포함하는, 인공 지능 장치.
  4. 청구항 1에 있어서,
    상기 대상 장치는
    상기 검색된 연동 가능한 장치 중에서 사용자의 입력에 기초하여 선택되는 장치인, 인공 지능 장치.
  5. 청구항 1에 있어서,
    상기 프로세서는
    상기 통신부를 통해 상기 연동 정보 테이블을 상기 연동된 장치 또는 인공 지능 서버와 공유하는, 인공 지능 장치.
  6. 청구항 1에 있어서,
    상기 프로세서는
    장치 이용 명령을 수신하면 상기 장치 이용 명령을 이용하여 송신 장치에 대한 정보, 수신 장치에 대한 정보 및 동작 정보를 획득하고,
    상기 송신 장치는
    상기 인공 지능 장치이고,
    상기 수신 장치는
    상기 장치 이용 명령의 대상인, 인공 지능 장치.
  7. 청구항 6에 있어서,
    상기 장치 이용 명령은
    사용자의 발화 음성이고,
    상기 프로세서는
    상기 장치 이용 명령에 대한 자연어 처리(NLP: Natural Language Processing)에 기초하여 상기 송신 장치에 대한 정보, 상기 수신 장치에 대한 정보 및 상기 동작 정보를 획득하는, 인공 지능 장치.
  8. 청구항 6에 있어서,
    상기 프로세서는
    상기 송신 장치에 대한 정보, 상기 수신 장치에 대한 정보 및 상기 동작 정보에 기초하여 상기 장치 이용 명령에 대응하는 제1 명령어를 생성하고, 상기 장치 이용 명령을 수행하도록 상기 송신 장치 상기 통신부를 통해 상기 제1 명령어를 인공 지능 서버에 전송하고,
    상기 제1 명령어는
    상기 인공 지능 서버에서 상기 수신 장치에 대한 정보에 기초하여 결정된 장치로 전송되는, 인공 지능 장치.
  9. 청구항 6에 있어서,
    상기 프로세서는
    상기 연동 정보 테이블을 이용하여 상기 수신 장치에 대한 연결 경로를 결정하고, 상기 장치 이용 명령에 대응하는 제2 명령어를 생성하고, 상기 통신부를 통해 상기 연결 경로에 따라 상기 제2 명령어를 전송하고,
    상기 제2 명령어는
    상기 연결 경로를 포함하는, 인공 지능 장치.
  10. 청구항 9에 있어서,
    상기 프로세서는
    상기 송신 장치에서 상기 수신 장치까지에 대한 연결 경로가 여러 개 존재하는 경우, 사용자의 입력 또는 미리 정해진 프로토콜에 기초하여 하나의 연결 경로를 선택하는, 인공 지능 장치.
  11. 청구항 9에 있어서,
    상기 프로세서는
    상기 메모리에 다른 장치의 연동 정보 테이블이 포함된 경우에, 상기 메모리에 저장된 상기 연동 정보 테이블을 이용하여 상기 연결 경로를 결정하는, 인공 지능 장치.
  12. 청구항 9에 있어서,
    상기 프로세서는
    상기 통신부를 통해 인공 지능 서버에 상기 송신 장치에서 상기 수신 장치까지에 대한 연결 경로를 요청하고, 상기 인공 지능 서버로부터 수신한 연결 경로에 기초하여 상기 연결 경로를 결정하는, 인공 지능 장치.
  13. 청구항 9에 있어서,
    상기 프로세서는
    상기 연동 정보 테이블을 이용하여 상기 수신 장치가 직접 연동된 장치인지 판단하고, 상기 수신 장치가 상기 직접 연동된 장치가 아닌 경우에, 상기 통신부를 통해 상기 직접 연동된 장치에 상기 수신 장치까지에 대한 연결 경로를 요청하고, 상기 직접 연동된 장치로부터 수신한 연결 경로에 기초하여 상기 연결 경로를 결정하는, 인공 지능 장치.
  14. 장치 간 연동에 기초한 장치 제어 기능을 제공하는 방법에 있어서,
    장치 연동 모드에 진입하면 연동 가능한 장치(pairable device)를 검색하는 단계;
    검색된 연동 가능한 장치 중에서 대상 장치와 연동하는 단계; 및
    상기 대상 장치에 대한 연동 정보를 연동 정보 테이블에 추가하여 상기 연동 정보 테이블을 갱신하는 단계
    를 포함하고,
    상기 연동 정보 테이블은
    연동된 장치에 대한 연동 정보를 포함하는, 방법.
  15. 장치 간 연동에 기초한 장치 제어 기능을 제공하는 방법을 기록한 기록 매체에 있어서, 상기 방법은
    장치 연동 모드에 진입하면 연동 가능한 장치(pairable device)를 검색하는 단계;
    검색된 연동 가능한 장치 중에서 대상 장치와 연동하는 단계; 및
    상기 대상 장치에 대한 연동 정보를 연동 정보 테이블에 추가하여 상기 연동 정보 테이블을 갱신하는 단계
    를 포함하고,
    상기 연동 정보 테이블은
    연동된 장치에 대한 연동 정보를 포함하는, 기록 매체.
PCT/KR2020/003019 2020-02-26 2020-03-03 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법 WO2021172642A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080075156.XA CN114631095A (zh) 2020-02-26 2020-03-03 基于装置间的互通提供装置控制功能的人工智能装置及其方法
EP20920925.3A EP4113905A4 (en) 2020-02-26 2020-03-03 ARTIFICIAL INTELLIGENCE DEVICE FOR PROVIDING A DEVICE CONTROL FUNCTION BASED ON COOPERATION BETWEEN DEVICES AND METHODS THEREOF
US17/641,010 US20220338281A1 (en) 2020-02-26 2020-03-03 Artificial intelligence device for providing device control function based on interworking between devices and method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0023628 2020-02-26
KR1020200023628A KR102412308B1 (ko) 2020-02-26 2020-02-26 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법

Publications (1)

Publication Number Publication Date
WO2021172642A1 true WO2021172642A1 (ko) 2021-09-02

Family

ID=77491126

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/003019 WO2021172642A1 (ko) 2020-02-26 2020-03-03 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법

Country Status (5)

Country Link
US (1) US20220338281A1 (ko)
EP (1) EP4113905A4 (ko)
KR (1) KR102412308B1 (ko)
CN (1) CN114631095A (ko)
WO (1) WO2021172642A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021162696A (ja) * 2020-03-31 2021-10-11 ブラザー工業株式会社 情報処理装置、情報処理方法、電子機器及び情報処理システム
WO2021237686A1 (en) * 2020-05-29 2021-12-02 Arris Enterprises Llc Locating and identifying paired electronic devices
US20220383869A1 (en) * 2021-05-27 2022-12-01 Soundhound, Inc. Enabling natural language interactions with user interfaces for users of a software application
US11889569B2 (en) * 2021-08-09 2024-01-30 International Business Machines Corporation Device pairing using wireless communication based on voice command context

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070098168A (ko) * 2006-03-31 2007-10-05 주식회사 대우일렉트로닉스 홈 네트워크 시스템 및 홈 네트워크 시스템의 제어방법
KR20140045109A (ko) * 2012-10-08 2014-04-16 주식회사 케이티 홈네트워크 가전기기 제어 시스템의 서비스 커버리지 확대를 위한 방법
WO2017091021A1 (ko) * 2015-11-24 2017-06-01 삼성전자주식회사 스마트 홈 서비스 서버 및 그 제어방법
KR20170067917A (ko) * 2015-12-08 2017-06-19 전자부품연구원 스마트홈 가전 서비스 제공 시스템 및 서비스 제공 방법
KR102025566B1 (ko) * 2018-07-27 2019-09-26 엘지전자 주식회사 인공지능을 이용한 홈어플라이언스 및 음성 인식 서버 시스템과, 이의 제어 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070274271A1 (en) * 2006-05-25 2007-11-29 Motorola, Inc. Wireless communication device having dual transceivers for network pairing with another device
US9473233B2 (en) * 2014-06-18 2016-10-18 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data using relay device
KR102209092B1 (ko) * 2017-12-18 2021-01-28 네이버 주식회사 복수의 호출 용어를 이용하여 인공지능 기기를 제어하는 방법 및 시스템
KR102042689B1 (ko) 2018-05-30 2019-11-08 (주)유비벨록스모바일 Iot 가전 등록 시스템
WO2020246647A1 (ko) * 2019-06-07 2020-12-10 엘지전자 주식회사 인공 지능 시스템의 동작을 관리하는 인공 지능 장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070098168A (ko) * 2006-03-31 2007-10-05 주식회사 대우일렉트로닉스 홈 네트워크 시스템 및 홈 네트워크 시스템의 제어방법
KR20140045109A (ko) * 2012-10-08 2014-04-16 주식회사 케이티 홈네트워크 가전기기 제어 시스템의 서비스 커버리지 확대를 위한 방법
WO2017091021A1 (ko) * 2015-11-24 2017-06-01 삼성전자주식회사 스마트 홈 서비스 서버 및 그 제어방법
KR20170067917A (ko) * 2015-12-08 2017-06-19 전자부품연구원 스마트홈 가전 서비스 제공 시스템 및 서비스 제공 방법
KR102025566B1 (ko) * 2018-07-27 2019-09-26 엘지전자 주식회사 인공지능을 이용한 홈어플라이언스 및 음성 인식 서버 시스템과, 이의 제어 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4113905A4 *

Also Published As

Publication number Publication date
CN114631095A (zh) 2022-06-14
KR20210108700A (ko) 2021-09-03
EP4113905A1 (en) 2023-01-04
KR102412308B1 (ko) 2022-06-24
US20220338281A1 (en) 2022-10-20
EP4113905A4 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
WO2021172642A1 (ko) 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법
WO2018117532A1 (en) Speech recognition method and apparatus
WO2020246643A1 (ko) 서빙 로봇 및 그를 이용한 고객 접대 방법
WO2018110818A1 (en) Speech recognition method and apparatus
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2019107945A1 (en) Method of providing service based on location of sound source and speech recognition device therefor
WO2021006404A1 (ko) 인공지능 서버
WO2021045447A1 (en) Apparatus and method for providing voice assistant service
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2021029457A1 (ko) 사용자에게 정보를 제공하는 인공 지능 서버 및 그 방법
WO2020246640A1 (ko) 사용자의 위치를 결정하는 인공 지능 장치 및 그 방법
WO2020246647A1 (ko) 인공 지능 시스템의 동작을 관리하는 인공 지능 장치 및 그 방법
EP3533052A1 (en) Speech recognition method and apparatus
WO2020213758A1 (ko) 음성으로 상호작용하는 인공 지능 장치 및 그 방법
WO2020241920A1 (ko) 장치 정보에 기반하여, 다른 장치를 제어할 수 있는 인공 지능 장치
WO2020251074A1 (ko) 음성 인식 기능을 제공하는 인공 지능 로봇 및 그의 동작 방법
WO2020145625A1 (ko) 인공 지능 장치 및 그의 동작 방법
WO2021215547A1 (ko) 스마트 홈 장치 및 방법
WO2021206221A1 (en) Artificial intelligence apparatus using a plurality of output layers and method for same
WO2021040105A1 (ko) 개체명 테이블을 생성하는 인공 지능 장치 및 그 방법
WO2020256169A1 (ko) 인공 지능을 이용하여, 안내 서비스를 제공하는 로봇 및 그의 동작 방법
WO2020251096A1 (ko) 인공 지능 로봇 및 그의 동작 방법
WO2020241923A1 (ko) 사용자 환경에서의 음성 인식 모델의 성능을 예측하는 인공 지능 장치 및 그 방법
WO2020251101A1 (ko) 사용자의 동선을 결정하는 인공 지능 장치 및 그 방법
WO2021006363A1 (ko) 인공 지능을 이용하여, 안내 서비스를 제공하는 로봇 및 그의 동작 방법

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: 20920925

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020920925

Country of ref document: EP

Effective date: 20220926