WO2023027377A1 - 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법 - Google Patents

전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법 Download PDF

Info

Publication number
WO2023027377A1
WO2023027377A1 PCT/KR2022/011645 KR2022011645W WO2023027377A1 WO 2023027377 A1 WO2023027377 A1 WO 2023027377A1 KR 2022011645 W KR2022011645 W KR 2022011645W WO 2023027377 A1 WO2023027377 A1 WO 2023027377A1
Authority
WO
WIPO (PCT)
Prior art keywords
context
electronic device
user
data
server
Prior art date
Application number
PCT/KR2022/011645
Other languages
English (en)
French (fr)
Inventor
김현우
길홍희
문진호
박미화
박성득
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP22861588.6A priority Critical patent/EP4325421A4/en
Priority to US17/952,920 priority patent/US20230055848A1/en
Publication of WO2023027377A1 publication Critical patent/WO2023027377A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • Various embodiments relate to an electronic device and a method for providing a personalized user context aware service.
  • the electronic device recognizes the user's surrounding situation and provides a service suitable for the user (e.g., a context aware service (CAS)). For example, the electronic device provides information collected through the electronic device. Recognizes (or judges) the user context in which the user is using the electronic device or the individual's behavior, and based on this, provides useful services (or functions) suitable for the situation. can be provided to the user.
  • a service suitable for the user e.g., a context aware service (CAS)
  • CAS context aware service
  • context may refer to information defining characteristics of a situation or information serving as a criterion for determining a meaningful service behavior. Recognizing a user context may be one of the important functions of a context-aware service.
  • a context to be used in a specific service is pre-defined (or stored in advance) in an electronic device, and the context is recognized through a pre-defined method.
  • the electronic device defines a running-related application as an "exercise” situation and recognizes the context of "exercise” in advance when the running-related application is executed by a user.
  • the method of predefining the context has a problem in that a connection relationship with context awareness must be predefined and set for every application.
  • the electronic device only performs context awareness by determining whether a predefined context is suitable through app execution information, and may not be able to recognize an undefined situation or an application.
  • the electronic device is capable of only predefined context awareness and uniformly provides the same context awareness service, but cannot provide a specialized context awareness service to a user.
  • an object of a context-aware service is to provide a context-aware service optimized for an individual user by recognizing not only a predefined context in an electronic device but also a non-predefined context by reflecting user characteristics.
  • An electronic device includes a display, a memory configured to store a usage log of the electronic device, and a processor connected to the memory, wherein the processor collects a usage log of the electronic device, analyzes the usage log, and provides a user A usage pattern according to characteristics is identified, a personalized user context corresponding to an un-defined situation in the electronic device is created and stored based on the usage pattern, and the personalized user context is created and stored. It may be configured to output a recommended service to the display in response to recognizing the context.
  • a context-aware service method of an electronic device includes an operation of collecting a usage log of the electronic device, an operation of analyzing the usage log to determine a usage pattern according to a user characteristic, and an operation in the electronic device based on the usage pattern. It may include an operation of generating and storing a personalized user context corresponding to an un-defined situation, and an operation of outputting a recommended service to the display in response to recognizing the personalized user context. .
  • Various embodiments may recommend different services for each user even for the same application by recognizing a personalized user context according to a user's personal tendency.
  • Various embodiments may recommend context-aware services specialized to individual users by integrating and analyzing the personalized user contexts created in the electronic device and the personalized user contexts created in other electronic devices.
  • FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments.
  • FIG. 2 illustrates a network environment configured to support personalized context-aware services according to various embodiments.
  • FIG. 3 illustrates a configuration of an electronic device according to various embodiments.
  • FIG. 4 illustrates an example of comparing context-aware situations according to various embodiments.
  • FIG. 5 illustrates a personalized context-aware service method of an electronic device according to various embodiments.
  • FIG. 6 illustrates a personalized context-aware service method of an electronic device according to various embodiments.
  • FIG 7 illustrates an example of log analysis data according to various embodiments.
  • FIG. 8 illustrates an example for describing a context-aware model according to various embodiments.
  • FIG. 9 illustrates a configuration of a server supporting a context-aware service according to various embodiments.
  • FIG. 11 illustrates an example of providing a context-based recommendation service according to various embodiments.
  • Electronic devices may be devices of various types.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a camera
  • a wearable device e.g., a smart bracelet
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments.
  • an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or through a second network 199. It may communicate with at least one of the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • a first network 198 eg, a short-range wireless communication network
  • a second network 199 e.g., a second network 199. It may communicate with at least one of the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or the antenna module 197 may be included.
  • at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added.
  • some of these components eg, sensor module 176, camera module 180, or antenna module 197) are integrated into a single component (eg, display module 160). It can be.
  • the processor 120 for example, executes software (eg, the program 140) to cause at least one other component (eg, hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or calculations. According to one embodiment, as at least part of data processing or operation, processor 120 transfers instructions or data received from other components (e.g., sensor module 176 or communication module 190) to volatile memory 132. , processing commands or data stored in the volatile memory 132 , and storing resultant data in the non-volatile memory 134 .
  • software eg, the program 140
  • processor 120 transfers instructions or data received from other components (e.g., sensor module 176 or communication module 190) to volatile memory 132. , processing commands or data stored in the volatile memory 132 , and storing resultant data in the non-volatile memory 134 .
  • the processor 120 includes a main processor 121 (eg, a central processing unit or an application processor) or a secondary processor 123 (eg, a graphic processing unit, a neural network processing unit ( NPU: neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor).
  • a main processor 121 eg, a central processing unit or an application processor
  • a secondary processor 123 eg, a graphic processing unit, a neural network processing unit ( NPU: neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor.
  • NPU neural network processing unit
  • the secondary processor 123 may use less power than the main processor 121 or be set to be specialized for a designated function.
  • the secondary processor 123 may be implemented separately from or as part of the main processor 121 .
  • the secondary processor 123 may, for example, take the place of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is active (eg, running an application). ) state, together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display module 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
  • the auxiliary processor 123 eg, an image signal processor or a communication processor
  • the auxiliary processor 123 may include a hardware structure specialized for processing an artificial intelligence model.
  • AI models can be created through machine learning. Such learning may be performed, for example, in the electronic device 101 itself where artificial intelligence is performed, or may be performed through a separate server (eg, the server 108).
  • 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 foregoing, but is not limited to the foregoing examples.
  • the artificial intelligence model may include, in addition or alternatively, software structures in addition to hardware structures.
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101 .
  • the data may include, for example, input data or output data for software (eg, program 140) and commands related thereto.
  • the memory 130 may include volatile memory 132 or non-volatile memory 134 .
  • the program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
  • the input module 150 may receive a command or data to be used by a component (eg, the processor 120) of the electronic device 101 from the outside of the electronic device 101 (eg, a user).
  • the input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
  • the sound output module 155 may output sound signals to the outside of the electronic device 101 .
  • the sound output module 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback.
  • a receiver may be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display module 160 may visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display module 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device.
  • the display module 160 may include a touch sensor configured to detect a touch or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 170 may convert sound into an electrical signal or vice versa. According to an embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device connected directly or wirelessly to the electronic device 101 (eg: Sound may be output through the electronic device 102 (eg, a speaker or a headphone).
  • the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device connected directly or wirelessly to the electronic device 101 (eg: Sound may be output through the electronic device 102 (eg, a speaker or a headphone).
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a bio sensor, It may include a temperature sensor, humidity sensor, or light sensor.
  • the interface 177 may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device 101 to an external electronic device (eg, the electronic device 102).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card interface
  • audio interface audio interface
  • connection terminal 178 may include a connector through which the electronic device 101 may be physically connected to an external electronic device (eg, the electronic device 102).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert electrical signals into mechanical stimuli (eg, vibration or motion) or electrical stimuli that a user may perceive through tactile or kinesthetic senses.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101 .
  • the power management module 188 may be implemented as at least part of a power management integrated circuit (PMIC), for example.
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101 .
  • the battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). Establishment and communication through the established communication channel may be supported.
  • the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 190 may be a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, a : a local area network (LAN) communication module or a power line communication module).
  • a wireless communication module 192 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 eg, a : a local area network (LAN) communication module or a power line communication module.
  • a corresponding communication module is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a telecommunications network such as a computer network (eg, a LAN or a WAN).
  • a telecommunications network such as a computer network (eg, a LAN or a WAN).
  • These various types of communication modules may be integrated as one component (eg, a single chip) or implemented as a plurality of separate components (eg, multiple chips).
  • the wireless communication module 192 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199.
  • subscriber information eg, International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the electronic device 101 may be identified or authenticated.
  • the wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, NR access technology (new radio access technology).
  • NR access technologies include high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and access of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low latency (URLLC)).
  • eMBB enhanced mobile broadband
  • mMTC massive machine type communications
  • URLLC ultra-reliable and low latency
  • -latency communications can be supported.
  • the wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
  • the wireless communication module 192 uses various technologies for securing performance in a high frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. Technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna may be supported.
  • the wireless communication module 192 may support various requirements defined for the electronic device 101, an external electronic device (eg, the electronic device 104), or a network system (eg, the second network 199).
  • the wireless communication module 192 may be configured to achieve peak data rate (eg, 20 Gbps or more) for eMBB realization, loss coverage (eg, 164 dB or less) for mMTC realization, or U-plane latency (eg, URLLC realization).
  • peak data rate eg, 20 Gbps or more
  • loss coverage eg, 164 dB or less
  • U-plane latency eg, URLLC realization.
  • DL downlink
  • UL uplink
  • the antenna module 197 may transmit or receive signals or power to the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is selected from the plurality of antennas by the communication module 190, for example. can be chosen A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
  • other components eg, a radio frequency integrated circuit (RFIC) may be additionally formed as a part of the antenna module 197 in addition to the radiator.
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • the mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first surface (eg, a lower surface) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, array antennas) disposed on or adjacent to a second surface (eg, a top surface or a side surface) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
  • Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 .
  • all or part of operations executed in the electronic device 101 may be executed in one or more external electronic devices among the external electronic devices 102 , 104 , or 108 .
  • the electronic device 101 when the electronic device 101 needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 instead of executing the function or service by itself.
  • one or more external electronic devices may be requested to perform the function or at least part of the service.
  • One or more external electronic devices receiving the request may execute at least a part of the requested function or service or an additional function or service related to the request, and deliver the execution result to the electronic device 101 .
  • the electronic device 101 may provide the result as at least part of a response to the request as it is or additionally processed.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an internet of things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks. According to one embodiment, the external electronic device 104 or server 108 may be included in the second network 199 .
  • the electronic device 101 may be applied to intelligent services (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
  • FIG. 2 illustrates a network environment configured to support personalized context-aware services according to various embodiments.
  • an electronic device eg, the electronic device 101 of FIG. 1
  • communicates with a server 201 eg, the server 108 of FIG. 1
  • the electronic device 101 may include at least some of the components of the electronic device of FIG. 1 .
  • the server 201 may be a server supporting a context aware service. Although not shown, the server 201 may also perform communication with one or more other user electronic devices.
  • the electronic device 101 and the server 201 interwork with each other to recognize a user context (hereinafter referred to as context or context information) corresponding to a user situation, and respond to the personalized user context. It is possible to recommend (or guide) a personalized service (or function) to the user.
  • context or context information a user context corresponding to a user situation
  • context or function information a personalized service (or function)
  • the electronic device 101 may include a usage log collection module 210 .
  • the server 201 may include a context analysis module 220 .
  • the usage log collection module 210 and the context analysis module 220 may interwork (or cooperate) with each other to provide a context-aware service to users in an electronic device, and some of the components of the context analysis module 220 include an electronic device ( 101) may be implemented.
  • the electronic device 101 may collect usage logs generated while a user uses the electronic device 101 .
  • the electronic device 101 may transmit the usage log to the server 201 and receive information as a result of analyzing the usage log by the context analysis module 220 of the server 201 .
  • the electronic device 101 may recognize a user context based on an analysis result based on a usage log.
  • the user context may refer to information defining characteristics of the electronic device 101 or a user situation or information based on determining a meaningful service behavior (or action).
  • the user context may include a first type context and a second type context.
  • the first type context refers to a predefined context in the electronic device 101
  • the second type context refers to an undefined or personalized context in which a user's personal characteristics are reflected. customized context).
  • the electronic device 101 may recognize a predefined specific context when an application (hereinafter referred to as App) to which the specific context is mapped is executed.
  • App an application
  • the electronic device 101 may recognize a user context in which the user is “exercising” based on the exercise-related app execution.
  • the electronic device 101 interworks with the server 201 and analyzes the usage log through the context analysis module 220 to determine a usage pattern corresponding to the user's personal characteristics, and determines the usage pattern. According to this, personalized user context can be predicted and created. The electronic device 101 may recognize the personalized user context through the context analysis module 220 .
  • the server 201 analyzes the usage log of the electronic device 101 to determine the user's usage pattern. Then, a personalized user context such as "listening to music while working at the company" is predicted and generated, and a result of the recognition of the personalized user context may be transmitted to the electronic device 101 .
  • the electronic device 101 may receive the delivery context recognition information from the server 201 and recognize a personalized user context of "listening to music while working for a company" based on this.
  • the electronic device 101 may predict and create a context according to a user's usage pattern by analyzing a usage log.
  • the predicted context is context 1 and context 2 It can be recognized by an arbitrary name such as
  • the user interface when the electronic device 101 is recognized as an arbitrary name such as context 1 or context 2, the user interface provides the user with any recognized context information and allows the user to directly set the context name. can be displayed on the display.
  • FIG. 2 is described as analyzing the usage log of the electronic device 101 in the server 201, in the following drawings, as an example of recognizing the user context by analyzing the usage log in the electronic device 101 Let's explain.
  • FIG. 3 illustrates a processor configuration of an electronic device according to various embodiments
  • FIG. 4 illustrates an example of comparing context awareness situations according to various embodiments.
  • FIG. 3 may be understood as functions performed by a processor (processor 120 of FIG. 1 ) of an electronic device (eg, electronic device 101 of FIG. 1 ).
  • the processor 120 may execute instructions (eg, instructions) stored in a memory (eg, the memory 130 of FIG. 1 ) to implement a software module, and may execute hardware related to the function (eg, the memory 130 of FIG. 1 ). of the communication module 180) can be controlled.
  • some of the modules included in FIG. 3 are implemented in a server (eg, 201 in FIG. 2 ) and may operate in conjunction with the server 201 and the electronic device 101 .
  • a processor eg, the processor 120 of FIG. 1
  • the electronic device 101 includes a usage log collection module 310, a context analysis module 320, and a GUI.
  • GUI graphics user interface
  • a memory eg, the memory 130 of FIG. 1 may include a context-aware model 340.
  • usage log collection The module 310 may collect usage logs generated while the user uses the electronic device 101 .
  • the usage log may include hardware log information (or physical information) and software log information (or logical information).
  • Hardware log information may include at least one of location information, time information, and sensor information.
  • the location information may include, for example, at least one of GPS coordinate information of the electronic device 101, network cell information acquired from a network through a communication module, and access point (AP) information connected to the electronic device 101.
  • AP access point
  • the time information means a specific time when an event occurs from the timer of the electronic device 101, and may include at least one of month, day, hour, day of the week, minute, and second.
  • the sensor information may include, for example, one or more sensor information obtained from various sensors (eg, an acceleration sensor and a proximity sensor) mounted in the electronic device 101 .
  • Software log information may include app execution information collected when a user uses an application.
  • the app execution information may include, for example, at least one of an app identifier (or app name), time information when the app is executed, time information while the app is running, and content information executed through the app.
  • the usage log collection module 310 may collect usage logs for each user account.
  • the usage log collection module 310 may transmit the collected usage logs to a server (eg, server 201 of FIG. 2 ).
  • the usage log collection module 310 may transmit the collected usage logs to the context analysis module 320 .
  • the context analysis module 320 may include a first type context recognition module 3200 and a second type context recognition module 3210 .
  • the first type context recognition module 3200 checks whether the electronic device 101 is in a predefined situation, and identifies a first type context (eg, a pre-define context) designated as the predefined situation. can recognize a first type context (eg, a pre-define context) designated as the predefined situation. can recognize a first type context (eg, a pre-define context) designated as the predefined situation. can recognize a first type context (eg, a pre-define context) designated as the predefined situation. can recognize
  • the first type context is previously configured by the electronic device 101 or the server 201. It may include a pre-defined context or pre-determined context and a general or common context.
  • the first type context may be a context stored in the electronic device 101 .
  • the first type context recognition module 3200 checks whether an application mapped to the user context (hereinafter referred to as app) is in use, and based on whether the app mapped to the context is running, the first type context recognition module 3200 Context aware.
  • the first type context recognition module 3200 may recognize the first type context by using app mapping information (eg, an application-context mapping model).
  • the electronic device 101 stores designated music apps 410a, 410b, 410c, and 410d (that is, information on apps classified as music apps is stored in advance). When is executed, it may be mapped to recognizing the context of “listening to music”.
  • the first type context recognition module 3200 detects that one of the designated music apps is running and being used, it recognizes (or estimates) a music listening situation and generates a first type context of “listening music” (e.g. pre-defined context) can be recognized.
  • the second type context recognition module 3210 may recognize the second type context according to the analysis result based on the usage log.
  • the second type context includes an un-defined context, an unknown context or undiscovered context, an individual context, and personalization by the electronic device 101 or the server 201. It can include personalized context or customized context.
  • the second type context may be a context created in the electronic device 101 or the server 201 corresponding to the user's personal characteristics.
  • the second type context recognition module 3210 may predict and store a second type context according to a usage pattern corresponding to a user's personal characteristics based on the usage log, and recognize the second type context based on the prediction.
  • the second type context recognition module 3210 analyzes the usage log and predicts a context not defined in advance according to a user's usage pattern.
  • the second type context recognition module 3210 converts the predicted context into context when the predicted context cannot be defined as meaningful information (e.g., when it cannot be defined as text such as “listening to music while watching a movie at work”). It can be recognized by an arbitrary name such as 1, context 2.
  • the user interface when the electronic device 101 is recognized as an arbitrary name such as context 1 or context 2, the user interface provides the user with any recognized context information and allows the user to directly set the context name. can be displayed on the display.
  • the second type context recognition module 3210 may include an input vector conversion module 3211 , a log analysis module 3212 , and a personalized context creation module 3213 .
  • the input vector conversion module 3211 may convert frequently occurring logs or usage logs collected over a set reference value among collected usage logs into an embedding input vector.
  • An embedding input vector may be used as an input value of a neural network model or a clustering model.
  • the log analysis module 3212 may derive (or obtain) a usage pattern corresponding to the user's personal characteristics by analyzing the propensity/interest of the user using the converted input vector. For example, the log analysis module 3212 may derive a usage pattern by grouping the collected usage logs into clusters according to similar items. The log analysis module 3212 may derive a usage pattern based on a neural network model or a clustering model.
  • the personalization context creation module 3213 may generate and store a second type context suitable for a user's personal characteristics based on the derived usage pattern. For example, the personalization context creation module 3213 may create a second type context for usage patterns that frequently appear above a threshold value.
  • the electronic device 101 may derive a usage pattern suitable for a user preference by clustering usage logs.
  • the music app eg 410a
  • music is transmitted to an external device through Bluetooth 435 is analyzed through the usage log in the electronic device 101, " A personalized user context (that is, a second type context) of “listening to music while driving” (470) may be newly created.
  • a personalization context of "listening to music while working at the company (472)” can create a new one.
  • usage patterns under various conditions, corresponding to them such as “listening to music while exercising (471)” and “listening to music while resting at home (473)” It is possible to create a personalization context suitable for characteristics,
  • the personalization context creation module 3213 may store the second type context generated according to the usage pattern in the memory 130 .
  • the personalized context creation module 3213 may control to update the context recognition model stored in the memory 130 to the personalization context recognition model 340 based on the personalized user context.
  • the second type context recognition module 3310 may recognize the second type context by determining similarities with currently generated usage logs.
  • the second type context recognition module 3310 compares the similarities between context feature elements defined as “listening to music while driving” and usage logs, so that the electronic device 101 can listen to music in the electronic device 101.
  • the app is running, the navigation app is running, and the Bluetooth function is running, a personalized user context of “listening to music while driving” may be recognized.
  • the input vector conversion module 3211, the log analysis module 3212, and the personalization context creation module 3213 may perform operations by the electronic device 101 alone or by a server (eg, the server 201 of FIG. 2). ) and can perform complementary operations by being connected to the network.
  • a server eg, the server 201 of FIG. 2.
  • the electronic device 101 may provide unrecognized data that is not recognized as a personalized user context through usage log analysis to the server 201 through a network.
  • the electronic device 101 may receive a result in which the unrecognized data is recognized as a new context through integrated analysis with contexts of other electronic devices from the server.
  • the graphical user interface (GUI) support module 330 may output a recommended service for guiding the user to a display based on the recognized context (eg, the first type context and the second type context).
  • the recommendation service may include at least one piece of recommendation information.
  • recommendation information may be provided in the form of a list, but is not limited thereto.
  • the GUI support module 330 may output information about at least one of pre-registered functions or applications in relation to the recognized context.
  • the GUI support module 330 outputs information on usage patterns that are not recognized as contexts (or contexts that cannot be defined as meaningful information, arbitrary contexts) to a display, and displays the unrecognized usage patterns. Whether or not to save as a personalized user context may be guided to the user.
  • the GUI support module 330 may output information on usage patterns that are not recognized as contexts to a pop-up window or through a notification bar.
  • the GUI support module 330 may output a guide message asking whether to store unrecognized data (or unrecognized usage patterns) as a context on the display.
  • the GUI support module 330 may output a user interface (UI) capable of recording a context name for unrecognized data in response to an approval request for storing the context.
  • UI user interface
  • the electronic device 101 stores the context name named by the user and stores the context information named by the user in the memory 130 so that it can be used later as the context defined by the user, or the personalized context recognition model 340 can be updated on
  • the electronic device 101 includes a display (eg, the display module 160 of FIG. 1 ) and a memory configured to store a usage log of the electronic device (eg, the memory 130 of FIG. 1 , the memory of FIG. 3 ). 130) and a processor connected to the memory (for example, the processor 120 of FIG. 1 or the processor 120 of FIG. 3), wherein the processor collects usage logs of electronic devices and stores the usage logs. Analyzing and confirming a usage pattern according to user characteristics, creating and storing a personalized user context corresponding to an un-define situation in the electronic device based on the usage pattern, and storing the It may be configured to output a recommended service to the display in response to recognizing the personalized user context.
  • the usage log may include sensor information and app execution information.
  • the processor may be configured to convert the usage log into an embedding input vector, and obtain an output value corresponding to the personalized user context by using the converted input vector as an input value of a clustering model.
  • the processor is further configured to recognize a predefined user context in the electronic device related to the executed application based on application execution information, wherein the predefined user context is a first type context, and the personalized user context may be a second type context.
  • the processor may be configured to store the personalized user context in a common context recognition model stored in the memory and update the personalized context recognition model to the personalized context recognition model.
  • the electronic device further includes a communication module configured to communicate with a server, and the processor includes recognition data designated as a personalized user context as meaningful information among the analyzed usage patterns, and unrecognized data not designated as a user context. It may be set to classify data and transmit at least one of the collected usage log, the recognized data, and unrecognized data to the server.
  • the processor may be set to display on the display a user interface (UI) for guiding a user as to whether or not to store the usage pattern classified as the unrecognized data as the personalized user context.
  • UI user interface
  • the processor names a context name for the unrecognized data, and in response to a user input stored as the personalized user context, the processor names information corresponding to the unrecognized data by the user. It may be stored in a memory or set to be transmitted to a server through the communication module.
  • the processor integrates and analyzes the contexts of the other electronic devices from the server, and transmits result information in which data analyzed as noise in the electronic device is recognized as a new context to the communication module. It can be set to receive through
  • the processor may, when it is determined that context data of another electronic device having a similarity value equal to or greater than a predetermined reference value to at least one of the usage pattern of the electronic device and the personalized user context exist in the server, the It may be configured to receive a context aware service based on the context data of the other electronic device from the server and display the received recommendation service on the display.
  • FIG. 5 illustrates a personalized context aware service method of an electronic device according to various embodiments.
  • the processor of the electronic device 101 (eg, the processor 120 of FIG. 3 ), in operation 510, records a usage log generated while the user uses the electronic device 101. can be collected
  • the processor 120 may collect hardware log information such as sensor information and software log information such as app execution information.
  • the processor 120 may store the collected usage logs in a memory (eg, the memory 130 of FIG. 3 ).
  • the processor 120 may analyze the usage log. In operation 530, the processor 120 may derive a usage pattern corresponding to the user's personal characteristics.
  • the processor 120 converts the collected usage logs into an embedding input vector, and uses this as an input value of a clustering model to group the usage logs into clusters according to similar items so that frequently used data exceeding a certain reference value are used. Usage patterns can be derived.
  • the processor 120 may predict and create personalized user contexts suitable for the user's personal characteristics according to the usage pattern.
  • the processor 120 may store the personalized user context.
  • the processor 120 may update the context recognition model based on the personalized user context.
  • the processor 120 may recognize a second type context (eg, undefined context, personalized context) based on the personalized user context. For example, the electronic device 101 determines whether a situation condition corresponding to the personalized user context is generated by comparing the similarity between the currently collected usage logs and the context characteristics to determine the second type context. can perceive a second type context.
  • a second type context eg, undefined context, personalized context
  • the processor 120 may recognize a second type context (eg, undefined context, personalized context, etc.) based on app execution information.
  • a second type context eg, undefined context, personalized context, etc.
  • FIG. 6 illustrates a personalized context-aware service method of an electronic device according to various embodiments
  • FIG. 7 illustrates an example of log analysis data according to various embodiments.
  • the processor of the electronic device 101 in operation 610, generates information generated while the user uses the electronic device 101. You can collect usage logs.
  • the processor 120 may collect hardware log information such as sensor information and software log information such as app execution information.
  • the processor 120 may store the collected usage logs in a memory (eg, the memory 130 of FIG. 3 ).
  • the processor 120 may transmit the collected usage log to a server supporting a context aware system (eg, the server 201 of FIG. 2) over a network, and operations 630 to 650 may be performed by the server ( 201) may be performed.
  • a server supporting a context aware system eg, the server 201 of FIG. 2
  • operations 630 to 650 may be performed by the server ( 201) may be performed.
  • the processor 120 may branch to operation 620 to recognize the first type context and branch to operation 630 to recognize the second type context.
  • Operation 620 and operation 630 are separated for convenience of explanation, but depending on circumstances, the processor 120 may support a context-aware service by proceeding from operation 620 to operation 680 and operation 690, or from operation 620 to operation 630 to 670, Context awareness service may be supported by proceeding to operations 680 and 690 .
  • the processor 120 may check whether an app mapped to a predefined context is in use.
  • the processor 120 may check whether an app included in an application-context mapping model is running.
  • the processor may recognize a context corresponding to the executed app in response to the execution of an app included in the application-context mapping model.
  • the processor 120 may analyze the usage log to recognize the second type context.
  • the processor 120 may derive a usage pattern corresponding to the user's personal characteristics based on the usage log.
  • the processor 120 converts the collected usage logs into an embedding input vector, and uses this as an input value of a clustering model to group the usage logs into clusters according to similar items so that frequently used data exceeding a certain reference value are used. Usage patterns can be derived.
  • the processor 120 may generate personalized user contexts suitable for the user's personal characteristics by analyzing the usage pattern.
  • the processor 120 may store the personalized user context or update the context-aware model based on the personalized user context.
  • the processor 120 may determine whether to transmit analysis data to the server 201 by checking whether the context-aware system interworks with the server 201.
  • the processor 120 may proceed to operation 665 when it is set to interwork with the server 201, and may proceed to operation 680 when it is set not to interwork with the server 201 or the network connection is not smooth.
  • the processor 120 may determine whether to transmit all analysis data to the server 201. When all analysis data is set to be transmitted to the server 201, the processor 120 proceeds to operation 670 to transmit recognized data and unrecognized data as personalized user contexts to the server 201. The processor 120 may transmit data related to the usage pattern to the server 201 .
  • the server 201 compares and analyzes the user's usage pattern data with usage pattern data collected from other electronic devices (or user devices of other accounts), so that the electronic device 101 does not analyze or recognizes it. Recognized results in a new context can be derived for the data.
  • the server 201 may derive a result in which a usage log classified as noise in the electronic device 101 is recognized as a new context through integrated data analysis of the electronic device 101 and other electronic devices.
  • data within a certain range may be recognized as a context (eg, recognition data), but as shown in (a), frequently A log that does not appear or is out of a certain range may be analyzed as noise 710 and classified as unrecognized data.
  • the server 201 integrates and analyzes the unrecognized data classified as noise in the electronic device 101 by the noise 710 with the data of other electronic devices, thereby recognizing noise or new data. recognition can be verified.
  • the server 201 When the server 201 analyzes that some of the noises 710-1 are recognized as contexts 720 of other electronic devices, the server 201 classifies them as meaningful contexts and determines that the corresponding noises 710-1 are recognized as contexts. Result information may be provided to the electronic device 101 .
  • the processor 120 When the processor 120 is set to transmit only unrecognized data to the server 201, it may proceed to operation 675 to transmit only unrecognized data to the server 201. In this case, since the server analyzes only unrecognized data, data transmission traffic between the electronic device 101 and the server 201 can be reduced.
  • the processor 120 may receive analysis information on unrecognized data from the server 201.
  • the processor 120 may recognize a first type context (eg, pre-defined context) based on whether the app is used, and may recognize a second type context (eg, undefined context) based on the personalized user context. , personalized context).
  • a first type context eg, pre-defined context
  • a second type context eg, undefined context
  • the processor 120 detects that the music app is operating and contexts for recognizing the situation of “listening to music” on an early basis. can recognize
  • the processor 120 compares the similarity of currently collected usage logs to determine whether a situation condition corresponding to the personalized user context (eg, music app execution, location inside the house) occurs.
  • a situation condition corresponding to the personalized user context eg, music app execution, location inside the house
  • a user context (or personalized user context) reflecting a personal situation of "listening to music while resting at home” may be recognized.
  • the processor 120 may output recommendation information (eg, a recommendation function or a recommendation service) through a display in response to the recognized context.
  • recommendation information eg, a recommendation function or a recommendation service
  • FIG. 8 illustrates an example for describing a context-aware model according to various embodiments.
  • the electronic device 101 analyzes a usage log of the electronic device 101 and generates a user context (ie, a personalized user context) or an electronic device from the server 201.
  • a user context ie, a personalized user context
  • a function of updating a common context recognition model to a customized context recognition model 830 based on at least one of the new contexts not analyzed in step 101 may be supported.
  • the personalization context recognition model 830 includes data (eg, pre-defined data) 810 for recognizing a first type context and data (eg, undefined data) 820 for recognizing a second type context.
  • data eg, pre-defined data
  • the pre-defined data 810 may be data included in a common context recognition model.
  • the pre-defined data 810 may be data for recognizing general or common contexts such as “exercising”, “working”, “driving”, and “shopping”.
  • the un-defined data 820 may be data stored in the electronic device 101 to recognize a personalized user context generated according to a user's personal characteristics by analyzing a usage log. Un-defined data (820) is analyzed as noise in the data (eg labeled data) (821) and electronic device 101 recognized as context through log analysis (eg clustering), and integrated analysis is performed in the server 201 It may include necessary data (eg, unlabeled data) 822 .
  • the electronic device 101 may transmit data (eg, unlabeled data) in which the usage pattern analyzed by the log analysis is not recognized as a context or classified as noise, to the server 201 .
  • the server 201 may integrate and analyze the data transmitted from the electronic device 101 with data of other electronic devices, classify it as noise, or recognize it as a meaningful new context and transmit it to the electronic device 101 .
  • the electronic device 101 may receive result data (eg, result transmission) recognized from unlabeled data through integrated analysis with other electronic devices from the server 201, and update the context recognition model.
  • the electronic device 101 may be updated with the personalization context recognition model 830 .
  • the electronic device 101 may recognize a context by performing context awareness based on the updated personalized context recognition model 830 .
  • the electronic device 101 includes a context pre-specified in the electronic device 101, that is, a first type context 840 (eg, a pre-defined context) as well as a newly created personalized user context analyzed through usage logs.
  • a context pre-specified in the electronic device 101 that is, a first type context 840 (eg, a pre-defined context) as well as a newly created personalized user context analyzed through usage logs.
  • the second type context 850 eg, personalized context 1 851 and personalized context 2 853
  • a personalized context-aware service optimized for the user can be provided to the user.
  • personalized Context 1 may be a predicted personalized user context based on data (eg, labeled data) recognized as context through log analysis (eg, clustering)
  • Personalized context 2 may be an electronic device 101 ) may be a personalized user context predicted through information through integrated analysis of unanalyzed data (eg, unlabeled data) with other electronic devices in the server.
  • the electronic device 101 can recommend different context-aware services for each user even when using the same application by recognizing a personalized user context reflecting user characteristics.
  • FIG. 9 illustrates a configuration of a server supporting a context-aware service according to various embodiments.
  • a server 901 collects user contexts of an electronic device (eg, the electronic device 101 of FIG. 1 ), performs integrated analysis of the contexts, and determines similarity for each context. Accordingly, a function of recommending and guiding a service suitable for the situation of the electronic device 101 may be supported.
  • the electronic device 101 may guide a user to a recommended service (or function) corresponding to a user context in association with the server 901 .
  • the server 901 may include a context mapper 910 and a context analysis module (eg, context analyze) 920 .
  • a context analysis module eg, context analyze
  • the context mapping module 910 may collect context data (or usage log information) transmitted from the electronic device 101 for each electronic device or each user account.
  • the context mapping module 910 includes a first type context (eg, common context) 911 from the electronic device 101 and a second type recognized by log analysis (eg, clustering) of the electronic device 101 .
  • a first type context eg, common context
  • a second type recognized by log analysis (eg, clustering) of the electronic device 101 .
  • At least one of the type context 912 (eg, personalized context, customized context, labeled context) and the third type context 913 (eg, unlabeled context) that is analyzed as noise in the electronic device 101 and requires integrated analysis by the server. can be obtained.
  • the context mapping module 910 maps data (eg, metadata) 915 stored in the server with feature elements of the context transmitted from the electronic device, and maps the mapped result information (eg, input data) to the context analysis module 920 can be sent to
  • Data (eg metadata) stored in the server may include, but is not limited to, app-related information (eg category information, app detailed information), and various information necessary for context analysis such as location information of the electronic device 101. may be stored as metadata.
  • data (eg, metadata) stored in the server may be stored based on usage log information of the electronic device 101 .
  • the second type context 912 and the third type context 913 are classified, but this is only for explanation, and according to an embodiment, the third type context 913 is the second type context 912 ) can also be classified as integrated.
  • the context analysis module 920 may include a context classifier 930 and a context scorer 940 .
  • the context classifier 930 may classify and manage contexts based on result information (eg, input data) transmitted from the context mapping module 910 .
  • the context classifier 930 may perform a function of integrating and analyzing data transmitted from the electronic device 101 with data of other electronic devices and classifying the data as noise or determining a meaningful new context.
  • the context scorer 940 may compare and evaluate (eg, score) the collected contexts and deliver the results to the electronic device 101 .
  • the context scorer 940 may gather (or group) contexts associated with a specific context recognized by the electronic device 101 .
  • a context scorer 940 may use the association score to extract groups.
  • the association score may increase as more feature elements related to the feature elements included in each context are included.
  • the context scorer 940 selects a function or service whose association score (eg, accuracy score) is higher than a reference threshold value based on the specific context recognized by the electronic device 101 and determines the function or service for the selected function or service. Information may be transmitted to the electronic device 101 as recommendation service information.
  • the context scorer 940 may select a certain number of recommended functions in the order of higher correlation scores (eg, accuracy scores).
  • the electronic device 101 may combine user contexts generated by analyzing usage logs to generate a higher-level user context and support a function of recognizing the user context.
  • the electronic device 101 analyzes the usage log and converts user context 1 to user context 7 (ie, context 1, context 2, context 3, context 4, context 5, context 6, context 7) into personalized You can create it as a user context and support recognizing it.
  • user context 7 ie, context 1, context 2, context 3, context 4, context 5, context 6, context 7.
  • the electronic device 101 may create a new level of context by combining contexts having the same feature according to settings. For example, if it is analyzed that a user frequently uses a specific place (eg, location 1) other than a designated place (eg, home or office) (eg, is located in a specific place more than a certain number of times), the electronic device 101 creates context 8 of a new level for the situation related to location 1 by newly combining context 1 and context 4 including the characteristics of location 1, and can recognize it.
  • a specific place eg, location 1
  • a designated place eg, home or office
  • the electronic device 101 may create context 9 of a new level by combining contexts (context 2, context 3, and context 4) including features related to a specific (eg, app 0),
  • a new level of context 10 can be created by combining contexts (context 2, context 3 and context 4) that include features related to a specific time (eg, time 2 or 5).
  • FIG. 11 illustrates an example of providing a context-based recommendation service according to various embodiments.
  • an electronic device eg, the electronic device 101 of FIG. 1
  • a server eg, the server 201 of FIG. 2
  • the electronic device 101 when context 1 has characteristic elements of location 2, time 2, app2, and url 0, and context 2 has characteristic elements of time 4, app 6, and URL 4, the electronic device 101 (or server (201)) can be determined as a context in which context 1 and context 4 are not similar.
  • the electronic device 101 determines context 3 and context 4 as similar contexts, and based on this, Context awareness or recommendation service can be provided.
  • context 3 having characteristic elements of time 3, app6, and url 4 may be created as a personalized user context by user device 1, and recommended service 1 corresponding to context 3 may be provided.
  • the server 201 may recommend recommendation service 1 to user device 2 as recommendation information for context 3 by checking similarity between context 4 and context 3 generated in user device 2 (user device 2).
  • an electronic device eg, the electronic device of FIG. 1
  • recommends a name of a context that is not previously designated by interworking with a server eg, the server 201 of FIG. 2 .
  • a function of providing a recommendation service by comparing a function proposed by the user and a context with other electronic devices may be supported.
  • user device 1 transmits a usage log or a context analyzed based on the usage log to the server, and the electronic device 101 of user device 2 also transmits the server 201 ) to send usage logs or context.
  • the server 201 may compare and analyze usage logs or contexts of the user device 1 and the user device 2.
  • the server may check contexts collected from user device 1 (eg, anonymous context 1, anonymous context 2, driving, shopping).
  • anonymous context 1 and anonymous context 2 which are recognized as contexts in user device 1 but whose names cannot be specified, may exist.
  • the user device 1 may provide information on anonymous context 1 and anonymous context 2 to the user and guide the user to request a name.
  • the user device 1 may update the name of the anonymous context 2 to "in a meeting in the conference room".
  • the server checks the contexts collected from user device 2 (anonymous context 3, anonymous context 4, listen to music, shopping), and among them, the characteristic elements of anonymous context 3 are found to be similar to anonymous context 2 of user device 1.
  • the server may recommend and provide the user device 1 with the information of the anonymous context 2 named in the user device 1 (eg, “in a meeting in the conference room”).
  • the user device 2 may recognize the context of “in a meeting in a meeting room” and provide a recommendation service based on the context to the user (user 2).
  • the server provides contexts collected from user device 1 (eg, anonymous context 1, anonymous context 2, driving, shopping) and contexts collected from user device 2 (anonymous context). 3, anonymous context 4, listen to music, shopping) can be compared and analyzed.
  • the server may analyze that anonymous context 1 of user device 1 and anonymous context 4 of user device 2 have a certain level of similarity or higher.
  • the server 201 recognizes anonymous context 4 in user device 1 and checks the set value of the provided function or service. can be provided as recommended information.
  • a context-aware service method of an electronic device may include an operation of collecting usage logs of the electronic device, an operation of analyzing the usage logs to determine a usage pattern according to user characteristics, and an operation of using the electronic device based on the usage pattern. It may include an operation of generating and storing a personalized user context corresponding to an un-defined situation, and an operation of outputting a recommended service to the display in response to recognizing the personalized user context. .
  • the usage log may include sensor information and app execution information.
  • the operation of generating and storing the personalized user context may include converting the usage log into an embedding input vector and using the converted input vector as an input value of a clustering model to generate and store the personalized user context.
  • An operation of obtaining a corresponding output value may be further included.
  • an operation of detecting an execution of an application and an operation of recognizing a user context predefined in the electronic device in relation to the executed application based on the execution of the application, wherein the predefined
  • the customized user context may be a first type context
  • the personalized user context may be a second type context.
  • the operation of generating and storing the personalized user context may further include storing the generated personalized user context in a common context recognition model stored in an electronic device and updating the personalized context recognition model to the personalized context recognition model. there is.
  • the operation of analyzing the usage log and checking usage patterns according to user characteristics includes, among the analyzed usage patterns, recognition data designated as personalized user context as meaningful information and unrecognized data not designated as user context. and transmitting at least one of the collected usage logs, the recognized data, and the unrecognized data to a server through a communication module according to settings of the electronic device.
  • a user interface for guiding the user as to whether to store the usage pattern classified as the unrecognized data as the personalized user context is displayed on the display. It may further include an operation to do.
  • UI user interface
  • the server after an operation of transmitting at least one of the usage log, recognition data, and unrecognized data to a server, performs integrated analysis with contexts of other electronic devices so that the unrecognized data becomes a new context (The method may further include receiving result information recognized as new context) through the communication module.
  • the operation of outputting the recommendation service to the display may include the context data of another electronic device having a similar value equal to or greater than a predetermined reference value to at least one of the use pattern of the electronic device and the personalized user context in the server.
  • the operation of outputting the recommendation service to the display may include the context data of another electronic device having a similar value equal to or greater than a predetermined reference value to at least one of the use pattern of the electronic device and the personalized user context in the server.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logical blocks, parts, or circuits.
  • a module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • a storage medium eg, internal memory 136 or external memory 138
  • a machine eg, electronic device 101
  • a processor eg, the processor 120
  • a device eg, the electronic device 101
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium. It does not discriminate when it is temporarily stored.
  • a signal e.g. electromagnetic wave
  • the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • a computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
  • a device-readable storage medium eg compact disc read only memory (CD-ROM)
  • an application store eg Play Store TM
  • It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
  • at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
  • each component (eg, module or program) of the above-described components may include a single object or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. there is.
  • one or more components or operations among the aforementioned corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg modules or programs
  • the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. .
  • the actions performed by a module, program, or other component are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the actions are executed in a different order, or omitted. or one or more other actions may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

다양한 실시예에 따른 전자 장치는 디스플레이, 전자 장치의 사용 로그를 저장하도록 구성된 메모리 및 상기 메모리에 연결된 프로세서를 포함하고, 상기 프로세서는, 전자 장치의 사용 로그를 수집하고, 상기 사용 로그를 분석하여 사용자 특성에 따른 사용 패턴을 확인하고, 상기 사용 패턴에 기반하여 상기 전자 장치에서 미리 정의되지 않은 상황(un-define situation)에 대응하는 개인화된(persnalized) 사용자 컨텍스트를 생성하여 저장하고, 상기 개인화된 사용자 컨텍스트를 인식하는 것에 반응하여 추천 서비스를 상기 디스플레이에 출력하도록 설정될 수 있다.

Description

전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법
다양한 실시예들은 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법에 관한 것이다.
전자 장치는 사용자의 주변 상황(situation)을 인식하여 사용자에게 적합한 서비스(에: 상황 인지 서비스(CAS: context aware service)를 제공하고 있다. 예를 들어, 전자 장치는 전자 장치를 통해 수집되는 정보를 통해 사용자가 어떤 상황에서 전자 장치를 사용하고 있는지 또는 개인의 행동을 특정 지을 수 있는 사용자 컨텍스트(user context)를 인식(또는 판단)하고, 이를 기반으로 상황(situation)에 맞는 유용한 서비스(또는 기능)를 사용자에게 제공할 수 있다.
본 개시에서 컨텍스트(context)는, 상황(situation)의 특징을 규정하는 정보 또는 유의미한 서비스 행위를 결정하는 기준이 되는 정보를 의미할 수 있다. 사용자 컨텍스트(user context)를 인지하는 것은 상황 인지 서비스의 중요한 기능 중 하나일 수 있다.
상황 인지 서비스의 경우 특정 서비스에서 사용하고자 하는 컨텍스트(context)를 전자 장치에 미리 정의(pre-defined)(또는 미리 저장)하며, 미리 정의된 방식을 통해 컨텍스트를 인지하고 있다.
예를 들어, 전자 장치는 달리기 관련 어플리케이션을 "운동" 상황(situation)으로 정의해두고 사용자에 의해 달리기 관련 어플리케이션이 실행되면 "운동 중" 이라는 컨텍스트를 인식하도록 미리 정의하고 있다.
이와 같이, 컨텍스트를 미리 정의하는 방식은 모든 어플리케이션 마다 상황 인지와의 연결 관계를 미리 정의하여 설정되어야 하는 문제가 있다. 또한, 전자 장치는 앱 실행 정보를 통해 미리 정의된 컨텍스트가 적합한지를 판단함으로써 상황 인지를 수행할 뿐, 미리 정의되지 않는 상황(un-defined situation) 또는 어플리케이션에 대한 상황 인지가 불가능할 수 있다.
이로 인해 전자 장치는 미리 정의된 상황 인지만 가능하고, 일률적으로 동일한 상황 인지 서비스를 제공할 뿐 사용자에게 특화된 상황 인지 서비스를 제공할 수 없는 문제가 발생되고 있다.
다양한 실시예에 따르면, 상황 인지 서비스에서 전자 장치에서 미리 정의된 컨텍스트 뿐만 아니라 사용자 특성을 반영하여 미리 정의되지 않은 컨텍스트를 모두 인지하여 사용자 개인에게 최적화된 상황 인지 서비스를 제공하는 것을 그 목적으로 한다.
다양한 실시예에 따른 전자 장치는 디스플레이, 전자 장치의 사용 로그를 저장하도록 구성된 메모리 및 상기 메모리에 연결된 프로세서를 포함하고, 상기 프로세서는, 전자 장치의 사용 로그를 수집하고, 상기 사용 로그를 분석하여 사용자 특성에 따른 사용 패턴을 확인하고, 상기 사용 패턴에 기반하여 상기 전자 장치에서 미리 정의되지 않은 상황(un-define situation)에 대응하는 개인화된(persnalized) 사용자 컨텍스트를 생성하여 저장하고, 상기 개인화된 사용자 컨텍스트를 인식하는 것에 반응하여 추천 서비스를 상기 디스플레이에 출력하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치의 상황 인지 서비스 방법은 전자 장치의 사용 로그를 수집하는 동작, 상기 사용 로그를 분석하여 사용자 특성에 따른 사용 패턴을 확인하는 동작, 상기 사용 패턴에 기반하여 상기 전자 장치에서 미리 정의되지 않은 상황(un-define situation)에 대응하는 개인화된 사용자 컨텍스트를 생성하여 저장하는 동작 및 상기 개인화된 사용자 컨텍스트를 인식하는 것에 반응하여 추천 서비스를 상기 디스플레이에 출력하는 동작을 포함할 수 있다.
다양한 실시예들은 사용자 개인 성향에 따른 개인화된 사용자 컨텍스트를 인식함으로써, 동일한 어플리케이션에 대해서도 사용자 마다 서로 다른 서비스를 추천할 수 있다.
다양한 실시예들은 전자 장치에서 생성된 개인화 사용자 컨텍스트와 다른 전자 장치에서 생성된 개인화 사용자 컨텍스트들을 통합 분석하여 개인 사용자에게 특화된 상황 인지 서비스를 추천 할 수 있다.
도 1은 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예에 따른 개인화된 상황 인지 서비스를 지원하도록 구성된 네트워크 환경을 도시한다.
도 3은 다양한 실시예에 따른 전자 장치의 구성을 도시한다.
도 4는 다양한 실시예에 따른 컨텍스트 인지 상황을 비교하는 예를 도시한다.
도 5는 다양한 실시예에 따른 전자 장치의 개인화된 상황 인지 서비스 방법을 도시한다.
도 6은 다양한 실시예에 따른 전자 장치의 개인화된 상황 인지 서비스 방법을 도시한다.
도 7은 다양한 실시예에 따른 로그 분석 데이터를 설명하는 예를 도시한다.
도 8은 다양한 실시예에 따른 컨텍스트 인식 모델을 설명하는 예를 도시한다.
도 9는 다양한 실시예에 따른 상황 인지 서비스를 지원하는 서버의 구성을 도시한다.
도 10은 다양한 실시예에 따른 컨텍스트 조합에 대한 예시를 나타낸다.
도 11은 다양한 실시예에 따라 컨텍스트 기반 추천 서비스를 제공하는 예시를 나타낸다.
도 12 및 도 13은 다양한 실시예에 따른 개인화된 상황 인지 서비스를 제공하는 상황을 도시한다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
도 1은 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(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) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102,104, 또는108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 다양한 실시예에 따른 개인화된 상황 인지 서비스를 지원하도록 구성된 네트워크 환경을 도시한다.
도 2를 참조하며, 다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))는 네트워크(209) 환경에서 서버(201)(예: 도 1의 서버(108))와 통신할 수 있다. 전자 장치(101)는 도 1의 전자 장치 구성요소들 중 적어도 일부를 포함할 수 있다.
서버(201)는 상황 인지 서비스를 지원하는 서버일 수 있다. 도시하지 않았으나, 서버(201)는 하나 이상의 다른 사용자 전자 장치와도 통신을 수행할 수 있다.
전자 장치(101) 및 서버(201)는 서로 연동하여 사용자 상황(situation)에 대응하는 사용자 컨텍스트(user context, 이하, 컨텍스트 또는 상황 정보로 지칭될 수 있음)를 인식하고, 개인화된 사용자 컨텍스트에 대응하는 개인화 서비스(또는 기능)를 사용자에게 추천(또는 안내)할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 사용 로그 수집 모듈(210)을 포함할 수 있다. 서버(201)는 컨텍스트 분석 모듈(220)을 포함할 수 있다. 사용 로그 수집 모듈(210) 및 컨텍스트 분석 모듈(220)은 서로 연동(또는 협업)하여 전자 장치에서 사용자에게 상황 인지 서비스를 제공할 수 있으며, 컨텍스트 분석 모듈(220)의 구성 중 일부는 전자 장치(101)에서 수행하도록 구현될 수도 있다.
일 실시예에 따르면, 전자 장치(101)는 사용자가 전자 장치(101)를 사용하면서 발생되는 사용 로그(usage logs)를 수집할 수 있다. 전자 장치(101)는 사용 로그를 서버(201)로 전송하고, 서버(201)의 컨텍스트 분석 모듈(220)에 의해 사용 로그를 분석한 결과 정보를 수신할 수 있다.
전자 장치(101)는 사용 로그를 기반으로 분석된 결과에 기초하여 사용자 컨텍스트를 인식할 수 있다.
여기서, 사용자 컨텍스트는 전자 장치(101) 또는 사용자 상황(situation)의 특징을 규정하는 정보 또는 유의미한 서비스 행위(또는 액션)를 결정하는 데 근거가 되는 정보를 의미할 수 있다.
사용자 컨텍스트는 제1 타입 컨텍스트 및 제2 타입 컨텍스트를 포함할 수 있다. 제1 타입 컨텍스트는 전자 장치(101)에 미리 정의된 컨텍스트(defined context)를 의미하며, 제2 타입 컨텍스트는 미리 정의되지 않은(un-defined) 또는 사용자 개인 특성이 반영된 개인화된 컨텍스트(personalized context, customized context)를 의미할 수 있다.
제1 타입 컨텍스트와 관련하여, 전자 장치(101)는 특정 컨텍스트가 맵핑된 어플리케이션(이하, 앱)이 실행되면, 미리 정의된 특정 컨텍스트를 인식할 수 있다.
예를 들어, 전자 장치(101)는 운동 관련 앱이 실행되는 경우, 운동 관련 앱 실행에 기반하여 사용자가 "운동 중" 이라는 사용자 컨텍스트를 인지할 수 있다.
제2 타입 컨텍스트와 관련하여, 전자 장치(101)는 서버(201)와 연동하여 컨텍스트 분석 모듈(220)을 통해 사용 로그를 분석하여 사용자의 개인 특성에 대응하는 사용 패턴을 확인하고, 사용 패턴에 따라 개인화된 사용자 컨텍스트를 예측하고 생성할 수 있다. 전자 장치(101)는 컨텍스트 분석 모듈(220)을 통해 개인화된 사용자 컨텍스트를 인식할 수 있다.
예를 들어, 사용자가 회사에 위치하는 동안 뮤직 앱이 실행되는 행위를 기 설정된 수준을 초과하도록 자주 행동하는 경우, 서버(201)는 전자 장치(101)의 사용 로그를 분석하여 사용자의 사용 패턴을 확인하고, "회사에 일하는 동안 음악 듣는 중" 이라는 개인화돤 사용자 컨텍스트를 예측하여 생성하고, 개인화된 사용자 컨텍스트가 인식된 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 서버(201)로부터 전달 컨텍스트 인식 정보를 수신하고, 이를 기반으로 "회사에 일하는 동안 음악 듣는 중" 이라는 개인화된 사용자 컨텍스트를 인식할 수 있다.
어떤 실시예에 따르면, 전자 장치(101)는 사용 로그를 분석하여 사용자의 사용 패턴에 따른 컨텍스트를 예측하여 생성할 수 있다. 전자 장치(101)는 예측된 컨텍스트를 유의미한 정보로 정의할 수 없는 경우(예: "회사에서 영화보면서 음악듣는 중"과 같은 텍스트로 정의할 수 없는 경우), 예측된 컨텍스트를 context 1, context 2와 같은 임의의 이름으로 인식할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 context 1, context 2와 같은 임의의 이름으로 인식된 경우, 인식된 임의의 컨텍스트 정보를 사용자에게 제공하고, 컨텍스트 이름을 사용자가 직접 설정할 수 있도록 사용자 인터페이스를 디스플레이에 표시할 수 있다.
도 2의 실시예는 서버(201)에서 전자 장치(101)의 사용 로그를 분석하는 것으로 설명하고 있으나, 이하의 도면들에서는 전자 장치(101)에서 사용 로그를 분석하여 사용자 컨텍스트를 인식하는 예로서 설명하기로 한다.
도 3은 다양한 실시예에 따른 전자 장치의 프로세서 구성을 도시하며, 도 4는 다양한 실시예에 따른 컨텍스트 인지 상황을 비교하는 예를 도시한다.
도 3에서 설명되는 기능이나 동작들은 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(도 1의 프로세서(120))에 의해 수행되는 기능으로 이해될 수 있다. 프로세서(120)는 소프트웨어 모듈을 구현하기 위해 메모리(예: 도 1의 메모리(130))에 저장된 명령어들(예: 인스트럭션(instruction))을 실행시킬 수 있고, 기능과 연관된 하드웨어(예: 도 1의 통신 모듈(180))를 제어할 수 있다. 어떤 실시예에 따르면, 도 3에 포함된 모듈들 중 일부는 서버(예: 도 2의 201)에 구현되고, 서버(201)와 전자 장치(101)와 연동하여 동작할 수도 있다.
도 3 및 도 4를 참조하면, 일 실시예에 따르면, 전자 장치(101)의 프로세서(예: 도 1의 프로세서(120))는 사용 로그 수집 모듈(310), 컨텍스트 분석 모듈(320) 및 GUI(graphic user interface) 지원 모듈(330) 중 적어도 하나를 포함하고, 메모리(예: 도 1의 메모리(130)는 컨텍스트 인식 모델(340)을 포함할 수 있다. 일 실시예에 따르면, 사용 로그 수집 모듈(310)은, 사용자가 전자 장치(101)를 사용하면서 발생되는 사용 로그를 수집할 수 있다.
사용 로그는 하드웨어 로그 정보(또는 물리적 정보) 및 소프트웨어 로그 정보(또는 논리적 정보)를 포함할 수 있다.
하드웨어 로그 정보(또는 물리적 정보)는, 위치 정보, 시각 정보 및 센서 정보 중 적어도 하나를 포함할 수 있다. 위치 정보는 예를 들어, 전자 장치(101)의 GPS 좌표 정보, 또는 통신 모듈을 통해 네트워크로부터 획득되는 네트워크 셀 정보, 전자 장치(101)와 연결된 AP(access point) 정보 중 적어도 하나를 포함할 수 있으나, 이에 한정하지 않는다. 시각 정보는 전자 장치(101)의 타이머로부터 이벤트 발생 시의 특정 시각을 의미하며, 월, 일, 시, 요일, 분, 초 중 적어도 하나 이상의 정보를 포함할 수 있다. 센서 정보는 예를 들어, 전자 장치(101)에 실장된 다양한 센서들(예: 가속도 센서, 근접 센서) 로부터 획득한 하나 이상의 센서 정보를 포함할 수 있다.
소프트웨어 로그 정보(또는 논리적 정보)는 사용자가 어플리케이션 이용 시 수집되는 앱 실행 정보를 포함할 수 있다. 앱 실행 정보는 예를 들어, 앱 식별자(또는 앱 이름), 앱이 실행될 때의 시간 정보, 앱이 동작하는 동안의 시간 정보, 앱을 통해 실행한 컨텐츠 정보 중 적어도 하나를 포함할 수 있다.
어떤 실시예에 따르면, 사용 로그 수집 모듈(310)은 전자 장치(101)가 다수의 사용자에 의해 사용되는 경우, 사용자 계정 별로 사용 로그를 수집할 수 있다.
어떤 실시예에 따르면, 사용 로그 수집 모듈(310)은 수집된 사용 로그를 서버(예: 도 2의 서버(201))로 전송할 수 있다.
사용 로그 수집 모듈(310)은 수집된 사용 로그를 컨텍스트 분석 모듈(320)로 전송할 수 있다.
컨텍스트 분석 모듈(320)은 제1 타입 컨텍스트 인식 모듈(3200) 및 제2 타입 컨텍스트 인식 모듈(3210)을 포함할 수 있다.
제1 타입 컨텍스트 인식 모듈(3200)은, 전자 장치(101)가 미리 정의된 상황(situation)인지를 확인하고, 미리 정의된 상황(situation)으로 지정된 제1 타입 컨텍스트(예: pre-define context)를 인식할 수 있다.
제1 타입 컨텍스트는 전자 장치(101) 또는 서버(201)에 의해 미리 정의된 컨텍스트(pre-defined context or pre-determined context), 범용적인 또는 공통적인 컨텍스트(common context)를 포함할 수 있다. 제1 타입 컨텍스트는 전자 장치(101)에 저장된 컨텍스트일 수 있다.
일 실시예에 따르면, 제1 타입 컨텍스트 인식 모듈(3200)은, 사용자 컨텍스트와 매핑된 어플리케이션(이하, 앱)이 사용 중인지 여부를 확인하고, 컨텍스트와 매핑된 앱이 실행 중인 것에 기초하여 제1 타입 컨텍스트를 인식할 수 있다. 제1 타입 컨텍스트 인식 모듈(3200)은 앱 매핑 정보(예: 어플리케이션 - 컨텍스트 매핑 모델(app- context mapping model))을 이용하여 제1 타입 컨텍스트를 인식할 수 있다.
예를 들어, 도 4의 (a)에 도시된 바와 같이, 전자 장치(101)는 지정된 뮤직 앱들(410a 410b, 410c, 410d)(다시 말해, 뮤직 앱으로 분류된 앱들의 정보가 사전에 저장)이 실행되는 상황이면, "음악 듣는 중"이라는 컨텍스트를 인식하는 것으로 매핑될 수 있다. 제1 타입 컨텍스트 인식 모듈(3200)은 지정된 뮤직앱 들 중 하나가 실행되어 사용 중인 것을 감지하면, 음악 듣는 상황을 인지(또는 추정)하고 "음악 듣는 중(listening music)" 이라는 제1 타입 컨텍스트(예: pre- defined context)를 인식할 수 있다.
제2 타입 컨텍스트 인식 모듈(3210)은 사용 로그를 기반으로 분석된 결과에 따라 제2 타입 컨텍스트를 인식할 수 있다.
제2 타입 컨텍스트는 전자 장치(101) 또는 서버(201)에 의해 미리 정의되지 않은 컨텍스트(un-defined context), 알려지지 않는 컨텍스트(un-known context or undiscovered context), 개인적인 컨텍스트(individual context), 개인화된 컨텍스트(personalized context) 또는 맞춤형 컨텍스트(customized context)를 포함할 수 있다. 제2 타입 컨텍스트는 전자 장치(101) 또는 서버(201)에서 사용자 개인 특성에 대응하여 생성된 컨텍스트일 수 있다.
제2 타입 컨텍스트 인식 모듈(3210)은 사용 로그를 기반으로 사용자의 개인 특성에 대응하는 사용 패턴에 따라 제2 타입 컨텍스트를 예측하여 저장하고, 이를 기반으로 제2 타입 컨텍스트를 인식할 수 있다.
일 실시예에 따르면, 제2 타입 컨텍스트 인식 모듈(3210)은 사용 로그를 분석하여 사용자의 사용 패턴에 따라, 사전에 정의되지 않은 컨텍스트를 예측할 수 있다. 제2 타입 컨텍스트 인식 모듈(3210)은 예측된 컨텍스트를 유의미한 정보로 정의할 수 없는 경우(예: "회사에서 영화보면서 음악듣는 중"과 같은 텍스트로 정의할 수 없는 경우), 예측된 컨텍스트를 context 1, context 2와 같은 임의의 이름으로 인식할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 context 1, context 2와 같은 임의의 이름으로 인식된 경우, 인식된 임의의 컨텍스트 정보를 사용자에게 제공하고, 컨텍스트 이름을 사용자가 직접 설정할 수 있도록 사용자 인터페이스를 디스플레이에 표시할 수 있다.
일 실시예에 따르면, 제2 타입 컨텍스트 인식 모듈(3210)은 입력 벡터 변환 모듈(3211), 로그 분석 모듈(3212) 및 개인화 컨텍스트 생성 모듈(3213)을 포함할 수 있다.
입력 벡터 변환 모듈(3211)은 수집된 사용 로그들 중 빈번하게 발생하는 로그 또는 설정된 기준치 이상으로 수집되는 사용 로그들을 임베딩 입력 벡터(embedding input vector)로 변환할 수 있다. 임베딩 입력 벡터(embedding input vector)는 신경망 모델 또는 클러스터링 모델의 입력값으로 이용될 수 있다.
로그 분석 모듈(3212)은, 변환된 입력 벡터를 이용해 사용자의 성향(propensity/interest)을 분석하여 사용자의 개인 특성에 대응하는 사용 패턴을 도출(또는 획득)할 수 있다. 예를 들어, 로그 분석 모듈(3212)은 수집된 사용 로그들을 유사한 항목에 따라 클러스터(cluster)로 그룹화하여 사용 패턴을 도출할 수 있다. 로그 분석 모듈(3212)은 신경망 모델 또는 클러스터링 모델을 기반으로 사용 패턴을 도출할 수 있다.
개인화 컨텍스트 생성 모듈(3213)은 도출된 사용 패턴을 기반으로 사용자 개인 특성에 맞는 제2 타입 컨텍스트를 생성하고 저장할 수 있다. 예를 들어, 개인화 컨텍스트 생성 모듈(3213)은 임계값 이상으로 자주 등장하는 사용 패턴들에 대해 제2 타입 컨텍스트를 생성할 수 있다.
예를 들어, 도 4의 (b)에 도시된 바와 같이, 전자 장치(101)는 사용 로그들을 클러스터링하여 사용자 성향에 맞는 사용 패턴을 도출할 수 있다. 전자 장치(101)에서 사용 로그를 통해 네비게이션 앱(430)이 실행되고, 뮤직 앱(예: 410a)이 실행되고, 블루투스(435)를 통해 음악을 외부 장치로 전송 중인 사용 패턴이 분석되면, "운전하면서 음악 듣는 중"(470)이라는 개인화된 사용자 컨텍스트(다시 말해, 제2 타입 컨텍스트)를 새롭게 생성할 수 있다. 또는 전자 장치(101)는 뮤직 앱(예: 410a)이 실행되고, 회사에 위치한 후 설정된 시간 동안 움직이지 않는 사용 패턴이 분석되면, "회사에서 업무하면서, 음악 듣는 중(472)"이라는 개인화 컨텍스트를 새롭게 생성할 수 있다. 이외에도 도시된 바와 같이, 전자 장치(101)에서 다양한 조건의 사용 패턴이 분석되면, 이에 대응하여 " 운동하면서 음악 듣는 중(471)" " 집에서 쉬면서, 음악 듣는 중(473)"과 같이 개인 특성에 맞는 개인화 컨텍스트를 생성할 수 있다,
개인화 컨텍스트 생성 모듈(3213)은 사용 패턴에 따라 생성된 제2 타입 컨텍스트를 메모리(130)에 저장할 수 있다.
어떤 실시예에 따르면, 개인화 컨텍스트 생성 모듈(3213)은 개인화된 사용자 컨텍스트를 기반으로 메모리(130)에 저장된 컨스트 인식 모델을 개인화 컨텍스트 인식 모델(340)로 업데이트하도록 제어할 수 있다.
제2 타입 컨텍스트 인식 모듈(3310)은 현재 발생하는 사용 로그들과의 유사도를 판단하여 제2 타입 컨텍스트를 인식할 수 있다.
예를 들어, 제2 타입 컨텍스트 인식 모듈(3310)은,"운전하면서 음악 듣는 중" 으로 정의된 컨텍스트 특징(features) 요소(element)들과 사용 로그들의 유사도를 비교하여 전자 장치(101)에서 뮤직앱이 실행되고, 네비게이션 앱이 실행되고 블루투스 기능이 실행 중인 상황(situation) 인 것으로 확인되면, "운전하면서 음악 듣는 중"이라는 개인화된 사용자 컨텍스트를 인식할 수 있다.
입력 벡터 변환 모듈(3211), 로그 분석 모듈(3212), 및 개인화 컨텍스트 생성 모듈(3213)은 전자 장치(101) 단독으로 동작을 수행할 수 있고, 또는 서버(예: 도 2의 서버(201))와 네트워크로 연결되어 상호 보완적으로 동작을 수행할 수 있다.
어떤 실시예에 따르면, 전자 장치(101)는 사용 로그 분석을 통해 개인화된 사용자 컨텍스트로 인식되지 않은 미인식 데이터를 네트워크를 통해 서버(201)로 제공할 수 있다. 전자 장치(101)는 서버로부터 미인식 데이터가 다른 전자 장치들의 컨텍스트들과의 통합 분석으로 통해 새로운 컨텍스트(new context)로 인식된 결과를 수신할 수도 있다.
GUI(graphic user interface) 지원 모듈(330)은 인식된 컨텍스트(예: 제1 타입 컨텍스트, 제2 타입 컨텍스트)를 기반으로 사용자에게 안내하는 추천 서비스를 디스플레이에 출력할 수 있다. 추천 서비스는 적어도 하나의 추천 정보를 포함할 수 있다. 예를 들어, 추천 정보는 리스트 형태로 제공할 수 도 있으며, 이에 한정하는 것은 아니다.
GUI 지원 모듈(330)은, 인식된 컨텍스트와 관련하여 사전에 등록된 기능 또는 어플리케이션 중 적어도 하나에 대한 정보를 출력할 수 있다.
어떤 실시예에 따르면, GUI 지원 모듈(330)은 컨텍스트로 인식되지 않은 사용 패턴에 대한 정보(또는 유의미한 정보로 정의될 수 없는 컨텍스트, 임의의 컨텍스트)를 디스플레이에 출력하고, 미인식된 사용 패턴을 개인화된 사용자 컨텍스트로 저장할 지 여부를 사용자에게 안내할 수 있다. GUI 지원 모듈(330)은 컨텍스트로 인식되지 않은 사용 패턴에 대한 정보를 팝업 창으로 출력하거나 또는 알림 바를 통해 출력할 수 있다.
예를 들어, GUI 지원 모듈(330)은 미인식된 데이터(또는 미인식된 사용 패턴)를 컨텍스트로서 저장할지 여부를 질의하는 안내 메시지를 디스플레이에 출력할 수 있다. GUI 지원 모듈(330)은 컨텍스트를 저장한다는 승인 요청에 반응하여 미인식된 데이터에 대한 컨텍스트 네임(name)을 기록할 수 있는 UI(user interface)를 출력할 수 있다. 전자 장치(101)는 사용자에 의해 작명된 컨텍스트 네임을 저장하고, 사용자에 의해 정의된 컨텍스트로 추후 활용할 수 있도록 메모리(130)에 사용자에 의해 작명된 컨텍스트 정보를 저장하거나 개인화 컨텍스트 인식 모델(340)에 업데이트할 수 있다.
다양한 실시예에 따른 전자 장치(101)는 디스플레이(예: 도 1의 디스플레이 모듈(160)), 전자 장치의 사용 로그를 저장하도록 구성된 메모리(예: 도 1의 메모리(130), 도 3의 메모리(130)) 및 상기 메모리에 연결된 프로세서(예: 도 1의 프로세서(120), 도 3의 프로세서(120))를 포함하고, 상기 프로세서는, 전자 장치의 사용 로그를 수집하고, 상기 사용 로그를 분석하여 사용자 특성에 따른 사용 패턴을 확인하고, 상기 사용 패턴에 기반하여 상기 전자 장치에서 미리 정의되지 않은 상황(un-define situation)에 대응하는 개인화된(persnalized) 사용자 컨텍스트를 생성하여 저장하고, 상기 개인화된 사용자 컨텍스트를 인식하는 것에 반응하여 추천 서비스를 상기 디스플레이에 출력하도록 설정될 수 있다.
다양한 실시예에 따른 상기 사용 로그는 센서 정보 및 앱 실행 정보를 포함할 수 있다.
다양한 실시예에 따르면 상기 프로세서는, 상기 사용 로그를 임베딩 입력 벡터로 변환하고, 상기 변환된 입력 벡터를 클러스터링 모델의 입력값으로 이용하여 상기 개인화된 사용자 컨텍스트에 대응하는 출력값을 획득하도록 설정될 수 있다.
다양한 실시예에 따르면 상기 프로세서는, 어플리케이션이 실행된 정보를 기반으로 상기 실행된 어플리케이션과 관련하여 상기 전자 장치에 미리 정의된 사용자 컨텍스트를 인식하도록 더 구성되며, 상기 미리 정의된 사용자 컨텍스트는 제1 타입 컨텍스트이고, 상기 개인화된 사용자 컨텍스트는 제2 타입 컨텍스트일 수 있다.
다양한 실시예에 따르면 상기 프로세서는,상기 메모리에 저장된 공용 컨텍스트 인식 모델에 상기 개인화된 사용자 컨텍스트를 저장하여 개인화 컨텍스트 인식 모델로 업데이트하도록 설정될 수 있다.
다양한 실시예에 따르면 전자 장치는 서버와 통신하도록 구성된 통신 모듈을 더 포함하고, 상기 프로세서는, 상기 분석된 사용 패턴 중 유의미한 정보로서 개인화 사용자 컨텍스트로 지정된 인식 데이터와, 사용자 컨텍스트로 지정되지 않은 미인식 데이터를 구분하고, 상기 수집된 사용 로그, 상기 인식 데이터 및 미인식 데이터 중 적어도 하나를 상기 서버로 전송하도록 설정될 수 있다.
다양한 실시예에 따르면 상기 프로세서는 상기 미인식 데이터로 구분된 사용 패턴을 상기 개인화 사용자 컨텍스트로 저장할 지 여부를 사용자에게 안내하는 UI(user interface)를 상기 디스플레이에 표시하도록 설정될 수 있다.
다양한 실시예에 따르면 상기 프로세서는, 상기 미인식된 데이터에 대한 컨텍스트 이름을 작명하고, 상기 개인화 사용자 컨텍스트로 저장하는 사용자 입력에 반응하여 사용자에 의해 상기 미인식된 데이터에 대응하여 작명된 정보를 상기 메모리에 저장하거나 상기 통신 모듈을 통해 서버로 전송하도록 설정될 수 있다.
다양한 실시예에 따르면 상기 프로세서는, 상기 서버로부터 상기 다른 전자 장치들의 컨텍스트들과 통합 분석하여 상기 전자 장치에서 노이즈로 분석된 데이터가 신규한 컨텍스트(new context)로 인식된 결과 정보를 상기 통신 모듈을 통해 수신하도록 설정될 수 있다.
다양한 실시예에 따르면 상기 프로세서는, 상기 서버에서 상기 전자 장치의 사용 패턴 또는 상기 개인화된 사용자 컨텍스트 중 적어도 하나와 일정 기준치 이상의 유사값을 갖는 다른 전자 장치의 컨텍스트 데이터가 존재하는 것으로 분석된 경우, 상기 서버로부터 상기 다른 전자 장치의 컨텍스트 데이터를 기반으로 상황 인식 서비스를 수신하고, 상기 수신된 추천 서비스를 상기 디스플레이에 표시하도록 설정될 수 있다.
도 5는 다양한 실시예에 따른 전자 장치의 개인화 상황 인지 서비스 방법을 도시한다.
도 5를 참조하면, 일 실시예에 따르면, 전자 장치(101)의 프로세서(예: 도 3의 프로세서(120))는 510 동작에서, 사용자가 전자 장치(101)를 사용하면서 발생하는 사용 로그를 수집할 수 있다.
예를 들어, 프로세서(120)는 센서 정보와 같은 하드웨어 로그 정보를 수집하고 앱 실행 정보와 같은 소프트웨어 로그 정보를 수집할 수 있다.
일 실시예에 따르면, 프로세서(120)는 수집된 사용 로그를 메모리(예: 도 3의 메모리(130)에 저장할 수 있다.
520 동작에서, 프로세서(120)는 사용 로그를 분석할 수 있다. 530 동작에서 프로세서(120)는 사용자 개인 특성에 대응하는 사용 패턴을 도출할 수 있다.
일 실시예에 따르면, 프로세서(120)는 수집된 사용 로그들을 임베딩 입력 벡터로 변환하고, 이를 클러스터링 모델의 입력값으로 이용하여 사용 로그들을 유사한 항목에 따라 클러스터로 그룹화하여 일정 기준치 이상으로 자주 사용되는 사용 패턴을 도출할 수 있다.
530 동작에서, 프로세서(120)는 사용 패턴에 따라 사용자 개인 특성에 맞는 개인화된 사용자 컨텍스트들을 예측하여 생성할 수 있다.
540 동작에서, 프로세서(120)는 개인화된 사용자 컨텍스트를 저장할 수 있다.
일 실시예에 따르면, 프로세서(120)는 개인화된 사용자 컨텍스트를 기반으로 컨텍스트 인식 모델을 업데이트할 수 있다.
프로세서(120)는 개인화된 사용자 컨텍스트를 기반으로 제2 타입 컨텍스트(예: un-defined context, personalized context)를 인식할 수 있다. 예를 들어, 전자 장치(101)는 현재 수집된 사용 로그들과 컨텍스트의 특징들과의 유사도를 비교하여 개인화된 사용자 컨텍스트에 대응하는 상황(situation) 조건이 발생되는지는 확인하여 제2 타입 컨텍스트를 인지할 수 있다.
일 실시예에 따르면, 프로세서(120)는 앱 실행 정보에 기반하여 제2 타입 컨텍스트(예: un-defined context, personalized context,)를 인식할 수도 있다.
도 6은 다양한 실시예에 따른 전자 장치의 개인화 상황 인지 서비스 방법을 도시하며, 도 7은 다양한 실시예에 따른 로그 분석 데이터를 설명하는 예를 도시한다.
도 6 및 도 7을 참조하면, 일 실시예에 따르면, 전자 장치(101)의 프로세서(예: 도 3의 프로세서(120))는 610 동작에서, 사용자가 전자 장치(101)를 사용하면서 발생하는 사용 로그를 수집할 수 있다.
예를 들어, 프로세서(120)는 센서 정보와 같은 하드웨어 로그 정보를 수집하고 앱 실행 정보와 같은 소프트웨어 로그 정보를 수집할 수 있다.
일 실시예에 따르면, 프로세서(120)는 수집된 사용 로그를 메모리(예: 도 3의 메모리(130))에 저장할 수 있다.
어떤 실시예에 따르면, 프로세서(120)는 네트워크를 통해 컨텍스트 인지 시스템을 지원하는 서버(예: 도 2의 서버(201))로 수집된 사용 로그를 전송할 수 있으며, 630 내지 650의 동작은 서버(201)에서 수행될 수도 있다.
프로세서(120)는 제1 타입 컨텍스트를 인지하기 위해서는 620 동작으로 분기하며, 제2 타입 컨텍스트를 인지하기 위해서는 630 동작으로 분기할 수 있다.
620 동작 및 630 동작은 설명의 편의를 위하여 구분되었을 뿐 상황에 따라 프로세서(120)는 620 동작에서 680 동작 및 690 동작으로 진행하여 상황 인지 서비스를 지원할 수 있으며, 또는 620 동작에서 630 내지 670 동작, 680 동작 및 690 동작으로 진행하여 상황 인지 서비스를 지원할 수 있다.
일 예를 들어, 제1 타입 컨텍스트를 인식하기 위해 프로세서(120) 는 620 동작에서, 미리 정의된 컨텍스트에 매핑된 앱이 사용 중인지 확인할 수 있다.
일 예로서, 프로세서(120)는 어플리케이션 - 컨텍스트 매핑 모델(app- context mapping model)에 포함된 앱이 동작하는 지를 확인할 수 있다.
680 동작에서, 프로세서는 어플리케이션 - 컨텍스트 매핑 모델(app- context mapping model)에 포함된 앱이 실행중인 것에 반응하여 실행된 앱에 대응하는 컨텍스트를 인식할 수 있다.
다른 예를 들어, 제2 타입 컨텍스트를 인식하기 위해 프로세서(120)는 630 동작에서, 사용 로그를 분석할 수 있다. 640 동작에서 프로세서(120)는 사용 로그를 기반으로 사용자 개인 특성에 대응하는 사용 패턴을 도출할 수 있다.
일 실시예에 따르면, 프로세서(120)는 수집된 사용 로그들을 임베딩 입력 벡터로 변환하고, 이를 클러스터링 모델의 입력값으로 이용하여 사용 로그들을 유사한 항목에 따라 클러스터로 그룹화하여 일정 기준치 이상으로 자주 사용되는 사용 패턴을 도출할 수 있다.
650 동작에서, 프로세서(120)는 사용 패턴을 분석하여 사용자 개인 특성에 맞는 개인화된 사용자 컨텍스트들을 생성할 수 있다.
프로세서(120)는 개인화된 사용자 컨텍스트를 저장하거나, 또는 개인화된 사용자 컨텍스트를 기반으로 컨텍스트 인지 모델을 업데이트할 수 있다.
660 동작에서, 프로세서(120)는 컨텍스트 인지 시스템이 서버(201)와 연동되는지를 확인하여 분석 데이터를 서버(201)로 전송할지 여부를 확인할 수 있다.
예를 들어, 프로세서(120)는 서버(201)와 연동하도록 설정된 경우 665 동작으로 진행하고, 서버(201)와 연동하지 않도록 설정되거나 네트워크 연결이 원활하지 않을 경우, 680 동작으로 진행할 수 있다.
665 동작에서, 프로세서(120)는 모든 분석 데이터를 서버(201)로 전송할지를 결정할 수 있다. 프로세서(120)는 모든 분석 데이터를 서버(201)로 전송하도록 설정된 경우 670 동작으로 진행하여 개인화된 사용자 컨텍스트로 인식된 데이터와 미인식된 데이터를 서버(201)로 전송할 수 있다. 프로세서(120)는 사용 패턴과 관련된 데이터를 서버(201)로 전송할 수 있다.
이 경우, 서버(201)는 사용자의 사용 패턴 데이터와 다른 전자 장치(또는 다른 계정의 사용자 장치)들로부터 수집된 사용 패턴 데이터와 비교하여 통합 분석함으로써, 전자 장치(101)에서 분석되지 않거나 미인식된 데이터에 대해 새로운 컨텍스트로 인식된 결과를 도출할 수 있다.
예를 들어, 서버(201)는 전자 장치(101)와 다른 전자 장치들의 통합 데이터 분석을 통해 전자 장치(101)에서 노이즈로 분류된 사용 로그가 새로운 컨텍스트(new context)로 인식된 결과를 도출 할 수 있다.
도 7의 (a) 를 살펴보면, 전자 장치(101)에서 사용 로그를 클러스터링한 경우, 일정 범위 이내의 데이터에 대해서는 컨텍스트(예: 인식 데이터)로 인식될 수 있으나, (a)도시된 바와 같이 자주 등장하기 않거나, 일정 범위를 벗어난 로그는 노이즈(noise)(710)로 분석되어 미인식 데이터로 분류될 수 있다. 그러나, 도 7의 (b)를 살펴보면 서버(201)는 노이즈(710)가 전자 장치(101)에서 노이즈로 분류된 미인식 데이터가 다른 전자 장치들의 데이터들과 통합 분석함으로써, 노이즈 인지 또는 새로운 데이터인지를 확인할 수 있다. 서버(201)는 노이즈들 중 일부(710-1)가 다른 전자 장치들의 컨텍스트(720)로 인식된 경우로 분석되면, 이를 유의미한 컨텍스트로 분류하고, 해당 노이즈(710-1)가 컨텍스트로 인식된 결과 정보를 전자 장치(101)로 제공할 수 있다.
프로세서(120)는 미인식 데이터만 서버(201)로 전송하도록 설정된 경우, 675 동작으로 진행하여 미인식 데이터만을 서버(201)로 전송할 수 있다. 이 경우, 서버는 미인식 데이터만을 분석하게 되므로, 전자 장치(101) 및 서버(201) 간 데이터 전송 트래픽을 감소시킬 수 있다.
677 동작에서, 프로세서(120)는 서버(201)로부터 미인식 데이터에 대한 분석 정보를 수신할 수 있다.
680 동작에서 프로세서(120)는 앱 사용 여부를 기반으로 제1 타입 컨텍스트(예: pre-defined context)를 인식할 수 있으며, 개인화된 사용자 컨텍스트를 기반으로 제2 타입 컨텍스트(예: un-defined context, personalized context) 를 인지할 수 있다.
예를 들어, 뮤직 앱과 "음악 듣는 중"이라는 컨텍스트가 미리 정의된 경우, 프로세서(120)는 뮤직 앱이 동작중인 것을 감지하고 이른 기반으로 "음악 듣는 중"이라는 상황(situation) 인지에 대한 컨텍스트를 인식할 수 있다.
다른 예를 들어, 프로세서(120)는 현재 수집된 사용로그들의 유사도를 비교하여 개인화된 사용자 컨텍스트에 대응하는 상황(situation) 조건(예: 뮤직 앱 실행, 집 내부 위치) 이 발생되는지는 확인하여 "집에 쉬면서 음악 듣는 중"이라는 개인 상황이 반영된 사용자 컨텍스트(또는 개인화된 사용자 컨텍스트)를 인지할 수 있다.
690 동작에서, 프로세서(120)는 인식된 컨텍스트에 대응하여 추천 정보(예: 추천 기능 또는 추천 서비스)를 디스플레이를 통해 출력할 수 있다.
도 8은 다양한 실시예에 따른 컨텍스트 인식 모델을 설명하는 예를 도시한다.
도 8을 참조하면, 일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 사용 로그를 분석하여 생성된 사용자 컨텍스트(다시 말해, 개인화된 사용자 컨텍스트) 또는 서버(201)로부터 전자 장치(101)에서 분석되지 못한 신규 컨텍스트 중 적어도 하나를 기반으로 공통 컨텍스트 인식 모델(common context recognition model)을 개인화 컨텍스트 인식 모델(customized context recognition model)(830)로 업데이트하는 기능을 지원할 수 있다.
개인화 컨텍스트 인식 모델(830)은 제1 타입 컨텍스트를 인식하기 위한 데이터(예: pre-defined data)(810) 및 제2 타입 컨텍스트를 인식하기 위한 데이터(예: un-defined data) (820)를 포함할 수 있다. pre-defined data(810)는 공통 컨텍스트 인식 모델(common context recognition model)에 포함된 데이터일 수 있다. 예를 들어, pre-defined data(810)는 "운동 중", "일하는 중" " 운전 중", " 쇼핑 중"과 같이 범용적인 또는 공통적인 컨텍스트를 인식하기 위한 데이터일 수 있다.
un-defined data(820)는 전자 장치(101)에서 사용 로그를 분석하여 사용자 개인 특성에 따라 생성된 개인화된 사용자 컨텍스트를 인식하도록 저장된 데이터일 수 있다. un-defined data(820)는 로그 분석(예: 클러스터링)을 통해 컨텍스트로 인식된 데이터(예: labeled data) (821) 및 전자 장치(101)에서 노이즈로 분석되어 서버(201)에서 통합 분석이 필요한 데이터(예: unlabeled data) (822)를 포함할 수 있다.
전자 장치(101)는 825 동작에서, 로그 분석에 의해 분석된 사용 패턴이 컨텍스트로 인식되지 않거나 노이즈로 분류된 데이터(예: unlabeled data)를 서버(201)로 전송할 수 있다. 서버(201)는 전자 장치(101)로부터 전달된 데이터를 다른 전자 장치들의 데이터와 통합 분석하여 노이즈로 분류하거나 유의미한 신규한 컨텍스트로 인식하고 이를 전자 장치(101)로 전달할 수 있다.
전자 장치(101)는 827 동작에서, 서버(201)로부터 다른 전자 장치와의 통합 분석을 통해 unlabeled data로부터 인식된 결과 데이터(예: 결과 전송) 를 수신하고, 컨텍스트 인식 모델에 업데이트할 수 있다. 전자 장치(101)는 개인화 컨텍스트 인식 모델(830)로 업데이트 될 수 있다.
전자 장치(101)는 업데이트된 개인화 컨텍스트 인식 모델(830)을 기반으로 상황 인지를 수행하여 컨텍스트를 인식할 수 있다.
전자 장치(101)는 전자 장치(101)에 미리 지정된 컨텍스트, 다시 말해, 제1 타입 컨텍스트(840)(예: pre-defined context) 뿐만 아니라, 사용 로그를 통해 분석되어 새롭게 생성된 개인화된 사용자 컨텍스트, 다시 말해, 제2 타입 컨텍스트(850)(예: personalized context 1(851), personalized context 2(853)를 인식함으로써, 사용자에게 최적화된 개인화 상황 인지 서비스를 사용자에게 제공할 수 있다. 여기서, personalized context 1(851)은 로그 분석(예: 클러스터링)을 통해 컨텍스트로 인식된 데이터(예: labeled data)를 기반으로 예측된 개인화된 사용자 컨텍스트일 수 있다. personalized context 2(853)는 전자 장치(101)에서 분석되지 못한 데이터(예: unlabeled data)를 서버에서 다른 전자 장치들과의 통합 분석을 통한 정보를 통해 예측된 개인화된 사용자 컨텍스트일 수 있다.
전자 장치(101)는 사용자 특성을 반영한 개인화된 사용자 컨텍스트를 인지함으로써 동일한 어플리케이션을 사용하더라도 사용자 별로 서로 다른 상황 인지 서비스를 추천할 수 있다.
도 9는 다양한 실시예에 따른 상황 인지 서비스를 지원하는 서버의 구성을 도시한다.
도 9를 참조하면, 일 실시예에 따른 서버(901)는 전자 장치(예: 도 1의 전자 장치(101))의 사용자 컨텍스트를 수집하고, 컨텍스트들의 통합 분석을 수행하는 기능 및 컨텍스트 별로 유사도 판단하여 전자 장치(101)의 상황에 맞는 서비스를 추천하고 안내하는 기능을 지원할 수 있다. 전자 장치(101)는 서버(901)와 연동하여 사용자 컨텍스트에 대응하는 추천 서비스(또는 기능)을 사용자에게 안내할 수 있다.
일 실시예에 따르면, 서버(901)는 컨텍스트 맵핑 모듈(context mapper)(910) 및 컨텍스트 분석 모듈(예: context analyze)(920)을 포함할 수 있다.
컨텍스트 맵핑 모듈(910)은 전자 장치 별 또는 사용자 계정 별 전자 장치(101)에서 전송되는 컨텍스트 데이터(또는 사용 로그 정보)를 수집할 수 있다.
예를 들어, 컨텍스트 맵핑 모듈(910)은 전자 장치(101)로부터 제1 타입 컨텍스트(예: common context)(911), 전자 장치(101)의 로그 분석(예: 클러스터링)에 의해 인식된 제2 타입 컨텍스트(912)(예: personalized context, customized context, labeled context), 전자 장치(101)에서 노이즈로 분석되어 서버의 통합 분석이 필요한 제3 타입 컨텍스트(913) (예: unlabeled context) 중 적어도 하나를 획득할 수 있다.
컨텍스트 맵핑 모듈(910)은 서버에 저장된 데이터(예: metadata)(915)와 전자 장치로부터 전달된 컨텍스트의 특징 요소를 매핑하고, 매핑된 결과 정보(예: input data)를 컨텍스트 분석 모듈(920)로 전송할 수 있다. 서버에 저장된 데이터(예: metadata)는 앱 관련 정보(예: 카테고리 정보, 앱 상세 정보)를 포함할 수 있으나, 이에 한정하지 않으며, 전자 장치(101)의 위치 정보와 같은 컨텍스트 분석에 필요한 다양한 정보가 메타데이터로서 저장될 수 있다. 일 예를 들어, 서버에 저장된 데이터(예: metadata)는 전자 장치(101)의 사용 로그 정보를 기반으로 저장될 수 있다.
도 9에서 제2 타입 컨텍스트(912) 및 제3 타입 컨텍스트(913)로 분류하고 있으나, 이는 설명의 위한 것일 뿐, 어떤 실시예에 따르면, 제3 타입 컨텍스트(913)는 제2 타입 컨텍스트(912)로 통합 분류될 수도 있다.
컨텍스트 분석 모듈(920)은 컨텍스트 분류기(context classifier)(930) 및 컨텍스트 스코러(context scorer) (940)를 포함할 수 있다.
컨텍스트 분류기(context classifier)(930)는 컨텍스트 맵핑 모듈(910)로부터 전달된 결과 정보(예: input data)를 기반으로 컨텍스트들을 분류하여 관리할 수 있다. 컨텍스트 분류기(context classifier)(930)는 전자 장치(101)로부터 전달된 데이터를 다른 전자 장치들의 데이터와 통합 분석하여 노이즈로 분류하거나 유의미한 신규한 컨텍스트로 판단하는 기능을 수행할 수 있다. 컨텍스트 스코러(context scorer) (940)는 수집된 컨텍스트를 비교 평가(예: scoring)하고, 결과를 전자 장치(101)로 전달할 수 있다.
일 예를 들어, 컨텍스트 스코러(context scorer) (940)는 전자 장치(101)에서 인식된 특정 컨텍스트와 연관된 컨텍스트들을 게더링(또는 그룹핑)할 수 있다. 컨텍스트 스코러(context scorer) (940)는 그룹을 추출하기 위해 연관 점수를 이용할 수 있다. 연관 점수는 각 컨텍스트에 포함된 특징요소들과 연관있는 특징요소들을 많이 포함할수록 높아질 수 있다.
컨텍스트 스코러(context scorer)(940)는 전자 장치(101)에서 인식된 특정 컨텍스트를 기반으로 연관 점수(예: 정확도 점수)가 기준 임계값보다 높은 기능 또는 서비스를 선택하고 선택된 기능 및 서비스에 대한 정보를 추천 서비스 정보로 전자 장치(101)에 전달 할 수 있다. 컨텍스트 스코러(context scorer)(940)는 연관 점수(예: 정확도 점수)가 높은 순서대로 일정 개수의 추천 기능을 선정할 수 도 있다.
도 10은 다양한 실시예에 따른 컨텍스트 조합에 대한 예시를 나타낸다.
도 10을 참조하면, 일 실시예에 따르면, 전자 장치(101)는 사용 로그를 분석하여 생성된 사용자 컨텍스트들을 조합하여 보다 상위 레벨의 사용자 컨텍스트를 생성하고 이를 인식하는 기능을 지원할 수 있다.
예를 들어, 전자 장치(101)는 사용 로그를 분석하여 사용자 컨텍스트 1내지 사용자 컨텍스트7 (다시 말해, context 1, context 2, context 3, context 4, context 5, context 6, context 7)를 개인화된 사용자 컨텍스트로 생성하고 이를 인식하도록 지원할 수 있다.
전자 장치(101)는 설정에 따라 동일한 특징(feature)을 갖는 컨텍스트를 조합하여 새로운 레벨의 컨텍스트를 생성할 수 있다. 예를 들어, 사용자가 지정된 장소(예: 집 또는 회사) 이외에 특정 장소(예: location 1) 를 자주 이용 하는 것(예: 일정 횟수 이상으로 특정 장소에 위치)으로 분석되면, 전자 장치(101)는 location 1의 특징을 포함하는 context 1 과 context 4를 새롭게 조합하여 location 1과 관련된 상황에 대해 새로운 레벨의 context 8을 생성하고, 이를 인지할 수 있다. 다른 예를 들어, 전자 장치(101)는 특정 (예: app 0)과 관련된 특징들을 포함하는 컨텍스트들(context 2, context 3 and context 4)을 조합하여 새로운 레벨의 context 9를 생성할 수도 있으며, 특정 시간(예: time 2 or 5)와 관련된 특징들을 포함하는 컨텍스트들(context 2, context 3 and context 4 )을 조합하여 새로운 레벨의 context 10을 생성할 수 있다.
도 11은 다양한 실시예에 따라 컨텍스트 기반 추천 서비스를 제공하는 예시를 나타낸다.
도 11을 참조하면, 일 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))는 서버(예: 도 2의 서버(201))와 연동하여 사용자 컨텍스트들 사이의 유사도를 기반으로 전자 장치(101)의 상황에 맞는 사용자 컨텍스트를 추천하도록 제안할 수 있다.
일 예를 들어, context 1은 location 2, time 2, app2, url 0의 특징 요소를 가지며, context 2는 time 4, app 6, URL 4의 특징 요소를 가질 경우, 전자 장치(101)(또는 서버(201))는 context 1과 context 4이 유사하지 않는 컨텍스트로 판단할 수 있다. 반면에, context 3 및 context 4가 time 3, app6, url 4의 특징 요소를 가지는 경우, 전자 장치(101)(또는 서버(201))는 context 3 및 context 4를 유사한 컨텍스트로 판단하고 이를 기반으로 컨텍스트 인지 또는 추천 서비스를 제공할 수 있다.
예를 들어, 사용자 장치 1(user device 1)에 의해 time 3, app6, url 4의 특징 요소 갖는 context 3가 개인화된 사용자 컨텍스트로 생성되고 context 3에 대응하는 추천 서비스 1 이 안내될 수 있다. 서버(201)는 사용자 장치 2(user device 2)에서 생성된 context 4와 context 3와의 유사도를 확인하여 context 3대한 추천 정보로서, 추천 서비스 1을 사용자 장치 2로 추천할 수 있다.
도 12 및 도 13은 다양한 실시예에 따른 개인화 상황 인지 서비스를 제공하는 상황을 도시한다.
도 12 및 도 13을 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치)는 서버(예: 도 2의 서버(201))와 연동하여 미리 지정되지 않은 컨텍스트의 명칭을 추천하여 제안하는 기능 및 다른 전자 장치와의 컨텍스트를 비교하여 추천 서비스를 제공하는 기능을 지원할 수 있다.
일 실시예에 따르면, 사용자 장치 1(user device 1)은 사용 로그 또는 사용 로그에 기반하여 분석된 컨텍스트를 서버로 전송하고, 사용자 장치1 (user device 2)의 전자 장치(101) 역시 서버(201)로 사용 로그 또는 컨텍스트를 전송할 수 있다.
서버(201)는 사용자 장치 1 및 사용자 장치 2의 사용 로그 또는 컨텍스트를 비교 분석할 수 있다.
일 예를 들어, 도 12에 도시된 바와 같이, 서버는 사용자 장치1으로부터 수집된 컨텍스트들(예: anonymous context 1, anonymous context 2, driving, shopping )을 확인할 수 있다. 이 경우, 사용자 장치1 에서 컨텍스트로 인식되었으나, 명칭(name)을 특정 지을 수 없는 anonymous context 1, anonymous context 2가 존재할 수 있다. 사용자 장치1은 anonymous context 1, anonymous context 2에 대한 정보를 사용자에게 제공하고 작명을 요청하도록 안내할 수 있다.
사용자(user 1)가 anonymous context 2에 대한 상황에 대해 " 회의실에서 회의중"이라고 작명할 경우, 사용자 장치1은 anonymous context 2의 명칭을 "회의실에서 회의중"로 업데이트할 수 있다.
한편, 서버는 사용자 장치2 에서 수집된 컨텍스트들(anonymous context 3, anonymous context 4, listen to music, shopping)을 확인하고, 그 중 anonymous context 3의 특징 요소가 사용자 장치 1의 anonymous context 2와 유사한 것으로 판단한 경우, 서버는 사용자 장치 1에서 작명된 anonymous context 2의 정보(예: "회의실에서 회의중")를 사용자 장치 1로 추천하여 제공할 수 있다. 사용자 장치 2는 " 회의실에서 회의중" 이라는 컨텍스트를 인지하고 이에 기반한 추천 서비스를 사용자(user 2)에게 제공할 수 있다.
일 예를 들어, 도 13 에 도시된 바와 같이, 서버는 사용자 장치1으로부터 수집된 컨텍스트들(예: anonymous context 1, anonymous context 2, driving, shopping )과 사용자 장치2 에서 수집된 컨텍스트들(anonymous context 3, anonymous context 4, listen to music, shopping)를 비교 분석할 수 있다. 서버는 사용자 장치 1의 anonymous context 1과 사용자 장치 2의 anonymous context 4가 일정 수준 이상의 유사성이 있는 것으로 분석할 수 있다. 서버(201)는 사용자 장치1에서 anonymous context 4가 인지되어 제공된 기능 또는 서비스의 설정값을 확인하고, 사용자 장치 2에서 anonymous context 4가 인지된 경우, 확인된 사용자 장치 1의 설정값을 사용자 장치 2로 추천 정보로서 제공할 수 있다.
다양한 실시예에 따르면 전자 장치의 상황 인지 서비스 방법은 전자 장치의 사용 로그를 수집하는 동작, 상기 사용 로그를 분석하여 사용자 특성에 따른 사용 패턴을 확인하는 동작, 상기 사용 패턴을 기반으로 상기 전자 장치에서 미리 정의되지 않은 상황(un-define situation)에 대응하는 개인화된 사용자 컨텍스트를 생성하여 저장하는 동작 및 상기 개인화된 사용자 컨텍스트를 인식하는 것에 반응하여 추천 서비스를 상기 디스플레이에 출력하는 동작을 포함할 수 있다.
다양한 실시예에 따르면 상기 사용 로그는 센서 정보 및 앱 실행 정보를 포함할 수 있다.
다양한 실시예에 따르면 상기 개인화된 사용자 컨텍스트를 생성하여 저장하는 동작은, 상기 사용 로그를 임베딩 입력 벡터로 변환하는 동작 및 상기 변환된 입력 벡터를 클러스터링 모델의 입력값으로 이용하여 상기 개인화된 사용자 컨텍스트에 대응하는 출력값을 획득하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면 어플리케이션의 실행을 감지하는 동작, 및 상기 어플리케이션이 실행된 것에 기반하여 상기 실행된 어플리케이션과 관련하여 상기 전자 장치에 미리 정의된 사용자 컨텍스트를 인식하는 동작을 더 포함하고, 상기 미리 정의된 사용자 컨텍스트는 제1 타입 컨텍스트이고, 상기 개인화된 사용자 컨텍스트는 제2 타입 컨텍스트인 것을 특징으로 할 수 있다.
다양한 실시예에 따르면 상기 개인화된 사용자 컨텍스트를 생성하여 저장하는 동작은, 전자 장치에 저장된 공용 컨텍스트 인식 모델에 상기 생성된 개인화 사용자 컨텍스트를 저장하여 개인화된 컨텍스트 인식 모델로 업데이트하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면 상기 사용 로그를 분석하여 사용자 특성에 따른 사용 패턴을 확인하는 동작은, 상기 분석된 사용 패턴 중 유의미한 정보로서 개인화 사용자 컨텍스트로 지정된 인식 데이터와, 사용자 컨텍스트로 지정되지 않은 미인식 데이터를 구분하는 동작 및 상기 전자 장치의 설정에 따라 상기 수집된 사용 로그, 상기 인식 데이터 및상기 미인식 데이터 중 적어도 하나를 통신 모듈을 통해 서버로 전송하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면 상기 미인식 데이터를 구분하는 동작 이후에, 상기 미인식 데이터로 구분된 사용 패턴을 상기 개인화된 사용자 컨텍스트로 저장할 지 여부를 사용자에게 안내하는 UI(user interface)를 상기 디스플레이에 표시하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면 상기 UI(user interface)를 상기 디스플레이에 표시하는 동작 이후에, 상기 미인식된 데이터에 대한 컨텍스트 이름을 작명하고, 상기 개인화 사용자 컨텍스트로 저장하는 사용자 입력을 수신하는 동작; 및 상기 사용자 입력에 반응하여 상기 미인식된 데이터에 대응하여 작명된 정보를 상기 메모리에 저장하거나 상기 서버로 전송하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면 상기 사용 로그, 인식 데이터 및 미인식 데이터 중 적어도 하나를 서버로 전송하는 동작 이후에, 상기 서버로부터 상기 다른 전자 장치들의 컨텍스트들과 통합 분석하여 상기 미인식 데이터가 신규한 컨텍스트(new context)로 인식된 결과 정보를 상기 통신 모듈을 통해 수신하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면 상기 추천 서비스를 상기 디스플레이에 출력하는 동작은, 상기 서버에서 상기 전자 장치의 사용 패턴 또는 상기 개인화된 사용자 컨텍스트 중 적어도 하나와 일정 기준치 이상의 유사값을 갖는 다른 전자 장치의 컨텍스트 데이터가 존재하는 것으로 분석된 경우, 상기 서버로부터 상기 다른 전자 장치의 컨텍스트 데이터를 기반으로 인식된 상황에 대응하는 추천 서비스를 수신하는 동작을 더 포함하고, 상기 수신된 추천 서비스를 상기 디스플레이에 출력하는 것을 특징으로 할 수 있다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    디스플레이;
    전자 장치의 사용 로그를 저장하도록 구성된 메모리; 및
    상기 메모리에 연결된 프로세서를 포함하고,
    상기 프로세서는,
    전자 장치의 사용 로그를 수집하고,
    상기 사용 로그를 분석하여 사용자 특성에 따른 사용 패턴을 확인하고,
    상기 사용 패턴을 기반으로 상기 전자 장치에서 미리 정의되지 않은 상황(un-define situation)에 대응하는 개인화된(persnalized) 사용자 컨텍스트를 생성하여 저장하고,
    상기 개인화된 사용자 컨텍스트를 인식하는 것에 반응하여 추천 서비스를 상기 디스플레이에 출력하도록 설정된 전자 장치.
  2. 제1항에 있어서,
    상기 사용 로그는 센서 정보 및 앱 실행 정보를 포함하는 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 사용 로그를 임베딩 입력 벡터로 변환하고,
    상기 변환된 입력 벡터를 클러스터링 모델의 입력값으로 이용하여 상기 개인화된 사용자 컨텍스트에 대응하는 출력값을 획득하도록 설정된 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    어플리케이션이 실행된 정보를 기반으로 상기 실행된 어플리케이션과 관련하여 상기 전자 장치에 미리 정의된 사용자 컨텍스트를 인식하도록 더 구성되며,
    상기 미리 정의된 사용자 컨텍스트는 제1 타입 컨텍스트이고,
    상기 개인화된 사용자 컨텍스트는 제2 타입 컨텍스트인 것을 특징으로 하는 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 메모리에 저장된 공용 컨텍스트 인식 모델에 상기 개인화된 사용자 컨텍스트을 저장하여 개인화 컨텍스트 인식 모델로 업데이트하도록 설정된 전자 장치.
  6. 제1항에 있어서,
    서버와 통신하도록 구성된 통신 모듈을 더 포함하고,
    상기 프로세서는,
    상기 분석된 사용 패턴 중 유의미한 정보로서 개인화된 사용자 컨텍스트로 지정된 인식 데이터와, 사용자 컨텍스트로 지정되지 않은 미인식 데이터를 구분하고,
    상기 수집된 사용 로그, 상기 인식 데이터 및 미인식 데이터 중 적어도 하나를 상기 서버로 전송하도록 설정된 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 미인식 데이터로 구분된 사용 패턴을 상기 개인화된 사용자 컨텍스트로 저장할 지 여부를 사용자에게 안내하는 UI(user interface)를 상기 디스플레이에 표시하도록 설정된 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 미인식된 데이터에 대한 컨텍스트 이름을 작명하고, 상기 개인화된 사용자 컨텍스트로 저장하는 사용자 입력에 반응하여, 상기 미인식된 데이터에 대응하여 작명된 정보를 상기 메모리에 저장하거나 상기 통신 모듈을 통해 서버로 전송하도록 설정된 전자 장치.
  9. 제6항에 있어서,
    상기 프로세서는,
    상기 서버로부터 다른 전자 장치들의 컨텍스트들과 통합 분석하여 상기 전자 장치에서 노이즈로 분석된 데이터가 신규한 컨텍스트(new context)로 인식된 결과 정보를 상기 통신 모듈을 통해 수신하도록 설정된 전자 장치.
  10. 제6항에 있어서,
    상기 프로세서는,
    상기 서버에서 상기 전자 장치의 사용 패턴 또는 상기 개인화된 사용자 컨텍스트 중 적어도 하나와 일정 기준치 이상의 유사값을 갖는 다른 전자 장치의 컨텍스트 데이터가 존재하는 것으로 분석된 경우, 상기 서버로부터 상기 다른 전자 장치의 컨텍스트 데이터를 기반으로 인식된 상황에 대응하는 추천 서비스를 수신하고,
    상기 수신된 추천 서비스를 상기 디스플레이에 표시하도록 설정된 전자 장치.
  11. 전자 장치의 상황 인지 서비스 방법에 있어서,
    전자 장치의 사용 로그를 수집하는 동작;
    상기 사용 로그를 분석하여 사용자 특성에 따른 사용 패턴을 확인하는 동작;
    상기 사용 패턴을 기반으로 상기 전자 장치에서 미리 정의되지 않은 상황(un-define situation)에 대응하는 개인화된 사용자 컨텍스트를 생성하여 저장하는 동작; 및
    상기 개인화된 사용자 컨텍스트를 인식하는 것에 반응하여 추천 서비스를 디스플레이에 출력하는 동작을 포함하는 방법.
  12. 제11항에 있어서,
    상기 개인화된 사용자 컨텍스트를 생성하여 저장하는 동작은,
    상기 사용 로그를 임베딩 입력 벡터로 변환하는 동작; 및
    상기 변환된 입력 벡터를 클러스터링 모델의 입력값으로 이용하여 상기 개인화된 사용자 컨텍스트에 대응하는 출력값을 획득하는 동작을 더 포함하는 방법.
  13. 제11항에 있어서,
    상기 사용 로그를 분석하여 사용자 특성에 따른 사용 패턴을 확인하는 동작은,
    상기 분석된 사용 패턴 중 유의미한 정보로서 개인화 사용자 컨텍스트로 지정된 인식 데이터와, 사용자 컨텍스트로 지정되지 않은 미인식 데이터를 구분하는 동작; 및
    상기 전자 장치의 설정에 따라 상기 수집된 사용 로그, 상기 인식 데이터 및 상기 미인식 데이터 중 적어도 하나를 통신 모듈을 통해 서버로 전송하는 동작을 더 포함하는 방법.
  14. 제13항에 있어서,
    상기 미인식 데이터를 구분하는 동작 이후에, 상기 미인식 데이터로 구분된 사용 패턴을 상기 개인화된 사용자 컨텍스트로 저장할 지 여부를 사용자에게 안내하는 UI(user interface)를 상기 디스플레이에 표시하는 동작;
    상기 미인식된 데이터에 대한 컨텍스트 이름을 작명하고, 상기 개인화 사용자 컨텍스트로 저장하는 사용자 입력을 수신하는 동작; 및
    상기 사용자 입력에 반응하여 상기 미인식된 데이터에 대응하여 작명된 정보를 메모리에 저장하거나 상기 서버로 전송하는 동작을 더 포함하는 방법.
  15. 제13항에 있어서,
    상기 사용 로그, 인식 데이터 및 미인식 데이터 중 적어도 하나를 서버로 전송하는 동작 이후에, 상기 서버로부터 다른 전자 장치들의 컨텍스트들과 통합 분석하여 상기 미인식 데이터가 신규한 컨텍스트(new context)로 인식된 결과 정보를 상기 통신 모듈을 통해 수신하는 동작을 더 포함하고,
    상기 추천 서비스를 상기 디스플레이에 출력하는 동작은,
    상기 서버에서 상기 전자 장치의 사용 패턴 또는 상기 개인화된 사용자 컨텍스트 중 적어도 하나와 일정 기준치 이상의 유사값을 갖는 다른 전자 장치의 컨텍스트 데이터가 존재하는 것으로 분석된 경우, 상기 서버로부터 상기 다른 전자 장치의 컨텍스트 데이터를 기반으로 인식된 상황에 대응하는 추천 서비스를 수신하는 동작을 더 포함하고,
    상기 수신된 추천 서비스를 상기 디스플레이에 출력하는 것을 특징으로 하는 방법.
PCT/KR2022/011645 2021-08-23 2022-08-05 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법 WO2023027377A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22861588.6A EP4325421A4 (en) 2021-08-23 2022-08-05 ELECTRONIC DEVICE AND METHOD FOR PROVIDING A PERSONALIZED SERVICE SENSITIVE TO A USER'S CONTEXT
US17/952,920 US20230055848A1 (en) 2021-08-23 2022-09-26 Electronic device and method for providing personalized user context aware service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0111072 2021-08-23
KR1020210111072A KR20230029055A (ko) 2021-08-23 2021-08-23 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/952,920 Continuation US20230055848A1 (en) 2021-08-23 2022-09-26 Electronic device and method for providing personalized user context aware service

Publications (1)

Publication Number Publication Date
WO2023027377A1 true WO2023027377A1 (ko) 2023-03-02

Family

ID=85323259

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/011645 WO2023027377A1 (ko) 2021-08-23 2022-08-05 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법

Country Status (2)

Country Link
KR (1) KR20230029055A (ko)
WO (1) WO2023027377A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101349285B1 (ko) * 2012-08-03 2014-01-13 공주대학교 산학협력단 상황인식 기반 사용자 감성인지를 통한 개인화 서비스 시스템
KR20160037861A (ko) * 2016-03-21 2016-04-06 아주대학교산학협력단 라이프스타일 데이터 관리 시스템 및 방법
US20190102464A1 (en) * 2017-09-29 2019-04-04 Yahoo Holdings, Inc. Preserving contextual relevance of content
KR20190064042A (ko) * 2017-11-30 2019-06-10 삼성에스디에스 주식회사 상황 인식 기반 추천 방법 및 그 장치
KR102227552B1 (ko) * 2020-06-08 2021-03-15 주식회사 그로우키친 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101349285B1 (ko) * 2012-08-03 2014-01-13 공주대학교 산학협력단 상황인식 기반 사용자 감성인지를 통한 개인화 서비스 시스템
KR20160037861A (ko) * 2016-03-21 2016-04-06 아주대학교산학협력단 라이프스타일 데이터 관리 시스템 및 방법
US20190102464A1 (en) * 2017-09-29 2019-04-04 Yahoo Holdings, Inc. Preserving contextual relevance of content
KR20190064042A (ko) * 2017-11-30 2019-06-10 삼성에스디에스 주식회사 상황 인식 기반 추천 방법 및 그 장치
KR102227552B1 (ko) * 2020-06-08 2021-03-15 주식회사 그로우키친 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템

Also Published As

Publication number Publication date
KR20230029055A (ko) 2023-03-03

Similar Documents

Publication Publication Date Title
WO2022055068A1 (ko) 음성에 포함된 커맨드를 확인하는 전자 장치와 이의 동작 방법
WO2022154286A1 (ko) 사용자 인터페이스를 제공하는 방법 및 그 전자 장치
WO2022191395A1 (ko) 사용자 명령을 처리하는 장치 및 그 동작 방법
WO2022139420A1 (ko) 전자 장치 및 그의 연속성을 가지는 사용자 입력에 대한 실행 정보를 공유하는 방법
WO2022196939A1 (ko) 대체 컨텐츠를 제공하는 전자 장치 및 그의 동작 방법
WO2022154263A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2022065924A1 (ko) 전자 장치의 이모지 추천 방법 및 그 전자 장치
WO2023027377A1 (ko) 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법
WO2022163963A1 (ko) 전자 장치 및 전자 장치의 단축 명령어 수행 방법
WO2024058524A1 (ko) 오거부 판단 방법 및 이를 수행하는 전자 장치
WO2023048379A1 (ko) 사용자 발화를 처리하는 서버, 전자 장치 및 그의 동작 방법
WO2022203374A1 (ko) 음성 어시스턴트 서비스 제공 방법 및 이를 지원하는 전자 장치
WO2024117650A1 (ko) 전자 장치 및 전자 장치의 쿠키 정보 관리 방법
WO2022186440A1 (ko) 사용자 발화를 처리하기 위한 전자 장치 및 그 동작 방법
WO2024029850A1 (ko) 언어 모델에 기초하여 사용자 발화를 처리하는 방법 및 전자 장치
WO2023017975A1 (ko) 상태 변경에 따라 음성 명령 처리 결과를 출력하는 전자 장치 및 그의 동작 방법
WO2023008798A1 (ko) 부적절한 대답을 관리하는 전자 장치 및 이의 동작 방법
WO2022177165A1 (ko) 음성 인식 결과를 분석하는 전자 장치 및 방법
WO2024072142A1 (ko) 서술어를 포함하지 않는 발화를 처리하는 전자 장치, 동작 방법 및 저장 매체
WO2022085926A1 (ko) 전자 장치 및 서버를 포함하는 시스템, 및 그 시스템을 이용한 컨텐츠 추천 방법
WO2023177079A1 (ko) 합성 벡터에 기반하여 사용자 발화를 처리하는 서버, 전자 장치, 및 이의 동작 방법
WO2022010158A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2024106913A1 (ko) 발화를 처리하기 위한 전자 장치, 그 동작 방법 및 저장 매체
WO2023106862A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2024076008A1 (ko) 파일을 공유하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22861588

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022861588

Country of ref document: EP

Ref document number: 22861588.6

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022861588

Country of ref document: EP

Effective date: 20231117

NENP Non-entry into the national phase

Ref country code: DE