WO2022080615A1 - 패턴을 제공하는 방법 및 이를 지원하는 전자 장치 - Google Patents
패턴을 제공하는 방법 및 이를 지원하는 전자 장치 Download PDFInfo
- Publication number
- WO2022080615A1 WO2022080615A1 PCT/KR2021/005389 KR2021005389W WO2022080615A1 WO 2022080615 A1 WO2022080615 A1 WO 2022080615A1 KR 2021005389 W KR2021005389 W KR 2021005389W WO 2022080615 A1 WO2022080615 A1 WO 2022080615A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pattern
- electronic device
- processor
- parameter
- event
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2823—Reporting information sensed by appliance or service execution status of appliance services in a home automation network
- H04L12/2827—Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
- H04L12/2829—Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality involving user profiles according to which the execution of a home appliance functionality is automatically triggered
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/02—Preprocessing
Definitions
- Various embodiments of the present invention relate to a method of providing a pattern and an electronic device supporting the same.
- IoT Internet of things
- IoT technology can be applied to various environments such as homes, automobiles, offices, or factories, and allows a user to collect environmental information from a plurality of objects and analyze the collected information to control devices.
- An electronic device may collect data related to a user from at least one electronic device located in a home.
- the electronic device may determine the user's pattern based on the collected data, and may provide (eg, recommend) a setting related to the determined user's pattern (eg, a setting related to the operation of the at least one electronic device) to the user. .
- the electronic device may collect data related to the user for a specified period (eg, about one week). Based on the collected data, when a user (eg, the user's electronic device) enters the house from outside the house at a specified time (eg, about 6 pm), the electronic device returns to the home within the specified time (eg, within about 5 minutes). It is possible to determine the user's pattern of turning on the light switch in the interior (turn-on).
- the electronic device may recommend a setting to automatically turn on the light switch when the user enters the house from outside the house at the specified time (eg, about 6 pm).
- the electronic device eg. a server
- the pattern provided by the electronic device may be limited.
- Various embodiments of the present disclosure provide (eg, recommend) patterns applicable to multiple users based on data related to patterns obtained from multiple users (eg, electronic devices of multiple users). It relates to a method for providing a pattern, and to an electronic device supporting the same.
- An electronic device includes a communication interface, a memory, and at least one processor functionally connected to the communication interface and the memory, wherein the at least one processor is configured to: Receive, from at least one external electronic device, information related to at least one first event occurring during a specified first time, and receive at least one second event occurring within a specified at least one time interval from among the information on the at least one first event 2 Based on the information on the event, a first pattern and a first parameter related to the first pattern are obtained, and at least one occurrence occurring during a specified second time from the at least one external electronic device through the communication interface receive information related to a third event, and based on the information related to the at least one third event, obtain a second parameter related to the first pattern, the first pattern, the first parameter, and the second parameter It may be configured to generate a first template based on the two parameters, and to transmit information about the first template to a server through the communication interface.
- a server includes a communication interface, a memory, and at least one processor operatively connected to the communication interface and the memory, wherein the at least one processor includes a plurality of Receives information on a first template related to a first pattern from external electronic devices of and to transmit the first pattern, the specified time interval, and the value of the threshold parameter to the plurality of external electronic devices through the communication interface.
- An electronic device includes a communication interface, a memory, and at least one processor functionally connected to the communication interface and the memory, wherein the at least one processor is configured to: Receive, from a server, a first pattern, a designated time interval associated with the first pattern, and a value of a threshold parameter associated with the first pattern, through the communication interface, from the at least one external electronic device, a designated first Receive information related to at least one first event occurring during a time period, and based on at least one second event occurring within the specified time interval among the at least one first event, a second corresponding to the first pattern and to obtain a first parameter related to a pattern, and to provide the second pattern when the value of the first parameter is equal to or greater than the value of the threshold parameter.
- a method for providing a pattern according to various embodiments of the present disclosure and an electronic device for supporting the same are provided based on data related to a pattern obtained from a plurality of users (eg, electronic devices of a plurality of users). Applicable patterns can be provided (eg, recommended) to users.
- controller means any device, system, or part thereof that controls at least one operation, which device may be implemented in hardware, firmware, or software, or a specific combination of at least two thereof. . It should be noted that the functions associated with any particular controller may be centralized or distributed, whether local or remote.
- various functions to be described below may be implemented or supported by one or more computer programs that are respectively formed in computer readable program code and realized in a computer readable medium.
- application or “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or portions thereof suitable for implementation in suitable computer readable program code.
- computer readable program code includes computer code in any form, including source code, object code, and executable code.
- computer-readable medium refers to any form of medium that can be accessed by a computer, such as read-only memory (ROM), random access memory (RAM), hard disk drives, compact disks (CDs), digital video disks (DVDs). ), or any other form of memory.
- Non-transitory computer-readable media excludes wired, wireless, optical, or other communication links that transmit transitory electrical or other signals.
- the non-transitory computer-readable medium includes a medium capable of permanently storing data and a medium capable of storing data and subsequently overwriting it, such as a rewritable optical disk or an erasable memory device. do.
- FIG 1 illustrates an Internet of things (IoT) system according to an embodiment.
- IoT Internet of things
- FIG. 2 is a block diagram of an electronic device according to various embodiments of the present disclosure.
- FIG. 3 is a block diagram of a server, in accordance with various embodiments.
- FIG. 4 is a flowchart illustrating a method of an electronic device providing a template, according to various embodiments of the present disclosure.
- FIG. 5 is a flowchart illustrating a method of obtaining a first pattern according to various embodiments of the present disclosure
- FIG. 6 is a flowchart illustrating a method for a server to determine a threshold parameter, according to various embodiments.
- FIG. 7 is a flowchart illustrating a method of determining a threshold parameter and a designated time interval associated with a first pattern, according to various embodiments.
- FIG. 8 is a flowchart illustrating a method of providing a method by an electronic device for providing a pattern, according to various embodiments of the present disclosure.
- FIG 1 illustrates an internet of things (IoT) system 100 according to an embodiment.
- IoT internet of things
- FIG. 1 may be omitted, and components not shown may be further included.
- an IoT system 100 includes a plurality of electronic devices connectable to a data network 116 or 146 .
- the IoT system 100 includes a first IoT server 110 , a first node 120 , a voice assistance server 130 , a second IoT server 140 , and a second node 150 , or at least one of devices 121 , 122 , 123 , 124 , 125 , 136 , 137 , 151 , 152 and 153 .
- the first IoT server 110 may include at least one of a communication interface 111 , a processor 112 , and a storage unit 113 .
- the second IoT server 140 may include at least one of a communication interface 141 , a processor 142 , and a storage unit 143 .
- “IoT server” in this document is, for example, based on a data network (eg, data network 116 or data network 146), a relay device (eg, the first node 120 or the second node ( 150)), or directly without a relay device, one or more devices (eg, devices 121,122,123,124,125,151,152,153) may be remotely controlled and/or monitored.
- a “device” herein means a sensor, consumer electronics, office electronic device, or A device for performing a process, the type is not limited.
- a device that receives the control command and performs an operation corresponding to the control command may be referred to as a “target device”.
- the IoT server may be referred to as a central server in that it selects a target device from among a plurality of devices and provides a control command.
- the first IoT server 110 may communicate with the devices 121 , 122 , and 123 through the data network 116 .
- the data network 116 may refer to a network for long-distance communication, such as, for example, the Internet, or a computer network (eg, LAN or WAN), or may include a cellular network.
- the first IoT server 110 may be connected to the data network 116 through the communication interface 111 .
- the communication interface 111 may include a communication device (or communication module) for supporting communication of the data network 116 , and may be integrated into one component (eg, a single chip), or a plurality of separate components. It can be implemented with components (eg, a plurality of chips).
- the first IoT server 110 may communicate with the devices 121 , 122 , and 123 through the first node 120 .
- the first node 120 may receive data from the first IoT server 110 through the data network 116 and transmit the received data to at least some of the devices 121 , 122 , and 123 .
- the first node 120 may receive data from at least some of the devices 121 , 122 , and 123 , and transmit the received data to the first IoT server 110 through the data network 116 .
- the first node 120 may serve as a bridge between the data network 116 and the devices 121 , 122 , 123 .
- the first node 120 is illustrated as one, but this is merely exemplary, and the number is not limited.
- a “node” in this document may be an edge computing system, or may be a hub device.
- the first node 120 may support wired and/or wireless communication of the data network 116 , and may also support wired and/or wireless communication with the devices 121 , 122 , and 123 .
- the first node 120 is a short-range communication network such as at least one of Bluetooth, Wi-Fi, Wi-Fi direct, Z-wave, Zig-bee, INSETEON, X10, etc.) or IrDA (infrared data association).
- the devices 121 , 122 , and 123 may be monitored and/or controlled by the service provided by the first IoT server 110 , and the devices 121 , 122 , 123 may It may not be required to have the capability of a complete network communication (eg, Internet communication) for direct connection to the first IoT server 110.
- the devices 121 , 122 , and 123 may include, for example, a light switch, proximity Although shown as implemented as an electronic device in a home environment as a sensor, a temperature sensor, etc., this is illustrative and not limited.
- the first IoT server 110 may support direct communication with the devices 124 and 125 .
- direct communication is, for example, communication not through a relay device such as the first node 120 , and may mean communication through, for example, a cellular communication network and/or a data network.
- the first IoT server 110 may transmit a control command to at least some of the devices 121 , 122 , 123 , 124 and 125 .
- the “control command” may mean data that causes a controllable device to perform a specific operation, and the specific operation is an operation performed by the device, including output of information, sensing of information, reporting of information, It may include management (eg, deletion, or creation) of information, and there are no restrictions on the type.
- the processor 112 generates a control command from an external (eg, at least some of the voice assistant server 130 , the second IoT server 140 , the external system 160 , or the devices 121 , 122 , 123 , 124 , 125 ).
- the processor 112 may generate a control command based on a result of monitoring at least some of the devices 121 , 122 , 123 , 124 and 125 satisfying a specified condition.
- the processor 112 may control the communication interface 111 to transmit a control command to the target device.
- the processor 112 may include a central processing unit (CPU), a digital signal processor (DSP), an application processor (AP), a communication processor (CP), or the like. It may be implemented as a combination of one or more of a general-purpose processor, a graphic processing unit (GPU), a graphics-only processor such as a vision processing unit (VPU), or an artificial intelligence-only processor such as a neural processing unit (NPU). It will be understood by those skilled in the art that the above-described processing unit is merely exemplary, and the processor 112 is not limited as long as it is an arithmetic means capable of executing, for example, an instruction stored in the storage unit 113 and outputting the executed result. .
- CPU central processing unit
- DSP digital signal processor
- AP application processor
- CP communication processor
- GPU graphic processing unit
- VPU vision processing unit
- NPU artificial intelligence-only processor
- the processor 112 may configure a web-based interface based on the API 114 or expose a resource managed by the first IoT server 110 to the outside. .
- the web-based interface may support communication between the first IoT server 110 and an external web service, for example.
- the processor 112 may allow, for example, an external system 160 to control and/or access the devices 121 , 122 , and 123 .
- the external system 160 may be, for example, an independent system that is not related to, or is not part of, the IoT system 100 .
- the external system 160 may be, for example, an external server or a web site.
- the processor 112 may expose the automation application to an API endpoint (eg, a universal resource locator (URL)) based on the API 114 to the outside.
- the first IoT server 110 may transmit a control command to a target device among the devices 121 , 122 , and 123 .
- the description of the communication interface 141 of the second IoT server 140 , the processor 142 , the API 144 of the storage unit 143 , and the database 145 is the communication of the first IoT server 110 .
- the description of the interface 111 , the processor 112 , the API 114 of the storage unit 113 , and the database 115 may be substantially the same.
- the description of the second node 150 may be substantially the same as the description of the first node 120 .
- the second IoT server 140 may transmit a control command to a target device among the devices 151 , 152 , and 153 .
- the first IoT server 110 and the second IoT server 140 may be operated by the same service provider in one embodiment, but may be operated by different service providers in another embodiment.
- the voice assistant server 130 may transmit/receive data to and from the first IoT server 110 through the data network 116 .
- the voice assistant server 130 may include at least one of a communication interface 131 , a processor 132 , and a storage unit 133 .
- the communication interface 131 may communicate with the smart phone 136 or the AI speaker 137 through a data network (not shown) and/or a cellular network (not shown).
- the smart phone 136 or the AI speaker 137 may include a microphone, obtain a user voice, convert it into a voice signal, and transmit the voice signal to the voice assistant server 130 .
- the processor 132 may receive a voice signal from the smart phone 136 or the AI speaker 137 through the communication interface 131 .
- the processor 132 may process the received voice signal based on the stored model 134 .
- the processor 132 may generate (or confirm) a control command using the processing result based on information stored in the database 135 .
- the storage units 113 , 133 , and 143 may include a flash memory type, a hard disk type, a multimedia card micro type, and a card type memory (eg, SD or XD memory, etc.), RAM (Random Access Memory) SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) Memory), a magnetic memory, a magnetic disk, and an optical disk may include at least one type of non-transitory storage medium, and the type is not limited.
- FIG. 2 is a block diagram of an electronic device 200 according to various embodiments.
- the electronic device 200 may be an electronic device capable of performing at least a part of an operation of providing a pattern.
- the electronic device 200 may be an electronic device having a computing capability capable of performing at least a part of an operation of providing a pattern.
- the electronic device 200 may be an electronic device including a processor 240 and a memory 230 having a capability to perform at least a part of an operation of providing a pattern.
- the electronic device 200 may be an electronic device registered for a service providing a pattern.
- at least one electronic device eg, at least some of the devices 121 , 122 , 123 , 124 , and 125 of FIG. 1
- a service or at least one electronic device located in a home
- the electronic device 200 may be designated as an electronic device that performs at least a part of an operation of providing a pattern based on a user input among the at least one registered electronic device.
- the electronic device 200 is communicatively connected to at least one external electronic device located in the home, and controls the operation of the at least one external electronic device located in the home using the communication connection.
- the electronic device 200 may be the first node 120 or the second node 150 of FIG. 1 .
- the electronic device 200 is an edge computing device capable of distributed processing between a server (eg, a cloud server) providing a service providing a pattern and an operation of providing the pattern. (edge computing device).
- a server eg, a cloud server
- edge computing device capable of distributed processing between a server (eg, a cloud server) providing a service providing a pattern and an operation of providing the pattern.
- the electronic device 200 may include a communication interface 210 , a display 220 , a memory 230 , and a processor 240 .
- the communication interface 210 connects the electronic device 200 to a server 300 (hereinafter referred to as a 'server') that provides at least one external electronic device and a service providing a pattern.
- a server 300 hereinafter referred to as a 'server'
- the communication interface 210 may connect the electronic device 200 to at least one external electronic device by wireless or wired communication.
- the communication interface 210 may receive, from at least one external electronic device communicatively connected to the electronic device 200 , information on an event occurring in the at least one external electronic device.
- the communication interface 210 may receive information about a state in the house (or a change in state in the house) from a sensor communicatively connected to the electronic device 200 .
- the communication interface 210 detects that a user enters the house from outside the house (eg, the user enters the house or the user is located in the house) from the presence detection sensor communicatively connected to the electronic device 200 . information can be received.
- the communication interface 210 may receive information on the current temperature (or change in temperature) in the house from a temperature sensor that is communicatively connected to the electronic device 200 .
- the information on the state of the home that the communication interface 210 receives from the sensor communicatively connected to the electronic device 200 is not limited to the above-described example.
- the communication interface 210 provides information on an operation (or operation change of at least one external electronic device) of at least one external electronic device from at least one external electronic device communicatively connected to the electronic device 200 .
- information can be received.
- the communication interface 210 receives, from a TV (television) communicatively connected to the electronic device 200 , information indicating that the TV is turned on (or turned off).
- the information on the operation of the at least one external electronic device that the communication interface 210 receives from the at least one external electronic device communicatively connected to the electronic device 200 is not limited to the above-described example.
- the information about the event that the communication interface 210 receives from at least one external electronic device communicatively connected to the electronic device 200 includes event-related information (eg, information about a state in your home or at least one information on the operation of the external electronic device), information on the time when the event occurred in the at least one external electronic device may be included.
- the information on the event may include information on the time when the TV is turned on together with information indicating that the TV communicatively connected to the electronic device 200 is turned on.
- the communication interface 210 may communicate and connect the electronic device 200 and the server.
- the communication interface 210 may transmit a template related to a pattern to be described later to the server 300 .
- the communication interface 210 may receive, from the server 300 , information including a threshold parameter related to a pattern to be described later.
- the display 220 may visually provide information to the outside (eg, a user) of the electronic device 200 .
- the display 220 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device.
- the display 220 may include a touch sensor configured to sense a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
- the display 220 may provide information related to the pattern.
- the display 220 may display information that allows the user to select whether or not to set a pattern provided (eg, recommended) by the electronic device 200 .
- the information that can be provided by the display 220 is not limited to the above-described example.
- the memory 230 may store various data used by at least one component (eg, the processor 240 ) of the electronic device 200 .
- the data may include, for example, input data or output data for software (eg, a program) and instructions related thereto.
- the memory 230 may include a volatile memory or a non-volatile memory.
- the memory 230 may store information obtained while performing at least a part of the operation of providing a pattern.
- the processor 240 executes, for example, software (eg, a program) to execute at least one other component (eg, hardware or software component) of the electronic device 200 connected to the processor 240 . ) can be controlled, and various data processing or operations can be performed. In one embodiment, as at least part of data processing or computation, processor 240 stores commands or data received from other components (eg, communication interface 210 ) in volatile memory, commands stored in volatile memory, or The data can be processed and the resulting data can be stored in non-volatile memory.
- software eg, a program
- processor 240 stores commands or data received from other components (eg, communication interface 210 ) in volatile memory, commands stored in volatile memory, or The data can be processed and the resulting data can be stored in non-volatile memory.
- the processor 240 includes a main processor (eg, a central processing unit or an application processor) or a secondary processor (eg, a graphics processing unit, a neural processing unit (NPU), which can operate independently or in conjunction with the main processor (eg, a central processing unit or an application processor); It may include an image signal processor, a sensor hub processor, or a communication processor.
- main processor eg, a central processing unit or an application processor
- secondary processor eg, a graphics processing unit, a neural processing unit (NPU)
- NPU neural processing unit
- the main processor eg, a central processing unit or an application processor
- It may include an image signal processor, a sensor hub processor, or a communication processor.
- the auxiliary processor may include a hardware structure specialized for processing an artificial intelligence model.
- Artificial intelligence models can be created through machine learning. Such learning may be performed, for example, in the electronic device 200 itself on which artificial intelligence is performed, or may be performed through a separate server (eg, a server).
- the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example not limited
- the artificial intelligence model may include a plurality of artificial neural network layers.
- Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the above example.
- the artificial intelligence model may include, in addition to, or alternatively, a software structure in addition to the hardware structure.
- the processor 240 may perform at least a part of an operation of providing a pattern. At least a portion of an operation of providing a pattern performed by the processor 240 will be described later in detail with reference to FIGS. 4 to 8 .
- the electronic device 200 is illustrated as including a communication interface 210 , a display 220 , a memory 230 , and a processor 240 , but is not limited thereto.
- the electronic device 200 may not include some of the components shown in FIG. 2 (eg, the display 220 ), and may not include components not shown in FIG. 2 (eg, detecting a state in the house). sensor) may be further included.
- FIG. 3 is a block diagram of a server 300 , in accordance with various embodiments.
- the server 300 may be a server capable of providing a service providing a pattern.
- the server 300 may be included in the first IoT server 110 , the voice assistant server 130 , or the second IoT server 140 of FIG. 1 . In an embodiment, the server 300 may be a server independent of the first IoT server 110 , the voice assistance server 130 , and the second IoT server 140 of FIG. 1 .
- the server 300 may include a communication interface 310 , a memory 320 , and a processor 330 .
- the communication interface 310 may connect the server 300 to a plurality of external electronic devices.
- the communication interface 310 may communicate and connect the server 300 with a plurality of external electronic devices through at least one of various communication methods.
- the communication interface 310 may receive a template related to a pattern from a plurality of external electronic devices registered in a service providing a pattern. In an embodiment, the communication interface 310 may transmit information including a threshold parameter related to a pattern to a plurality of external electronic devices.
- the memory 320 may store various data used by at least one component (eg, the processor 330 ) of the server 300 .
- the memory 320 may store information obtained while performing at least a part of the operation of providing a pattern.
- the processor 330 may perform at least a part of an operation of providing a pattern.
- the processor 330 may determine a threshold parameter related to a pattern based on a template related to a pattern received from a plurality of external electronic devices.
- the processor 330 may determine a threshold parameter related to a pattern based on a template related to a pattern received from a plurality of external electronic devices using an artificial neural network.
- the processor 330 may determine a threshold parameter related to a pattern based on a template related to a pattern received from a plurality of external electronic devices using a specified algorithm. A method in which the processor 330 determines a threshold parameter related to a pattern based on a template related to a pattern received from a plurality of external electronic devices will be described later in detail.
- the server 300 is exemplified as including a communication interface 310 , a memory 320 , and a processor 330 , but is not limited thereto, and the server 300 includes various configurations (eg, an input device, display) may be further included.
- FIG. 4 is a flowchart 400 illustrating a method of the electronic device 200 providing a template, according to various embodiments of the present disclosure.
- the processor 240 performs at least one first event generated during a specified first time from at least one external electronic device through the communication interface 210 and Relevant information can be received.
- the electronic device 200 and the at least one external electronic device may be electronic devices registered with a service providing a pattern.
- the electronic device 200 and the at least one external electronic device are provided with a service that provides a pattern (or a service capable of collectively or individually managing (or controlling) at least one electronic device located in a home). They may be registered electronic devices.
- the first time is a time designated as a time (or period) during which the electronic device 200 collects, from the at least one external electronic device, at least one first event occurring in the at least one external electronic device.
- the electronic device 200 may collect at least one first event occurring in the at least one external electronic device from the at least one external electronic device through the communication interface 210 for two weeks. .
- the information on the at least one first event is received from at least one external electronic device (eg, a sensor) that is communicatively connected to the electronic device 200 in a state in the house (or state change in the house).
- information on the operation of the at least one external electronic device (or the operation change of the at least one external electronic device) received from the at least one external electronic device (eg, home appliance) connected to the electronic device 200 in communication may include at least one of
- the information on the at least one first event includes a unique identifier of at least one external electronic device (hereinafter, 'device ID (identity)' is used interchangeably), a type of at least one external electronic device ( type), a capability (eg, a function) of at least one external electronic device, or a value of a capability (eg, a value indicating a state or operation according to a function).
- a unique identifier of at least one external electronic device hereinafter, 'device ID (identity)' is used interchangeably
- type type
- a capability eg, a function
- a value of a capability eg, a value indicating a state or operation according to a function
- the information on the at least one first event may include at least one external electronic device in addition to event-related information (eg, information about a state in your home or information about an operation of at least one external electronic device). may include information about the time at which the event occurred.
- event-related information eg, information about a state in your home or information about an operation of at least one external electronic device.
- the processor 240 after receiving the information on the at least one first event, the processor 240 generates an identifier (hereinafter, referred to as a 'first identifier') for the information on the at least one first event. (or assign, or grant).
- a 'first identifier' an identifier for the information on the at least one first event. (or assign, or grant).
- the first identifier may be an identifier that may be generated for at least one electronic device (eg, the electronic device 200 and at least one external electronic device) in the house.
- the first identifier may be in the form of an encrypted code.
- the first identifier may be generated as the same value for each of the at least one electronic device in the home.
- the first identifier may be an identifier used to integrally register at least one electronic device in a home in order to receive a service providing a pattern. In an embodiment, the first identifier may be an identifier generated (or corresponding) based on an identifier used to collectively register at least one electronic device in a house in order to receive a service providing a pattern. . In an embodiment, the first identifier may be an identifier used to group and manage at least one electronic device in a home. In an embodiment, the first identifier may be an identifier generated based on an identifier used to group and manage at least one electronic device in a home.
- the first identifier may be an account of a user of the electronic device 200 used to group and manage at least one electronic device in the home. In an embodiment, the first identifier may be an identifier generated based on an account of a user of the electronic device 200 used to group and manage at least one electronic device in the home.
- [Table 1] below may indicate information and a first identifier for at least one first event.
- Device type Device ID ability ability value first identifier 2020-07-21 16:01 sensor (e.g. presence sensor) xxx0 presence (Presence detection) present (Presence detected) A 2020-07-21 16:12 TV (television) xxx1 switch (power of TV) on (TV power on) A 2020-07-21 16:13 TV xxx1 tvChannel (channel on TV) 11 (channel number on TV) A 2020-07-21 16:28 AC (air conditioning) xxx2 switch (power of air conditioner) on (Air conditioner power on) A
- an event occurrence time may indicate a time when an event occurs in at least one external electronic device.
- '2020-07-21 16:01' indicates that the user (or the user's electronic device) enters the home from outside the home in the presence detection sensor at 16:01 on July 21, 2020. It can indicate the sensed time.
- '2020-07-21 16:12' may indicate the time when the TV is powered on at 16:12 on July 21, 2020.
- '2020-07-21 16:13' is the time when the channel of the TV became channel number '11' (or changed to '11') at 16:13 on July 21, 2020 can represent
- '2020-07-21 16:28' may indicate the time when the power of the air conditioner is turned on at 16:28 on July 21, 2020.
- the processor 240 the same first identifier (eg, ' A') can be created.
- the processor 240 may convert information about at least one first event and a first identifier as shown in [Table 1].
- the processor 240 performs a first pattern based on information on at least one second event occurring within a specified at least one time interval, among the information on the at least one first event. can be obtained.
- FIG. 5 is a flowchart 500 illustrating a method of acquiring a first pattern, according to various embodiments.
- the processor 240 acquires a sequence set (hereinafter, referred to as a 'sequence set') related to a pattern at at least one specified time interval.
- a sequence set hereinafter, referred to as a 'sequence set'
- the processor 240 may acquire the sequence set for each at least one specified time interval, based on an event occurring within the at least one specified time interval.
- [Table 2] below may indicate a sequence set obtained based on [Table 1].
- time interval point of view sequence set first identifier 5 minutes 16:00 ⁇ Sensor_xxx0_presence_present ⁇ A 16:10 ⁇ TV_xxx1_switch_on, TV_xxx1_tvChannel_11 ⁇ A 16:25 ⁇ AC_xxx2_switch_on ⁇ A 15 minutes 16:00 ⁇ Sensor_xxx0_presence_present, TV_xxx1_switch_on, TV_xxx1_tvChannel_11 ⁇ A 16:15 ⁇ AC_xxx2_switch_on ⁇ A 30 minutes 16:00 ⁇ Sensor_xxx0_presence_present, TV_xxx1_switch_on, TV_xxx1_tvChannel_11, AC_xxx2_switch_on ⁇ A
- an element of a sequence set may indicate a device type, a device ID, a capability, and a capability value.
- Sensor_xxx0_presence_present may indicate a value of presence detection sensor_ID_presence sensor capability_presence sensor capability.
- the processor 240 may designate 5 minutes, 15 minutes, and 30 minutes as time intervals for acquiring the sequence set, as shown in [Table 2].
- the time interval for acquiring the sequence set is not limited to 5 minutes, 15 minutes, and 30 minutes, and may be designated as various time intervals.
- a time interval (hereinafter, ' A sequence set may be obtained based on at least one second event that occurs within a time interval').
- the processor 240 may configure a time interval (eg, 16:00 (16:00), 16:10 (16:10), 16:25 (16:25)) based on a point in time. : 5 minutes), sequence sets (eg, ⁇ Sensor_xxx0_presence_present ⁇ , ⁇ TV_xxx1_switch_on, TV_xxx1_tvChannel_11 ⁇ . ⁇ AC_xxx2_switch_on ⁇ ) including events occurring within a specified time interval can be obtained.
- the elements of the sequence set may be arranged according to the time the event occurred. For example, in a sequence set with a time interval of 15 minutes and a time point corresponding to 16:00, ⁇ Sensor_xxx0_presence_present, TV_xxx1_switch_on, TV_xxx1_tvChannel_11 ⁇ , the time sequence in which an element event occurred is Sensor_xxx0_presence_present (event occurrence time: 16: 1), TV_xxx1_switch_on (event occurrence time: 16:12), and TV_xxx1_tvChannel_11 (event occurrence time: 16:13) may be in the order.
- a sequence set based on second events occurring within a specified time interval (eg, 5 minutes) after a time point (eg, 16:00) .
- the processor 240 can be configured within a portion (eg, 2 minutes and 30 seconds) of a specified time interval (eg, 5 minutes) after a point in time (eg, 16:00) (eg, 16:57:30 to 16:00). time between) and a second event that occurred within a portion of a specified time interval (eg 2:30 minutes) before the time point (eg 16:00) (eg time between 16:00 and 16:02:30). Based on the sequence set, it is possible to obtain a sequence set.
- the processor 240 may acquire the first pattern based on the viewpoint and the sequence set.
- the first pattern may include a condition and an action (eg, a combination of a condition and an action).
- the processor 240 may set an event related to the operation of at least one external electronic device in the house included in the sequence set (hereinafter, referred to as a 'motion-related event') as an action.
- the processor 240 performs an action other than a time point corresponding to a sequence set, an event related to a state in the house (hereinafter referred to as a 'state-related event'), or an action-related event set as an action.
- a condition may be set based on at least one of the related events.
- the processor 240 sets TV_xxx1_switch_on as an action as an action-related event from the time interval 15 minutes (16:00) and the sequence set ( ⁇ Sensor_xxx0_presence_present, TV_xxx1_switch_on, TV_xxx1_tvChannel_11 ⁇ ) of [Table 2].
- can Processor 240 for the event TV_xxx1_switch_on set as an action, by combining the Sensor_xxx0_presence_present as an event that occurred before the time point (16: 0) and the event set as an action, conditions (eg, condition (16: 0), condition ( Sensor_xxx0_presence_present) or conditions (16:00 and Sensor_xxx0_presence_present)).
- Processor 240 for the event TV_xxx1_tvChannel_11 set as an action, by combining the time point (16:0), Sensor_xxx0_presence_present, and TV_xxx1_switch_on, conditions (eg, condition (16:0), condition (Sensor_xxx0_presence_present), condition (TV_xxx1_switch_on) ), conditions (16:00 and Sensor_xxx0_presence_present), conditions (16:00 and TV_xxx1_switch_on), and conditions (Sensor_xxx0_presence_present and TV_xxx1_switch_on)) can be set.
- conditions eg, condition (16:0), condition (Sensor_xxx0_presence_present), condition (TV_xxx1_switch_on)
- conditions eg, condition (16:0), condition (Sensor_xxx0_presence_present), condition (TV_xxx1_switch_on)
- conditions
- the processor 240 exemplifies, but is not limited to, setting as a condition for an event that occurs before the event set as an action.
- the processor 240 may set an event that occurs later than an event set as an action within a specified time (eg, within a time interval of about 1/6 of the specified time interval) as a condition of the set action.
- a specified time e.g., within a time interval of about 1/6 of the specified time interval
- TV_xxx1_switch_on is set as an action
- the event occurrence time of TV_xxx1_tvChannel_11 occurred later than the event occurrence time of TV_xxx1_switch_on within a specified time period (e.g., 1 minute within 1/6 of the time interval as the specified time).
- TV_xxx1_tvChannel_11 can be set as a condition of TV_xxx1_switch_on.
- the first pattern of the specified time interval is the time point set as the condition of the first pattern (or the time of occurrence of the event set with the condition of the first pattern) and the time of occurrence of the event set with the action within the specified time interval.
- the first pattern (condition (16:10) and action (TV_xxx1_switch_on)) of 15-minute intervals is the first pattern (condition (16:10) and action (TV_xxx1_switch_on)) when the time set as the condition (16:10) and the time when the TV is turned on are within 15 minutes.
- the first pattern condition (16:10) and the first pattern action (TV_xxx1_switch_on) may be referred to.
- [Table 3] and [Table 4] below may indicate information related to the obtained first pattern.
- Event Occurrence Date time interval Condition action first identifier 2020-07-21 5 minutes 16:10 TV_xxx1_switch_on A 2020-07-21 15 minutes 16:15 TV_xxx1_switch_on A 2020-07-21 30 minutes 16:00 TV_xxx1_switch_on A 2020-07-21 5 minutes 16:30 AC_xxx2_switch_on A 2020-07-21 15 minutes 16:30 AC_xxx2_switch_on A 2020-07-21 30 minutes 16:30 AC_xxx2_switch_on A
- a condition, '16:10+TV_xxx1_on' may indicate a condition in which a time point is 16:10 and the power of the TV is turned on.
- the processor 240 for every specified time interval, by setting an action based on a sequence set, and combining conditions for the set action, A first pattern may be obtained.
- 'same_device' may indicate whether an external electronic device related to a condition and an external electronic device related to an action are the same electronic device. For example, 'same_device' is set to '1' when the external electronic device related to the condition and the external electronic device related to the action are the same, and when the external electronic device related to the condition and the external electronic device related to the action are different. It can be set to '0'.
- 'delay' may indicate a difference between a time at which an event set as a condition occurs and a time at which an event set as an action occurs.
- 'delay' may be set when a condition is set based on an event (eg, a state-related event or an action-related event). For example, when the condition is set based on the time point, 'delay' may not be set.
- the delay may be set to 1 minute.
- the processor 240 may obtain a first parameter related to the first pattern.
- the processor 240 may acquire the first parameter by analyzing the first pattern (or information related to the first pattern).
- the first parameter may include at least one of support, confidence, lift, and rule power factor (RPF) of an association rule.
- the first parameter includes information (eg, n_all, n_x, n_y) necessary to calculate at least one of support, reliability, improvement, or RPF, in addition to at least one of support, reliability, improvement, and RPF. , and n_ptns).
- [Table 5] below shows a first pattern and a first parameter obtained based on information about an event obtained from at least one external electronic device during a specified first time period (eg, 2 weeks) information can be displayed.
- 'n_x' may indicate the number of a specified time interval in which a time point or event corresponding to a condition occurs during a specified first time period (eg, 2 weeks). For example, if the condition is 16:10, the number of specified time intervals (eg, 5 minutes) that include 16:10 in two weeks may be 14.
- 'n_y' may indicate the number of specified time intervals in which an action (or an event corresponding to an action) occurs during a specified first time period (eg, 2 weeks). For example, when the action is TV_xxx1_switch_on, the number of specified time intervals (eg, 5 minutes) during which the TV is turned on for 2 weeks may be 40.
- the processor 240 may determine that the same action occurs once within the specified time interval.
- the processor 240 may determine that TV_xxx1_switch_on set as an action is generated once during n_y operation.
- 'n_ptns' may indicate the number of specified time intervals in which a condition and an action occur together during a specified first time period (eg, 2 weeks) during the specified time interval. For example, if the first specified time is 2 weeks, the time interval is 5 minutes, the condition is 16:10, and the action is TV_xxx1_switch_on, then TV_xxx1_switch_on occurred within 5 minutes from 16:10 during 2 weeks, in a time interval of 5 minutes. The number may be 9.
- confidence may be a value obtained by dividing n_ptns by n_x.
- the lift may be obtained by performing a reliability r n_y * n_all operation.
- RPF may be obtained by multiplying reliability and improvement.
- support may be obtained by dividing n_ptns by n_ptns.
- the first parameter related to the first pattern is not limited to the parameters shown in [Table 5].
- the processor 240 through the communication interface 210 , from the at least one external electronic device, generates at least one third You can receive information related to the event.
- the second designated time is a time after the lapse of the first designated time illustrated in operation 401, which is equal to the first designated time (or the size of the designated first time) (eg, 2 as the designated first time). 2 weeks after the lapse of the same specified first hour) may be different (eg, one week different from the specified first time after 2 weeks as the specified first time).
- the processor 240 may acquire a second parameter related to the first pattern based on information related to at least one third event.
- the processor 240 is configured to obtain a pattern identical to the first pattern (eg, a combination of conditions and actions identical to the conditions and actions of the first pattern) based on information related to the at least one third event.
- a pattern identical to the first pattern eg, a combination of conditions and actions identical to the conditions and actions of the first pattern
- the processor 240 acquires the same pattern as the first pattern based on information related to the at least one third event are at least some of the examples of the operation 403 for acquiring the first pattern Since are the same or similar, detailed description will be omitted.
- the processor 240 may acquire the second parameter based on the same pattern as the first pattern obtained based on information related to at least one third event.
- the processor 240 when the specified second time (eg, the size of the specified second time) is equal to the specified first time, the processor 240 obtains the first time based on information related to the at least one third event. Since at least some of the examples of the method of obtaining the second parameter based on the same pattern as the pattern are the same or similar to the examples of the obtaining of the first parameter of operation 405, a detailed description thereof will be omitted.
- the processor 240 when the specified second time (eg, the size of the specified second time) is different from the specified first time, the processor 240 obtains a parameter based on the same pattern as the first pattern, and The second parameter may be obtained by adjusting the obtained parameter based on the ratio of 2 hours and the designated first time. For example, if the specified first time is 2 weeks and the specified second time is 1 week, the processor 240 may obtain a parameter based on a third event acquired from at least one external electronic device for 1 week. there is.
- the processor 240 sets n_all, n_x, n_y, and n_ptns to 2 (designated first time) when n_all is 2016, n_x is 5, n_y is 25, and n_ptns is 2, respectively.
- n_all, n_x, n_y, and n_ptns can be adjusted to 4032, 10, 50, and 4, respectively, by multiplying by a value obtained by dividing
- the processor 240 may obtain the second parameter by calculating reliability, improvement, or RPF based on the adjusted n_all, n_x, n_y, and n_ptns.
- [Table 6] may indicate a part of [Table 5] and the confidence (y_confidence) (hereinafter, referred to as 'reliability for verification') as a second parameter.
- reliability (y_confidence) for verification is exemplified as the second parameter, but is not limited thereto, and the second parameter may include various parameters obtainable based on the same pattern as the first pattern. there is.
- [Table 6] it is exemplified as including a part of [Table 5], but the present invention is not limited thereto, and the second parameter for the entirety of [Table 5] may be obtained.
- the processor 240 may generate a first template based on the first pattern, the first parameter, and the second parameter.
- the processor 240 may generate the first template by deleting specific information from the conditions and actions of the first pattern.
- the processor 240 may generate the first template by leaving the specific information of the condition and the action of the first pattern blank.
- the first pattern in which specific information is deleted from the conditions and actions of the first pattern will be referred to as a 'second pattern'.
- [Table 7] below may indicate templates generated based on [Table 6].
- the processor 240 may delete a specific time, a device ID, and a specific channel number of the TV from the conditions and actions.
- the TV's power on is not deleted, but the value of the capability of the external electronic device such as the TV's power on may be deleted.
- the processor 240 determines the capability of the external electronic device. Values may not be deleted.
- the processor 240 may delete the capability value of the external electronic device when the value of the capability is greater than or equal to a specified number, such as a specific channel number of the TV or the temperature in the house.
- the template may refer to information including a second pattern (eg, a second pattern in which both conditions and actions are the same), a first parameter associated with the second pattern, and a second parameter associated with the second pattern.
- a second pattern eg, a second pattern in which both conditions and actions are the same
- [Table 7] shows two templates related to patterns (?:?+TV_? _switch_? and TV_?_tvChannel_?) and patterns (?:?+sensor_?_present and TV_?_switch_on), respectively.
- the processor 240 may transmit information about the first template to the server 300 through the communication interface 210 .
- the processor 240 may transmit information about the first template to the server 300 providing a service providing a pattern through the communication interface 210 .
- the information about the first template may include the first template and the first identifier.
- the electronic device 200 is an electronic device having computing capability capable of performing at least a part of an operation of providing a pattern, and in an embodiment, the electronic device 200 provides a pattern If it is not an electronic device that has the computing power to perform at least a part of the operation to provide the pattern (for example, the entire electronic device registered for the service providing the pattern has the computing power to perform at least a part of the operation to provide the pattern) If not), the examples described in FIG. 4 may be performed in the server 300 .
- FIG. 6 is a flowchart 600 illustrating a method for the server 300 to determine a threshold parameter, in accordance with various embodiments.
- the processor 330 receives information about the first template related to the second pattern from a plurality of external electronic devices through the communication interface 310 . can do.
- the processor 330 may receive, from each of the plurality of external electronic devices, information about the first template generated in each of the plurality of external electronic devices through the communication interface 310 .
- Table 8 below may indicate information about the first template received from a plurality of external electronic devices.
- the server 300 receives the first first received from four external electronic devices (eg, external electronic devices corresponding to each of four different identifiers A, B, C, and D). Information about the template can be displayed. However, the present invention is not limited thereto, and the server 300 may receive information about the first template from at least one external electronic device having a number greater than or less than four.
- external electronic devices eg, external electronic devices corresponding to each of four different identifiers A, B, C, and D.
- Information about the template can be displayed.
- the present invention is not limited thereto, and the server 300 may receive information about the first template from at least one external electronic device having a number greater than or less than four.
- the processor 330 may determine, with respect to the first template, a specified time interval and a threshold parameter associated with the second pattern that satisfies the specified condition.
- a method of determining a specified time interval and a threshold parameter related to the second pattern will be described in detail below with reference to FIG. 7 .
- FIG. 7 is a flowchart 700 illustrating a method of determining a threshold parameter and a designated time interval associated with a second pattern, in accordance with various embodiments.
- the processor 330 for the first template, at every designated time interval, using the value of the candidate threshold parameter, the average of the reliability for verification, the recommended range , and recommendation accuracy may be obtained.
- [Table 9] below may indicate the average of the obtained reliability for verification, the recommendation range, and the recommendation accuracy based on the first template of [Table 8].
- n_ptns candidate threshold confidence ave(y_confidence)
- n_recommend coverage n_success accuracy 5 minutes 0 0 0.35 4 100% 0 0% 15 minutes 0 0 0.7 4 100% 3 75%
- n_recommend coverage n_success accuracy 5 minutes 0 0 0.35 4 100% 0 0% 15 minutes 0 0 0.7 4 100% 3 75%
- n_recommend coverage n_success accuracy 5 minutes 0 0 0.35 4 100% 0 0% 15 minutes 0 0 0.7 4 100% 3 75%
- 30 minutes 0 0 0.7275 100% 3 75% 5 minutes 4 0.5 0.45
- the processor 330 may include a candidate threshold n_ptns and a candidate threshold confidence as candidate threshold parameters.
- the candidate threshold parameter is not limited to the candidate threshold n_ptns and the candidate threshold confidence.
- the candidate threshold parameter may include at least one of a candidate threshold delay, a candidate threshold n_x, a candidate threshold n_y, a candidate threshold lift, or a candidate threshold RPF.
- the processor 330 may determine a candidate threshold parameter from among parameters (eg, delay, n_x, n_y, n_ptns, confidence, lift, and RPF) using a specified algorithm (or artificial neural network). . In an embodiment, the processor 330 determines a candidate threshold parameter from among parameters (eg delay, n_x, n_y, n_ptns, confidence, lift, and RPF) using multiple linear regression analysis. can For example, the processor 330 sets the dependent variable of the multiple regression analysis as a recommended range (eg, coverage in Table 9), and sets the independent variable as parameters (eg, delay, n_x, n_y, n_ptns, confidence, lift, and RPF). The processor 330 may determine, among the independent variables, a parameter of an independent variable having a p-value equal to or less than a specified value (eg, 0.05) as a candidate threshold parameter.
- parameters eg, delay, n_x, n_y, n
- the processor 330 is configured to verify, every designated time interval, the number of first identifiers (n_recommend) having a parameter value greater than or equal to the value of the candidate threshold parameter, and the first identifiers having a parameter value greater than or equal to the value of the candidate threshold parameter Average (ave(y_confidence)) (hereinafter referred to as 'average of confidence for verification') for Coverage of the number of first identifiers having a value (hereinafter referred to as a 'recommended range'), a specified value of reliability for verification among first identifiers having a parameter value equal to or greater than the value of the candidate threshold parameter (eg, 0.5) )
- the number of first identifiers having a confidence value greater than (n_success), and the number of first identifiers (n_recommend) having a parameter value equal to or greater than the value of the candidate threshold parameter A first identifier having a parameter value equal to or greater than the value of the candidate threshold
- the time in [Table 8] is Among the n_ptns and confidences of the first identifiers A to D corresponding to an interval of 15 minutes, n_ptns(5) and confidence(1.00) of the first identifier C and n_ptns(6) and confidence(0.6) of the first identifier D are , it can be confirmed that the candidate threshold n_ptns is 4 or more and the candidate threshold confidence is 0.6 or more.
- the processor 330 calculates, as an average value of y_confidence (0.85) of the first identifier C and y_confidence (0.7) of the first identifier D corresponding to a time interval of 15 minutes, an average value of confidence for verification (0.775) can do.
- the processor 330 may calculate the number of first identifiers (eg, the first identifier C and the first identifier D) having a parameter value equal to or greater than the candidate threshold n_ptns 4 and greater than or equal to the candidate threshold confidence 0.6 to two.
- the processor 330 increases the coverage of the number of first identifiers having a parameter value equal to or greater than the value of the candidate threshold parameter to 50% (eg, : 2/4) can be calculated.
- the processor 330 among the first identifiers having a parameter value equal to or greater than the value of the candidate threshold parameter, the number of first identifiers having a reliability value for verification greater than a specified value (eg, 0.5) of reliability for verification (n_success) can be calculated as 2.
- the processor 330 may calculate a recommendation accuracy of 100% (eg, 2/2) as a ratio of n_success (eg, 2) to the calculated n_recommend (eg, 2).
- the processor 330 may obtain an average of reliability for verification, a recommendation range, and a recommendation accuracy for arbitrary values of the candidate threshold parameter. For example, the processor 330 may set the values of the candidate threshold n_ptns to 0 and 4, and set the values of the candidate threshold confidence to 0, 0.5, and 0.6. The processor 330 may obtain an average of reliability for verification, a recommendation range, and a recommendation accuracy for each combination of the value of the candidate threshold n_ptns and the value of the candidate threshold confidence. [Table 9] exemplifies a case in which the value of the candidate threshold n_ptns is set to 0 and 4 and the value of the candidate threshold confidence is set to 0. 0.5 and 0.6, but is not limited thereto. Values can be set.
- the processor 330 is configured to: based on at least one of an average of reliability for verification, a recommendation range, or a recommendation accuracy, among the values of the candidate threshold parameter, a value of the threshold parameter and a time interval ( Example: the time interval of the second pattern) may be determined.
- the processor 330 is configured to determine that the average of the reliability for verification (eg, the value of the reliability for verification) is greater than or equal to a specified value (eg, 0.7), and the recommendation accuracy is a specified value (eg, a specified ratio) ( Example: 75%) or more, the value of the candidate threshold parameter of the specified time interval having the maximum recommended range among the values of the candidate threshold parameter of the specified time interval that is calculated to be greater than or equal to 75%) may be determined as the value of the threshold parameter.
- a specified value eg, 0.7
- the recommendation accuracy is a specified value (eg, a specified ratio) ( Example: 75%) or more
- the value of the candidate threshold parameter of the specified time interval having the maximum recommended range among the values of the candidate threshold parameter of the specified time interval that is calculated to be greater than or equal to 75%) may be determined as the value of the threshold parameter.
- the processor 330 is configured to determine that the average of the reliability for verification (eg, the value of the reliability for verification) is greater than or equal to a specified value (eg, 0.7), and the recommendation accuracy is a specified value (eg, a specified ratio) ( Example: 75%) or more, when the value of the candidate threshold parameter of the specified time interval with the maximum recommended range among the values of the candidate threshold parameter of the specified time interval is plural, the candidate threshold with a large value of the candidate threshold parameter The value of the parameter may be determined as the value of the critical parameter.
- a specified value eg, 0.7
- the recommendation accuracy is a specified value (eg, a specified ratio) ( Example: 75%) or more, when the value of the candidate threshold parameter of the specified time interval with the maximum recommended range among the values of the candidate threshold parameter of the specified time interval is plural, the candidate threshold with a large value of the candidate threshold parameter
- the value of the parameter may be determined as the value of the critical parameter.
- the processor 330 in [Table 9], the average of the reliability for verification (eg, the value of the reliability for verification) is greater than or equal to a specified value (eg, 0.7), and the recommendation accuracy is a specified value (eg, : a value of 4 of the candidate threshold n_ptns corresponding to a specified time interval of 30 minutes and a value of the candidate threshold confidence of 0.5, and a candidate whose specified time interval corresponds to 30 minutes, such that it yields more than a specified percentage) (e.g. 75%)
- a specified value e.g. : a value of 4 of the candidate threshold n_ptns corresponding to a specified time interval of 30 minutes and a value of the candidate threshold confidence of 0.5, and a candidate whose specified time interval corresponds to 30 minutes, such that it yields more than a specified percentage
- the processor 330 determines the candidate threshold n_ptns value 4 and the candidate threshold confidence value of 0.5 corresponding to the specified time interval of 30 minutes, the candidate threshold n_ptns value 4 and the candidate threshold confidence value corresponding to the specified time interval 30 minutes Among the values of 0.6, the candidate threshold n_ptns 4 may be determined as the threshold parameter value together with the candidate threshold confidence 0.6 having a large candidate threshold confidence value.
- the processor 330 may determine a time interval of 30 minutes corresponding to the determined value of the threshold parameter as the time interval (or the final time interval).
- the processor 330 sends a second pattern, a specified time interval (eg, a second pattern) to the plurality of external electronic devices through the communication interface 310 . of the specified time interval), and a threshold parameter (eg, the value of the threshold parameter).
- a specified time interval eg, a second pattern
- a threshold parameter eg, the value of the threshold parameter
- the processor 330 through the communication interface 310, to all external electronic devices registered in the service providing the pattern, a second pattern (eg, a second pattern corresponding to a threshold parameter) ( Example: Combination of condition (?:?+sensor_?_present) and action ( TV_?_switch_on) in Table 9), specified time interval (e.g., last time interval determined in action 703), and critical parameters (e.g. action value of the threshold parameter determined in step 703) may be transmitted.
- the processor 330 receives information about the first template related to the second pattern from a plurality of first external electronic devices as a part of all external electronic devices registered for the service providing the pattern. Even when received, the second pattern, the specified time interval, and the threshold parameter may be transmitted to all external electronic devices registered for the service providing the pattern through the communication interface 310 .
- FIG. 8 is a flowchart 800 illustrating a method of providing a method by the electronic device 200 of providing a pattern according to various embodiments of the present disclosure.
- the second pattern 8 illustrates, after the electronic device 200 receives the second pattern, the specified time interval (eg, the specified time interval of the second pattern), and the threshold parameter from the server 300, the second pattern It may be a flowchart for a method of recommending a third pattern corresponding to .
- the electronic device 200 that performs the operations of FIG. 8 may be the same as or different from the electronic device that transmits template information to the server 300 of FIG. 4 .
- the server 300 may transmit the second pattern, a specified time interval, and a threshold parameter to all electronic devices registered for a service providing a pattern.
- an electronic device that has not transmitted information about the template to the server 300 may receive the second pattern, a specified time interval, and a threshold parameter from the server 300 .
- the electronic device receiving the second pattern, the specified time interval, and the threshold parameter from the server 300 may perform the operations of FIG. 8 .
- the processor 240 via the communication interface 210 , from the server 300 , a second pattern, a specified time interval (eg, a specified time interval of the second pattern), and a second pattern 2 It is possible to receive a threshold parameter related to the pattern.
- a specified time interval eg, a specified time interval of the second pattern
- a second pattern 2 It is possible to receive a threshold parameter related to the pattern.
- the processor 240 via the communication interface 210 , from at least one external electronic device, at least one third event occurring in the at least one external electronic device for a specified third time period You can receive related information.
- the electronic device 200 and the at least one external electronic device may be electronic devices registered with a service providing a pattern.
- the electronic device 200 and the at least one external electronic device are provided with a service that provides a pattern (or a service capable of collectively or individually managing (or controlling) at least one electronic device located in a home). They may be registered electronic devices.
- the information on the at least one third event is received from at least one external electronic device (eg, a sensor) that is communicatively connected to the electronic device 200 in a state in the house (or state change in the house).
- information on the operation of the at least one external electronic device (or change in the operation of the at least one external electronic device) received from at least one external electronic device (eg, home appliance) connected to the electronic device 200 in communication may include at least one of
- the information on the at least one third event includes at least one external electronic device in addition to information related to the event (eg, information about a state in your home or information about an operation of at least one external electronic device). may include information about the time when the event occurred.
- the specified third time (or the size of the specified third time) may be the same as or different from at least one of the above-described first specified time or the specified second time.
- the designated third time is a time after the second designated time, and may refer to a time from the present to before the designated time.
- operation 801 is performed before operation 803, but is not limited thereto.
- operation 803 may be performed before operation 801 .
- Table 10 below may indicate information related to at least one third event occurring in at least one external electronic device during a specified third time period.
- the processor 240 from among the information on the at least one third event, based on the information on the at least one fourth event occurring within the specified at least one time interval, the second pattern It is possible to obtain a parameter related to the third pattern corresponding to .
- the third pattern includes a second pattern in which specific information of conditions and actions are deleted, and a pattern in which information except for specific information of the deleted conditions and actions is the same and including specific information of conditions and actions.
- the second pattern is a combination of a condition (?:?+sensor_?_present) and an action (TV_?_switch_on)
- the third pattern is a combination of a condition (16:10+sensor_xxx0_present) and an action (TV_xxx1_switch_on)
- the specified time interval of the third pattern may be the same as the specified time interval of the second pattern.
- the processor 240 may acquire a plurality of patterns by performing an operation that is at least partially identical to or similar to the operation described through operations 403 and 405 of FIG. 4 .
- the processor 240 may determine a third pattern corresponding to the second pattern from among the plurality of acquired patterns (eg, a third pattern corresponding to the second pattern and having the same specified time interval).
- the processor 240 may acquire a parameter related to the third pattern based on the third pattern (eg, information related to the third pattern).
- [Table 11] below may indicate a third pattern obtained based on information related to at least one third event of [Table 10] and parameters related to the third pattern.
- [Table 11] shows that the second pattern received from the server 300 is a pattern (a combination of a condition (?:?) and an action (TV_?_switch_on)) and a pattern (condition (TV_?_switch_on)) and an action (a combination of AC_?_switch_on)) may indicate a third pattern, which is obtained when including.
- the processor 240 may provide (eg, recommend) the third pattern.
- [Table 12] below may indicate the third pattern, parameters of the third pattern, and threshold parameters obtained by date.
- the threshold parameters related to the third pattern (condition (TV_xxx1_switch_on) and action (AC_xxx2_switch_on)) of the specified time interval of 30 minutes are, the threshold n_ptns is 6, the threshold confidence is 0.6, and the threshold lift is 2. there is.
- the processor 240 in [Table 12], when the current date is August 1, 2020 (eg, a third time designated by inverse calculation based on August 1, 2020 (eg, 2 weeks) ), when at least one third event is received from at least one external electronic device), since n_ptns of the third pattern is smaller than the threshold n_ptns, the third pattern may not be recommended.
- the processor 240 in [Table 12], when the current date is August 2, 2020 (eg, a third time designated by inverse calculation based on August 2, 2020 (eg, 2 weeks)) When at least one third event is received from at least one external electronic device during A pattern can be recommended.
- the processor 240 in [Table 12], when the current date is August 3, 2020 (eg, a third time designated by inverse calculation based on August 3, 2020 (eg, 2 weeks))
- the processor 240 in [Table 12] when at least one third event is received from at least one external electronic device during AC_xxx2_switch_on)) is greater than or equal to the threshold parameter, so the third pattern can be recommended.
- the processor 240 may provide (eg, recommend) the third pattern.
- the processor 240 may display, through the display 220 , information indicating whether the electronic device 200 sets the third pattern in the electronic device. there is.
- the method of providing the third pattern is not limited to the above-described example.
- the processor 240 when the processor 240 sets the third pattern based on the user input, when an event corresponding to the condition of the third pattern occurs, an event corresponding to the action of the third pattern occurs, at least One external electronic device can be controlled. For example, when the third pattern (a combination of condition (16:10) and action (TV_xxx1_switch_on)) is set based on the user input, the processor 240 may power on the TV at 16:10. can control As another example, if the third pattern (a combination of condition (16:10) and action (TV_xxx1_switch_on)) is set based on the user input, the processor 240 may turn on the TV at 16:10. You can set up your TV.
- the third pattern a combination of condition (16:10) and action (TV_xxx1_switch_on)
- the processor 240 may turn on the TV at 16:10. You can set up your TV.
- the electronic device 200 receives event information from at least one external electronic device communicatively connected to the electronic device 200 through the communication interface 210 .
- the server 300 may adjust (or update) the threshold parameter by generating a template by the above-described method and transmitting the generated template to the server 300 . Accordingly, the threshold parameter generated by the server 300 may be adjusted according to information about the template received from the electronic device 200 .
- the electronic device 200 is an electronic device having computing capability capable of performing at least a part of an operation of providing a pattern, and in an embodiment, the electronic device 200 provides a pattern If it is not an electronic device that has the computing power to perform at least a part of the operation to provide the pattern (for example, the entire electronic device registered for the service providing the pattern has the computing power to perform at least a part of the operation to provide the pattern) If not), the examples described in FIG. 8 may be performed in the server 300 .
- the structure of the data used in the above-described embodiment of the present invention may be recorded in a computer-readable recording medium through various means.
- the computer-readable recording medium includes a storage medium such as a magnetic storage medium (eg, a ROM, a floppy disk, a hard disk, etc.) and an optically readable medium (eg, a CD-ROM, a DVD, etc.).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Telephonic Communication Services (AREA)
Abstract
전자 장치는, 통신 인터페이스, 메모리, 및 상기 통신 인터페이스 및 프로세서를 포함한다. 상기 프로세서는, 외부 전자 장치로부터, 지정된 제 1 시간 동안 발생한 적어도 하나의 제 1 이벤트와 관련된 정보를 수신하고, 상기 적어도 하나의 제 1 이벤트에 대한 정보 중에서 지정된 적어도 하나의 시간 간격 내에 발생한 적어도 하나의 제 2 이벤트에 대한 정보에 기반하여, 제 1 패턴 및 상기 제 1 패턴과 관련된 제 1 파라미터를 획득하도록 구성된다. 상기 프로세서는, 외부 전자 장치로부터, 지정된 제 2 시간 동안 발생한 적어도 하나의 제 3 이벤트와 관련된 정보를 수신하도록 구성된다. 상기 프로세서는, 상기 적어도 하나의 제 3 이벤트와 관련된 정보에 기반하여, 상기 제 1 패턴과 관련된 제 2 파라미터를 획득하도록 구성된다. 상기 프로세서는, 제 1 템플릿을 생성하고, 서버로 상기 제 1 템플릿에 대한 정보를 전송하도록 구성된다.
Description
본 발명의 다양한 실시예들은, 패턴을 제공하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.
스마트 폰(smart phone) 또는 태블릿 PC(tablet personal computer)와 같은 휴대 전자 장치의 급속한 확산에 따라 전자 장치를 통해 제공되는 서비스 및 부가 기능들이 점차 고도화되고 있다. 통신 서비스 제공자 또는 전자 장치 제조사들은 전자 장치의 효용 가치를 높이고 다양한 사용자의 욕구를 만족시키기 위하여 전자 장치에 다양한 구성 요소들을 탑재하고 관련 기술을 개발하는데 노력을 기울이고 있다.
최근, 현실 세계의 사물들(things)을 네트워크로 연결하고, 휴대 전자 장치를 이용하여 사물들로부터 상황 정보를 수집하고 주위 환경을 제어하는 IoT(internet of things) 기술에 대한 관심이 증가하고 있다.
IoT 기술은 가정을 비롯하여 자동차, 사무실, 또는 공장과 같이 다양한 환경에 적용될 수 있으며, 사용자로 하여금 복수의 사물들로부터 환경 정보를 수집하고 수집된 정보를 분석하여 기기들을 제어할 수 있도록 할 수 있다.
전자 장치(예: 서버)는, 댁(home) 내에 위치하는 적어도 하나의 전자 장치로부터 사용자와 관련된 데이터를 수집할 수 있다. 전자 장치는 수집된 데이터에 기반하여 사용자의 패턴을 결정하고, 결정된 사용자의 패턴과 관련된 설정(예: 상기 적어도 하나의 전자 장치의 동작과 관련된 설정)을 사용자에게 제공(예: 추천)할 수 있다. 예를 들어, 전자 장치는, 지정된 기간 동안(예: 약 1 주일) 사용자와 관련된 데이터를 수집할 수 있다. 전자 장치는 수집된 데이터에 기반하여, 지정된 시간(예: 약 오후 6시)에 사용자(예: 사용자의 전자 장치)가 댁 외로부터 댁 내로 진입하면 지정된 시간 내에(예: 약 5분 내에) 댁 내의 전등 스위치를 턴-온(turn-on)하는, 사용자의 패턴을 결정할 수 있다. 전자 장치는 상기 지정된 시간(예: 약 오후 6시)에 사용자가 댁 외로부터 댁 내로 진입하면 자동적으로 전등 스위치를 턴-온하도록 하는 설정을 추천할 수 있다.
하지만, 전자 장치(예: 서버)가 특정 사용자와 관련된 패턴을 결정하고, 결정된 패턴을 특정 사용자에게만 제공하고 있어, 전자 장치가 제공하는 패턴은 제한적일 수 있다.
본 발명의 다양한 실시예들은, 다수의 사용자들(예: 다수의 사용자들의 전자 장치들)로부터 획득된 패턴과 관련된 데이터에 기반하여, 다수의 사용자들에게 적용 가능한 패턴을 제공(예: 추천)할 수 있는, 패턴을 제공하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 다양한 실시예들에 따른 전자 장치는, 통신 인터페이스, 메모리, 및 상기 통신 인터페이스 및 상기 메모리와 기능적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 통신 인터페이스를 통하여, 적어도 하나의 외부 전자 장치로부터, 지정된 제 1 시간 동안 발생한 적어도 하나의 제 1 이벤트와 관련된 정보를 수신하고, 상기 적어도 하나의 제 1 이벤트에 대한 정보 중에서 지정된 적어도 하나의 시간 간격 내에 발생한 적어도 하나의 제 2 이벤트에 대한 정보에 기반하여, 제 1 패턴 및 상기 제 1 패턴과 관련된 제 1 파라미터를 획득하고, 상기 통신 인터페이스를 통하여, 상기 적어도 하나의 외부 전자 장치로부터, 지정된 제 2 시간 동안 발생한 적어도 하나의 제 3 이벤트와 관련된 정보를 수신하고, 상기 적어도 하나의 제 3 이벤트와 관련된 정보에 기반하여, 상기 제 1 패턴과 관련된 제 2 파라미터를 획득하고, 상기 제 1 패턴, 상기 제 1 파라미터, 및 상기 제 2 파라미터에 기반하여, 제 1 템플릿을 생성하고, 및 상기 통신 인터페이스를 통하여, 서버로, 상기 제 1 템플릿에 대한 정보를 전송하도록 설정될 수 있다.
본 발명의 다양한 실시예들에 따른 서버는, 통신 인터페이스, 메모리, 및 상기 통신 인터페이스 및 상기 메모리와 기능적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 통신 인터페이스를 통하여, 복수의 외부 전자 장치들로부터, 제 1 패턴과 관련된 제 1 템플릿에 대한 정보를 수신하고, 상기 제 1 템플릿에 대하여, 지정된 조건을 만족하는, 상기 제 1 패턴과 관련된 지정된 시간 간격 및 임계 파라미터의 값을 결정하고, 및 상기 통신 인터페이스를 통하여, 상기 복수의 외부 전자 장치들로, 상기 제 1 패턴, 상기 지정된 시간 간격, 및 상기 임계 파라미터의 값을 전송하도록 설정될 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치는, 통신 인터페이스, 메모리, 및 상기 통신 인터페이스 및 상기 메모리와 기능적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 통신 인터페이스를 통하여, 서버로부터, 제 1 패턴, 상기 제 1 패턴과 관련된 지정된 시간 간격, 및 상기 제 1 패턴과 관련된 임계 파라미터의 값을 수신하고, 상기 통신 인터페이스를 통하여, 상기 적어도 하나의 외부 전자 장치로부터, 지정된 제 1 시간 동안 발생한, 적어도 하나의 제 1 이벤트와 관련된 정보를 수신하고, 상기 적어도 하나의 제 1 이벤트 중에서 상기 지정된 시간 간격 내에 발생한 적어도 하나의 제 2 이벤트에 기반하여, 상기 제 1 패턴에 대응하는 제 2 패턴과 관련된 제 1 파라미터를 획득하고, 및 상기 제 1 파라미터의 값이 상기 임계 파라미터의 값 이상인 경우, 상기 제 2 패턴을 제공하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 패턴을 제공하는 방법 및 이를 지원하기 위한 전자 장치는, 다수의 사용자들(예: 다수의 사용자들의 전자 장치들)로부터 획득된 패턴과 관련된 데이터에 기반하여, 다수의 사용자들에게 적용 가능한 패턴을 제공(예: 추천)할 수 있다.
하기 상세한 설명에 앞서, 본 특허 문서의 전반에 걸쳐 사용된 특정 어구들의 정의를 설명하는 것이 좋을 것이다: "포함하다(include)" 및 "포함하여 구성되다(comprise)"라는 용어와 그 파생어는 한정이 없는 포함을 의미하며, "또는(or)"이라는 용어는 "및/또는"을 포함하여 의미하며, "연관되다(associated with)" 및 "이와 연관되다(associated therewith)"라는 구절과 그 파생어는 "포함하다(include)", "포함되다(included within)", "상호 연결되다(interconnected with)", "함유하다(contain)", "함유되다(contained within)", "연결하다(connect to/with)", "결합하다(couple to/with)", "소통 가능하다(communicable with)", "연동하다(cooperate with)", "개재하다(interleave)", "병렬하다(juxtapose)", "근접하다(proximate to)", "결합되다(bound to/with)", "갖다(have)", "~의 성질을 갖다(have a property of)" 등을 의미할 수 있으며, "제어기(controller)"라는 용어는 적어도 하나의 동작을 제어하는 임의의 장치, 시스템, 또는 그 일부를 의미하며, 이러한 장치는 하드웨어, 펌웨어, 또는 소프트웨어나 이들 중 적어도 2개의 특정 조합으로 구현될 수 있다. 임의의 특정 제어기와 연관된 기능은 국부적이든 원격이든 중앙 집중화되거나 분산될 수 있음을 유의하여야 한다.
또한, 후술하는 각종 기능은 각각 컴퓨터 판독 가능 프로그램 코드로 형성되어 컴퓨터 판독 가능 매체에 실현된 하나 이상의 컴퓨터 프로그램에 의해 구현되거나 지원될 수 있다. "애플리케이션" 또는 "프로그램"이라는 용어는 적절한 컴퓨터 판독 가능 프로그램 코드로의 구현에 적합한 하나 이상의 컴퓨터 프로그램, 소프트웨어 컴포넌트, 명령어 집합, 프로시저, 펑크션, 오브젝트, 클래스, 인스턴스, 관련 데이터, 또는 그 일부를 말한다. "컴퓨터 판독 가능 프로그램 코드"라는 구절은 소스 코드, 오브젝트 코드, 및 실행 가능 코드를 포함한 모든 형태의 컴퓨터 코드를 포함한다. "컴퓨터 판독 가능 매체"라는 구절은 컴퓨터가 액세스할 수 있는 모든 형태의 매체, 예컨대 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 하드디스크 드라이브, 콤팩트 디스크(CD), 디지털 비디오 디스크(DVD), 또는 다른 임의의 형태의 메모리를 포함한다. "비일시적(non-transitory)"컴퓨터 판독 가능 매체는 일시적 전기 신호 또는 기타 신호를 전송하는 유선, 무선, 광학, 또는 기타 통신 링크를 배제한다. 비일시적 컴퓨터 판독 가능 매체는 데이터를 영구 저장할 수 있는 매체 및 데이터를 저장하였다가 추후 덮어쓰기 할 수 있는 매체, 예컨대 반복 기록 가능 광디스크(rewritable optical disk) 또는 삭제 가능 메모리 소자(erasable memory device)를 포함한다.
특정 어절의 정의는 본 특허 문서의 전반에 걸쳐 제공되는 것으로, 당업자라면 대부분의 경우에 그렇다 할 수는 없지만 많은 경우에 이러한 정의가 그 정의된 어절의 이전의 사용은 물론 이후의 사용에도 적용된다는 것을 이해하여야 할 것이다.
그 이점의 좀더 완전한 이해를 위해, 이제 첨부 도면과 관련한 설명을 후술하기로 한다.
도 1은 일 실시예에 따른 IoT(internet of things) 시스템을 도시한다.
도 2는, 다양한 실시예들에 따른, 전자 장치의 블록 도면이다.
도 3은, 다양한 실시예들에 따른, 서버의 블록 도면이다.
도 4는, 다양한 실시예들에 따른, 전자 장치가 템플릿을 제공하는 방법을 설명하는 흐름도이다.
도 5는, 다양한 실시예들에 따른, 제 1 패턴을 획득하는 방법을 설명하는 흐름도이다.
도 6은, 다양한 실시예들에 따른, 서버가 임계 파라미터를 결정하는 방법을 설명하는 흐름도이다.
도 7은, 다양한 실시예들에 따른, 제 1 패턴과 관련된 지정된 시간 간격 및 임계 파라미터를 결정하는 방법을 설명하는 흐름도이다.
도 8은, 다양한 실시예들에 따른, 전자 장치가 패턴을 제공하는 방법을 제공하는 방법을 설명하는 흐름도이다.
이하에서 설명되는 도 1 내지 도 8과, 본 특허 문서 내에서 본 개시의 원리들을 설명하기 위하여 사용된 다양한 실시예들은 단지 예시로서 본 개시의 권리 범위를 제한하기 위한 예시로서 이해되서는 안된다. 통상의 기술자들은 본 개시의 원리들이 적절하게 처리된(arranged) 시스템 또는 장치 내에서 구현될 수 있음을 이해할 것이다.
도 1은 일 실시예에 따른 IoT(internet of things) 시스템(100)을 도시한다.
한편, 도 1의 구성 요소 중 적어도 일부는 생략될 수도 있으며, 도시되지 않은 구성 요소가 더 포함되도록 구현될 수도 있다.
도 1을 참조하면, 일 실시예에 따른 IoT 시스템(100)은, 데이터 네트워크(116 또는 146)에 연결 가능한 복수의 전자 장치들을 포함한다. 예를 들어, IoT 시스템(100)은 제 1 IoT 서버(110), 제 1 노드(node)(120), 보이스 어시스턴트(voice assistance) 서버(130), 제 2 IoT 서버(140), 제 2 노드(150), 또는 디바이스들(121,122,123,124,125,136,137,151,152,153) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 통신 인터페이스(111), 프로세서(112), 또는 저장부(113) 중 적어도 하나를 포함할 수 있다. 제 2 IoT 서버(140)는, 통신 인터페이스(141), 프로세서(142), 또는 저장부(143) 중 적어도 하나를 포함할 수 있다. 본 문서에서의 “IoT 서버”는, 예를 들어 데이터 네트워크(예: 데이터 네트워크(116) 또는 데이터 네트워크(146))에 기반하여, 중계 디바이스(예: 제 1 노드(120) 또는 제 2 노드(150))를 통하거나, 또는 중계 디바이스 없이 직접적으로(directly), 하나 또는 그 이상의 디바이스들(예: 디바이스들(121,122,123,124,125,151,152,153))을 원격으로 제어 및/또는 모니터링할 수 있다. 여기에서의 “디바이스”는, 예를 들어 가택, 사무실, 공장, 빌딩, 외부 지점, 또는 다른 타입의 부지들과 같은 로컬 환경 내에 배치되는(또는, 위치하는) 센서, 가전, 사무용 전자 디바이스, 또는 공정 수행을 위한 디바이스로, 그 종류에는 제한이 없다. 제어 명령을 수신하여 제어 명령에 대응하는 동작을 수행하는 디바이스를 “타겟 디바이스”로 명명할 수 있다. IoT 서버는, 복수의 디바이스들 중 타겟 디바이스를 선택하고 제어 명령을 제공하는 점에서, 중앙 서버(central server)로 명명될 수도 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 데이터 네트워크(116)를 통하여 디바이스들(121,122,123)과 통신을 수행할 수 있다. 데이터 네트워크(116)는, 예를 들어 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신을 위한 네트워크를 의미할 수 있으며, 또는 셀룰러 네트워크를 포함할 수도 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 통신 인터페이스(111)를 통하여 데이터 네트워크(116)에 연결될 수 있다. 통신 인터페이스(111)는, 데이터 네트워크(116)의 통신을 지원하기 위한 통신 디바이스(또는, 통신 모듈)를 포함할 수 있으며, 하나의 구성 요소(예: 단일 칩)로 통합되거나, 또는 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 제 1 IoT 서버(110)는, 제 1 노드(120)를 통하여 디바이스들(121,122,123)와 통신을 수행할 수 있다. 제 1 노드(120)는, 제 1 IoT 서버(110)로부터의 데이터를 데이터 네트워크(116)를 통하여 수신하고, 수신한 데이터를 디바이스들(121,122,123) 중 적어도 일부로 송신할 수 있다. 또는, 제 1 노드(120)는, 디바이스들(121,122,123) 중 적어도 일부로부터 데이터를 수신하고, 수신한 데이터를 데이터 네트워크(116)를 통하여 제 1 IoT 서버(110)로 송신할 수 있다. 제 1 노드(120)는, 데이터 네트워크(116) 및 디바이스들(121,122,123) 사이의 브릿지(bridge)로서 기능할 수 있다. 한편, 도 1에서는 제 1 노드(120)가 하나인 것과 같이 도시되어 있지만 이는 단순히 예시적인 것으로, 그 숫자에는 제한이 없다.
본 문서에서의 “노드”는, 엣지 컴퓨팅 시스템(edge computing system)일 수 있거나, 또는 허브(hub) 디바이스일 수 있다. 일 실시예에 따라서, 제 1 노드(120)는, 데이터 네트워크(116)의 유선 및/또는 무선의 통신을 지원하며, 아울러 디바이스들(121,122,123)과의 유선 및/또는 무선의 통신을 지원할 수 있다. 예를 들어, 제 1 노드(120)는, 블루투스, Wi-Fi, Wi-Fi direct, Z-wave, Zig-bee, INSETEON, X10 등) 또는 IrDA(infrared data association 중 적어도 하나와 같은 근거리 통신 네트워크를 통하여 디바이스들(121,122,123)과 연결될 수 있으나, 통신 종류에는 제한이 없다. 제 1 노드(120)는, 예를 들어 가택, 사무실, 공장, 빌딩, 외부 지점, 또는 다른 타입의 부지들과 같은 환경 내에 배치(또는, 위치)될 수 있다. 이에 따라, 디바이스들(121,122,123)은, 제 1 IoT 서버(110)에 의하여 제공되는 서비스에 의하여 모니터링 및/또는 제어될 수 있으며, 디바이스들(121,122,123)은 제 1 IoT 서버(110)로의 직접 연결을 위한 완전한 네트워크 통신(예: 인터넷 통신)의 캐퍼빌리티(capability)를 갖출 것이 요구되지 않을 수 있다. 디바이스들(121,122,123)은, 예를 들어 전등 스위치, 근접 센서, 온도 센서 등으로 가택 환경 내의 전자 장치로 구현된 것과 같이 도시되었지만, 이는 예시적인 것으로 제한은 없다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 디바이스들(124,125)과의 직접 통신(direct communication)을 지원할 수도 있다. 여기에서, “직접 통신”은, 예를 들어 제 1 노드(120)와 같은 중계 디바이스를 통하지 않은 통신으로, 예를 들어 셀룰러 통신 네트워크 및/또는 데이터 네트워크를 통한 통신을 의미할 수 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 디바이스들(121,122,123,124,125) 중 적어도 일부로 제어 명령을 송신할 수 있다. 여기에서, “제어 명령”은, 제어 가능한 디바이스가 특정 동작을 수행하도록 야기하는 데이터를 의미할 수 있으며, 특정 동작은 디바이스에 의하여 수행되는 동작으로, 정보의 출력, 정보의 센싱, 정보의 보고, 정보의 관리(예: 삭제, 또는 생성)를 포함할 수 있으며, 그 종류에는 제한이 없다. 예를 들어, 프로세서(112)는, 외부(예: 보이스 어시스턴트 서버(130), 제 2 IoT 서버(140), 외부 시스템(160), 또는 디바이스들(121,122,123,124,125) 중 적어도 일부)로부터 제어 명령을 생성하기 위한 정보(또는, 요청)를 획득하고, 획득한 정보에 기반하여 제어 명령을 생성할 수 있다. 또는, 프로세서(112)는, 디바이스들(121,122,123,124,125) 중 적어도 일부의 모니터링 결과가 지정된 조건을 만족함에 기반하여 제어 명령을 생성할 수 있다. 프로세서(112)는, 제어 명령을, 타겟 디바이스로 송신하도록 통신 인터페이스(111)를 제어할 수 있다.
일 실시예에 따라서, 프로세서(112), 또는 프로세서(132), 프로세서(142)는, CPU(central processing unit), DSP(digital signal processor), AP(application processor), CP(communication processor) 등과 같은 범용 프로세서, GPU(graphical processing unit), VPU(vision processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU(neural processing unit)와 같은 인공 지능 전용 프로세서 중 하나 이상의 조합으로 구현될 수 있다. 상술한 처리 유닛은 단순히 예시적인 것으로, 프로세서(112)는, 예를 들어 저장부(113)에 저장된 인스트럭션을 실행하여, 실행된 결과를 출력할 수 있는 연산 수단이라면 제한이 없음을 당업자는 이해할 것이다.
일 실시예에 따라서, 프로세서(112)는, API(114)에 기반하여 웹-기반 인터페이스를 구성하거나, 또는 제 1 IoT 서버(110)에 의하여 관리되는 리소스(resource)를 외부에 노출시킬 수 있다. 웹-기반 인터페이스는, 예를 들어 제 1 IoT 서버(110) 및 외부 웹 서비스 사이의 통신을 지원할 수 있다. 프로세서(112)는, 예를 들어 외부 시스템(160)으로 하여금 디바이스들(121,122,123)의 제어 및/또는 억세스를 허용할 수도 있다. 외부 시스템(160)은, 예를 들어 IoT 시스템(100)과 연관이 없거나, 또는 일부가 아닌 독립적인 시스템일 수 있다. 외부 시스템(160)은, 예를 들어 외부 서버이거나, 또는 웹 사이트일 수 있다. 하지만, 외부 시스템(160)으로부터의 디바이스들(121,122,123), 또는 제 1 IoT 서버(110)의 리소스로의 억세스에 대한 보안이 요구된다. 일 실시예에 따라서, 프로세서(112)는, 자동화 어플리케이션은 API(114)에 기반한 API 엔드 포인트(예: URL(universal resource locator))을 외부에 노출할 수 있다. 상술한 바에 따라서, 제 1 IoT 서버(110)는, 제어 명령을 디바이스들(121,122,123) 중 타겟 디바이스에게 전달할 수 있다. 한편, 제 2 IoT 서버(140)의 통신 인터페이스(141), 프로세서(142), 저장부(143)의 API(144), 데이터베이스(145)에 대한 설명은, 제 1 IoT 서버(110)의 통신 인터페이스(111), 프로세서(112), 저장부(113)의 API(114), 데이터베이스(115)에 대한 설명과 실질적으로 동일할 수 있다. 아울러, 제 2 노드(150)에 대한 설명은, 제 1 노드(120)에 대한 설명과 실질적으로 동일할 수 있다. 제 2 IoT 서버(140)는, 제어 명령을 디바이스들(151,152,153) 중 타겟 디바이스에게 전달할 수 있다. 제 1 IoT 서버(110) 및 제 2 IoT 서버(140)는, 하나의 실시예에서는 동일한 서비스 제공자에 의하여 운영될 수 있으나, 다른 실시예에서는 상이한 서비스 제공자들에 의하여 각각 운영될 수도 있다.
일 실시예에 따라서, 보이스 어시스턴트 서버(130)는, 데이터 네트워크(116)를 통하여 제 1 IoT 서버(110)와 데이터를 송수신할 수 있다. 일 실시예에 따른 보이스 어시스턴트 서버(130)는, 통신 인터페이스(131), 프로세서(132), 또는 저장부(133) 중 적어도 하나를 포함할 수 있다. 통신 인터페이스(131)는, 데이터 네트워크(미도시) 및/또는 셀룰러 네트워크(미도시)를 통하여 스마트 폰(136) 또는 AI 스피커(137)와 통신을 수행할 수 있다. 스마트 폰(136) 또는 AI 스피커(137)는 마이크를 포함할 수 있으며, 사용자 음성(user voice)을 획득하여 음성 신호로 변환하여, 음성 신호를 보이스 어시스턴트 서버(130)로 송신할 수 있다. 프로세서(132)는, 통신 인터페이스(131)를 통하여 스마트 폰(136) 또는 AI 스피커(137)로부터 음성 신호를 수신할 수 있다. 프로세서(132)는, 수신한 음성 신호를 저장된 모델(134)에 기반하여 처리할 수 있다. 프로세서(132)는, 데이터베이스(135)에 저장된 정보에 기반하여, 처리 결과를 이용하여 제어 명령을 생성(또는, 확인)할 수 있다. 일 실시예에 따라서, 저장부(113,133,143)는, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 비 일시적(non-transitory) 저장매체를 포함할 수 있으며, 그 종류에는 제한이 없다.
도 2는, 다양한 실시예들에 따른, 전자 장치(200)의 블록 도면이다.
도 2를 참조하면, 일 실시예에서, 전자 장치(200)는, 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있는 전자 장치일 수 있다. 일 실시예에서, 전자 장치(200)는, 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있는 컴퓨팅 능력(computing capability)을 가진 전자 장치일 수 있다. 예를 들어, 전자 장치(200)는, 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있는 성능을 가진 프로세서(240) 및 메모리(230)를 포함하는 전자 장치일 수 있다.
일 실시예에서, 전자 장치(200)는, 패턴을 제공하는 서비스에 등록된 전자 장치일 수 있다. 예를 들어, 적어도 하나의 전자 장치(예: 도 1의 디바이스들(121,122,123,124,125) 중 적어도 일부)는 패턴을 제공하는 서비스(또는 댁 내에 위치하는 적어도 하나의 전자 장치를 통합적으로 또는 개별적으로 관리(또는 제어)할 수 있는 서비스)에 등록될 수 있다. 전자 장치(200)는, 상기 등록된 적어도 하나의 전자 장치 중에서, 사용자 입력에 기반하여, 패턴을 제공하는 동작의 적어도 일부를 수행할 전자 장치로서, 지정될 수 있다.
일 실시예에서, 전자 장치(200)는, 댁 내에 위치하는 적어도 하나의 외부 전자 장치와 통신 연결되고, 통신 연결을 이용하여, 댁 내에 위치하는 적어도 하나의 외부 전자 장치의 동작을 제어하는 전자 장치일 수 있다. 예를 들어, 전자 장치(200)는, 도 1의 제 1 노드(120) 또는 제 2 노드(150)일 수 있다.
일 실시예에서, 전자 장치(200)는, 패턴을 제공하는 서비스를 제공하는 서버(예: 클라우드(cloud) 서버)와 패턴을 제공하는 동작을 분산 처리(distributed processing)할 수 있는, 엣지 컴퓨팅 장치(edge computing device)일 수 있다.
일 실시예에서, 전자 장치(200)는, 통신 인터페이스(210), 디스플레이(220), 메모리(230), 및 프로세서(240)를 포함할 수 있다.
일 실시예에서, 통신 인터페이스(210)는, 전자 장치(200)를, 적어도 하나의 외부 전자 장치 및 패턴을 제공하는 서비스를 제공하는 서버(300)(이하, '서버'로 지칭함)와 통신 연결할 수 있다.
일 실시예에서, 통신 인터페이스(210)는, 전자 장치(200)를 무선 또는 유선으로 적어도 하나의 외부 전자 장치와 통신 연결할 수 있다. 통신 인터페이스(210)는, 전자 장치(200)와 통신 연결된 적어도 하나의 외부 전자 장치로부터, 적어도 하나의 외부 전자 장치에서 발생한 이벤트(event)에 대한 정보를 수신할 수 있다.
일 실시예에서, 통신 인터페이스(210)는, 전자 장치(200)와 통신 연결된 센서로부터, 댁 내의 상태(또는 댁 내의 상태 변경)에 대한 정보를 수신할 수 있다. 예를 들어, 통신 인터페이스(210)는, 전자 장치(200)와 통신 연결된 존재 감지 센서로부터, 댁 외부로부터 댁 내로 사용자가 진입함(예: 댁 내로 사용자가 들어옴 또는 댁 내에 사용자가 위치함)을 나타내는 정보를 수신할 수 있다. 다른 예를 들어, 통신 인터페이스(210)는, 전자 장치(200)와 통신 연결된 온도 센서로부터, 댁 내의 현재 온도(또는 온도의 변화)에 대한 정보를 수신할 수 있다. 다만, 통신 인터페이스(210)가 전자 장치(200)와 통신 연결된 센서로부터 수신하는 댁 내의 상태에 대한 정보는 전술한 예시에 제한되지 않는다.
일 실시예에서, 통신 인터페이스(210)는, 전자 장치(200)와 통신 연결된 적어도 하나의 외부 전자 장치로부터, 적어도 하나의 외부 전자 장치의 동작(또는 적어도 하나의 외부 전자 장치의 동작 변경)에 대한 정보를 수신할 수 있다. 예를 들어, 통신 인터페이스(210)는, 전자 장치(200)와 통신 연결된 TV(텔레비전)로부터, TV가 턴-온(turn-on)(또는 턴-오프(turn-off))됨을 나타내는 정보를 수신할 수 있다. 다만, 통신 인터페이스(210)가 전자 장치(200)와 통신 연결된 적어도 하나의 외부 전자 장치로부터 수신하는, 적어도 하나의 외부 전자 장치의 동작에 대한 정보는 전술한 예시에 제한되지 않는다.
일 실시예에서, 통신 인터페이스(210)가 전자 장치(200)와 통신 연결된 적어도 하나의 외부 전자 장치로부터 수신하는 이벤트에 대한 정보는, 이벤트와 관련된 정보(예: 댁 내의 상태에 대한 정보 또는 적어도 하나의 외부 전자 장치의 동작에 대한 정보) 외에, 적어도 하나의 외부 전자 장치에서 이벤트가 발생한 시간에 대한 정보를 포함할 수 있다. 예를 들어, 이벤트에 대한 정보는, 전자 장치(200)와 통신 연결된 TV가 턴-온됨을 나타내는 정보와 함께 TV가 턴-온된 시간에 대한 정보를 포함할 수 있다.
일 실시예에서, 통신 인터페이스(210)는, 전자 장치(200)와 서버를 통신 연결할 수 있다. 예를 들어, 통신 인터페이스(210)는, 후술할 패턴과 관련된 템플릿(template)을 서버(300)로 전송할 수 있다. 통신 인터페이스(210)는, 서버(300)로부터, 후술할 패턴과 관련된 임계 파라미터를 포함하는 정보를 수신할 수 있다.
일 실시예에서, 디스플레이(220)는, 전자 장치(200)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이(220)는, 예를 들어, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에서, 디스플레이(220)는, 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
일 실시예에서, 디스플레이(220)는, 패턴과 관련된 정보를 제공할 수 있다. 예를 들어, 디스플레이(220)는, 전자 장치(200)가 제공된(예: 추천된) 패턴을 설정할지 할지 여부를 사용자가 선택하도록 하는 정보를 표시할 수 있다. 다만, 디스플레이(220)가 제공할 수 있는 정보는 전술한 예시에 제한되지 않는다.
일 실시예에서, 메모리(230)는, 전자 장치(200)의 적어도 하나의 구성요소(예: 프로세서(240))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(230)는, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
일 실시예에서, 메모리(230)는, 패턴을 제공하는 동작의 적어도 일부를 수행하는 동안 획득된 정보를 저장할 수 있다.
일 실시예에서, 프로세서(240)는, 예를 들면, 소프트웨어(예: 프로그램)를 실행하여 프로세서(240)에 연결된 전자 장치(200)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에서, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(240)는 다른 구성요소(예: 통신 인터페이스(210))로부터 수신된 명령 또는 데이터를 휘발성 메모리에 저장하고, 휘발성 메모리에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
일 실시예에서, 프로세서(240)는 메인 프로세서(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서를 포함할 수 있다.
일 실시예에 따르면, 보조 프로세서(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(200) 자체에서 수행될 수 있고, 별도의 서버(예: 서버)를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
일 실시예에서, 프로세서(240)는, 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있다. 프로세서(240)가 수행하는 패턴을 제공하는 동작의 적어도 일부에 대하여 도 4 내지 도 8을 참조하여 상세히 후술하도록 한다.
일 실시예에서, 도 2에서는, 전자 장치(200)가 통신 인터페이스(210), 디스플레이(220), 메모리(230), 및 프로세서(240)를 포함하는 것으로 예시하고 있지만 이에 제한되지 않는다. 예를 들어, 전자 장치(200)는, 도 2에 도시된 구성 중 일부(예: 디스플레이(220))를 포함하지 않을 수 있으며, 도 2에 도시되지 않은 구성(예: 댁 내의 상태를 검출하기 위한 센서)을 더 포함할 수 있다.
도 3은, 다양한 실시예들에 따른, 서버(300)의 블록 도면이다.
도 3을 참조하면, 일 실시예에서, 서버(300)는, 패턴을 제공하는 서비스를 제공할 수 있는 서버일 수 있다.
일 실시예에서, 서버(300)는, 도 1의 제 1 IoT 서버(110), 보이스 어시스턴트 서버(130), 또는 제 2 IoT 서버(140)에 포함될 수 있다. 일 실시예에서, 서버(300)는, 도 1의 제 1 IoT 서버(110), 보이스 어시스턴트(voice assistance) 서버(130), 및 제 2 IoT 서버(140)와 독립된 서버일 수 있다.
일 실시예에서, 서버(300)는, 통신 인터페이스(310), 메모리(320), 및 프로세서(330)를 포함할 수 있다.
일 실시예에서, 통신 인터페이스(310)는, 서버(300)와 복수의 외부 전자 장치들을 통신 연결할 수 있다. 예를 들어, 통신 인터페이스(310)는, 서버(300)를, 다양한 통신 방식들 중 적어도 하나를 통하여, 복수의 외부 전자 장치와 통신 연결할 수 있다.
일 실시예에서, 통신 인터페이스(310)는, 패턴을 제공하는 서비스에 등록된 복수의 외부 전자 장치들로부터, 패턴과 관련된 템플릿을 수신할 수 있다. 일 실시예에서, 통신 인터페이스(310)는, 패턴과 관련된 임계 파라미터를 포함하는 정보를 복수의 외부 전자 장치들로 전송할 수 있다.
일 실시예에서, 메모리(320)는, 서버(300)의 적어도 하나의 구성요소(예: 프로세서(330))에 의해 사용되는 다양한 데이터를 저장할 수 있다.
일 실시예에서, 메모리(320)는, 패턴을 제공하는 동작의 적어도 일부를 수행하는 동안 획득된 정보를 저장할 수 있다.
일 실시예에서, 프로세서(330)는, 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있다. 일 실시예에서, 프로세서(330)는, 복수의 외부 전자 장치들로부터 수신된 패턴과 관련된 템플릿에 기반하여, 패턴과 관련된 임계 파라미터를 결정할 수 있다. 예를 들어, 프로세서(330)는, 인공 신경망을 이용하여, 복수의 외부 전자 장치들로부터 수신된 패턴과 관련된 템플릿에 기반하여, 패턴과 관련된 임계 파라미터를 결정할 수 있다. 다른 예를 들어, 프로세서(330)는, 지정된 알고리즘을 이용하여, 복수의 외부 전자 장치들로부터 수신된 패턴과 관련된 템플릿에 기반하여, 패턴과 관련된 임계 파라미터를 결정할 수 있다. 프로세서(330)가 복수의 외부 전자 장치들로부터 수신된 패턴과 관련된 템플릿에 기반하여, 패턴과 관련된 임계 파라미터를 결정하는 방법에 대하여 상세히 후술하도록 한다.
도 3에서는, 서버(300)가 통신 인터페이스(310), 메모리(320), 및 프로세서(330)를 포함하는 것으로 예시하고 있지만 이에 제한되지 않으며, 서버(300)는 다양한 구성(예: 입력 장치, 디스플레이)을 더 포함할 수 있다.
도 4는, 다양한 실시예들에 따른, 전자 장치(200)가 템플릿을 제공하는 방법을 설명하는 흐름도(400)이다.
도 4를 참조하면, 동작 401에서, 일 실시예에서, 프로세서(240)는, 통신 인터페이스(210)를 통하여, 적어도 하나의 외부 전자 장치로부터, 지정된 제 1 시간 동안 발생한 적어도 하나의 제 1 이벤트와 관련된 정보를 수신할 수 있다.
일 실시예에서, 전자 장치(200) 및 적어도 하나의 외부 전자 장치는, 패턴을 제공하는 서비스에 등록된 전자 장치들일 수 있다. 예를 들어, 전자 장치(200) 및 적어도 하나의 외부 전자 장치는 패턴을 제공하는 서비스(또는 댁 내에 위치하는 적어도 하나의 전자 장치를 통합적으로 또는 개별적으로 관리(또는 제어)할 수 있는 서비스)에 등록된 전자 장치들일 수 있다.
일 실시예에서, 제 1 시간은, 전자 장치(200)가 적어도 하나의 외부 전자 장치로부터, 적어도 하나의 외부 전자 장치에서 발생하는 적어도 하나의 제 1 이벤트를 수집하는 시간(또는 기간)으로 지정된 시간일 수 있다. 예를 들어, 전자 장치(200)는, 2 주 동안, 통신 인터페이스(210)를 통하여, 적어도 하나의 외부 전자 장치로부터, 적어도 하나의 외부 전자 장치에서 발생한 적어도 하나의 제 1 이벤트를 수집할 수 있다.
일 실시예에서, 적어도 하나의 제 1 이벤트에 대한 정보는, 전자 장치(200)와 통신 연결된 적어도 하나의 외부 전자 장치(예: 센서)로부터 수신되는, 댁 내의 상태(또는 댁 내의 상태 변경)에 대한 정보 또는 전자 장치(200)와 통신 연결된 적어도 하나의 외부 전자 장치(예: 가전 기기)로부터 수신되는, 적어도 하나의 외부 전자 장치의 동작(또는 적어도 하나의 외부 전자 장치의 동작 변경)에 대한 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 적어도 하나의 제 1 이벤트에 대한 정보는, 적어도 하나의 외부 전자 장치의 고유한 식별자(이하, '장치 ID(identity)'와 혼용함), 적어도 하나의 외부 전자 장치의 종류(type), 적어도 하나의 외부 전자 장치의 능력(capability)(예: 기능), 또는 능력의 값(예: 기능에 따른 상태 또는 동작을 나타내는 값) 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 적어도 하나의 제 1 이벤트에 대한 정보는, 이벤트와 관련된 정보(예: 댁 내의 상태에 대한 정보 또는 적어도 하나의 외부 전자 장치의 동작에 대한 정보) 외에, 적어도 하나의 외부 전자 장치에서 이벤트가 발생한 시간에 대한 정보를 포함할 수 있다.
일 실시예에서, 프로세서(240)는, 적어도 하나의 제 1 이벤트에 대한 정보를 수신한 후, 적어도 하나의 제 1 이벤트에 대한 정보에 대하여 식별자(이하, '제 1 식별자'로 지칭함)를 생성(또는 할당, 또는 부여)할 수 있다.
일 실시예에서, 제 1 식별자는, 댁 내의 적어도 하나의 전자 장치(예: 전자 장치(200) 및 적어도 하나의 외부 전자 장치)에 대하여 생성될 수 있는 식별자일 수 있다. 일 실시예에서, 제 1 식별자는, 암호화된 코드 형태일 수 있다. 일 실시예에서, 제 1 식별자는 댁 내의 적어도 하나의 전자 장치 각각에 대하여 동일한 값으로서 생성될 수 있다.
일 실시예에서, 제 1 식별자는, 패턴을 제공하는 서비스를 제공 받기 위하여, 댁 내의 적어도 하나의 전자 장치를 통합적으로 등록하기 위하여 이용되는 식별자일 수 있다. 일 실시예에서, 제 1 식별자는, 패턴을 제공하는 서비스를 제공 받기 위하여, 댁 내의 적어도 하나의 전자 장치를 통합적으로 등록하기 위하여 이용되는 식별자에 기반하여 생성되는(또는 대응하는) 식별자일 수 있다. 일 실시예에서, 제 1 식별자는, 댁 내의 적어도 하나의 전자 장치를 그룹화하여 관리하기 위하여 이용되는 식별자일 수 있다. 일 실시예에서, 제 1 식별자는, 댁 내의 적어도 하나의 전자 장치를 그룹화하여 관리하기 위하여 이용되는 식별자에 기반하여 생성된 식별자일 수 있다. 일 실시예에서, 제 1 식별자는, 댁 내의 적어도 하나의 전자 장치를 그룹화하여 관리하기 위하여 이용되는 전자 장치(200)의 사용자의 계정일 수 있다. 일 실시예에서, 제 1 식별자는, 댁 내의 적어도 하나의 전자 장치를 그룹화하여 관리하기 위하여 이용되는 전자 장치(200)의 사용자의 계정에 기반하여 생성되는 식별자일 수 있다.
일 실시예에서, 아래 [표 1]은, 적어도 하나의 제 1 이벤트에 대한 정보 및 제 1 식별자를 나타낼 수 있다.
이벤트 발생 시간 | 장치 종류 | 장치 ID | 능력 | 능력 값 | 제 1 식별자 |
2020-07-21 16:01 | sensor(예: 존재 감지 센서) | xxx0 | presence (존재 검출) |
present (존재가 검출됨) |
A |
2020-07-21 16:12 | TV(텔레비전) | xxx1 | switch(TV의 전원) | on (TV의 전원 on) |
A |
2020-07-21 16:13 | TV | xxx1 | tvChannel(TV의 채널) | 11 (TV의 채널 번호) |
A |
2020-07-21 16:28 | AC(에어컨) | xxx2 | switch(에어컨의 전원) | on (에어콘의 전원 on) |
A |
일 실시예에서, [표 1]에서, 이벤트 발생 시간은, 적어도 하나의 외부 전자 장치에서 이벤트가 발생한 시간을 나타낼 수 있다. 예를 들어, '2020-07-21 16:01'은, 2020년 7월 21일 16시 01분에, 존재 감지 센서에서, 사용자(또는 사용자의 전자 장치)가 댁 외부로부터 댁 내로 진입함이 감지된 시간을 나타낼 수 있다. 다른 예를 들어, '2020-07-21 16:12'은, 2020년 7월 21일 16시 12분에, TV의 전원이 온(on)된 시간을 나타낼 수 있다. 또 다른 예를 들어, '2020-07-21 16:13'은, 2020년 7월 21일 16시 13분에, TV의 채널이 채널 번호 '11'이 된(또는 '11'로 변경된) 시간을 나타낼 수 있다. 또 다른 예를 들어, '2020-07-21 16:28'은, 2020년 7월 21일 16시 28분에, 에어컨의 전원이 온(on)된 시간을 나타낼 수 있다.
일 실시예에서, [표 1]에 도시된 바와 같이, 프로세서(240)는, 댁 내의 적어도 하나의 전자 장치(예: 존재 감지 센서, TV, 및 에어콘)에 대하여 동일한 제 1 식별자(예: 'A')를 생성할 수 있다.
일 실시예에서, 프로세서(240)는, [표 1]에 도시된 바와 같은, 적어도 하나의 제 1 이벤트에 대한 정보 및 제 1 식별자를 데이터화 할 수 있다.
동작 403에서, 일 실시예에서, 프로세서(240)는, 적어도 하나의 제 1 이벤트에 대한 정보 중에서, 지정된 적어도 하나의 시간 간격 내에 발생한 적어도 하나의 제 2 이벤트에 대한 정보에 기반하여, 제 1 패턴을 획득할 수 있다.
프로세서(240)가 제 1 패턴을 획득하는 동작과 관련하여 이하 도 5를 참조하여 상세히 설명하도록 한다.
도 5는, 다양한 실시예들에 따른, 제 1 패턴을 획득하는 방법을 설명하는 흐름도(500)이다.
도 5를 참조하면, 동작 501에서, 일 실시예에서, 프로세서(240)는, 지정된 적어도 하나의 시간 간격으로 패턴과 관련된 시퀀스 셋(sequence set)(이하, '시퀀스 셋'으로 지칭함)을 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 지정된 적어도 하나의 시간 간격 마다, 지정된 적어도 하나의 시간 간격 내에 발생한 이벤트에 기반하여, 시퀀스 셋을 획득할 수 있다.
일 실시예에서, 아래 [표 2]는, [표 1]에 기반하여 획득한 시퀀스 셋을 나타낼 수 있다.
시간 간격 | 시점 | 시퀀스 셋 | 제 1 식별자 |
5분 | 16:00 | {Sensor_xxx0_presence_present} | A |
16:10 | {TV_xxx1_switch_on, TV_xxx1_tvChannel_11} | A | |
16:25 | {AC_xxx2_switch_on} | A | |
15분 | 16:00 | {Sensor_xxx0_presence_present, TV_xxx1_switch_on, TV_xxx1_tvChannel_11} | A |
16:15 | {AC_xxx2_switch_on} | A | |
30분 | 16:00 | {Sensor_xxx0_presence_present, TV_xxx1_switch_on, TV_xxx1_tvChannel_11, AC_xxx2_switch_on} | A |
[표 2]에서, 시퀀스 셋의 원소는 장치의 종류, 장치 ID, 능력, 및 능력의 값을 나타낼 수 있다. 예를 들어, Sensor_xxx0_presence_present는, 존재 감지 센서_존재 감지 센서의 ID_존재 감지 센서의 능력_존재 감지 센서의 능력의 값을 나타낼 수 있다.
일 실시예에서, 프로세서(240)는, [표 2]에 도시된 바와 같이, 5분, 15분, 및 30분을 시퀀스 셋을 획득하기 위한 시간 간격으로 지정할 수 있다. 다만, 시퀀스 셋을 획득하기 위한 시간 간격은 5분, 15분, 및 30분에 제한되지 않으며, 다양한 시간 간격으로 지정될 수 있다.
일 실시예에서, 프로세서(240)는, [표 2]에 도시된 바와 같이, 시점(이하, 지정된 시간 간격의 기준이 되는 시간을 '시점'으로 지칭함)을 기준으로 지정된 시간 간격(이하, '시간 간격'과 혼용함) 내에 발생한 적어도 하나의 제 2 이벤트에 기반하여 시퀀스 셋을 획득할 수 있다. 예를 들어, 프로세서(240)는, 시점(예: 16:00(16시), 16:10(16시 10분), 16:25(16시 25분))을 기준으로 지정된 시간 간격(예: 5분) 마다, 지정된 시간 간격 내에 발생한 이벤트들을 포함하는 시퀀스 셋들(예: {Sensor_xxx0_presence_present}, {TV_xxx1_switch_on, TV_xxx1_tvChannel_11}. {AC_xxx2_switch_on})을 획득할 수 있다. 일 실시예에서, 시퀀스 셋의 원소들(elements)은, 이벤트가 발생한 시간에 따라 배열될 수 있다. 예를 들어, 시간 간격이 15분이고, 시점이 16시에 대응하는 시퀀스 셋, {Sensor_xxx0_presence_present, TV_xxx1_switch_on, TV_xxx1_tvChannel_11}에서, 원소의 이벤트가 발생한 시간 순서는, Sensor_xxx0_presence_present (이벤트 발생 시간: 16시 1분), TV_xxx1_switch_on (이벤트 발생 시간: 16시 12분), 및 TV_xxx1_tvChannel_11 (이벤트 발생 시간: 16시 13분) 순서일 수 있다.
일 실시예에서, [표 2]에서는, 시점(예: 16시) 후의 지정된 시간 간격(예: 5분) 이내에 발생한 제 2 이벤트들에 기반하여 시퀀스 셋을 획득하는 것을 예시하고 있지만 이에 제한되지 않는다. 예를 들어, 프로세서(240)는, 시점(예: 16 시) 후의 지정된 시간 간격(예: 5분)의 일부(예: 2분 30초) 내에(예: 16시 57분 30초 내지 16시 사이의 시간) 발생하거나 및 시점(예: 16시) 전의 지정된 시간 간격의 일부(예: 2분 30분) 내에(예: 16시 내지 16시 2분 30초 사이의 시간) 발생한 제 2 이벤트에 기반하여 시퀀스 셋을 획득할 수 있다.
동작 503에서, 일 실시예에서, 프로세서(240)는, 시점 및 시퀀스 셋에 기반하여, 제 1 패턴을 획득할 수 있다.
일 실시예에서, 제 1 패턴은 조건(condition) 및 액션(action)(예: 조건 및 액션의 조합)을 포함할 수 있다. 일 실시예에서, 프로세서(240)는, 시퀀스 셋에 포함된 댁 내의 적어도 하나의 외부 전자 장치의 동작과 관련된 이벤트(이하, '동작 관련 이벤트'로 지칭함)를 액션으로서 설정할 수 있다. 일 실시예에서, 프로세서(240)는, 설정된 액션에 대하여, 시퀀스 셋에 대응하는 시점, 댁 내의 상태와 관련된 이벤트(이하, '상태 관련 이벤트'로 지칭함), 또는 액션으로서 설정된 동작 관련 이벤트 외의 동작 관련 이벤트 중 적어도 하나에 기반하여, 조건을 설정할 수 있다. 예를 들어, 프로세서(240)는, [표 2]의 시간 간격 15분의 시점(16시 0분) 및 시퀀스 셋({Sensor_xxx0_presence_present, TV_xxx1_switch_on, TV_xxx1_tvChannel_11})으로부터, 동작 관련 이벤트로서 TV_xxx1_switch_on를 액션으로서 설정할 수 있다. 프로세서(240)는, 액션으로 설정된 이벤트 TV_xxx1_switch_on에 대하여, 시점(16시 0분) 및 액션으로 설정된 이벤트 보다 먼저 발생한 이벤트로서 Sensor_xxx0_presence_present를 조합함으로써 조건들(예: 조건(16시 0분), 조건(Sensor_xxx0_presence_present), 또는 조건(16시 0분 및 Sensor_xxx0_presence_present))을 설정할 수 있다. 프로세서(240)는, 액션으로 설정된 이벤트 TV_xxx1_tvChannel_11에 대하여, 시점(16시 0분), Sensor_xxx0_presence_present, 및 TV_xxx1_switch_on를 조합함으로써 조건들(예: 조건(16시 0분), 조건(Sensor_xxx0_presence_present), 조건(TV_xxx1_switch_on), 조건(16시 0분 및 Sensor_xxx0_presence_present), 조건(16시 0분 및 TV_xxx1_switch_on), 조건(Sensor_xxx0_presence_present 및 TV_xxx1_switch_on))을 설정할 수 있다.
전술한 예시에서는, 프로세서(240)가, 액션으로 설정된 이벤트 보다 먼저 발생한 이벤트에 대하여, 조건으로서 설정하는 것을 예시하고 있지만 이에 제한되지 않는다. 일 실시예에서, 프로세서(240)는, 액션으로 설정된 이벤트 보다 지정된 시간 이내(예: 지정된 시간 간격의 약 1/6의 시간 간격 이내)에서 늦게 발생한 이벤트에 대하여, 설정된 액션의 조건으로서 설정할 수 있다. 예를 들어, TV_xxx1_switch_on가 액션으로 설정되고, TV_xxx1_tvChannel_11의 이벤트 발생 시간이 TV_xxx1_switch_on의 이벤트 발생 시간 보다 지정된 시간 이내(예: 지정된 시간으로서 5분의 1/6의 시간 간격 내에 포함되는 1분)에서 늦게 발생한 경우, TV_xxx1_tvChannel_11를 TV_xxx1_switch_on의 조건으로서 설정할 수 있다.
일 실시예에서, 지정된 시간 간격의 제 1 패턴은, 제 1 패턴의 조건으로 설정된 시점(또는 제 1 패턴의 조건으로 설정된 이벤트의 발생 시간) 및 액션으로 설정된 이벤트의 발생 시간이 지정된 시간 간격 내에 있는, 제 1 패턴의 조건 및 제 1 패턴의 액션을 지칭할 수 있다. 예를 들어, 15분 간격의 제 1 패턴(조건(16:10) 및 액션(TV_xxx1_switch_on))은, 조건으로 설정된 시점(16시 10분) 및 TV의 전원이 온된 시간이 15분 내에 있는, 제 1 패턴의 조건(16:10) 및 제 1 패턴의 액션(TV_xxx1_switch_on)을 지칭할 수 있다.
일 실시예에서, 아래 [표 3] 및 [표 4]는, 획득된 제 1 패턴과 관련된 정보를 나타낼 수 있다.
이벤트 발생 날짜 | 시간 간격 | 조건 | 액션 | 제 1 식별자 |
2020-07-21 | 5분 | 16:10 | TV_xxx1_switch_on | A |
2020-07-21 | 15분 | 16:15 | TV_xxx1_switch_on | A |
2020-07-21 | 30분 | 16:00 | TV_xxx1_switch_on | A |
2020-07-21 | 5분 | 16:30 | AC_xxx2_switch_on | A |
2020-07-21 | 15분 | 16:30 | AC_xxx2_switch_on | A |
2020-07-21 | 30분 | 16:30 | AC_xxx2_switch_on | A |
이벤트 발생 날짜 | 시간 간격 | 조건 | 액션 | same_device | delay | 제 1 식별자 |
2020-07-21 | 5분 | 16:10+TV_xxx1_switch_on | TV_xxx1_tvChannel_11 | 1 | 1분 | A |
2020-07-21 | 15분 | 16:15+TV_xxx1_switch_on | TV_xxx1_tvChannel_11 | 1 | 1분 | A |
2020-07-21 | 30분 | 16:00+TV_xxx1_switch_on | TV_xxx1_tvChannel_11 | 1 | 1분 | A |
2020-07-21 | 15분 | 16:00+sensor_xxx0_present | TV_xxx1_switch_on | 0 | 11분 | A |
2020-07-21 | 30분 | 16:00+sensor_xxx0_present | TV_xxx1_switch_on | 0 | 11분 | A |
2020-07-21 | 30분 | 16:00+sensor_xxx0_present | AC_xxx2_switch_on | 0 | 27분 | A |
2020-07-21 | 30분 | 16:00+TV_xxx1_switch_on | AC_xxx2_switch_on | 0 | 16분 | A |
[표 4]에서, 예를 들어, 조건, '16:10+TV_xxx1_on'는, 시점이 16시 10분이고 TV의 전원이 온(on)되는 조건을 나타낼 수 있다.
일 실시예에서, [표 3] 및 [표 4]에 도시된 바와 같이, 프로세서(240)는, 지정된 시간 간격 마다, 시퀀스 셋에 기반하여 액션을 설정하고, 설정된 액션에 대한 조건을 조합함으로써, 제 1 패턴을 획득할 수 있다.
일 실시예에서, [표 4]에서, 'same_device'는, 조건과 관련된 외부 전자 장치 및 액션과 관련된 외부 전자 장치가 동일한 전자 장치인지 여부를 나타낼 수 있다. 예를 들어, 'same_device'는, 조건과 관련된 외부 전자 장치 및 액션과 관련된 외부 전자 장치가 동일한 경우, '1'로 설정되고, 조건과 관련된 외부 전자 장치 및 액션과 관련된 외부 전자 장치가 다른 경우. '0'으로 설정될 수 있다.
일 실시예에서, [표 4]에서, 'delay'는, 조건으로 설정된 이벤트가 발생한 시간 및 액션으로 설정된 이벤트가 발생한 시간 간 차이를 나타낼 수 있다. 일 실시예에서, 'delay'는, 조건이 이벤트(예: 상태 관련 이벤트 또는 동작 관련 이벤트)에 기반하여 설정된 경우, 설정될 수 있다. 예를 들어, 조건이 시점에 기반하여 설정된 경우, 'delay'는 설정되지 않을 수 있다. 다른 예를 들어, 조건이 '16:10+TV_xxx1_switch_on'이고, 액션이 'TV_xxx1_tvChannel_11'인 경우, 조건으로 설정된 동작 관련 이벤트 TV_xxx1_switch_on의 발생 시간 및 액션으로 설정된 동작 관련 이벤트 TV_xxx1_tvChannel_11의 발생 시간 간 차이가 1분이므로, delay는 1분으로 설정될 수 있다.
도 4로 리턴하면, 동작 405에서, 일 실시예에서, 프로세서(240)는, 제 1 패턴과 관련된 제 1 파라미터를 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 제 1 패턴(또는 제 1 패턴과 관련된 정보)을 분석함으로써, 제 1 파라미터를 획득할 수 있다. 일 실시예에서, 제 1 파라미터는, 연관 규칙(association rule)의 지지도(support), 신뢰도(confidence), 향상도(lift), 또는 RPF(rule power factor) 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 제 1 파라미터는, 지지도, 신뢰도, 향상도, 또는 RPF 중 적어도 하나 외에, 지지도, 신뢰도, 향상도, 또는 RPF 중 적어도 하나를 산출하기 위하여 필요한 정보(예: n_all, n_x, n_y, 및 n_ptns)를 포함할 수 있다.
일 실시예에서, 아래 [표 5]는, 지정된 제 1 시간(예: 2주) 동안, 적어도 하나의 외부 전자 장치로부터 획득한 이벤트에 대한 정보에 기반하여 획득된, 제 1 패턴 및 제 1 파라미터와 관련된 정보를 나타낼 수 있다.
제 1 식별자 |
시간 간격 | 조건 | 액션 | same_device | delay | n_all | n_x | n_y | n_ptns | confidence | lift | RPF |
A | 5분 | 16:10 | TV_xxx1_switch_on | - | - | 4032 | 14 | 40 | 9 | 0.64 | 64.8 | 41.66 |
A | 15분 | 16:15 | TV_xxx1_switch_on | - | - | 1344 | 14 | 38 | 9 | 0.64 | 22.7 | 14.62 |
A | 30분 | 16:00 | TV_xxx1_switch_on | - | - | 672 | 14 | 35 | 10 | 0.71 | 13.7 | 9.80 |
A | 5분 | 16:30 | AC_xxx2_switch_on | - | - | 4032 | 14 | 30 | 3 | 0.21 | 28.8 | 6.17 |
A | 15분 | 16:30 | AC_xxx2_switch_on | - | - | 1344 | 14 | 27 | 4 | 0.29 | 14.2 | 4.06 |
A | 30분 | 16:30 | AC_xxx2_switch_on | - | - | 672 | 14 | 24 | 8 | 0.57 | 16.0 | 9.14 |
A | 5분 | 16:10+TV_xxx1_on | TV_xxx1_tvChannel_11 | 1 | 2분 | 4032 | 9 | 50 | 3 | 0.33 | 26.9 | 8.96 |
A | 15분 | 16:15+TV_xxx1_on | TV_xxx1_tvChannel_11 | 1 | 2분 | 1344 | 9 | 40 | 3 | 0.33 | 11.2 | 3.73 |
A | 30분 | 16:00+TV_xxx1_on | TV_xxx1_tvChannel_11 | 1 | 3분 | 672 | 10 | 35 | 3 | 0.30 | 5.8 | 1.73 |
A | 15분 | 16:00+sensor_xxx0_present | TV_xxx1_switch_on | 0 | 7분 | 1344 | 7 | 38 | 6 | 0.86 | 30.3 | 25.98 |
A | 30분 | 16:00+sensor_xxxx0_present | TV_xxx1_switch_on | 0 | 9분 | 672 | 10 | 35 | 8 | 0.80 | 15.4 | 12.29 |
A | 30분 | 16:00+ sensor_xxx0_present | AC_xxx2_switch_on | 0 | 20분 | 672 | 10 | 27 | 3 | 0.30 | 7.5 | 2.24 |
A | 30분 | 16:00+TV_xxx1_on | AC_xxx2_switch_on | 0 | 10분 | 672 | 10 | 24 | 7 | 0.70 | 19.6 | 13.72 |
A | 15분 | sensor_xxx0_present | TV_xxx1_switch_on | 0 | 7분 | 1344 | 22 | 38 | 14 | 0.64 | 22.5 | 14.32 |
A | 30분 | sensor_xxx0_present | TV_xxx1_switch_on | 0 | 10분 | 672 | 20 | 35 | 17 | 0.85 | 16.3 | 13.87 |
A | 30분 | sensor_xxx0_present | AC_xxx2_switch_on | 0 | 20분 | 672 | 20 | 24 | 10 | 0.50 | 14.0 | 7.00 |
A | 30분 | TV_xxx1_on | AC_xxx2_switch_on | 0 | 10분 | 672 | 38 | 24 | 15 | 0.39 | 11.1 | 4.36 |
[표 5]에서, 'n_all'은, 지정된 제 1 시간(예: 2주)을 지정된 시간 간격으로 나눈 값일 수 있다. 예를 들어, 지정된 1 시간이 2주이고, 지정된 시간 간격이 5분인 경우, n_all은 4023(=2(2주) * 7(7일) * 24(24시간) * 12(1시간 내 5분의 개수) )일 수 있다.
[표 5]에서, 'n_x'는, 지정된 제 1 시간(예: 2주) 동안, 조건에 해당하는 시점 또는 이벤트가 발생한, 지정된 시간 간격의 개수를 나타낼 수 있다. 예를 들어, 조건이 16시 10분인 경우, 2주 동안 16시 10분을 포함하는 지정된 시간 간격(예: 5분)의 개수는 14일 수 있다.
[표 5]에서, 'n_y'는, 지정된 제 1 시간(예: 2주) 동안, 액션(또는 액션에 해당하는 이벤트)이 발생한 지정된 시간 간격의 개수를 나타낼 수 있다. 예를 들어, 액션이 TV_xxx1_switch_on인 경우, 2주 동안 TV의 전원이 온(on)된 지정된 시간 간격(예: 5분)의 개수는 40일 수 있다. [표 5]에 나타내지는 않았지만, 프로세서(240)는, 지정된 시간 간격 내에 동일한 액션으로 설정된 이벤트가 복수 회 발생된 경우는, 지정된 시간 간격 내에 동일한 액션이 1 회 발생한 것으로 결정할 수 있다. 예를 들어, 프로세서(240)는, 지정된 시간 간격, 5분 내에, 액션으로 설정된 동일한 TV_xxx1_switch_on이 2회 발생된 경우, n_y 연산 시, 액션으로 설정된 TV_xxx1_switch_on이 1회 발생된 것으로 결정할 수 있다.
[표 5]에서, 'n_ptns'는, 지정된 제 1 시간(예: 2주) 동안, 지정된 시간 간격 동안 조건 및 액션이 함께 발생한 지정된 시간 간격의 개수를 나타낼 수 있다. 예를 들어, 지정된 제 1 시간이 2주이고 시간 간격이 5분이고 조건이 16시 10분이고 액션이 TV_xxx1_switch_on인 경우, 2주 동안 16시 10분으로부터 5분 내에 TV_xxx1_switch_on이 발생한, 5분의 시간 간격의 개수는 9일 수 있다.
[표 5]에서, 신뢰도(confidence)는, n_ptns를 n_x로 나눈 값일 수 있다.
[표 5]에서, 향상도(lift)는, 신뢰도r n_y * n_all 연산을 수행함으로써, 획득될 수 있다.
[표 5]에서, RPF는, 신뢰도 및 향상도를 곱함으로써, 획득될 수 있다.
일 실시예에서, [표 5]에서 지지도를 나타내지 않았지만, 지지도는 n_ptns를 n_ptns로 나눔으로써, 획득될 수 있다.
다만, 제 1 패턴과 관련된 제 1 파라미터는, [표 5]를 통해 나타낸 파라미터에 제한되지 않는다.
동작 407에서, 일 실시예에서, 프로세서(240)는, 통신 인터페이스(210)를 통하여, 적어도 하나의 외부 전자 장치로부터, 지정된 제 2 시간 동안 적어도 하나의 외부 전자 장치에서 발생한, 적어도 하나의 제 3 이벤트와 관련된 정보를 수신할 수 있다.
일 실시예에서, 지정된 제 2 시간은, 동작 401에서 예시한 지정된 제 1 시간 경과 후의 시간으로서, 지정된 제 1 시간(또는 지정된 제 1 시간의 크기)과 동일하거나(예: 지정된 제 1 시간으로서 2주 경과 후 지정된 제 1 시간과 동일한 2주) 다를 수 있다(예: 지정된 제 1 시간으로서 2주 경과 후 지정된 제 1 시간과 다른 1주).
동작 409에서, 일 실시예에서, 프로세서(240)는, 적어도 하나의 제 3 이벤트와 관련된 정보에 기반하여, 제 1 패턴과 관련된 제 2 파라미터를 획득할 수 있다.
일 실시예에서, 프로세서(240)는, 적어도 하나의 제 3 이벤트와 관련된 정보에 기반하여 제 1 패턴과 동일한 패턴(예: 제 1 패턴의 조건 및 액션과 동일한 조건 및 액션의 조합)을 획득할 수 있다. 프로세서(240)가, 적어도 하나의 제 3 이벤트와 관련된 정보에 기반하여 제 1 패턴과 동일한 패턴을 획득하는 방법에 대한 예시들은, 동작 403의 제 1 패턴을 획득하는 동작에 대한 예시들과 적어도 일부가 동일 또는 유사하므로, 상세한 설명은 생략하기로 한다.
일 실시예에서, 프로세서(240)는, 적어도 하나의 제 3 이벤트와 관련된 정보에 기반하여 획득한, 제 1 패턴과 동일한 패턴에 기반하여, 제 2 파라미터를 획득할 수 있다.
일 실시예에서, 지정된 제 2 시간(예: 지정된 제 2 시간의 크기)와 지정된 제 1 시간이 동일한 경우, 프로세서(240)가 적어도 하나의 제 3 이벤트와 관련된 정보에 기반하여 획득한, 제 1 패턴과 동일한 패턴에 기반하여 제 2 파라미터를 획득하는 방법에 대한 예시들은, 동작 405의 제 1 파라미터를 획득하는 동작에 대한 예시들과 적어도 일부가 동일 또는 유사하므로, 상세한 설명은 생략하기로 한다.
일 실시예에서, 지정된 제 2 시간(예: 지정된 제 2 시간의 크기)와 지정된 제 1 시간이 다른 경우, 프로세서(240)는, 제 1 패턴과 동일한 패턴에 기반하여 파라미터를 획득하고, 지정된 제 2 시간 및 지정된 제 1 시간의 비율에 기반하여, 상기 획득된 파라미터를 조정함으로써, 제 2 파라미터를 획득할 수 있다. 예를 들어, 지정된 제 1 시간이 2주이고 지정된 제 2 시간이 1주인 경우, 프로세서(240)는, 1주 동안 적어도 하나의 외부 전자 장치로부터 획득한 제 3 이벤트에 기반하여 파라미터를 획득할 수 있다. 프로세서(240)는, 획득한 파라미터의 일부로서, n_all이 2016이고, n_x가 5이고, n_y가 25이고, n_ptns가 2인 경우, n_all, n_x, n_y, 및 n_ptns를 각각 2(지정된 제 1 시간을 지정된 제 2 시간으로 나눈 값)를 곱함으로써, n_all, n_x, n_y, 및 n_ptns를 각각 4032, 10, 50, 4로 조정할 수 있다. 프로세서(240)는, 조정된 n_all, n_x, n_y, 및 n_ptns에 기반하여, 신뢰도, 향상도, 또는 RPF를 산출함으로써, 제 2 파라미터를 획득할 수 있다.
일 실시예에서, 아래 [표 6]은, [표 5]의 일부 및 제 2 파라미터로서 신뢰도(y_confidence)(이하, '검증을 위한 신뢰도'로 지칭하기로 한다)를 나타낼 수 있다.
제 1 식별자 | 시간 간격 | 조건 | 액션 | same_device | delay | n_all | n_x | n_y | n_ptns | confidence | lift | RPF | y_confidence |
A | 5분 | 16:10+TV_xxx1_switch_on | TV_xxx1_tvChannel_11 | 1 | 2 분 | 4032 | 9 | 50 | 3 | 0.33 | 26.9 | 8.96 | 0.4 |
A | 15분 | 16:15+TV_xxx1_switch_on | TV_xxx1_tvChannel_11 | 1 | 2분 | 1344 | 9 | 40 | 3 | 0.33 | 11.2 | 3.73 | 0.35 |
A | 30분 | 16:00+TV_xxx1_switch_on | TV_xxx1_tvChannel_11 | 1 | 3분 | 672 | 10 | 35 | 3 | 0.30 | 5.8 | 1.73 | 0.38 |
A | 15분 | 16:00+sensor_xxx0_present | TV_xxx1_switch_on | 0 | 7분 | 1344 | 7 | 38 | 6 | 0.86 | 30.3 | 25.98 | 0.7 |
A | 30분 | 16:00+sensor_xxx0_present | TV_xxx1_switch_on | 0 | 9분 | 672 | 10 | 35 | 8 | 0.80 | 15.4 | 12.29 | 0.75 |
A | 30분 | 16:00+sensor_xxx0_present | AC_xxx2_switch_on | 0 | 20분 | 672 | 10 | 27 | 3 | 0.30 | 7.5 | 2.24 | 0.6 |
[표 6]에서, 제 2 파라미터로서, 검증을 위한 신뢰도(y_confidence)를 예시하고 있지만, 이에 제한되지 않으며, 제 2 파라미터는, 제 1 패턴과 동일한 패턴에 기반하여 획득 가능한 다양한 파라미터를 포함할 수 있다.
[표 6]에서는, [표 5]의 일부를 포함하는 것으로 예시하고 있지만, 이에 제한되지 않으며, [표 5]의 전체에 대한 제 2 파라미터가 획득될 수 있다.
동작 411에서, 일 실시예에서, 프로세서(240)는, 제 1 패턴, 제 1 파라미터, 및 제 2 파라미터에 기반하여, 제 1 템플릿을 생성할 수 있다.
일 실시예에서, 프로세서(240)는, 제 1 패턴의 조건 및 액션으로부터, 특정 정보를 삭제함으로써, 제 1 템플릿을 생성할 수 있다. 예를 들어, 프로세서(240)는, 제 1 패턴의 조건 및 액션의 특정 정보를 빈 칸으로 둠으로써, 제 1 템플릿을 생성할 수 있다. 이하에서, 제 1 패턴의 조건 및 액션으로부터, 특정 정보가 삭제된 제 1 패턴을 '제 2 패턴'으로 지칭하기로 한다.
일 실시예에서, 아래 [표 7]은, [표 6]에 기반하여, 생성된 템플릿들을 나타낼 수 있다.
제 1 식별자 | 시간 간격 | 조건 | 액션 | same_device | delay | n_all | n_x | n_y | n_ptns | confidence | lift | RPF | y_confidence |
A | 5분 | ?:?+TV_? _switch_? | TV_?_tvChannel_? | 1 | 2 분 | 4032 | 9 | 50 | 3 | 0.33 | 26.9 | 8.96 | 0.4 |
A | 15분 | ?:?+TV_?_switch_on | TV_?_tvChannel_? | 1 | 2분 | 1344 | 9 | 40 | 3 | 0.33 | 11.2 | 3.73 | 0.35 |
A | 30분 | ?:?+TV_?_switch_on | TV_?_tvChannel_? | 1 | 3분 | 672 | 10 | 35 | 3 | 0.30 | 5.8 | 1.73 | 0.38 |
A | 15분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 7분 | 1344 | 7 | 38 | 6 | 0.86 | 30.3 | 25.98 | 0.7 |
A | 30분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 9분 | 672 | 10 | 35 | 8 | 0.80 | 15.4 | 12.29 | 0.75 |
A | 30분 | ?:?+sensor_?_present | AC_?_switch_on | 0 | 20분 | 672 | 10 | 27 | 3 | 0.30 | 7.5 | 2.24 | 0.6 |
[표 7]에 도시된 바와 같이, 일 실시예에서, 프로세서(240)는, 조건 및 액션에서 특정 시간, 장치 ID, 및 TV의 특정 채널 번호를 삭제할 수 있다. 일 실시예에서, [표 7]에서, TV의 전원의 온(on)은 삭제되지 않은 것을 예시하고 있지만, TV의 전원의 온(on)과 같은 외부 전자 장치의 능력의 값은 삭제될 수도 있다. 예를 들어, 프로세서(240)는, TV의 전원의 경우 온(on) 또는 오프(off)의 같이 능력의 값이 가능한 개수(예: 2개)가 지정된 개수 미만인 경우, 외부 전자 장치의 능력의 값은 삭제되지 않을 수 있다. 다른 예를 들어, 프로세서(240)는, TV의 특정 채널 번호 또는 댁 내의 온도와 같이, 능력의 값이 지정된 개수 이상인 경우, 외부 전자 장치의 능력의 값은 삭제될 수 있다.
일 실시예에서, 템플릿은, 제 2 패턴(예: 조건 및 액션이 모두 동일한 제 2 패턴), 제 2 패턴과 관련된 제 1 파라미터, 및 제 2 패턴과 관련된 제 2 파라미터를 포함하는 정보를 지칭할 수 있다. 예를 들어, [표 7]는, 패턴(?:?+TV_? _switch_? 및 TV_?_tvChannel_?) 및 패턴(?:?+sensor_?_present 및 TV_?_switch_on), 각각과 관련된, 2개의 템플릿을 나타낼 수 있다.
동작 413에서, 일 실시예에서, 프로세서(240)는, 통신 인터페이스(210)를 통하여, 서버(300)로, 제 1 템플릿에 대한 정보를 전송할 수 있다. 예를 들어, 프로세서(240)는, 통신 인터페이스(210)를 통하여, 패턴을 제공하는 서비스를 제공하는 서버(300)로, 제 1 템플릿에 대한 정보를 전송할 수 있다. 일 실시예에서, 제 1 템플릿에 대한 정보는 제 1 템플릿 및 제 1 식별자를 포함할 수 있다.
도 4에서는, 전자 장치(200)가 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있는 컴퓨팅 능력을 가진 전자 장치인 경우를 예시하고 있으며, 일 실시예에서, 전자 장치(200)가 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있는 컴퓨팅 능력을 가진 전자 장치가 아닌 경우(예: 패턴을 제공하는 서비스에 등록된 전자 장치 전체가 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있는 컴퓨팅 능력을 가지지 못한 경우), 도 4에서 설명한 예시들은, 서버(300)에서 수행될 수 있다.
도 6은, 다양한 실시예들에 따른, 서버(300)가 임계 파라미터를 결정하는 방법을 설명하는 흐름도(600)이다.
도 6을 참조하면, 동작 601에서, 일 실시예에서, 프로세서(330)는, 통신 인터페이스(310)를 통하여, 복수의 외부 전자 장치들로부터, 제 2 패턴과 관련된 제 1 템플릿에 대한 정보를 수신할 수 있다. 예를 들어, 프로세서(330)는, 통신 인터페이스(310)를 통하여, 복수의 외부 전자 장치들 각각으로부터, 복수의 외부 전자 장치들 각각에서 생성된 제 1 템플릿에 대한 정보를 수신할 수 있다.
일 실시예에서, 아래 [표 8]은, 복수의 외부 전자 장치들로부터 수신된, 제 1 템플릿에 대한 정보를 나타낼 수 있다.
제1 식별자 | 시간 간격 | 조건 | 액션 | same_device | delay | n_all | n_x | n_y | n_ptns | confidence | lift | RPF | y_confidence |
A | 5분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | Null | 4032 | 7 | 38 | 0 | 0.00 | 0.0 | 0.00 | 0.3 |
A | 15분 | ?:?+sensor_?_present | TV_?_ switch_on | 0 | 7분 | 1344 | 7 | 38 | 4 | 0.57 | 20.2 | 11.55 | 0.8 |
A | 30분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 9분 | 672 | 10 | 35 | 8 | 0.80 | 15.4 | 12.29 | 0.8 |
B | 5분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 2분 | 4032 | 5 | 24 | 2 | 0.40 | 67.2 | 26.88 | 0.45 |
B | 15분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 7분 | 1344 | 6 | 22 | 3 | 0.50 | 30.5 | 15.27 | 0.45 |
B | 30분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 9분 | 672 | 9 | 22 | 4 | 0.44 | 13.6 | 6.03 | 0.45 |
C | 5분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 3분 | 4032 | 4 | 64 | 4 | 1.00 | 63.0 | 63.00 | 0.45 |
C | 15분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 7분 | 1344 | 5 | 60 | 5 | 1.00 | 22.4 | 22.40 | 0.85 |
C | 30분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 9분 | 672 | 7 | 50 | 6 | 0.86 | 11.5 | 9.87 | 0.85 |
D | 5분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | Null | 4032 | 10 | 24 | 0 | 0.00 | 0.0 | 0.00 | 0.2 |
D | 15분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 7분 | 1344 | 10 | 24 | 6 | 0.60 | 33.6 | 20.16 | 0.7 |
D | 30분 | ?:?+sensor_?_present | TV_?_switch_on | 0 | 9분 | 672 | 11 | 22 | 7 | 0.64 | 19.4 | 12.37 | 0.81 |
[표 8]에서는, 서버(300)가 4개의 외부 전자 장치들(예: 서로 다른 4개의 식별자들(A, B, C, 및 D) 각각에 대응하는 외부 전자 장치들)로부터 수신된 제 1 템플릿에 대한 정보를 나타낼 수 있다. 다만, 이에 제한되지 않으며, 서버(300)는, 4개 보다 크거나 적은 개수의 적어도 하나의 외부 전자 장치로부터 제 1 템플릿에 대한 정보를 수신할 수 있다.
동작 603에서, 일 실시예에서, 프로세서(330)는, 제 1 템플릿에 대하여, 지정된 조건을 만족하는, 제 2 패턴과 관련된 지정된 시간 간격 및 임계 파라미터를 결정할 수 있다.
제 2 패턴과 관련된 지정된 시간 간격 및 임계 파라미터를 결정하는 방법과 관련하여, 이하 도 7을 참조하여, 상세히 설명하도록 한다.
도 7은, 다양한 실시예들에 따른, 제 2 패턴과 관련된 지정된 시간 간격 및 임계 파라미터를 결정하는 방법을 설명하는 흐름도(700)이다.
도 7을 참조하면, 동작 701에서, 일 실시예에서, 프로세서(330)는, 제 1 템플릿에 대하여, 지정된 시간 간격 마다, 후보 임계 파라미터의 값을 이용하여, 검증을 위한 신뢰도의 평균, 추천 범위, 및 추천 정확도를 획득할 수 있다.
일 실시예에서, 아래 [표 9]는, [표 8]의 제 1 템플릿에 기반하여, 획득된 검증을 위한 신뢰도의 평균, 추천 범위, 및 추천 정확도를 나타낼 수 있다.
시간 간격 | 후보 임계 n_ptns | 후보 임계 confidence | ave(y_confidence) | n_recommend | coverage | n_success | accuracy |
5분 | 0 | 0 | 0.35 | 4 | 100% | 0 | 0% |
15분 | 0 | 0 | 0.7 | 4 | 100% | 3 | 75% |
30분 | 0 | 0 | 0.7275 | 4 | 100% | 3 | 75% |
5분 | 4 | 0.5 | 0.45 | 1 | 25% | 0 | 0% |
15분 | 4 | 0.5 | 0.783333 | 3 | 75% | 3 | 100% |
30분 | 4 | 0.5 | 0.82 | 3 | 75% | 3 | 100% |
5분 | 4 | 0.6 | 0.45 | 1 | 25% | 0 | 0% |
15분 | 4 | 0.6 | 0.775 | 2 | 50% | 2 | 100% |
30분 | 4 | 0.6 | 0.82 | 3 | 75% | 3 | 100% |
[표 9]에서, 프로세서(330)는, 후보 임계 파라미터로서, 후보 임계 n_ptns 및 후보 임계 confidence를 포함할 수 있다. 다만, 후보 임계 파라미터는 후보 임계 n_ptns 및 후보 임계 confidence에 제한되지 않는다. 일 실시예에서, 후보 임계 파라미터는, 후보 임계 delay, 후보 임계 n_x, 후보 임계 n_y, 후보 임계 lift, 또는 후보 임계 RPF 중 적어도 하나를 포함할 수도 있다.
일 실시예에서, 프로세서(330)는, 지정된 알고리즘(또는 인공 신경망)을 이용하여, 파라미터들(예 delay, n_x, n_y, n_ptns, confidence, lift, 및 RPF) 중에서, 후보 임계 파라미터를 결정할 수 있다. 일 실시예에서, 프로세서(330)는, 다중 회귀 분석(Multiple Linear Regression Analysis)을 이용하여, 파라미터들(예 delay, n_x, n_y, n_ptns, confidence, lift, 및 RPF) 중에서, 후보 임계 파라미터를 결정할 수 있다. 예를 들어, 프로세서(330)는, 다중 회귀 분석의 종속 변수를 추천 범위(예: 표 9의 coverage)로 설정하고, 독립 변수를 파라미터들(예 delay, n_x, n_y, n_ptns, confidence, lift, 및 RPF) 중 적어도 하나로 설정할 수 있다. 프로세서(330)는, 독립 변수 중에서, p 값(p-value)이 지정된 값(예: 0.05) 이하인 독립 변수의 파라미터를 후보 임계 파라미터로 결정할 수 있다.
일 실시예에서, 프로세서(330)는, 지정된 시간 간격 마다, 후보 임계 파라미터의 값 이상인 파라미터 값을 가지는 제 1 식별자의 개수(n_recommend), 후보 임계 파라미터의 값 이상인 파라미터 값을 가지는 제 1 식별자의 검증을 위한 신뢰도의 평균(ave(y_confidence))(이하, '검증을 위한 신뢰도의 평균'으로 지칭됨), 패턴을 제공하는 서비스에 등록된 제 1 식별자들의 총 개수에 대한 후보 임계 파라미터의 값 이상인 파라미터 값을 가지는 제 1 식별자의 개수의 비율(coverage)(이하, '추천 범위'로 지칭됨), 후보 임계 파라미터의 값 이상인 파라미터 값을 가지는 제 1 식별자 중에서 검증을 위한 신뢰도의 지정된 값(예: 0.5) 보다 큰 신뢰도 값을 가지는 제 1 식별자의 개수(n_success), 및 후보 임계 파라미터의 값 이상인 파라미터 값을 가지는 제 1 식별자의 개수(n_recommend)에 대한 후보 임계 파라미터의 값 이상인 파라미터 값을 가지는 제 1 식별자 중에서 지정된 값(예: 0.5) 이상의 검증을 위한 신뢰도의 값을 가지는 제 1 식별자의 개수(n_success)의 비율(accuracy)(이하, '추천 정확도'로 지칭됨)를 결정할 수 있다.
예를 들어, 프로세서(330)는, [표 8] 및 [표 9]를 참조하면, 시간 간격이 15분이고, 후보 임계 n_ptns가 4이고, 후보 임계 confidence가 0.6인 경우, [표 8]에서 시간 간격이 15분에 해당하는 제 1 식별자 A 내지 D의 n_ptns들 및 confidence들 중에서 제 1 식별자 C의 n_ptns(5) 및 confidence(1.00)와 제 1 식별자 D의 n_ptns(6) 및 confidence(0.6)가, 후보 임계 n_ptns 4 이상이고 후보 임계 confidence 0.6 이상임을 확인할 수 있다. 프로세서(330)는, 시간 간격이 15분에 해당하는 제 1 식별자 C의 y_confidence(0.85) 및 제 1 식별자 D의 y_confidence(0.7)의 평균 값으로서, 검증을 위한 신뢰도의 평균 값(0.775)를 산출할 수 있다. 프로세서(330)는, 후보 임계 n_ptns 4 이상이고 후보 임계 confidence 0.6 이상인 파라미터 값을 가지는 제 1 식별자(예: 제 1 식별자 C 및 제 1 식별자 D)의 개수를 2개로 산출할 수 있다. 프로세서(330)는, 패턴을 제공하는 서비스에 등록된 제 1 식별자들의 총 개수가 4인 경우, 후보 임계 파라미터의 값 이상인 파라미터 값을 가지는 제 1 식별자의 개수의 비율(coverage)을 50%(예: 2/4)로 산출할 수 있다. 프로세서(330)는, 후보 임계 파라미터의 값 이상인 파라미터 값을 가지는 제 1 식별자 중에서 검증을 위한 신뢰도의 지정된 값(예: 0.5) 보다 큰 검증을 위한 신뢰도의 값을 가지는 제 1 식별자의 개수(n_success)를 2로 산출할 수 있다. 프로세서(330)는, 산출된 n_recommend(예: 2)에 대한 n_success(예: 2)의 비율로서 추천 정확도 100%(예: 2/2)을 산출할 수 있다.
일 실시예에서, 프로세서(330)는, 후보 임계 파라미터의 임의의 값들에 대하여, 검증을 위한 신뢰도의 평균, 추천 범위, 및 추천 정확도를 획득할 수 있다. 예를 들어, 프로세서(330)는, 후보 임계 n_ptns의 값을 0 및 4로 설정하고, 후보 임계 confidence의 값을 0, 0.5, 및 0.6으로 설정할 수 있다. 프로세서(330)는, 후보 임계 n_ptns의 값 및 후보 임계 confidence의 값의 조합 각각에 대하여, 검증을 위한 신뢰도의 평균, 추천 범위, 및 추천 정확도를 획득할 수 있다. [표 9]에서는, 후보 임계 n_ptns의 값을 0 및 4로 설정되고, 후보 임계 confidence의 값을 0. 0.5, 및 0.6으로 설정된 경우를 예시하고 있지만 이에 제한되지 않으며, 후보 임계 파라미터의 다양한 임의의 값들이 설정될 수 있다.
동작 703에서, 일 실시예에서, 프로세서(330)는, 후보 임계 파라미터의 값들 중에서, 검증을 위한 신뢰도의 평균, 추천 범위, 또는 추천 정확도 중 적어도 하나에 기반하여, 임계 파라미터의 값 및 시간 간격(예: 제 2 패턴의 시간 간격)을 결정할 수 있다.
일 실시예에서, 프로세서(330)는, 검증을 위한 신뢰도(예: 검증을 위한 신뢰도의 값)의 평균이 지정된 값(예: 0.7) 이상이고, 추천 정확도가 지정된 값(예: 지정된 비율)(예: 75%) 이상으로 산출되도록 하는, 지정된 시간 간격의 후보 임계 파라미터의 값 중에서 추천 범위가 최대인, 지정된 시간 간격의 후보 임계 파라미터의 값을 임계 파라미터의 값으로 결정할 수 있다.
일 실시예에서, 프로세서(330)는, 검증을 위한 신뢰도(예: 검증을 위한 신뢰도의 값)의 평균이 지정된 값(예: 0.7) 이상이고, 추천 정확도가 지정된 값(예: 지정된 비율)(예: 75%) 이상으로 산출되도록 하는, 지정된 시간 간격의 후보 임계 파라미터의 값 중에서 추천 범위가 최대인, 지정된 시간 간격의 후보 임계 파라미터의 값이 복수인 경우, 후보 임계 파라미터의 값이 큰 후보 임계 파라미터의 값을 임계 파라미터의 값으로 결정할 수 있다. 예를 들어, 프로세서(330)는, [표 9]에서, 검증을 위한 신뢰도(예: 검증을 위한 신뢰도의 값)의 평균이 지정된 값(예: 0.7) 이상이고, 추천 정확도가 지정된 값(예: 지정된 비율)(예: 75%) 이상으로 산출되도록 하는, 지정된 시간 간격이 30분에 해당하는 후보 임계 n_ptns의 값 4 및 후보 임계 confidence의 값 0.5와, 지정된 시간 간격이 30분에 해당하는 후보 임계 n_ptns의 값 4 및 후보 임계 confidence의 값 0.6를 확인할 수 있다. 프로세서(330)는, 지정된 시간 간격이 30분에 해당하는 후보 임계 n_ptns의 값 4 및 후보 임계 confidence의 값 0.5와, 지정된 시간 간격이 30분에 해당하는 후보 임계 n_ptns의 값 4 및 후보 임계 confidence의 값 0.6 중에서, 큰 후보 임계 confidence의 값을 가지는 후보 임계 confidence 0.6과 함께 후보 임계 n_ptns 4를 임계 파라미터의 값으로 결정할 수 있다. 프로세서(330)는, 결정된 임계 파라미터의 값에 대응하는 시간 간격 30분을 시간 간격(또는 최종 시간 간격)으로서 결정할 수 있다.
도 6으로 리턴하면, 동작 605에서, 일 실시예에서, 프로세서(330)는, 통신 인터페이스(310)를 통하여, 복수의 외부 전자 장치들로, 제 2 패턴, 지정된 시간 간격(예: 제 2 패턴의 지정된 시간 간격), 및 임계 파라미터(예: 임계 파라미터의 값)를 전송할 수 있다.
일 실시예에서, 프로세서(330)는, 통신 인터페이스(310)를 통하여, 패턴을 제공하는 서비스에 등록된 모든 외부 전자 장치들로, 제 2 패턴(예: 임계 파라미터에 대응하는 제 2 패턴)(예: [표 9]에서 조건(?:?+sensor_?_present) 및 액션( TV_?_switch_on)의 조합), 지정된 시간 간격(예: 동작 703에서 결정된 최종 시간 간격), 및 임계 파라미터(예: 동작 703에서 결정된 임계 파라미터의 값)를 전송할 수 있다. 예를 들어, 프로세서(330)는, 동작 601에서 패턴을 제공하는 서비스에 등록된 모든 외부 전자 장치들 중 일부로서 복수의 제 1 외부 전자 장치들로부터 제 2 패턴과 관련된 제 1 템플릿에 대한 정보를 수신한 경우에도, 패턴을 제공하는 서비스에 등록된 모든 외부 전자 장치들로, 통신 인터페이스(310)를 통하여, 제 2 패턴, 지정된 시간 간격, 및 임계 파라미터를 전송할 수 있다.
도 8은, 다양한 실시예들에 따른, 전자 장치(200)가 패턴을 제공하는 방법을 제공하는 방법을 설명하는 흐름도(800)이다.
일 실시예에서, 도 8은, 전자 장치(200)가 서버(300)로부터 제 2 패턴, 지정된 시간 간격(예: 제 2 패턴의 지정된 시간 간격), 및 임계 파라미터를 수신한 후, 제 2 패턴에 대응하는 제 3 패턴을 추천하는 방법에 대한 흐름도일 수 있다.
일 실시예에서, 도 8의 동작들을 수행하는 전자 장치(200)는, 도 4의 서버(300)로 템플릿에 대한 정보를 전송하는 전자 장치와 동일하거나 다를 수 있다. 예를 들어, 서버(300)는 패턴을 제공하는 서비스에 등록된 모든 전자 장치들로, 제 2 패턴, 지정된 시간 간격, 및 임계 파라미터를 전송할 수 있다. 서버(300)로 템플릿에 대한 정보를 전송하지 않은 전자 장치라도, 서버(300)로부터 제 2 패턴, 지정된 시간 간격, 및 임계 파라미터를 수신할 수 있다. 서버(300)로부터 제 2 패턴, 지정된 시간 간격, 및 임계 파라미터를 수신한 전자 장치는 도 8의 동작들을 수행할 수 있다.
동작 801에서, 일 실시예에서, 프로세서(240)는, 통신 인터페이스(210)를 통하여, 서버(300)로부터, 제 2 패턴, 지정된 시간 간격(예: 제 2 패턴의 지정된 시간 간격), 및 제 2 패턴과 관련된 임계 파라미터를 수신할 수 있다.
동작 803에서, 일 실시예에서, 프로세서(240)는, 통신 인터페이스(210)를 통하여, 적어도 하나의 외부 전자 장치로부터, 지정된 제 3 시간 동안 적어도 하나의 외부 전자 장치에서 발생한 적어도 하나의 제 3 이벤트와 관련된 정보를 수신할 수 있다.
일 실시예에서, 전자 장치(200) 및 적어도 하나의 외부 전자 장치는, 패턴을 제공하는 서비스에 등록된 전자 장치들일 수 있다. 예를 들어, 전자 장치(200) 및 적어도 하나의 외부 전자 장치는 패턴을 제공하는 서비스(또는 댁 내에 위치하는 적어도 하나의 전자 장치를 통합적으로 또는 개별적으로 관리(또는 제어)할 수 있는 서비스)에 등록된 전자 장치들일 수 있다.
일 실시예에서, 적어도 하나의 제 3 이벤트에 대한 정보는, 전자 장치(200)와 통신 연결된 적어도 하나의 외부 전자 장치(예: 센서)로부터 수신되는, 댁 내의 상태(또는 댁 내의 상태 변경)에 대한 정보 또는 전자 장치(200)와 통신 연결된 적어도 하나의 외부 전자 장치(예: 가전 기기)로부터 수신되는, 적어도 하나의 외부 전자 장치의 동작(또는 적어도 하나의 외부 전자 장치의 동작 변경)에 대한 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 적어도 하나의 제 3 이벤트에 대한 정보는, 이벤트와 관련된 정보(예: 댁 내의 상태에 대한 정보 또는 적어도 하나의 외부 전자 장치의 동작에 대한 정보) 외에, 적어도 하나의 외부 전자 장치에서 이벤트가 발생한 시간에 대한 정보를 포함할 수 있다.
일 실시예에서, 지정된 제 3 시간(또는 지정된 제 3 시간의 크기)는, 전술한 지정된 제 1 시간 또는 지정된 제 2 시간 중 적어도 하나와, 동일하거나 다를 수 있다. 일 실시예에서, 지정된 제 3 시간은, 지정된 제 2 시간 후의 시간으로서, 현재로부터 지정된 시간 이전까지의 시간을 지칭할 수 있다.
도 8에서는, 동작 801이 동작 803 보다 먼저 수행되는 것으로 예시하고 있지만 이에 제한되지 않는다. 예를 들어, 동작 803이 동작 801 보다 먼저 수행될 수도 있다.
일 실시예에서, 아래 [표 10]은, 지정된 제 3 시간 동안 적어도 하나의 외부 전자 장치에서 발생한 적어도 하나의 제 3 이벤트와 관련된 정보를 나타낼 수 있다.
이벤트 발생 시간 | 장치 종류 | 장치 ID | 능력 | 능력 값 |
2020-07-29 16:11:22 | TV | xxx1 | switch | on |
2020-07-30 16:14:22 | sensor(예: 존재 감지 센서) | xxx0 | presence | present |
2020-07-31 16:12:22 | TV(텔레비전) | xxx1 | switch | on |
2020-07-31 16:12:42 | TV | xxx1 | tvChannel | 11 |
2020-07-31 16:15:30 | AC(에어컨) | xxx2 | switch | on |
동작 805에서, 일 실시예에서, 프로세서(240)는, 적어도 하나의 제 3 이벤트에 대한 정보 중에서, 지정된 적어도 하나의 시간 간격 내에 발생한 적어도 하나의 제 4 이벤트에 대한 정보에 기반하여, 제 2 패턴에 대응하는 제 3 패턴과 관련된 파라미터를 획득할 수 있다.
일 실시예에서, 제 3 패턴은, 조건 및 액션의 특정 정보가 삭제된 제 2 패턴과, 삭제된 조건 및 액션의 특정 정보를 제외한 정보가 동일하고, 조건 및 액션의 특정 정보를 포함하는 패턴을 지칭할 수 있다. 예를 들어, 제 2 패턴이 조건(?:?+sensor_?_present) 및 액션(TV_?_switch_on)의 조합인 경우, 제 3 패턴은 조건(16:10+sensor_xxx0_present) 및 액션(TV_xxx1_switch_on)의 조합일 수 있다. 일 실시예에서, 제 3 패턴의 지정된 시간 간격은 제 2 패턴의 지정된 시간 간격과 동일할 수 있다.
일 실시예에서, 프로세서(240)는, 도 4의 동작 403 및 동작 405를 통하여 설명한 동작과 적어도 일부가 동일 또는 유사한 동작을 수행함으로써, 복수의 패턴들을 획득할 수 있다. 프로세서(240)는, 획득된 복수의 패턴들 중에서 제 2 패턴에 대응하는 제 3 패턴(예: 제 2 패턴에 대응하고 지정된 시간 간격이 동일한 제 3 패턴)을 결정할 수 있다. 프로세서(240)는, 제 3 패턴(예: 제 3 패턴과 관련된 정보)에 기반하여, 제 3 패턴과 관련된 파라미터를 획득할 수 있다.
일 실시예에서, 아래 [표 11]은, [표 10]의 적어도 하나의 제 3 이벤트와 관련된 정보에 기반하여 획득된 제 3 패턴 및 제 3 패턴과 관련된 파라미터를 나타낼 수 있다.
시간 간격 | 조건 | 액션 | n_ptns | Confidence | Lift |
5분 | 16:10 | TV_xxx1_switch_on | 2 | 0.67 | 14 |
30분 | TV_xxx1_switch_on | AC_xxx2_switch_on | 1 | 0.5 | 6 |
일 실시예에서, [표 11]은, 서버(300)로부터 수신된 제 2 패턴이, 패턴(조건(?:?) 및 액션(TV_?_switch_on)의 조합) 및 패턴(조건(TV_?_switch_on) 및 액션(AC_?_switch_on)의 조합)을 포함하는 경우에 획득되는, 제 3 패턴을 나타낼 수 있다.
동작 807에서, 일 실시예에서, 프로세서(240)는, 제 3 패턴의 파라미터가 임계 파라미터 이상인 경우, 제 3 패턴을 제공(예: 추천)할 수 있다.
일 실시예에서, 아래 [표 12]는, 날짜 별로 획득된, 제 3 패턴, 제 3 패턴의 파라미터, 및 임계 파라미터를 나타낼 수 있다.
현재날짜 | 조건 | 액션 | n_ptns | confidence | Lift | 임계 n_ptns | 임계 confidence | 임계 lift | 시간 간격 |
2020-08-01 | 16:10 | TV_xxx1_switch_on | 8 | 0.72 | 8 | ≥9 | ≥0.7 | ≥5 | 5분 |
TV_xxx1_switch_on | AC_xxx2_switch_on | 4 | 0.85 | 4 | ≥6 | ≥0.6 | ≥2 | 30분 | |
2020-08-02 | 16:10 | TV_xxx1_switch_on | 9 | 0.81 | 8 | ≥9 | ≥0.7 | ≥5 | 5분 |
TV_xxx1_switch_on | AC_xxx2_switch_on | 5 | 0.75 | 4 | ≥6 | ≥0.6 | ≥2 | 30분 | |
2020-08-03 | 16:10 | TV_xxx1_switch_on | 9 | 0.75 | 8 | ≥9 | ≥0.7 | ≥5 | 5분 |
TV_xxx1_switch_on | AC_xxx2_switch_on | 6 | 0.65 | 4 | ≥6 | ≥0.6 | ≥2 | 30분 |
[표 12]에서, 지정된 시간 간격 5분의 제 3 패턴(조건(16:10) 및 액션(TV_xxx1_switch_on))과 관련된 임계 파라미터는, 임계 n_ptns가 9이고, 임계 confidence가 0.7이고, 임계 lift가 5일 수 있다.
[표 12]에서, 지정된 시간 간격 30분의 제 3 패턴(조건(TV_xxx1_switch_on) 및 액션(AC_xxx2_switch_on))과 관련된 임계 파라미터는, 임계 n_ptns가 6이고, 임계 confidence가 0.6이고, 임계 lift가 2일 수 있다.
일 실시예에서, 프로세서(240)는, [표 12]에서 현재 날짜가 2020년 8월 1일 인경우(예: 2020년 8월 1일을 기준으로 역산하여 지정된 제 3 시간(예: 2주) 동안 적어도 하나의 외부 전자 장치로부터 적어도 하나의 제 3 이벤트를 수신한 경우), 제 3 패턴의 n_ptns가 임계 n_ptns 보다 작으므로, 제 3 패턴을 추천하지 않을 수 있다.
일 실시예에서, 프로세서(240)는, [표 12]에서 현재 날짜가 2020년 8월 2일인 경우(예: 2020년 8월 2일을 기준으로 역산하여 지정된 제 3 시간(예: 2주) 동안 적어도 하나의 외부 전자 장치로부터 적어도 하나의 제 3 이벤트를 수신한 경우), 제 3 패턴(예: 조건(16:10) 및 액션(TV_xxx1_switch_on)의 조합)의 파라미터가 임계 파라미터 이상이므로, 제 3 패턴을 추천할 수 있다.
일 실시예에서, 프로세서(240)는, [표 12]에서 현재 날짜가 2020년 8월 3일인 경우(예: 2020년 8월 3일을 기준으로 역산하여 지정된 제 3 시간(예: 2주) 동안 적어도 하나의 외부 전자 장치로부터 적어도 하나의 제 3 이벤트를 수신한 경우), 제 3 패턴(예: 패턴(조건(16:10) 및 액션(TV_xxx1_switch_on)의 조합) 및 패턴(TV_xxx1_switch_on) 및 액션(AC_xxx2_switch_on)의 조합)의 파라미터가 임계 파라미터 이상이므로, 제 3 패턴을 추천할 수 있다.
일 실시예에서, 프로세서(240)는, 제 3 패턴의 파라미터가 임계 파라미터 이상이고, 제 3 패턴의 조건에 해당하는 이벤트가 발생한 경우, 제 3 패턴을 제공(예: 추천)할 수 있다.
일 실시예에서, 프로세서(240)는, 제 3 패턴을 제공하기 위하여, 디스플레이(220)를 통하여, 전자 장치(200)가 제 3 패턴을 상기 전자 장치에 설정할지 여부를 나타내는 정보를 표시할 수 있다. 다만, 제 3 패턴을 제공하는 방법은 전술한 예시에 제한되지 않는다.
일 실시예에서, 프로세서(240)가, 사용자 입력에 기반하여 제 3 패턴을 설정된 경우, 제 3 패턴의 조건에 해당하는 이벤트가 발생하면, 제 3 패턴의 액션에 해당하는 이벤트가 발생하도록, 적어도 하나의 외부 전자 장치를 제어할 수 있다. 예를 들어, 프로세서(240)는, 사용자 입력에 기반하여 제 3 패턴(조건(16:10) 및 액션(TV_xxx1_switch_on)의 조합)이 설정된 경우, 16시 10분이 되면 TV의 전원이 온되도록, TV를 제어할 수 있다. 다른 예를 들어, 프로세서(240)는, 사용자 입력에 기반하여 제 3 패턴(조건(16:10) 및 액션(TV_xxx1_switch_on)의 조합)이 설정된 경우, 16시 10분이 되면 TV의 전원이 온되도록, TV를 설정할 수 있다.
일 실시예에서, 도 4 내지 도 8에 도시하지는 않았지만, 전자 장치(200)는, 통신 인터페이스(210)를 통하여, 전자 장치(200)와 통신 연결된 적어도 하나의 외부 전자 장치로부터 이벤트에 대한 정보를 수신한 경우, 전술한 방법에 의해 템플릿을 생성하고 생성된 템플릿을 서버(300)로 전송함으로써, 서버(300)가 임계 파라미터를 조정(또는 업데이트)하도록 할 수 있다. 이에 따라, 서버(300)가 생성하는 임계 파라미터는 전자 장치(200)로부터 수신되는 템플릿에 대한 정보에 따라 조정될 수 있다.
도 8에서는, 전자 장치(200)가 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있는 컴퓨팅 능력을 가진 전자 장치인 경우를 예시하고 있으며, 일 실시예에서, 전자 장치(200)가 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있는 컴퓨팅 능력을 가진 전자 장치가 아닌 경우(예: 패턴을 제공하는 서비스에 등록된 전자 장치 전체가 패턴을 제공하는 동작의 적어도 일부를 수행할 수 있는 컴퓨팅 능력을 가지지 못한 경우), 도 8에서 설명한 예시들은, 서버(300)에서 수행될 수 있다.
또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, CD-ROM, DVD 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 개시에서 다양한 실시예들을 설명하였음에도, 다양한 변경들 및 수정들이 통상의 기술자에게 제안될 수 있다. 본 개시는 부가된(appended) 청구항들의 권리 범위 내에 있는 그러한 변경들 및 수정들을 포함하는 것으로 의도된다.
Claims (15)
- 전자 장치에 있어서,통신 인터페이스;메모리; 및상기 통신 인터페이스 및 상기 메모리와 기능적으로 연결된 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서는,상기 통신 인터페이스를 통하여, 적어도 하나의 외부 전자 장치로부터, 지정된 제 1 시간 동안 발생한 적어도 하나의 제 1 이벤트와 관련된 정보를 수신하고,상기 적어도 하나의 제 1 이벤트에 대한 정보 중에서 지정된 적어도 하나의 시간 간격 내에 발생한 적어도 하나의 제 2 이벤트에 대한 정보에 기반하여, 제 1 패턴 및 상기 제 1 패턴과 관련된 제 1 파라미터를 획득하고,상기 통신 인터페이스를 통하여, 상기 적어도 하나의 외부 전자 장치로부터, 지정된 제 2 시간 동안 발생한 적어도 하나의 제 3 이벤트와 관련된 정보를 수신하고,상기 적어도 하나의 제 3 이벤트와 관련된 정보에 기반하여, 상기 제 1 패턴과 관련된 제 2 파라미터를 획득하고,상기 제 1 패턴, 상기 제 1 파라미터, 및 상기 제 2 파라미터에 기반하여, 제 1 템플릿을 생성하고, 및상기 통신 인터페이스를 통하여, 서버로, 상기 제 1 템플릿에 대한 정보를 전송하도록 구성된 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는,상기 적어도 하나의 제 1 이벤트에 대한 정보에 대한 식별자를 생성하고, 및상기 통신 인터페이스를 통하여, 상기 서버로, 상기 제 1 템플릿 및 상기 식별자를 포함하는 상기 제 1 템플릿에 대한 정보를 전송하도록 구성된 전자 장치.
- 제 2 항에 있어서,상기 적어도 하나의 프로세서는,상기 적어도 하나의 지정된 시간 간격 마다, 상기 적어도 하나의 제 2 이벤트에 기반하여, 시퀀스 셋(sequence set)을 획득하고,상기 시퀀스 셋과, 상기 지정된 시간 간격의 기준이 시점에 기반하여, 상기 제 1 패턴의 조건 및 액션을 결정하고, 및상기 제 1 파라미터를 획득하도록 구성되고,상기 시퀀스 셋은 상기 적어도 하나의 지정된 시간 간격 내에 발생된 상기 적어도 하나의 제 2 이벤트를 포함하고,상기 적어도 하나의 제 2 이벤트는 상기 시퀀스에서 상기 적어도 하나의 제 2 이벤트가 발생한 시간에 따라 배열되는 전자 장치.
- 제 3 항에 있어서,상기 제 1 파라미터는, 상기 제 1 패턴과 관련된, 지지도(support), 신뢰도(confidence), 향상도(lift), 또는 RPF(rule power factor) 중 적어도 하나를 포함하고,상기 제 2 파라미터는, 검증을 위한 신뢰도를 포함하는 전자 장치.
- 제 1 항에 있어서,상기 적어도 하나의 프로세서는,상기 제 1 패턴의 특정 정보를 삭제함으로써 제 2 패턴을 획득하고,상기 제 2 패턴, 상기 제 1 파라미터, 상기 제 2 파라미터, 상기 지정된 적어도 하나의 시간 간격을 포함하는 상기 제 1 템플릿을 생성하도록 구성된 전자 장치.
- 서버에 있어서,통신 인터페이스;메모리; 및상기 통신 인터페이스 및 상기 메모리와 기능적으로 연결된 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서는,상기 통신 인터페이스를 통하여, 복수의 외부 전자 장치들로부터, 제 1 패턴과 관련된 제 1 템플릿에 대한 정보를 수신하고,상기 제 1 템플릿에 대하여, 지정된 조건을 만족하는, 상기 제 1 패턴과 관련된 지정된 시간 간격 및 임계 파라미터의 값을 결정하고, 및상기 통신 인터페이스를 통하여, 상기 복수의 외부 전자 장치들로, 상기 제 1 패턴, 상기 지정된 시간 간격, 및 상기 임계 파라미터의 값을 전송하도록 구성된 서버.
- 제 6 항에 있어서,상기 제 1 템플릿에 대한 정보는, 조건 및 액션의 특정 정보가 삭제된 상기 제 1 패턴, 상기 제 1 패턴과 관련된 제 1 파라미터 및 제 2 파라미터, 상기 제 1 패턴을 획득하기 위하여 이용된 지정된 적어도 하나의 시간 간격, 및 상기 복수의 외부 전자 장치들 각각의 식별자를 포함하는 서버.
- 제 7 항에 있어서,상기 적어도 하나의 프로세서는,상기 제 1 템플릿에 대하여, 지정된 적어도 하나의 시간 간격 마다, 후보 임계 파라미터들의 값들을 이용하여, 검증을 위한 신뢰도들의 평균, 추천 범위, 및 추천 정확도를 획득하도록 구성된 서버.
- 제 8 항에 있어서,상기 검증을 위한 신뢰도의 평균은, 상기 후보 임계 파라미터들의 값들 이상인 상기 제 1 파라미터의 값을 가지는 식별자들에 대응하고,상기 추천 범위는, 상기 서버에 등록된 식별자들의 총 개수에 대한, 상기 후보 임계 파라미터들의 값들 이상인 상기 제 1 파라미터의 값을 가지는 상기 식별자들의 개수의 비율이고, 및상기 추천 정확도는, 상기 후보 임계 파라미터들의 값들 이상의 상기 제 1 파라미터의 값을 가지는 상기 식별자들의 개수에 대한, 상기 후보 임계 파라미터들의 값들 이상인 파라미터 값을 가지는 상기 식별자들 중에서 상기 제 2 파라미터에 포함되고 지정된 값 이상의 검증을 위한 신뢰도들의 값들을 가지는 식별자들의 개수의 비율인 서버.
- 제 9 항에 있어서,상기 적어도 하나의 프로세서는,상기 후보 임계 파라미터들의 값들 중에서, 상기 검증을 위한 신뢰도들의 평균, 상기 추천 범위, 또는 상기 추천 정확도 중 적어도 하나에 기반하여, 상기 임계 파라미터의 값 및 상기 지정된 시간 간격을 결정하도록 구성된 서버.
- 제 10 항에 있어서,상기 적어도 하나의 프로세서는,상기 검증을 위한 신뢰도의 평균이 지정된 값 이상이고, 상기 추천 정확도가 지정된 값 이상으로 산출되도록 하는, 후보 임계 파라미터들의 값들 중에서, 상기 추천 범위가 최대인, 후보 임계 파라미터들의 값들을, 상기 임계 파라미터의 값으로 결정하도록 구성된 서버.
- 전자 장치에 있어서,통신 인터페이스;메모리; 및상기 통신 인터페이스 및 상기 메모리와 기능적으로 연결된 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서는,상기 통신 인터페이스를 통하여, 서버로부터, 제 1 패턴, 상기 제 1 패턴과 관련된 지정된 시간 간격, 및 상기 제 1 패턴과 관련된 임계 파라미터의 값을 수신하고,상기 통신 인터페이스를 통하여, 상기 적어도 하나의 외부 전자 장치로부터, 지정된 제 1 시간 동안 발생한, 적어도 하나의 제 1 이벤트와 관련된 정보를 수신하고,상기 적어도 하나의 제 1 이벤트 중에서 상기 지정된 시간 간격 내에 발생한 적어도 하나의 제 2 이벤트에 기반하여, 상기 제 1 패턴에 대응하는 제 2 패턴과 관련된 제 1 파라미터를 획득하고, 및상기 제 1 파라미터의 값이 상기 임계 파라미터의 값 이상인 경우, 상기 제 2 패턴을 제공하도록 구성된 전자 장치.
- 제 12 항에 있어서,상기 제 1 패턴은 조건 및 액션의 특정 정보가 삭제된 패턴이고,상기 제 2 패턴은, 상기 제 1 패턴과 상기 삭제된 조건 및 액션의 특정 정보를 제외한 정보가 동일하고, 상기 적어도 하나의 제 2 이벤트에 기반하여 획득된 조건 및 액션 특정 정보를 포함하는 전자 장치.
- 제 13 항에 있어서,상기 적어도 하나의 프로세서는,상기 제 1 파라미터가 상기 임계 파라미터 이상인 경우, 상기 전자 장치의 디스플레이를 통하여, 상기 제 2 패턴을 설정할지 여부를 나타내는 정보를 표시하고, 및상기 제 2 패턴이 설정된 경우, 상기 제 2 패턴의 조건으로 설정된 이벤트가 발생되면, 상기 제 2 패턴의 액션으로 설정된 이벤트가 수행되도록, 상기 적어도 하나의 외부 전자 장치를 제어하도록 구성된 전자 장치.
- 제 13 항에 있어서,상기 적어도 하나의 프로세서는,상기 제 1 파라미터의 값이 상기 임계 파라미터의 값 이상이고 상기 제 2 패턴의 조건에 해당하는 이벤트가 발생된 경우, 상기 전자 장치의 디스플레이를 통하여, 상기 제 2 패턴을 설정할지 여부를 나타내는 정보를 표시하도록 구성된 전자 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/309,157 US11856124B2 (en) | 2020-10-15 | 2021-04-28 | Method for providing pattern and electronic device for supporting the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200133596A KR20220049901A (ko) | 2020-10-15 | 2020-10-15 | 패턴을 제공하는 방법 및 이를 지원하는 전자 장치 |
KR10-2020-0133596 | 2020-10-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022080615A1 true WO2022080615A1 (ko) | 2022-04-21 |
Family
ID=81209300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/005389 WO2022080615A1 (ko) | 2020-10-15 | 2021-04-28 | 패턴을 제공하는 방법 및 이를 지원하는 전자 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11856124B2 (ko) |
KR (1) | KR20220049901A (ko) |
WO (1) | WO2022080615A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012070900A2 (ko) * | 2010-11-24 | 2012-05-31 | 한양대학교 산학협력단 | 개인 장치간 이벤트 및 데이터 공유 시스템 |
KR20120071722A (ko) * | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | 응용 필드 통신 방법 및 시스템 |
KR101283185B1 (ko) * | 2009-11-23 | 2013-07-05 | 한국전자통신연구원 | 사용자 패턴 기반으로 동작하는 저전력 장치 및 그 방법 |
WO2015030347A1 (ko) * | 2013-08-30 | 2015-03-05 | 엘지전자 주식회사 | 영상 표시 기기 및 그 동작 방법 |
KR101927706B1 (ko) * | 2016-08-03 | 2018-12-11 | 주식회사 버즈뮤직코리아 | 상황별 음악 추천 방법 및 이를 이용하는 장치 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10185934B2 (en) | 2013-07-09 | 2019-01-22 | Qualcomm Incorporated | Real-time context aware recommendation engine based on a user internet of things environment |
JP6201670B2 (ja) * | 2013-11-15 | 2017-09-27 | 富士通株式会社 | 判定装置、判定プログラム、及び判定方法 |
US9930519B2 (en) | 2013-11-21 | 2018-03-27 | Samsung Electronics Co., Ltd. | Method and apparatus for controlling home devices on group basis based upon history of the home devices |
US10007886B1 (en) * | 2014-10-02 | 2018-06-26 | Google Llc | Context-based event creation |
US10204310B2 (en) | 2015-01-16 | 2019-02-12 | Txu Energy Retail Company Llc | System and method for home automation |
US9813509B1 (en) * | 2015-06-09 | 2017-11-07 | Amazon Technologies, Inc. | Template generator for frequently occurring application programming interface call sequences |
KR102344021B1 (ko) | 2015-12-23 | 2021-12-28 | 삼성전자주식회사 | 디바이스를 제어하는 방법 및 장치 |
KR102522150B1 (ko) | 2016-03-31 | 2023-04-14 | 삼성전자주식회사 | 단말장치 및 그 제어방법 |
KR20170116306A (ko) | 2016-04-08 | 2017-10-19 | 한국전자통신연구원 | 가전 사용 패턴 추천 장치 및 방법 |
KR102058557B1 (ko) | 2016-05-17 | 2019-12-23 | 한국전자통신연구원 | 스마트 홈 기반 실내 환경 제어모드 추천 장치 및 방법 |
US10764153B2 (en) | 2016-09-24 | 2020-09-01 | Apple Inc. | Generating suggestions for scenes and triggers |
KR102042690B1 (ko) | 2018-05-30 | 2019-11-27 | (주)유비벨록스모바일 | Iot 기기 자동 제어를 위한 엣지-클라우드 시스템 |
US20200120163A1 (en) | 2018-10-12 | 2020-04-16 | Thingify Private Limited | Managing data and personification of iot devices in multiple networks |
JP2020190831A (ja) * | 2019-05-20 | 2020-11-26 | パナソニックIpマネジメント株式会社 | 情報処理方法、サーバ装置及び情報処理プログラム |
-
2020
- 2020-10-15 KR KR1020200133596A patent/KR20220049901A/ko unknown
-
2021
- 2021-04-28 US US17/309,157 patent/US11856124B2/en active Active
- 2021-04-28 WO PCT/KR2021/005389 patent/WO2022080615A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101283185B1 (ko) * | 2009-11-23 | 2013-07-05 | 한국전자통신연구원 | 사용자 패턴 기반으로 동작하는 저전력 장치 및 그 방법 |
WO2012070900A2 (ko) * | 2010-11-24 | 2012-05-31 | 한양대학교 산학협력단 | 개인 장치간 이벤트 및 데이터 공유 시스템 |
KR20120071722A (ko) * | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | 응용 필드 통신 방법 및 시스템 |
WO2015030347A1 (ko) * | 2013-08-30 | 2015-03-05 | 엘지전자 주식회사 | 영상 표시 기기 및 그 동작 방법 |
KR101927706B1 (ko) * | 2016-08-03 | 2018-12-11 | 주식회사 버즈뮤직코리아 | 상황별 음악 추천 방법 및 이를 이용하는 장치 |
Also Published As
Publication number | Publication date |
---|---|
US11856124B2 (en) | 2023-12-26 |
US20220217230A1 (en) | 2022-07-07 |
KR20220049901A (ko) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016190557A1 (ko) | 주변 기기 제어 방법 및 장치 | |
WO2015178600A1 (en) | Speech recognition method and apparatus using device information | |
WO2019078489A1 (ko) | 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치 | |
WO2019059596A1 (ko) | 전자 장치의 소프트웨어의 업데이트를 관리하기 위한 장치 및 방법 | |
WO2018143711A1 (en) | System and method of providing sensing data to electronic device | |
WO2021012481A1 (zh) | 系统性能监控方法、装置、设备及存储介质 | |
WO2019051898A1 (zh) | 设备控制方法、装置及计算机可读存储介质 | |
WO2017090931A1 (ko) | 이벤트 관리 서비스를 제공하는 전자 장치 및 방법 | |
WO2018076840A1 (zh) | 数据分享方法、装置、存储介质及服务器 | |
WO2020032655A1 (en) | Method for executing function based on voice and electronic device supporting the same | |
WO2020091183A1 (ko) | 사용자 특화 음성 명령어를 공유하기 위한 전자 장치 및 그 제어 방법 | |
WO2020138957A1 (en) | Method for dynamically recommending catalog and electronic device thereof | |
WO2021070983A1 (ko) | Vr 훈련 시스템 및 방법 | |
WO2020062615A1 (zh) | 显示面板的伽马值调节方法、装置及显示设备 | |
WO2020046044A1 (en) | Method and apparatus for managing missed events | |
WO2020101178A1 (en) | Electronic apparatus and wifi connecting method thereof | |
WO2021070984A1 (ko) | Vr 훈련 시스템 및 방법 | |
WO2021132743A1 (ko) | 애플리케이션과 관련된 컨텐츠를 표시하는 전자 장치 및 그 제어 방법 | |
WO2022080615A1 (ko) | 패턴을 제공하는 방법 및 이를 지원하는 전자 장치 | |
WO2021045406A1 (en) | Electronic device configured to perform action using speech recognition function and method for providing notification related to action using same | |
WO2022080539A1 (ko) | 사물인터넷 기기의 소프트웨어를 업데이트하는 소프트웨어 업데이트 게이트웨이 및 그 방법 | |
WO2020027366A1 (ko) | 웹 기반의 가상버튼을 이용한 호출 장치 및 방법 | |
WO2024154844A1 (ko) | 업로드와 다운로드의 동시적 수행 | |
WO2019194492A1 (ko) | 전자 장치의 전력을 제어하는 방법 및 이를 위한 서버 | |
WO2014014261A1 (en) | Blood pressure measurement apparatus, gateway, system including the same, and method thereof |
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: 21880267 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21880267 Country of ref document: EP Kind code of ref document: A1 |