WO2026005202A1 - 건강 관리에 관한 메시지를 제공하는 전자 장치, 이의 동작 방법과, 기록 매체 - Google Patents
건강 관리에 관한 메시지를 제공하는 전자 장치, 이의 동작 방법과, 기록 매체Info
- Publication number
- WO2026005202A1 WO2026005202A1 PCT/KR2025/003991 KR2025003991W WO2026005202A1 WO 2026005202 A1 WO2026005202 A1 WO 2026005202A1 KR 2025003991 W KR2025003991 W KR 2025003991W WO 2026005202 A1 WO2026005202 A1 WO 2026005202A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- neural network
- artificial neural
- electronic device
- insight
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/50—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H70/00—ICT specially adapted for the handling or processing of medical references
Definitions
- Embodiments of the present invention relate to an electronic device providing a message regarding health care, a method of operating the same, and a recording medium.
- Generative language models are artificial intelligence models trained on large-scale text data. Generative language models can be used for text generation and question-answering.
- a generative language model may include a large language model (LLM).
- Electronic devices can generate responses (e.g., health management messages) based on user queries.
- An electronic device may include at least one processor including processing circuitry and a memory storing instructions.
- the electronic device may receive sensor data about a user of the external electronic device from an external electronic device.
- the electronic device may determine whether an insight information generation condition is satisfied.
- the electronic device may obtain a unique ID corresponding to the insight information generation condition based on a determination that the insight information generation condition is satisfied.
- the electronic device may obtain a common prompt corresponding to the unique ID.
- the electronic device may be caused to, when executed by the processor, obtain a data prompt corresponding to the unique ID based on the sensor data and generate an input prompt.
- the electronic device may be caused to input the input prompt into an artificial neural network model to generate insight information.
- An operating method of an electronic device may include an operation of receiving sensor data about a user of an external electronic device from an external electronic device.
- the operating method may include an operation of determining whether an insight information generation condition is satisfied.
- the operating method may include an operation of obtaining a unique ID corresponding to the insight information generation condition based on a determination that the insight information generation condition is satisfied.
- the operating method may include an operation of obtaining a common prompt corresponding to the unique ID.
- the operating method may include an operation of obtaining a data prompt corresponding to the unique ID based on the sensor data and generating an input prompt.
- the operating method may include an operation of inputting the input prompt to an artificial neural network model to generate insight information.
- FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
- FIG. 2 is an example of a block diagram of an electronic device according to one embodiment.
- Figure 3 is a block diagram of a health app service provision module (220) according to one embodiment.
- FIG. 4 is a drawing for explaining the structure of an input prompt according to one embodiment.
- FIG. 5 is a diagram illustrating a method for verifying insight information according to one embodiment.
- Figure 6 is a flowchart illustrating a method for generating insight information according to one embodiment.
- FIG. 7 is a flowchart illustrating an example of an operation for generating an insight message according to one embodiment.
- FIG. 8 is a flowchart illustrating an example of an operation for generating an input prompt according to one embodiment.
- FIG. 9 is a diagram illustrating an example of a screen on which insight information is displayed on an electronic device (200) according to one embodiment.
- FIG. 10 is a diagram illustrating an example of a screen provided to obtain information of interest to a user according to one embodiment.
- FIG. 11 is a diagram illustrating a method for generating insight information based on a multi-modal artificial neural network according to one embodiment.
- FIG. 12 is an example of a screen displaying insight information generated using a multi-modal artificial neural network according to one embodiment.
- Fig. 13 illustrates an example of an electronic device according to one embodiment.
- FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to an embodiment.
- the electronic device (101) may communicate with the electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (104) or the server (108) via a second network (199) (e.g., a long-range wireless communication network).
- the electronic device (101) may communicate with the electronic device (104) via the server (108).
- the electronic device (101) may include 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), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197).
- the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added.
- some of these components e.g., the sensor module (176), the camera module (180), or the antenna module (197) may be integrated into one component (e.g., the display module (160)).
- the processor (120) may control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) by executing, for example, software (e.g., a program (140)), and may perform various data processing or calculations.
- the processor (120) may store a command or data received from another component (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the command or data stored in the volatile memory (132), and store the resulting data in a non-volatile memory (134).
- the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together therewith.
- a main processor (121) e.g., a central processing unit or an application processor
- a secondary processor (123) e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor
- the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function.
- the secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
- the auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state.
- the auxiliary processor (123) e.g., an image signal processor or a communication processor
- the auxiliary processor (123) may include a hardware structure specialized for processing artificial intelligence models.
- the artificial intelligence models may be generated through machine learning. This learning can be performed, for example, in the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)).
- the learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above.
- the artificial intelligence model can include a plurality of artificial neural network layers.
- the artificial neural network can be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Oltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-networks, or a combination of two or more of the above, but is not limited to the examples described above.
- the artificial intelligence model can additionally or alternatively include a software structure.
- the memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101).
- the data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto.
- the memory (130) can 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) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101).
- the input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
- the audio output module (155) can output audio signals to the outside of the electronic device (101).
- the audio output module (155) can include, for example, a speaker or a receiver.
- the speaker can be used for general purposes, such as multimedia playback or recording playback.
- the receiver can be used to receive incoming calls. According to one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
- the display module (160) can visually provide information to an external device (e.g., a user) of the electronic device (101).
- the display module (160) may include, for example, a display, a holographic 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 a force generated by the touch.
- the display module (160) may be implemented with an illustrative foldable structure and/or a rollable structure. For example, the size of the display screen of the display module (160) may be reduced when folded, and may be expanded when unfolded.
- the audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
- an external electronic device e.g., electronic device (102)
- speaker or headphone directly or wirelessly connected to the electronic device (101).
- the sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status.
- the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
- the interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., 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
- connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., 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 (e.g., a headphone connector).
- a haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations.
- the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module (180) can capture still images and videos.
- the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module (188) can manage power supplied to the electronic device (101).
- the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- a battery (189) may power at least one component of the electronic device (101).
- the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
- the communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel.
- the communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
- the communication module (190) may include a wireless communication module (192) (e.g., 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) (e.g., a local area network (LAN) communication module, or a power line communication module).
- a wireless communication module (192) e.g., 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) e.g., a local area network (LAN) communication module, or a power line communication module.
- the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)).
- a first network (198) e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
- a second network (199) e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)
- a computer network e.g., a
- the wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
- subscriber information e.g., an international mobile subscriber identity (IMSI)
- the wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology).
- the NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)).
- eMBB enhanced mobile broadband
- mMTC massive machine type communications
- URLLC ultra-reliable and low-latency communications
- the wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate.
- a high-frequency band e.g., mmWave band
- the wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna.
- the wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)).
- the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
- a peak data rate e.g., 20 Gbps or more
- a loss coverage e.g., 164 dB or less
- U-plane latency e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip
- the antenna module (197) can transmit or receive signals or power to or from an external device (e.g., 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 (e.g., a PCB).
- the antenna module (197) may include a plurality of antennas (e.g., 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), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the selected at least one antenna.
- another component e.g., a radio frequency integrated circuit (RFIC)
- RFIC radio frequency integrated circuit
- the antenna module (197) may form a mmWave antenna module.
- the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent to a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
- a first side e.g., a bottom side
- a plurality of antennas e.g., an array antenna
- At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
- peripheral devices e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
- commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199).
- Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101).
- all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service by itself, request one or more external electronic devices to perform the function or at least a part of the service.
- One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101).
- the electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request.
- cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example.
- the electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example.
- the external electronic device (104) may include an Internet of Things (IoT) device.
- the server (108) may be an intelligent server utilizing machine learning and/or a neural network.
- the external electronic device (104) or the server (108) may be included in the second network (199).
- the electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
- FIG. 2 is an example of a block diagram of an electronic device according to one embodiment.
- an electronic device (200) may include a processor (210) (e.g., the processor (120) of FIG. 1) and a memory (240) (e.g., the memory (130) of FIG. 1).
- the health app service provision module (220) and the artificial neural network model selection module (230) may be configured as one or more of a program code including instructions that can be executed by the processor (210), an application, an algorithm, a routine, a set of instructions, or an artificial intelligence learning model that can be stored in the memory (240).
- the memory (240) can store the on-device artificial neural network model (250), and according to an embodiment, a memory (not shown) other than the memory (240) included in the electronic device (200) can store the on-device artificial neural network model (250).
- module may mean, for example, a unit including one or a combination of two or more of hardware, software, or firmware.
- the term “module” may be used interchangeably with terms such as unit, logic, logical block, component, or circuit.
- the “module” may be the smallest unit of an integrally configured component or a part thereof.
- the “module” may also be the smallest unit performing one or more functions or a part thereof.
- the “module” may be implemented mechanically or electronically.
- a “module” may include at least one of an application-specific integrated circuit (ASIC) chip, field-programmable gate arrays (FPGAs), or programmable-logic device, known or to be developed in the future, that performs certain operations.
- ASIC application-specific integrated circuit
- FPGAs field-programmable gate arrays
- programmable-logic device known or to be developed in the future, that performs certain operations.
- the memory (240) may include a status data DB (not shown) that stores user status data.
- the user status data may include information related to the user's biometrics and/or lifestyle.
- the user status data may include health information data (e.g., the user's current health status, symptoms, and discomforts), information data related to lifestyle patterns (e.g., eating habits, meal times, sleep patterns, and daily activities), exercise record data (e.g., daily activity amount, type of exercise, exercise time, and amount of calories burned during exercise), medical record data (e.g., electronic medical record (EMR) and electronic health record (EHR)), and biometric information data (e.g., information obtained from a sensor (e.g., a biometric sensor)).
- the biometric information data may also be referred to as sensor data.
- the electronic device (200) may be implemented as at least one of a smartphone, a tablet personal computer, a mobile phone, a speaker (e.g., an AI speaker), a video phone, an e-book reader, a desktop personal computer, a laptop personal computer, a netbook computer, a workstation, a server, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, or a camera.
- a smartphone e.g., a tablet personal computer, a mobile phone, a speaker (e.g., an AI speaker), a video phone, an e-book reader, a desktop personal computer, a laptop personal computer, a netbook computer, a workstation, a server, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, or a camera.
- PDA personal digital assistant
- PMP portable multimedia player
- MP3 player a mobile medical device
- an external electronic device (e.g., electronic device (102) and/or electronic device (104) of FIG. 1) may include a processor (261), a memory (262), a communication module (263), and sensor(s) (264).
- the external electronic device (260) may include a wearable device.
- the form of the external electronic device (260) may include a method worn on the wrist (e.g., a smart watch, a smart band), a method worn on the finger like a ring (e.g., a smart ring, a smart glove), a method worn on the head including the ear (e.g., a head mounted display (HMD), an extended reality (XR) device, smart glasses, a smart headset, a smart hat), a method inserted into the ear (e.g., a hearable device, TWS-true wireless stereo, OWS-open wireless stereo), a method attached to the body (e.g., a patch, a smart tattoo), a method worn on clothes (e.g., a smart garment, a smart pin), a method worn around the neck, a method worn on the foot (e.g., a smart shoe, a smart pad), and is not limited to the examples described above.
- a method worn on the wrist e.g., a smart watch,
- the external electronic device (260) may be connected to the electronic device (200) via a communication module (263).
- the external electronic device (260) may be connected to the electronic device (200) wirelessly.
- the electronic device (200) may be connected to the external electronic device (260) via short-range wireless communication (e.g., Bluetooth, Wi-Fi).
- the method by which the electronic device (200) and the external electronic device (260) are connected is not limited thereto, and the external electronic device (260) may be connected to the electronic device (200) via a wire.
- an external electronic device (260) can obtain sensor data about a user through sensor(s) (264) and transmit the obtained sensor data to the electronic device (200).
- the external electronic device (260) can be a smart watch, and the smart watch can obtain biometric information (e.g., heart rate information) of the user and transmit the obtained biometric information to the electronic device (200).
- the electronic device (200) can store the sensor data in the memory (240). As described above, the sensor data can be stored in a status data DB.
- the electronic device (200) may be connected to a message management server (270) using short-range wireless communication (e.g., Wi-Fi) or mobile communication (e.g., 4G, 5G).
- the electronic device (200) may receive a unique ID (ID) corresponding to a condition for generating a message from the message management server (270) and provide information so that insight information matching the condition is generated.
- ID unique ID
- the insight information is information for inducing an understanding of health data and changes in user behavior and awareness, and may be, for example, a health management message.
- the insight information is not limited to the form of a message.
- the insight information may be provided in the form of a graph, animation, or icon.
- the message management server (270) may include a prompt updater (271), and the operation of the prompt updater (271) is described in detail below with reference to FIGS. 3 and 7 .
- the electronic device (200) may use sensor data received from an external electronic device (260) to construct an input prompt that meets the corresponding user conditions provided by the message management server (270), and input the input prompt into a pre-trained artificial neural network model (e.g., a large language model (LLM)) to generate insight information.
- a pre-trained artificial neural network model e.g., a large language model (LLM)
- the input prompt may refer to an initial sentence or question input into the artificial neural network model.
- the artificial neural network model is a large language model (LLM)
- the input prompt may be composed of natural language text and may determine the direction of the text to be generated by the large language model, and may help the large language model provide appropriate information and respond fluently.
- the large language model may be referred to as a language model composed of an artificial neural network that has been pre-trained with a massive amount of text data.
- the large language model may include more than 10 times as many parameters (e.g., more than 100 billion parameters) as a conventional general language model.
- Large-scale language models can utilize a transformer artificial neural network architecture based on an attention mechanism.
- the attention mechanism is a technique that helps an artificial intelligence model focus on important parts of input data.
- the attention mechanism can be used to predict output data by predicting the degree to which at least part of the time-series input data (e.g., input data such as voice or video, or input data of some layers of a neural network) contributes to the intermediate or final output of the neural network.
- the attention mechanism can consider information dependence between long time-series distances by controlling the degree of weight concentration within the overall (or partial) context of the input data.
- a large-scale language model may include a transformer with an encoder-decoder structure.
- the encoder processes input data and outputs compressed information (e.g., an attention mechanism), and the decoder processes the compressed information and outputs token-based output data.
- compressed information e.g., an attention mechanism
- Each encoder and decoder may include an independent attention network, or a cross-attention network connecting the encoder and decoder.
- large-scale language models can be trained in two stages: pre-training and fine-tuning.
- Pre-training involves training a large-scale language model to process massive amounts of text data and acquire general linguistic knowledge. For example, this could involve self-supervised learning, such as predicting the next word using a sequence of previous words in a text sequence.
- Fine-tuning involves training a large-scale language model to fit a specific domain (e.g., chatbot, translation, summarization, Q&A) or task. This can be further supervised (or adaptive) based on a pre-trained model using a dataset tailored to the domain's purpose.
- Large-scale language models can perform tasks with text inputs containing natural language, called prompts.
- large-scale language models can include BERT (bidirectional encoder representations from transformer) and GPT (generative pre-trained transformer).
- LLM can refer to the neural network model itself, but can also refer to the model of an LLM-based application (e.g., chatbot, translation, summarization, text classification, sentence generation).
- an LLM-based chatbot such as chatGPT can also be referred to as an LLM.
- LLM can also include an inference engine that utilizes the LLM neural network model. For example, "entering an input prompt into an LLM” can be referred to as "entering an input prompt into an LLM-based inference engine.”
- a method for generating insight information defines the structure of an input prompt and a method for obtaining the input prompt for generating accurate and personalized insight information.
- the structure of the input prompt and the method for obtaining the input prompt are described in detail below with reference to FIG. 4.
- the electronic device (200) can collect and record data transmitted from an external electronic device (260).
- the electronic device (200) may have an application program installed thereon, or a corresponding module performing the same function may be integrated into the platform of the electronic device (200).
- the application program may include a health app service provision module (220) that provides practical services to the user, and an artificial neural network model selection module (230) that can select which model to use to generate insight information.
- the health app service providing module (220) can provide a practical service related to the user's health using sensor data transmitted from an external electronic device (260).
- the health app service providing module (220) can calculate specific health indicators and provide the corresponding information to the user in various ways, generate insight information, query and provide data defined within an input prompt required for generating the insight information, and provide an operation for displaying the generated insight information to the user.
- the specific operation of the health app service providing module (220) is described in detail below with reference to FIG. 3.
- the artificial neural network model selection module (230) can determine either an on-device artificial neural network model (250) or a server-based artificial neural network model (281) as input to the input prompt.
- the on-device artificial neural network model (250) and the server-based artificial neural network model (281) may be artificial neural network models trained to generate insight information.
- the on-device artificial neural network model (250) and the server-based artificial neural network model (281) may be language models trained to receive an input prompt and generate an insight message.
- the on-device artificial neural network model (250) is a model that can process information on the electronic device (200) itself without a separate server, and can be used at any time even when the electronic device (200) is not connected to a network.
- the on-device artificial neural network model (250) can be operated as an application program within the electronic device (200), and can generate insight information without linking to other external modules or artificial neural network models by using an input prompt for a health app service transmitted through the artificial neural network model selection module (230).
- An application including an on-device artificial neural network model (250) may include metadata, which may be used to provide support information, such as supported languages and supported functions, to the party requesting message generation.
- the on-device artificial neural network model may be fine-tuned to suit more detailed domains or services.
- the electronic device (200) may be connected to an artificial neural network model server (280) using short-range wireless communication (e.g., Wi-Fi) or mobile communication (e.g., 4G, 5G).
- the artificial neural network model server (280) may include a server-based artificial neural network model (281).
- the server-based artificial neural network model (281) may be referred to as a cloud-based artificial neural network model and may generate insight information using a language model having a larger number of parameters than the on-device artificial neural network model (250).
- the on-device artificial neural network model (250) may be a small language model (SML), and the server-based artificial neural network model (281) may be a large language model.
- the on-device artificial neural network model (250) can have a smaller number of parameters than the server-based artificial neural network model (281), and thus the on-device artificial neural network model (250) can also be configured as a large-scale language model.
- the artificial neural network model selection module (230) operates as a single relay module and allows a server-based artificial neural network model (281) or an on-device artificial neural network model (250) to be selected when the health app service provision module (220) generates insight information.
- the artificial neural network model selection module (230) can include a selection function by defining various message generation functions, thereby allowing one app service to generate insight information of different formats or functions through the artificial neural network model.
- an external electronic device (260) can measure various health-related sensor data through sensor(s) (264).
- the sensor data includes the number of steps, heart rate, body temperature, exercise, and oxygen saturation, and these can be measured through the sensor(s) (264) suitable for the purpose.
- the external electronic device (260) can continuously obtain the user's biometric information and activity information, and generate various health indicators based on the biometric information.
- the health indicator is an indicator that can indicate the user's health status, and the sensor data itself can be the health indicator, or it can be obtained by processing the sensor data.
- the order of the health indicator can be determined based on the number of times the sensor data is processed. For example, if the sensor data itself is the health indicator, the health indicator can be defined as the primary indicator, and if the sensor data is processed once to obtain the health indicator, the health indicator can be defined as the secondary indicator.
- the senor(s) (264) may include a biosensor, an electrode sensor, an inertial sensor, or a position sensor.
- the sensor(s) (264) is not limited to the examples described above.
- a biosensor is a sensor that detects a user's physiological signals.
- an optical sensor can be used that irradiates light onto a living body and receives the absorbed, scattered, and reflected light.
- various substances such as skin tissue, cells, blood vessels, proteins, deoxyribonucleic acid (DNA), and metabolites can be detected.
- a biosensor may include a photoplethysmogram (PPG) sensor that irradiates light onto blood vessels in a living body and receives and measures the absorbed, scattered, and reflected light.
- PPG photoplethysmogram
- a biosensor may receive light for various biomarker information.
- Sensor data that can be acquired through a biosensor may include heart rate (HR), heart rate variability (HRV), stress, oxygen saturation (SpO2), respiration, and blood pressure.
- HR heart rate
- HRV heart rate variability
- SpO2 oxygen saturation
- respiration respiration
- blood pressure blood pressure
- Sensor data acquired through biometric sensors can be used to view long-term trends or to derive health indicators using values from specific situations. For example, health indicators such as resting heart rate (HR), sleep HR, active HR, sleep HRV, and stress resilience can be derived based on biometric sensor data.
- multiple indicators can be synthesized to derive secondary and tertiary indicators, such as a sleep score (an indicator that determines whether the user has had a good night's sleep), an energy score (an indicator that determines the level of activity a user can engage in throughout the day), and an activity score (an indicator that determines whether the user has engaged in appropriate activity).
- a sleep score an indicator that determines whether the user has had a good night's sleep
- an energy score an indicator that determines the level of activity a user can engage in throughout the day
- an activity score an indicator that determines whether the user has engaged in appropriate activity.
- indicators highly related to sleep such as oxygen saturation and respiration, can be utilized not only for sleep-related scores but also for indicators requiring high-precision clinical evaluation, such as sleep apnea.
- correlations between various sensor data and various phenomena can be defined, and various indicators can be generated.
- the values that occur while awake and while asleep may have different meanings.
- HR, HRV, SpO2, saturation heart rate while awake may be closely related to exercise, while heart rate during sleep may be related to whether or not one ate before bed.
- Heart rate variability while awake may be related to stress, while heart rate variability during sleep may be related to recovery. Therefore, biometric data during sleep can be utilized in various ways to understand the user.
- Various health indicators used in relation to sleep may include time of falling asleep, time of waking up, sleep duration, sleep stages (light sleep, deep sleep, REM (rapid eye movement)), sleep cycle (REM sleep repetition), sleep heart rate/heart rate variability/body temperature (skin temperature)/blood pressure, oxygen saturation, sleep efficiency (how much one tosses and turns during sleep), breathing rate, snoring, regularity (whether one falls asleep at a regular time), sleep continuity (whether one wakes up during sleep), and whether one naps during the day.
- health indicators related to sleep are not limited to the examples mentioned above.
- the electrode sensor can detect electrical signals or measure impedance by making contact with a living body through multiple electrodes.
- the electrode sensor can detect electrical signals generated in the body.
- the electrode sensor can be attached to the heart to detect electrocardiogram (ECG) signals, attached to the brain to detect electroencephalography (EEG) signals, attached to a muscle to detect electromyography (EMG) signals, and attached to the eye to detect electrooculography (EOG) signals.
- ECG electrocardiogram
- EEG electroencephalography
- EMG electromyography
- EOG electrooculography
- the electrode sensor can detect body composition through body impedance analysis (BIA).
- a temperature sensor is a sensor that measures the temperature of a living body or a component, and may be a contact or non-contact sensor.
- the measured temperature value may be stored in memory (262) or transmitted to a processor (261) to be used to estimate body temperature.
- Constant monitoring of the temperature sensor can detect sudden increases in skin temperature, thereby detecting signs of various diseases, such as colds. Furthermore, detecting the temperature sensor during sleep can be used as an indicator for estimating the menstrual cycle in women.
- the inertial sensor is a sensor that detects inertia, and may include, for example, an acceleration sensor and a gyroscope.
- the inertial sensor may consist of only a three-axis acceleration sensor, or may consist of a three-axis acceleration sensor and a three-axis gyroscope, for a total of six axes.
- the inertial sensor can sense the motion, gesture, impact, posture, and activity (sedentary, moving, sports) of the device. Using the inertial sensor, the user's activity and exercise can be detected by an external electronic device (260).
- a representative health indicator that can be obtained through the inertial sensor is the step count.
- Walking and running can be distinguished through impact amount or step frequency, and a healthy step can be determined based on the step duration. This can be utilized together with a biometric sensor to calculate an activity score.
- Inertial sensors can automatically detect movements such as walking and running, as well as repetitive movements like ellipticals. Furthermore, repetitive movements like squats can be counted using inertial sensors.
- Combining inertial and biometric sensors can generate a variety of indicators. For example, resting HR is the heart rate during a state of stillness. Movement is determined by inertial sensors, and heart rate is measured using biometric sensors. The heart rate under these conditions can be stored and then designated as the representative resting HR at a specific time of day or at the lowest value. Furthermore, calorie burning during activity or exercise can be estimated using these combinations, and high HRs can be filtered out based on their association with exercise, as determined by inertial sensors.
- a position sensor can be used to calculate a user's movement position.
- the position sensor can be used to measure movement speed.
- the sensor can determine left-right balance, undulation, ground contact time, and flight time.
- heart rate information during running can be combined to measure the user's maximum oxygen uptake (VO2 max), a measure of their exercise capacity.
- VO2 max maximum oxygen uptake
- Figure 3 is a block diagram of a health app service providing module according to one embodiment.
- the health app service providing module (220) may include an insight display module (310), a health tracking service providing module (320), an insight information generation module (330), and a service data providing module (340).
- the health tracking service providing module (320) may use sensor data transmitted from an external electronic device (e.g., the external electronic device (260) of FIG. 2) to calculate specific health indicators and provide the corresponding information to a user in various ways.
- the insight information generation module (330) may generate insight information, and the insight information generation module (330) may also be referred to as an insight information generation framework.
- the service data providing module (340) may query and provide data defined in an input prompt required for generating insight information.
- the insight display module (310) may perform an operation to display the generated insight message to the user.
- the insight information generation module (330) includes components necessary for generating insight information through a condition-compliant artificial neural network model (e.g., the on-device artificial neural network model (250) or the server-based artificial neural network model (281) of FIG. 2). More specifically, the insight information generation module (330) may include a prompt manager (331), a prompt generation module (332), and a response verification module (333).
- a condition-compliant artificial neural network model e.g., the on-device artificial neural network model (250) or the server-based artificial neural network model (281) of FIG. 2). More specifically, the insight information generation module (330) may include a prompt manager (331), a prompt generation module (332), and a response verification module (333).
- the prompt manager (331) combines input prompt components according to the structure of a predefined prompt.
- the input prompt may include a common prompt and a data prompt.
- the common prompt may include knowledge information related to a specific health indicator, instructions for message creation regarding the format and length of the message to be created, and precautions for message creation.
- the data prompt may be composed of user data and additional information for message creation. More specifically, the data prompt is composed of data parameter names and related actual data, and the data parameters may be sensors of an external electronic device (e.g., sensor(s) (264) of FIG. 2) and health-related elements supported within a health app service. The actual data may be mapped to numeric values, rating information based on specific criteria, and various other information.
- Each parameter information may be accompanied by words or sentences corresponding to multiple languages for multilingual support, or may be added as supplementary explanatory material.
- the common prompt may be adjusted in terms of the amount and length of the included content depending on the service and implementation form of the foundation artificial neural network (e.g., a server-based artificial neural network (e.g., a server-based artificial neural network (281) of FIG. 2 or an on-device artificial neural network (250) of FIG. 2), and may be applied in different versions depending on the basic performance of the final service and the artificial neural network model.
- the prompt generation module (332) may acquire user health data stored within the electronic device (e.g., memory (240) of FIG. 2) or in an external environment (e.g., an external device that can interact with the electronic device) to map user status data included in the prompt, and may map the acquired health data to a prompt in which no data has yet been entered, thereby integrating knowledge information and detailed instructions for generating insight information and actual user health data to generate a complete input prompt.
- the prompt generation module (332) may be referred to as a parameter getter.
- the response verification module (333) may provide a function to parse insight information and block or filter response content as needed. Furthermore, a verifier based on an artificial neural network model may be included in the response verification module (333).
- the generated insight information may be checked for abnormalities in content and format through an artificial neural network model, and when an abnormality occurs, new insight information may be regenerated or blocked/filtered through an artificial neural network model (e.g., a server-based artificial neural network (281) of FIG. 2 or an on-device artificial neural network (e.g., an on-device artificial neural network (250) of FIG. 2).
- an artificial neural network model e.g., a server-based artificial neural network (281) of FIG. 2 or an on-device artificial neural network (e.g., an on-device artificial neural network (250) of FIG. 2.
- the message management server (270) may transmit a unique ID corresponding to a condition for generating insight information to the insight information generation module (330) to provide information so that insight information matching the condition is generated.
- the electronic device may detect whether the insight information generation condition is satisfied and generate insight information based on a determination that the insight information generation condition is satisfied.
- an input prompt may exist for each insight information generation condition, and the message management server (270) may assign a unique ID to the input prompt according to the condition for generating insight information.
- an input prompt corresponding to a condition for generating the first insight information may be defined as a first input prompt, and in a similar manner, an input prompt corresponding to a condition for generating the n-th (n is a natural number) insight information may be defined as an n-th input prompt.
- the message management server (270) can generate information that can update the input prompt and the configuration information of the input prompt embedded in the insight information generation module (330) through the prompt updater (271).
- the prompt updater (271) can review insight information generated in an electronic device and generate information for removing sensor data or health indicators that are determined to be unhelpful for generating insight information from the input prompt, and transmit the information to the insight information generation module (330).
- the prompt updater (271) can review insight information generated in an electronic device to detect the cause of hallucination, and generate information for removing the cause, and transmit the information to the insight information generation module (330).
- the insight information generation module (330) can receive the information and update the prompt.
- the operation of updating the prompt is not limited to the above example, and the prompt can be updated in various situations. Since the electronic device updates the input prompt via the prompt updater (271) of the message management server (270), message generation-related components can be changed and added without updating or reissuing the health app service itself. By actively and dynamically updating the system's default prompt based on the situation, service type, and user-owned device type using the prompt updater (271), various insight information can be provided to the user, either integrated or individually, depending on the type of service, user preferences, and user-owned device.
- FIG. 4 is a drawing for explaining the structure of an input prompt according to one embodiment.
- a common prompt (410) and a data prompt (420) may be integrated in a structured format to create a single input prompt (400).
- a single input prompt (400) is created by the prompt manager (331) and the prompt creation module (332), and the input prompt (400) may be transmitted to the artificial neural network model selection module (230).
- the input prompt (400) may be input to an on-device artificial neural network model (250) or a server-based artificial neural network model (281), so that insight information corresponding to the input prompt (400) may be created.
- the common prompt (410) may include various types of knowledge information (411) to be included in a service to be provided to the user.
- the knowledge information (411) is information related to health indicators and may be referred to as knowledge-based information or health knowledge information.
- the knowledge information (411) may include definitions of health indicators, such as "[Step count] Step count is considered a measure of daily light intensity physical ⁇ ", "[Rest]: Also known as “recovery”. Defined as building up energy ⁇ ", “[Stress Level]: Refer to the level of mental or physical ⁇ ".
- the knowledge information (411) is not limited to the above examples and may include various types of information to be included in a service to be provided to the user.
- the common prompt (410) may include role information (412) defined about which role an artificial neural network model (e.g., a server-based artificial neural network (281) of FIG. 2 or an on-device artificial neural network (e.g., an on-device artificial neural network (250) of FIG. 2) will use to generate insight information.
- the role information (412) may include information about a role defined when an artificial neural network model (e.g., a server-based artificial neural network (281) of FIG. 2 or an on-device artificial neural network (e.g., an on-device artificial neural network (250) of FIG.
- the role information (412) is not limited to the above example, and may include information about various roles that may be defined when generating insight information. May include.
- the common prompt (410) may include message generation method information (413) defined for methods to reduce the accuracy of insight information and the level of hallucination.
- the message generation method information (413) may be referred to as approach information.
- the message generation method information (413) may include definitions for message generation methods, such as "[INPUT DESCRIPTION]: The "user status” section offers insights about", [TASK OVERVIEW]: Tou will write a paragraph with a brief health coaching message.”
- the message generation method information (413) is not limited to the above examples, and may include information on various methods to reduce the accuracy of insight information and the level of hallucination.
- the common prompt (410) may include model output format information (414) defining the form and structure of the insight information.
- the model output format information (414) may be referred to as an output template or an output example.
- the common prompt (410) may include model output rule information (415) defining the generation rules of insight information.
- the model output rule information (415) may include model output rules (Output rules) that specifically define the format, structure, and number of characters of the output message.
- the model output rule information (415) may include generation rules of insight information, such as "[Output Rule]: Write a message in English language" and "[Output Rule]: Do not refer to information".
- the model output rule information (415) is not limited to the above examples and may include information on various model output rules.
- the data prompt (420) may include user status information (421) defined for the user status.
- the user status information (421) may include a sentence representing the user status that matches the current insight information generation condition, thereby enabling an artificial neural network model (e.g., the server-based artificial neural network (281) of FIG. 2 or an on-device artificial neural network (e.g., the on-device artificial neural network (250) of FIG. 2) to use it as base information when generating insight information, and may be used as information for suppressing hallucination.
- an artificial neural network model e.g., the server-based artificial neural network (281) of FIG. 2 or an on-device artificial neural network (e.g., the on-device artificial neural network (250) of FIG. 2
- an on-device artificial neural network e.g., the on-device artificial neural network (250) of FIG. 2
- the user status information (421) may include text-based information defined for the user status, such as "You're doing a good job maintaining your health on.”
- the user status information (421) is not limited to the above example, and may include definitions for various user statuses.
- the data prompt (420) may include user data information (422) composed of user status data including sensor data about the user.
- the user data information (422) may be utilized as specific data that can support the user status information (421) when a message is generated by including status data most closely related to the user status information (421).
- the user data information (422) may include the user's biometric data acquired through sensor data, such as "Sleep time: 9 hours 30 minutes.”
- the user data information (422) is not limited to the above example and may include various user status data.
- the data prompt (420) may include user additional data information (423), which is not included in the user data information (422), but is comprised of data about the user that can be considered in the current state.
- the user additional data information (423) may provide additional user health information to the user along with the current user state information (421) and the user data information (422), and may be utilized as data for generating personalized messages.
- the user additional data information (423) may include additional user status data that can be considered in the current state, such as "[Additional data]: Average step count: 5500 steps.”
- the user additional data information (423) is not limited to the above example, and may include various additional user status data that can be considered in the current state.
- FIG. 5 is a diagram illustrating a method for verifying insight information according to one embodiment.
- a response verification module (333) can verify content included in generated insight information through methods such as parsing, and perform blocking and filtering on problematic response content.
- the response verification module (333) may include a verification prompt generation module (510).
- the prompt generation module (332) can generate an input prompt (501) (e.g., the input prompt (400) of FIG. 4).
- the input prompt (501) can be input into an artificial neural network model (520) (e.g., the server-based artificial neural network (281) of FIG. 2 or an on-device artificial neural network (e.g., the on-device artificial neural network (250) of FIG. 2), and the artificial neural network model (520) can generate insight information (502) corresponding to the input prompt (501).
- the insight information (502) is insight information that has not yet been verified and may be referred to as primary insight information to distinguish it from final insight information (506).
- insight information (502) may be input into a verification prompt generation module (510) of a response verification module (333).
- the verification prompt generation module (510) may be a module that generates a verification input prompt (503) for verification together with the insight information (502).
- the verification prompt generation module (510) may be an artificial neural network model trained based on machine learning.
- the verification input prompt (503) is a prompt for instructing the verification artificial neural network model (530) on whether to verify the input prompt (501), and may include insight information (502), which is a verification target, and a verification instruction generated by the verification prompt generation module (510).
- the verification input prompt (503) may be composed of a verification target and a verification instruction, such as "Verify the input prompt (501) using method A.”
- the verification input prompt (503) is not limited to the above example and may include various verification instructions.
- the input prompt (503) for verification can be input to a verification artificial neural network model (530).
- the verification artificial neural network model (530) can be a large-scale language model.
- the verification artificial neural network model (530) can be the same artificial neural network model as the artificial neural network model (520) used to generate the insight information (502), or can be a different artificial neural network model from the artificial neural network model (520).
- the verification artificial neural network model (530) can have a larger parameter scale than the used artificial neural network model (520) or can be a heterogeneous large-scale language model.
- the verification artificial neural network model (530) can check the content included in the insight information (502) and perform verification follow-up tasks such as blocking and filtering if necessary, and output verification result information (504) including the content.
- the verification artificial neural network model (530) can verify the insight information (502) for a plurality of items, and a verification score can be output for each item. Whether or not each item passes the verification can be determined based on the verification score for each item as a threshold.
- the verification artificial neural network model (530) can additionally generate analysis information to solve the problem for items that fail the verification. For example, if the insight information (502) does not pass the hallucination verification item, the verification artificial neural network model (530) can generate hallucination analysis information.
- the verification result information (504) can include one or more of the verification score, whether or not the verification passed, and the analysis information.
- the verification result information (504) is not limited to the above-described examples, and can include various configurations.
- a final input prompt (505) may be generated based on the verification result information (504) and the input prompt (501).
- the final input prompt (505) may be input into an artificial neural network model (520), and the artificial neural network model (520) may generate final insight information (506) corresponding to the final input prompt (505). Since the final input prompt (505) includes the verification result information (504), the artificial neural network model (520) may generate final insight information (506) in which problematic response contents in the insight information (502) are blocked and filtered.
- the final insight information (506) may be referred to as secondary insight information to distinguish it from the insight information (502).
- Figure 6 is a flowchart illustrating a method for generating insight information according to one embodiment.
- operations 610 and 660 may be performed sequentially, but are not necessarily performed sequentially. For example, the order of each operation (610 and 660) may be changed, and at least two operations may be performed in parallel.
- operations (610 to 660) are described as being performed using the electronic device (200) illustrated in FIG. 2. However, these operations (610 to 660) may be used through any other suitable electronic device and within any suitable system.
- operations (610 to 660) may be understood as being performed in a processor (e.g., processor 210 of FIG. 2) of an electronic device (e.g., electronic device (200) of FIG. 2).
- the electronic device (200) may receive sensor data about a user of the external electronic device from an external electronic device (e.g., the external electronic device (260) of FIG. 2).
- an external electronic device e.g., the external electronic device (260) of FIG. 2.
- the electronic device (200) may determine whether a condition for generating insight information is satisfied.
- the electronic device (200) may continuously perform a process for checking a specific insight information generation condition.
- the electronic device (200) may obtain a unique ID corresponding to the insight information generation condition based on a determination that the insight information generation condition has been satisfied.
- the prompt manager e.g., the prompt manager (331) of FIG. 3) may obtain a unique ID corresponding to the corresponding generation condition when a specific insight information generation condition is triggered.
- the electronic device (200) may obtain a common prompt (e.g., common prompt (410) of FIG. 4) corresponding to the unique ID.
- the prompt manager may generate the common prompt, which is a structured prompt for generating appropriate insight information.
- the electronic device (200) may obtain a data prompt (e.g., data prompt (420) of FIG. 4) corresponding to a unique ID based on sensor data to generate an input prompt (e.g., input prompt (400) of FIG. 4).
- a prompt generation module e.g., prompt generation module (332) of FIG. 3 may obtain data necessary for configuring the input prompt and generate the input prompt.
- the input prompt (400) composed of a common prompt (410) and a data prompt (420) may have different contents and configurations depending on which artificial neural network model (e.g., the on-device artificial neural network model (250) of FIG. 2 or the server-based artificial neural network model (281)) it is transmitted to.
- the contents and configurations of the input prompt may be applied and differentiated depending on the input token availability range and foundation model performance of the artificial neural network model (e.g., the on-device artificial neural network model (250) of FIG. 2 or the server-based artificial neural network model (281)).
- the input prompt (400) for the on-device artificial neural network model (250) may be composed of only very simple output message requirements and a data prompt.
- the artificial neural network model selection module (230) can select one of the on-device artificial neural network model (250) and the server-based artificial neural network model (281).
- the electronic device (200) can process the input prompt (400) based on the selected artificial neural network model. If the artificial neural network model selection module (230) selects the on-device artificial neural network model (250), the electronic device (200) can reduce the number of parameters configuring the input prompt (400) by considering the input token availability range of the on-device artificial neural network model (250). For example, the knowledge information (411) may occupy the largest proportion in the input prompt (400). In this case, the electronic device (200) can reduce the size of the input prompt (400) by deleting the knowledge information (411) from the input prompt (400).
- the electronic device (200) can input the input prompt (400) as is into the server-based artificial neural network model (281).
- the method of processing the input prompt (400) is not limited to the above example.
- the artificial neural network model selection module (230) may select one of the on-device artificial neural network model (250) and the server-based artificial neural network model (281) as input to the input prompt (400) based on the user's selection.
- the electronic device (200) may receive a user's selection of which model to use between the on-device artificial neural network model (250) and the server-based artificial neural network model (281) at the initial setup stage of the health app.
- the electronic device (200) may provide the user with a guidance text informing him/her that the on-device artificial neural network model (250) may have lower accuracy but does not require sending personal information to the server, and the server-based artificial neural network model (281) may provide him/her with a guidance text informing him/her that personal information must be sent to the server but more accurate insight information can be received.
- the artificial neural network model selection module (230) may select one of the on-device artificial neural network model (250) and the server-based artificial neural network model (281) as an input of the input prompt (400) depending on the importance of the insight information generation condition. For example, if the importance of the insight information generation condition is greater than a threshold value (e.g., the heart rate during sleep falls below the threshold value), the artificial neural network model selection module (230) may select the server-based artificial neural network model (281) as an input of the input prompt (400).
- a threshold value e.g., the heart rate during sleep falls below the threshold value
- the artificial neural network model selection module (230) may select the on-device artificial neural network model (250) as an input of the input prompt (400).
- the electronic device (200) may input an input prompt to an artificial neural network model to generate insight information.
- the insight display module (310) may perform an operation to display the insight information to the user.
- FIG. 7 is a flowchart illustrating an example of an operation for generating an insight message according to one embodiment.
- operations 710 and 790 may be performed sequentially, but are not necessarily performed sequentially.
- the order of each operation (710 and 790) may be changed, and at least two operations may be performed in parallel.
- operations (710 to 790) are described as being performed using the electronic device (200) illustrated in FIG. 2.
- these operations (710 to 790) may be used through any other suitable electronic device and within any suitable system.
- these operations (710 to 790) may also be performed by the external electronic device (260) illustrated in FIG. 2.
- operations (710 to 790) may be understood as being performed by a processor (e.g., the processor (210) illustrated in FIG. 2) of an electronic device (e.g., the electronic device (200) illustrated in FIG. 2).
- the electronic device (200) checks for a prompt update, in operation 720, the electronic device (200) updates the input prompt (400) in the insight information generation module (330), and in operation 730, the electronic device can initialize the insight information generation module (330).
- the electronic device (200) can check whether a new prompt component is ready through the prompt updater (271) of the message management server (270). If there is an updated prompt component, the electronic device (200) can update existing prompt components in the insight information generation module (330) and then initialize the insight information generation module (330). If there is no updated component, the electronic device (200) can initialize the insight information generation module (330) immediately.
- the electronic device (200) can complete the configuration of a predefined input prompt (400) by initializing the prompt for each insight information generation unique ID and the data items required for each individual prompt during the initialization process.
- the electronic device (200) continuously performs a process of checking a condition for occurrence of specific insight information, and in operation 750, the electronic device (200) secures data necessary for configuring an input prompt (400) corresponding to a corresponding unique ID when a condition for occurrence of specific insight information is triggered, and completes generation of the input prompt (400).
- a target artificial neural network model e.g., the on-device artificial neural network model (250) or the server-based artificial neural network model (281) of FIG. 2 is called through the artificial neural network model selection module (230), and an input prompt (400) may be transmitted to the selected artificial neural network model.
- the electronic device (200) may generate insight information using the transmitted input prompt, and in operation 780, the generated insight information may be transmitted to the insight information generation module (330).
- the insight information transmitted to the insight information generation module (330) can be inspected for content included in the insight information through the response verification module (333) and, if necessary, perform follow-up verification tasks such as blocking and filtering.
- the insight information that passes the evaluation criteria of the response verification module (333) is finally displayed in the insight information display window of the health app and delivered to the user, and the insight information generation service can be terminated.
- FIG. 8 is a flowchart illustrating an example of an operation for generating an input prompt according to one embodiment.
- operations 810 and 880 may be performed sequentially, but are not necessarily performed sequentially. For example, the order of each operation (810 and 880) may be changed, and at least two operations may be performed in parallel.
- operations (810 to 880) are described as being performed using the electronic device (200) illustrated in FIG. 2. However, these operations (810 to 880) may be used through any other suitable electronic device and within any suitable system. For example, these operations (810 to 880) may also be performed by the external electronic device (260) illustrated in FIG. 2.
- operations (8120 to 880) may be understood as being performed by a processor (e.g., the processor (210) illustrated in FIG. 2) of an electronic device (e.g., the electronic device (200) illustrated in FIG. 2).
- the electronic device (200) may initialize the insight information generation module (330).
- the electronic device (200) may configure a structure of an input prompt (400) for each unique ID.
- the input prompt (400) for each unique ID is composed of a common prompt (410) and a data prompt (420).
- the electronic device (200) checks an insight information generation condition, and in operation 840, if the insight information generation condition is met, the electronic device (200) may acquire and configure the status data required to configure the input prompt (400) at that point in time.
- the data is not available due to various reasons such as the user's selection or lifestyle pattern among the status data.
- the electronic device (200) checks data availability, and if data is not available, in operation 860, the electronic device (200) can update the configuration of the data prompt (420) by removing the user data information (422) items in the data prompt (420) by unique ID. Alternatively, in some cases, the electronic device (200) can update the data prompt by including the result display regarding data availability while maintaining the configuration of the data prompt (420) items. If data is available, in operation 870, the electronic device (200) can confirm the data prompt (420) related to the unique ID, and in operation 880, the electronic device (200) can generate the input prompt (400) by unique ID.
- FIG. 9 is a diagram illustrating an example of a screen on which insight information is displayed on an electronic device (200) according to one embodiment.
- insight information (first insight information (911), second insight information (912), and third insight information (913)) may be displayed on a screen 910 of the electronic device (200).
- the first insight information (911) provides summary information on energy points
- the second insight information (912) provides summary information on today's calorie consumption
- the third insight information (913) provides summary information on today's step count.
- a screen 920 may be displayed on the electronic device (200).
- the fourth insight information (921) may provide a graph regarding daily energy score trends
- the fifth insight information (922) may provide a graph regarding today's energy score
- the sixth insight information (923) may provide an insight message related to the energy score.
- the energy score is a health indicator that indicates the physical and mental energy status of a user, indicating the extent to which the user is prepared to live a day, and can be calculated by utilizing heart rate information, heart rate variability information, exercise and activity information, and sleep information measured by an external electronic device (e.g., the external electronic device (260) of FIG. 2).
- the electronic device (200) can determine the energy score by scoring a composite user health status by utilizing various user status data (e.g., health data and sensor data) to measure the user's physical and mental energy status, rather than a score for a specific indicator data or sensor data.
- the electronic device (200) can transmit the current user's status data to an artificial neural network model (e.g., the on-device artificial neural network model (250) or the server-based artificial neural network model (281) of FIG. 2) so that new insight information can be automatically generated and provided to the user each time by actively utilizing individual conditions and data, rather than a uniform and fragmentary message based on rules.
- an artificial neural network model e.g., the on-device artificial neural network model (250) or the server-based artificial neural network model (281) of FIG. 2
- FIG. 10 is a diagram illustrating an example of a screen provided to obtain information of interest to a user according to one embodiment.
- the electronic device (200) can obtain health interest information (first interest information (1011), second interest information (1012), third interest information (1013), and fourth interest information (1014)) from the user.
- health interest information first interest information (1011) related to overall health
- second interest information (1012) related to sleep third interest information (1013) related to exercise
- fourth interest information (1014) related to healthy weight fourth interest information.
- the health interest information is not limited to the above example.
- the electronic device (200) can generate insight information generation conditions based on at least one of health interest information and health indicators. Insight information generation can be triggered by various events and provided to the user. The events can be provided based on the user's health interest information, and based on such interest information, status data of an external electronic device (260) or a health indicator algorithm embedded within the electronic device (200) can be modified or personalized to apply various criteria for generating insight information events.
- an event may include a case where a user's sensor data measured by an external electronic device (260) and a health indicator created using the sensor data reach, exceed, or fall below a specific threshold. For example, a message may be generated when the user's sleep time is shorter than average or when the user's exercise amount is higher than average. Additionally, an event may also be generated when a function implemented using a specific algorithm within the electronic device (200) continuously checks the user's status data and detects a point in time when a specific condition defined in the algorithm is satisfied. Furthermore, the time at which insight information is provided may be designated depending on the nature of the health indicator.
- a specific time such as between 06:00 and 07:00, in the morning or within 30 minutes after waking up, may be defined as a message generation event.
- FIG. 11 is a diagram illustrating a method for generating insight information based on a multi-modal artificial neural network according to one embodiment.
- an artificial neural network model (e.g., an on-device artificial neural network model (250) or a server-based artificial neural network model (281) of FIG. 2) may be a multi-modal artificial neural network model (1140). More specifically, the electronic device (200) may be a multi-modal artificial neural network model (1140) capable of providing various types of content, and may receive state data (1110), an input prompt (1120), and external data (1130), and may generate and provide to a user, in addition to text-based insight information (1180), image-based insight information (1150), audio-based insight information (1160), video-based insight information (1170), and text-based insight information (1180).
- text-based insight information (1180
- image-based insight information (1150
- audio-based insight information (1160
- video-based insight information 1170
- text-based insight information (1180
- a multi-modal artificial neural network model (1140) can receive various inputs as status data.
- the multi-modal artificial neural network model (1140) can receive not only the user's health-related status data, but also the user's current ambient temperature, user environment parameters through recording and recognition of surrounding environment images/videos, and various recognition parameters through surrounding environment sounds as input, and can utilize these to provide the most appropriate insight information for the user's current time in various formats.
- FIG. 12 is an example of a screen displaying insight information generated using a multi-modal artificial neural network according to one embodiment.
- the electronic device (200) can generate energy scores, which are insight information, by using a multi-modal artificial neural network (e.g., the multi-modal artificial neural network (1140) of FIG. 11).
- a multi-modal artificial neural network e.g., the multi-modal artificial neural network (1140) of FIG. 11
- insight information generated based on the multi-modal artificial neural network the level of user experience can be improved by adding diverse insight information (e.g., first insight information (1210), second insight information (1220), third insight information (1230), and fourth insight information (1240)) to the 1200 screen provided and explained to the user.
- the 1200 screen can provide the user with first insight information (1210), which is an icon that visualizes the factor that most influenced the current score among the health data items that constitute the energy score, second insight information (1220) that animates the icon, third insight information (1230), which is information about the health indicator that most influenced the energy score, and fourth insight information (1240), which is an insight message about the energy score.
- first insight information (1210) is an icon that visualizes the factor that most influenced the current score among the health data items that constitute the energy score
- second insight information (1220) that animates the icon
- third insight information (1230 which is information about the health indicator that most influenced the energy score
- fourth insight information (1240 which is an insight message about the energy score.
- the electronic device (200) may provide additional animations and icons in addition to the insight message to further enhance the user's understanding, thereby increasing the user's willingness to improve the factor or reinforcing the feeling of positive user encouragement.
- the form of the generated insight information may vary depending on the type of device on which the insight information is displayed. For example, when generating insight information on a tablet PC with a larger screen than a smartphone, an insight message containing a greater amount of information may be generated. Alternatively, when generating insight messages on a device with a smaller display, such as a wearable device, an insight image may be generated. To achieve this, the form and length of sentences can be adjusted by configuring the input prompt. For example, a wearable device may configure the input prompt to generate short, core phrases, while a large-screen device, such as a tablet PC, may configure the input prompt to provide a more in-depth insight message that includes various health data-based insight information and recommendations related to exercise and lifestyle.
- the insight information generation method described herein can be utilized even in a screenless voice AI service.
- insight messages can be generated for the user, and provided to the voice AI service, enabling natural speech to deliver the message to the user through voice.
- the method for generating insight information can provide insight information generated through an artificial neural network model to a user terminal by bridging the information even on a TV or set-top box with built-in smart functions, and a home appliance with built-in screen and HUB functions.
- the same insight information generation pipeline can be used to generate and provide insight information for various health indicators offered by a health app service.
- a health app service By establishing knowledge-based content describing each health indicator and standards for the content and format required to provide insight information for each individual health indicator, services can be made possible using the same approach.
- insight information can be newly generated and provided to users using existing rule-based insight messages and related input prompts so that a wider variety of phrases or health recommendation items can be generated while maintaining the insight content and context.
- a health-related wearable device or external device when a health-related wearable device or external device is connected to a health app, shares actual data, or starts/stops calculating an indicator by an algorithm, text or related health information/knowledge that can provide relevant guidance to the user can be automatically provided using user data, device connection information, related message generation prompts, and an artificial neural network model.
- a measurement guide or explanation of the need for that data can be configured to be automatically provided at the necessary time by utilizing user data, device information, relevant message generation prompts, and artificial neural network models.
- a service can be provided by transmitting a base message generated using the same input prompt and an artificial neural network model to devices connected to the main terminal in various modified forms through the artificial neural network model.
- a summary of the base message can be generated and provided to a wearable device, and if the main terminal has limitations in the display area of the insight message, the sentence structure or length can be modified to accommodate this limitation.
- Fig. 13 illustrates an example of an electronic device according to one embodiment.
- the electronic device (1300) may include a memory (1310) and a processor (1330).
- the electronic device (1300) may include the electronic device (101) of FIG. 1 and/or the electronic device (200) of FIG. 2.
- the memory (1310) may include the memory (240) of FIG. 2.
- the processor (1330) may include the processor (210) of FIG. 2.
- the memory (1310) may store instructions (e.g., programs) executable by the processor (1330).
- the instructions may include instructions for executing operations of the processor (1330) and/or operations of each component of the processor (1330).
- the memory (1310) may be implemented as a volatile memory device or a non-volatile memory device.
- Volatile memory devices can be implemented as dynamic random access memory (DRAM), static random access memory (SRAM), thyristor RAM (T-RAM), zero capacitor RAM (Z-RAM), or twin transistor RAM (TTRAM).
- DRAM dynamic random access memory
- SRAM static random access memory
- T-RAM thyristor RAM
- Z-RAM zero capacitor RAM
- TTRAM twin transistor RAM
- the nonvolatile memory device may be implemented as an Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory, Magnetic RAM (MRAM), Spin-Transfer Torque (STT)-MRAM, Conductive Bridging RAM (CBRAM), Ferroelectric RAM (FeRAM), Phase change RAM (PRAM), Resistive RAM (RRAM), Nanotube RRAM, Polymer RAM (PoRAM), Nano Floating Gate Memory (NFGM), holographic memory, Molecular Electronic Memory Device, or Insulator Resistance Change Memory.
- EEPROM Electrically Erasable Programmable Read-Only Memory
- MRAM Magnetic RAM
- STT Spin-Transfer Torque
- CBRAM Conductive Bridging RAM
- FeRAM Ferroelectric RAM
- PRAM Phase change RAM
- Resistive RAM RRAM
- Nanotube RRAM Nanotube RRAM
- Polymer RAM Polymer RAM
- NFGM Nano Floating Gate Memory
- holographic memory Molecular Electronic Memory Device, or Insulator Resistance Change Memory.
- the processor (1330) can process data stored in the memory (1310).
- the processor (1330) can execute computer-readable code (e.g., software) stored in the memory (1310) and instructions generated by the processor (1330).
- the processor (1330) may be a data processing device implemented as hardware having a circuit with a physical structure for executing desired operations.
- the desired operations may include code or instructions included in a program.
- a data processing device implemented in hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an application-specific integrated circuit (ASIC), or a field programmable gate array (FPGA).
- a microprocessor a central processing unit
- a processor core a processor core
- a multi-core processor a multiprocessor
- ASIC application-specific integrated circuit
- FPGA field programmable gate array
- the electronic device (101) of FIG. 1 and/or the electronic device (200) of FIG. 2 may be stored in a memory (1310) and executed by a processor (1330) or embedded in the processor (1330).
- the processor (1330) may perform substantially the same operations as the electronic device (101) and/or the electronic device (200) with reference to FIGS. 1 to 12. Therefore, a detailed description thereof will be omitted.
- FIGS. 1 to 12 can be applied to the embodiment of FIG. 13.
- an electronic device may include at least one processor (e.g., processor (201) of FIG. 2 and processor (1330) of FIG. 13) including processing circuitry, and a memory (e.g., memory (203) of FIG. 2 and memory (1310) of FIG. 13) that stores instructions.
- processor e.g., processor (201) of FIG. 2 and processor (1330) of FIG. 13
- memory e.g., memory (203) of FIG. 2 and memory (1310) of FIG. 13
- the electronic device may: receive sensor data about a user of the external electronic device (102, 260) from the external electronic device (102, 260), determine whether an insight information generation condition is satisfied, and, based on a determination that the insight information generation condition is satisfied, obtain a unique ID corresponding to the insight information generation condition, obtain a common prompt (410) corresponding to the unique ID, obtain a data prompt (420) corresponding to the unique ID based on the sensor data to generate an input prompt (400), and input the input prompt (400) into an artificial neural network model to generate insight information.
- the common prompt (410) may include one or more of knowledge information (411) related to health indicators, role information (412) defined as to which role the artificial neural network model will use to generate the insight information, message generation method information (413) defined as to how to reduce the accuracy and hallucination level of the insight information, model output format information (414) defined as to the form and composition of the insight information, and model output rule information (415) defined as to the generation rule of the insight information.
- the above data prompt (420) may include one or more of user state information (421) defined for the state of the user, user data information (422) consisting of sensor data for the user, and user additional data information (423) consisting of sensor data for the user that is not included in the user data information (422) but can be considered in the current state.
- the electronic devices (101, 200, and 1300) may further include a display that outputs the insight information.
- the artificial neural network model may include at least one of an on-device artificial neural network model (250) and a server-based artificial neural network model (281), and when the instructions are individually or collectively executed by the at least one processor (210, 1330), the electronic device (101, 200, 1300) may: select at least one of the on-device artificial neural network model (250) and the server-based artificial neural network model (281), process the input prompt (400) based on the selected artificial neural network model, and input the processed input prompt (400) to the selected artificial neural network model to generate insight information.
- the electronic device may: obtain health interest information from a user, generate a health indicator based on the sensor data, and generate an insight information generation condition based on at least one of the health interest information and the health indicator.
- the electronic device (101, 200, 1300) may be caused to: obtain primary insight information (502), generate a verification input prompt (503) based on the primary insight information (502), input the verification input prompt (503) into a verification artificial neural network model (530), generate verification result information (504), and input the verification result information (504) and the input prompt (501) used when obtaining the primary insight information (502) into the artificial neural network model, thereby obtaining final insight information (506).
- the electronic device (101, 200, 1300) may: receive update information capable of updating the input prompt (400) and the configuration information of the input prompt (400) from the message management server (270), and update the input prompt (400) and the configuration information of the input prompt (400) based on the update information.
- the above insight information may have at least one form of text, image, voice, and video.
- the electronic device (101, 200, 1300) may be caused to: process the insight information based on the external electronic device (102, 260), and transmit the processed insight information to the external electronic device (102, 260).
- a method performed by an electronic device (101, 200, and 1300) may include: receiving sensor data about a user of an external electronic device (102, 260) from an external electronic device (102, 260); determining whether an insight information generation condition is satisfied; obtaining a unique ID corresponding to the insight information generation condition based on a determination that the insight information generation condition is satisfied; obtaining a common prompt (410) corresponding to the unique ID; obtaining a data prompt (420) corresponding to the unique ID based on the sensor data to generate an input prompt (400); and inputting the input prompt (400) into an artificial neural network model to generate insight information.
- the common prompt (410) may include one or more of knowledge information (411) related to health indicators, role information (412) defined as to which role the artificial neural network model will use to generate the insight information, message generation method information (413) defined as to how to reduce the accuracy and hallucination level of the insight information, and model output rule information (415) defined as to the form and composition of the insight information.
- the above data prompt (420) may include one or more of user state information (421) defined for the state of the user, user data information (422) consisting of sensor data for the user, and user additional data information (423) consisting of sensor data for the user that is not included in the user data information (422) but can be considered in the current state.
- the method performed by the electronic device (101, 200, and 1300) may further include an operation of outputting the insight information.
- the artificial neural network model may include at least one of an on-device artificial neural network model (250) and a server-based artificial neural network model (281), and the operation of generating the insight information may further include an operation of selecting at least one of the on-device artificial neural network model (250) and the server-based artificial neural network model (281); an operation of processing the input prompt (400) based on the selected artificial neural network model; and an operation of inputting the processed input prompt (400) into the selected artificial neural network model to generate the insight information.
- a method performed by an electronic device may further include: obtaining health interest information from a user; generating a health indicator based on the sensor data; and generating an insight information generation condition based on at least one of the health interest information and the health indicator.
- a method performed by an electronic device (101, 200, and 1300) may further include: obtaining primary insight information (502); generating a verification input prompt (503) based on the primary insight information (502); inputting the verification input prompt (503) into a verification artificial neural network model (530) to generate verification result information (504); and inputting the verification result information (504) and the input prompts (400, 501) used when obtaining the primary insight information (502) into the artificial neural network model to obtain final insight information (506).
- a method performed by an electronic device (101, 200, and 1300) may further include: receiving update information capable of updating the input prompt (400) and configuration information of the input prompt (400) from a message management server (270); and updating the input prompt (400) and configuration information of the input prompt (400) based on the update information.
- a method performed by an electronic device (101, 200, and 1300) may further include an operation of processing the insight information based on the external electronic device (102, 260); and an operation of transmitting the processed insight information to the external electronic device (102, 260).
- Electronic devices may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
- first,” “second,” or “first” or “second” may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order).
- a component e.g., a first component
- another e.g., a second component
- functionally e.g., a third component
- module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit.
- a module may be an integral component, or a minimum unit or part of such a component that performs one or more functions.
- a module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present document may be implemented as software (e.g., a program (1740)) including one or more instructions stored in a storage medium (e.g., an internal memory (1736) or an external memory (1738)) readable by a machine (e.g., an electronic device (1701)).
- a processor e.g., a processor (1720) of the machine (e.g., an electronic device (1701)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction.
- the one or more instructions may include code generated by a compiler or code executable by an interpreter.
- the machine-readable storage medium may be provided in the form of a non-transitory storage medium.
- ‘non-transitory’ simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
- the method according to various embodiments disclosed in this document may be provided as included in a computer program product.
- the computer program product may be traded as a product between a seller and a buyer.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) through an application store (e.g., Play StoreTM) or directly between two user devices (e.g., smart phones).
- an application store e.g., Play StoreTM
- at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
- each component e.g., a module or a program of the above-described components may include one or more entities, and some of the entities may be separated and arranged in other components.
- one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added.
- a plurality of components e.g., a module or a program
- the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration.
- the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Theoretical Computer Science (AREA)
- Biomedical Technology (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Primary Health Care (AREA)
- Epidemiology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Pathology (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
일 실시예에 따른 전자 장치는, 프로세서와, 인스트럭션들을 저장하는 메모리를 포함할 수 있다. 상기 인스트럭션은, 상기 프로세서에 의해 실행될 때 상기 전자 장치로 하여금, 외부 전자 장치로부터 상기 외부 전자 장치의 사용자에 대한 센서 데이터를 수신하고, 인사이트 정보 발생 조건의 충족 여부를 탐색하고, 상기 인사이트 정보 발생 조건이 충족되었다는 판단에 기초하여, 상기 인사이트 정보 발생 조건에 대응하는 고유 아이디를 획득하고, 상기 고유 아이디에 대응하는 공통 프롬프트를 획득하고, 상기 센서 데이터에 기초하여, 상기 고유 아이디에 대응하는 데이터 프롬프트를 획득하여 입력 프롬프트를 생성하고, 인공 신경망 모델에 상기 입력 프롬프트를 입력하여 인사이트 정보를 생성하도록 할 수 있다.
Description
본 발명의 실시예들은 건강 관리에 관한 메시지를 제공하는 전자 장치, 이의 동작 방법과, 기록 매체에 관한 것이다.
건강 정보를 제공하는 기능이 탑재된 전자 장치가 다양하게 보급되고 있다. 전자 장치는 생성형 언어 모델을 통해 사용자에게 건강 정보를 제공할 수 있다. 생성형 언어 모델은 대규모의 텍스트 데이터에 기초하여 학습된 인공 지능 모델이다. 생성형 언어 모델은 텍스트 생성 및 질의 응답에 사용될 수 있다. 예를 들어, 생성형 언어 모델은 LLM(large language model)을 포함할 수 있다. 전자 장치는 사용자의 질문에 따른 응답(예: 건강 관리 메시지)을 생성할 수 있다.
상술한 정보는 본 개시에 대한 이해를 돕기 위한 목적으로 하는 배경 기술(related art)로 제공될 수 있다. 상술한 내용 중 어느 것도 본 개시와 관련된 종래 기술(prior art)로서 적용될 수 있는지에 대하여 어떠한 주장이나 결정이 제기되지 않는다.
일 실시예에 따른 전자 장치는, 처리 회로(processing circuitry)를 포함하는 적어도 하나의 프로세서 및 명령어들(instructions)을 저장하는 메모리를 포함할 수 있다. 상기 명령어들이 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치로 하여금, 외부 전자 장치로부터 상기 외부 전자 장치의 사용자에 대한 센서 데이터를 수신하도록 할 수 있다. 상기 명령어들이 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치로 하여금, 인사이트 정보 발생 조건의 충족 여부를 탐색하도록 할 수 있다. 상기 명령어들이 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치로 하여금, 상기 인사이트 정보 발생 조건이 충족되었다는 판단에 기초하여, 상기 인사이트 정보 발생 조건에 대응하는 고유 아이디를 획득하도록 할 수 있다. 상기 명령어들이 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치로 하여금, 상기 고유 아이디에 대응하는 공통 프롬프트를 획득하도록 할 수 있다. 상기 명령어들이 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치로 하여금, 상기 프로세서에 의해 실행될 때 상기 전자 장치로 하여금, 상기 센서 데이터에 기초하여, 상기 고유 아이디에 대응하는 데이터 프롬프트를 획득하여 입력 프롬프트를 생성하도록 할 수 있다. 상기 명령어들이 상기 적어도 하나의 프로세서에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치로 하여금, 인공 신경망 모델에 상기 입력 프롬프트를 입력하여 인사이트 정보를 생성하도록 할 수 있다.
일 실시예에 따른 전자 장치의 동작 방법은 외부 전자 장치로부터 상기 외부 전자 장치의 사용자에 대한 센서 데이터를 수신하는 동작을 포함할 수 있다. 상기 동작 방법은 인사이트 정보 발생 조건의 충족 여부를 탐색하는 동작을 포함할 수 있다. 상기 동작 방법은 상기 인사이트 정보 발생 조건이 충족되었다는 판단에 기초하여, 상기 인사이트 정보 발생 조건에 대응하는 고유 아이디를 획득하는 동작을 포함할 수 있다. 상기 동작 방법은 상기 고유 아이디에 대응하는 공통 프롬프트를 획득하는 동작을 포함할 수 있다. 상기 동작 방법은 상기 센서 데이터에 기초하여, 상기 고유 아이디에 대응하는 데이터 프롬프트를 획득하여 입력 프롬프트를 생성하는 동작을 포함할 수 있다. 상기 동작 방법은 인공 신경망 모델에 상기 입력 프롬프트를 입력하여 인사이트 정보를 생성하는 동작을 포함할 수 있다.
도 1은 일 실시예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시예에 따른 전자 장치의 블록도의 일 예이다.
도 3은 일 실시예에 따른 헬스 앱 서비스 제공 모듈(220)의 블록도이다.
도 4는 일 실시예에 따른 입력 프롬프트의 구조를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 인사이트 정보를 검증하는 방법을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 인사이트 정보 생성 방법을 설명하기 위한 흐름도이다.
도 7 은 일 실시예에 따른 인사이트 메시지를 생성하는 동작의 예시를 도시한 흐름도이다.
도 8은 일 실시예에 따른 입력 프롬프트를 생성하는 동작의 예시를 도시한 흐름도이다.
도 9는 일 실시예에 따른 전자 장치(200)에 인사이트 정보가 표시되는 화면의 예시를 도시한 도면이다.
도 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 oltzmann 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)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. 디스플레이 모듈(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를 참조하면, 일 실시예에 따르면, 전자 장치(200)(예: 도 1의 전자 장치(101))는 프로세서(210)(예: 도 1의 프로세서(120)) 및 메모리(240)(예: 도 1의 메모리(130))를 포함할 수 있다. 헬스 앱 서비스 제공 모듈(220) 및 인공 신경망 모델 선택 모듈(230)은 프로세서(210)에 의해 실행가능한 것들로, 메모리(240)에 저장 가능한 명령어들(instructions)을 포함하는 프로그램 코드(program code), 애플리케이션(application), 알고리즘(algorithm), 루틴(routine), 명령어 세트(set of instructions), 또는 인공 지능 학습 모델 중 하나 이상으로 구성될 수 있다. 헬스 앱 서비스 제공 모듈(220) 및 인공 신경망 모델 선택 모듈(230) 중에서 하나 이상은 하드웨어 및/또는 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 메모리(240)는 온-디바이스 인공 신경망 모델(250)을 저장할 수 있으며, 실시예에 따라 전자 장치(200)에 포함된 메모리(240) 이외의 메모리(미도시)가 온-디바이스 인공 신경망 모델(250)을 저장할 수 있다. 이하에서, 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 메모리(240)는 사용자 상태 데이터를 저장하는 상태 데이터 DB(미도시)를 포함할 수 있다. 사용자 상태 데이터는 사용자의 생체 및/또는 사용자의 생활과 관련된 정보를 포함할 수 있다. 예를 들어, 사용자 상태 데이터는 건강 정보 데이터(예: 사용자의 현재 건강 상태, 증상, 및 불편한 점), 생활 패턴과 관련된 정보 데이터(예: 식습관, 식사 시간, 수면 패턴, 및 일상 활동), 운동 기록 데이터(예: 하루 동안의 활동량, 운동 종류, 운동 시간, 및 운동시 소모된 칼로리의 양), 진료 기록 데이터(예: 전자 의료 기록(electronic medical record, EMR) 및 전자 건강 기록(electronic health record, EHR)), 및 생체 정보 데이터(예: 센서(예: 생체 센서)로부터 획득된 정보)를 포함할 수 있다. 생체 정보 데이터는 센서 데이터로 지칭될 수도 있다.
일 실시예에 따르면, 전자 장치(200)는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 스피커(예: AI 스피커), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기 또는 카메라(camera) 중 적어도 하나로 구현될 수 있다.
일 실시예에 따르면, 외부 전자 장치(260)(예: 도 1의 전자 장치(102) 및/또는 전자 장치(104))는 프로세서(261), 메모리(262), 통신 모듈(263) 및 센서(들)(264)를 포함할 수 있다. 외부 전자 장치(260)는 웨어러블 장치를 포함할 수 있다. 외부 전자 장치(260)의 형태는 손목에 착용하는 방식(예: 스마트 워치, 스마트 밴드), 반지처럼 손가락에 착용하는 방식(예: 스마트 링, 스마트 장갑), 귀를 포함하는 머리에 쓰는 방식(예: HMD(head mounted display), XR(extended reality)기기, 스마트 글래스, 스마트 헤드셋, 스마트 모자), 귀에 꼽는 방식(예: 히어러블 디바이스(hearable device,), TWS-트루 무선 스테레오(TWS-true wireless stereo), OWS-개방형 무선 스테레오(OWS-open wireless stereo)), 몸에 부착하는 방식(예: 패치, 스마트타투), 옷에 착용하는 방식(예: 스마트 의류, 스마트 핀), 목에 착용하는 방식, 발에 신는 방식(예: 스마트신발, 스마트패드)을 포함할 수 있고, 전술한 예시에 한정되지 않는다.
일 실시예에 따르면, 외부 전자 장치(260)는 통신 모듈(263)을 통해 전자 장치(200)와 연결될 수 있다. 일례로, 외부 전자 장치(260)는 전자 장치(200)와 무선으로 연결될 수 있다. 예를 들어, 전자 장치(200)는 외부 전자 장치(260)와 근거리 무선 통신(예: 블루투스, 와이 파이(wifi)) 연결될 수 있다. 전자 장치(200)와 외부 전자 장치(260)가 연결되는 방식은 이에 제한되지 않고, 외부 전자 장치(260)는 유선으로 전자 장치(200)와 연결될 수도 있다. 외부 전자 장치(260)는 복수 개일 수 있으며, 복수 개의 외부 전자 장치들은 전자 장치(200) 및 다른 외부 전자 장치 간에도 서로 연결될 수 있다.
일 실시예에 따르면, 외부 전자 장치(260)는 센서(들)(264)를 통해 사용자에 대한 센서 데이터를 획득할 수 있고, 획득된 센서 데이터를 전자 장치(200)에 전송할 수 있다. 예를 들어, 외부 전자 장치(260)는 스마트 워치일 수 있고, 스마트 워치는 사용자의 생체 정보(예: 심박수 정보)를 획득할 수 있고, 획득된 생체 정보를 전자 장치(200)에 전송할 수 있다. 전자 장치(200)는 메모리(240)에 센서 데이터를 저장할 수 있다. 전술한 바와 같이, 센서 데이터는 상태 데이터 DB에 저장될 수 있다.
일 실시예에 따르면, 전자 장치(200)는 근거리 무선 통신(예: 와이파이) 또는 이동 통신(예: 4G, 5G)을 이용하여 메시지 관리 서버(270)와 연결될 수 있다. 전자 장치(200)는 메시지 관리 서버(270)로부터 메시지가 생성되는 조건에 해당하는 고유 아이디(ID)를 수신하여, 해당 조건에 맞는 인사이트 정보가 생성되도록 정보를 제공할 수 있다. 인사이트 정보는 건강 데이터에 대한 이해와 사용자 행동 및 의식 변화를 일으키기 위한 정보로, 예를 들어, 건강 관리 메시지일 수 있다. 그러나, 인사이트 정보는 메시지 형태로 제한되지 않는다. 예를 들어, 인사이트 정보는 그래프, 애니메이션 및 아이콘과 같은 형태로 제공될 수 있다. 메시지 관리 서버(270)는 프롬프트 업데이터(271)를 포함할 수 있고, 프롬프트 업데이터(271)의 동작은 아래에서 도 3 및 도 7을 참조하여 상세히 설명된다.
일 실시예에 따르면, 전자 장치(200)는 외부 전자 장치(260)로부터 수신한 센서 데이터를 이용하여 메시지 관리 서버(270)에서 제공되는 해당 사용자 조건에 맞는 입력 프롬프트를 구성하고, 입력 프롬프트를 미리 학습된 인공신경망 모델(예를 들어, 대규모 언어 모델(large language model; LLM))에 입력하여 인사이트 정보를 생성할 수 있다. 입력 프롬프트는 인공 신경망 모델에 입력되는 초기 문장이나 질문을 의미할 수 있다. 예를 들어, 인공 신경망 모델이 대규모 언어 모델(LLM)일 경우, 입력 프롬프트는 자연어 텍스트로 구성되며 대규모 언어 모델이 생성할 텍스트의 방향을 결정하고, 대규모 언어 모델이 적절한 정보를 제공하고 유창하게 답변할 수 있도록 도움을 줄 수 있다. 대규모 언어 모델은, 방대한 양의 텍스트 데이터로 사전 학습된, 인공신경망으로 구성된 언어 모델로 참조될 수 있다. 대규모 언어 모델은, 기존의 일반 언어 모델에 비해 10배 이상 많은 매개 변수(예를 들어, 1000억 개 이상의 매개 변수)를 포함할 수 있다. 대규모 언어 모델은, 집중 메커니즘(attention mechanism)을 기반으로 하는 트랜스포머(transformer) 인공 신경망 구조를 사용할 수 있다. 집중 메커니즘(attention mechanism)은, 인공지능 모델이 입력 데이터 내에서, 중요한 부분에 집중(attention)할 수 있게 돕는 기술이다. 집중 메커니즘(attention mechanism)은, 시계열 입력 데이터(예: 음성, 동영상과 같은 입력 데이터 또는 신경망 일부 층의 입력 데이터)의 적어도 일부에 신경망 중간 또는 최종 출력에 기여하는 정도를 예측하여, 출력 데이터 예측에 이용될 수 있다. 시퀀스의 각 요소를 순차적으로 처리하는 순환 신경망(RNN) 구조는 긴 시계열 거리 간 정보 의존도(dependency)가 있는 경우에 대한 예측 성능이 저하되지만, 집중 메커니즘(attention mechanism)은 입력 데이터의 전체적인(또는 일부) 컨텍스트(context) 내에서 가중치 집중(attention) 정도를 제어함으로써 긴 시계열 거리 간 정보 의존도를 고려할 수 있다.
예를 들어, 대규모 언어 모델은, 트랜스포머는 인코더-디코더 구조를 포함할 수 있다. 인코더는 입력 데이터를 처리하여 압축 정보(예: 집중 메커니즘(attention mechanism))를 출력하고, 디코더는 압축 정보를 처리하여 출력 데이터를 토큰 단위로 출력할 수 있다. 인코더, 디코더 각각은 독립적인 집중 네트워크(attention network)를 포함할 수 있고, 인코더-디코더를 연결하는 교차 집중 네트워크(cross-attention network)를 포함할 수 있다.
예를 들어, 대규모 언어 모델은, 사전 학습(pre-train)과 파인 튜닝(fine-tuning)이라는 두 가지 단계로 학습될 수 있다. 사전 학습은, 대규모 언어 모델이 방대한 양의 텍스트 데이터를 처리하고 일반적인 언어 지식을 습득하도록 하는 과정으로, 예를 들어, 텍스트 열(text sequence)의 이전 단어 열을 이용하여 다음 단어를 예측하도록 자기 지도 학습(self-supervised learning)을 포함할 수 있다. 파인 튜닝은 대규모 언어 모델이 특정 도메인(예: chatbot, 번역, 요약, Q&A)이나 작업에 적합하도록 훈련하는 과정으로, 사전 학습된 모델을 기반으로 도메인 목적에 맞는 데이터셋을 이용하여 추가적으로 지도 학습(또는 적응 학습)될 수 있다. 대규모 언어 모델은 프롬프트라는 자연어를 포함하는 텍스트 입력으로 작업을 수행할 수 있다. 예를 들어, 대규모 언어 모델은, BERT(bidirectional encoder representations from transformer), GPT(generative pre-trained transformer)를 포함할 수 있다. 'LLM'이라는 표현은 신경망 모델 자체를 참조할 수 있으나, LLM 기반의 어플리케이션(예: chatbot, 번역, 요약, 텍스트 분류, 문장 생성)의 모델을 의미할 수도 있다. 예를 들어, chatGPT와 같은 LLM 기반의 chatbot 또한 LLM으로 참조될 수 있다. 'LLM'은 또한 LLM 신경망 모델을 이용한 추론 엔진을 포함하는 것일 수도 있다. 예를 들어, "입력 프롬프트를 LLM에 입력한다"는 것은 "입력 프롬프트를 LLM에 기반한 추론 엔진에 입력한다"는 것으로 참조될 수 있다.”
일 실시예에 따른 인사이트 정보 생성 방법은 정확하고 개인화된 인사이트 정보를 생성하기 위한 입력 프롬프트의 구조와 입력 프롬프트를 획득하는 방법을 정의하였다. 입력 프롬프트의 구조 및 입력 프롬프트를 획득하는 방법은 아래에서 도 4를 참조하여 상세히 설명된다.
일 실시예에 따르면, 전자 장치(200)는 외부 전자 장치(260)로부터 전송된 데이터를 수집하고 기록할 수 있다. 전자 장치(200)는 이를 위한 응용 프로그램이 설치되거나 전자 장치(200)의 플랫폼에 동일 기능을 수행하는 해당 모듈이 통합될 수 있다. 응용 프로그램은 사용자에게 실질적인 서비스를 제공하는 헬스 앱 서비스 제공 모듈(220) 및 인사이트 정보 생성을 어떤 모델을 사용하여 생성시킬지를 선택할 수 있는 인공 신경망 모델 선택 모듈(230)을 포함할 수 있다.
일 실시예에 따르면, 헬스 앱 서비스 제공 모듈(220)은 외부 전자 장치(260)로부터 전송된 센서 데이터를 이용하여 사용자의 건강과 관련된 실질적인 서비스를 제공할 수 있다. 헬스 앱 서비스 제공 모듈(220)은 특정 헬스 지표를 계산하여 해당 정보를 사용자에게 다양한 방식으로 제공할 수 있고, 인사이트 정보를 생성할 수 있고, 인사이트 정보 생성에 필요한 입력 프롬프트 내 정의된 데이터를 쿼리하여 제공할 수 있고, 생성된 인사이트 정보를 사용자에게 표시하기 위한 동작을 제공할 수 있다. 헬스 앱 서비스 제공 모듈(220)의 구체적인 동작은 아래에서 도 3을 참조하여 상세히 설명된다.
일 실시예에 따르면, 인공 신경망 모델 선택 모듈(230)은 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 어느 하나를 입력 프롬프트의 입력으로 결정할 수 있다.
일 실시예에 따르면, 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281)은 인사이트 정보를 생성하도록 학습된 인공 신경망 모델일 수 있다. 예를 들어, 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281)은 입력 프롬프트를 입력 받아 인사이트 메시지를 생성하도록 학습된 언어 모델일 수 있다. 온-디바이스 인공 신경망 모델(250)은 별도의 서버 없이 전자 장치(200) 자체적으로 정보를 처리할 수 있는 모델로, 전자 장치(200)가 네트워크에 연결되어 있지 않을 때도 언제든지 사용할 수 있다. 온-디바이스 인공 신경망 모델(250)은 전자 장치(200) 내 응용 프로그램으로 동작될 수 있으며, 인공 신경망 모델 선택 모듈(230)을 통해 전달된 헬스 앱 서비스를 위한 입력 프롬프트를 이용하여 외부의 다른 모듈이나 인공 신경망 모델의 연계 없이 인사이트 정보를 생성할 수 있다. 온-디바이스 인공 신경망 모델(250)을 포함하는 응용 프로그램은 메타 데이터를 포함할 수 있으며 이를 통해 지원 언어, 지원 기능을 메시지 생성을 요청하는 측에 지원 정보로 제공할 수 있다. 온-디바이스 인공 신경망 모델은 보다 세부화된 도메인 또는 서비스에 적합하도록 모델은 미세 조정(Fine-tuning)될 수 있다.
일 실시예에 따르면, 전자 장치(200)는 근거리 무선 통신(예: 와이파이) 또는 이동 통신(예: 4G, 5G)을 이용하여 인공 신경망 모델 서버(280)와 연결될 수 있다. 인공 신경망 모델 서버(280)는 서버 기반 인공 신경망 모델(281)을 포함할 수 있다. 서버 기반 인공 신경망 모델(281)은 클라우드 기반 인공 신경망 모델로 지칭될 수 있고, 온-디바이스 인공 신경망 모델(250)보다 더 큰 파라미터 수를 가지는 언어 모델을 이용하여 인사이트 정보를 생성할 수 있다. 예를 들어, 온-디바이스 인공 신경망 모델(250)은 소규모 언어 모델(small language model; SML)일 수 있고, 서버 기반 인공 신경망 모델(281)은 대규모 언어 모델일 수 있다. 그러나, 위 예시는 온-디바이스 인공 신경망 모델(250)은 서버 기반 인공 신경망 모델(281) 보다 더 작은 파라미터 수를 가질 수 있다는 의미로, 온-디바이스 인공 신경망 모델(250) 역시 대규모 언어 모델로 구성될 수 있다.
일 실시예에 따르면, 인공 신경망 모델 선택 모듈(230)은 하나의 중계 모듈로 동작하며 헬스 앱 서비스 제공 모듈(220)이 인사이트 정보를 생성할 때, 서버 기반 인공 신경망 모델(281) 또는 온-디바이스 인공 신경망 모델(250)이 선택될 수 있도록 한다. 인공 신경망 모델 선택 모듈(230)은 다양한 메시지 생성 기능을 정의하여 선택 기능을 포함시킬 수 있으며 이에 따라 하나의 앱 서비스가 다른 형식이나 기능의 인사이트 정보를 인공 신경망 모델을 통하여 생성될 수 있도록 할 수 있다.
일 실시예에 따르면, 외부 전자 장치(260)는 센서(들)(264)를 통해 다양한 헬스 관련 센서 데이터를 측정할 수 있다. 센서 데이터는 걸음수, 심박수, 체온, 운동, 산소 포화도가 포함되며 이들은 목적에 맞는 센서(들)(264)를 통하여 측정될 수 있다. 외부 전자 장치(260)는 상시로 사용자의 생체 정보 및 활동 정보를 획득하고, 이를 토대로 다양한 건강 지표를 생성할 수 있다. 건강 지표는 사용자의 건강 상태를 나타낼 수 있는 지표로, 센서 데이터 그 자체가 건강 지표가 될 수도 있고, 센서 데이터를 가공하여 획득될 수도 있다. 센서 데이터의 가공 횟수에 따라 해당 건강 지표의 차수를 결정할 수 있다. 예를 들어, 센서 데이터 그 자체가 건강 지표가 될 경우 해당 건강 지표를 1차 지표로 정의할 수 있고, 센서 데이터를 1회 가공하여 건강 지표를 획득할 경우 해당 건강 지표를 2차 지표로 정의할 수 있다.
일 실시예에 따르면, 센서(들)(264)는 생체 센서, 전극 센서, 관성 센서, 위치 센서를 포함할 수 있다. 그러나, 센서(들)(264)은 전술한 예시로 한정되지 않는다.
일 실시예에 따르면, 생체 센서는 사용자의 생리학적 신호를 감지하는 센서이다. 대표적으로 생체에 빛을 조사하여 흡수, 산란, 반사되는 빛을 수광하는 광학식 센서를 사용할 수 있다. 이 때 생체에 지정된 대역의 광을 쏘고, 피부조직, 세포, 혈관, 단백질, DNA(deoxyribo nucleic acid), 대사물질과 같은 다양한 것을 검출할 수 있다. 일례로 생체 센서는 생체 내 혈관에 빛을 조사하여 흡수, 산란, 반사되는 빛을 수광하여 측정하는 PPG(photoplethysmogram) 센서를 포함할 수 있다. 이 외에도 생체 센서는 다양한 바이오마커 정보에 대한 광을 수광할 수 있다. 생체 센서를 통해 획득할 수 있는 센서 데이터는 심박(HR, heart rate), 심박변이도(HRV, heart rate variability), 스트레스(stress), 산소 포화도(SpO2), 호흡(respiration), 혈압(blood pressure)을 포함할 수 있다. 그러나, 생체 센서를 통해 획득할 수 있는 센서 데이터는 전술한 예시로 한정되지 않는다. 생체 센서를 통해 획득한 센서 데이터를 긴 기간 동안의 추세를 보거나, 특정 상황에서의 값을 이용하여 건강 지표를 획득할 수 있다. 예를 들어, 생체 센서의 센서 데이터에 기초하여 휴식 중 심박수(resting HR), 수면 중 심박수(sleep HR), 활동 중 심박수(active HR), 수면 중 심박변이도(sleep HRV), 스트레스 회복력과 같은 건강 지표를 획득할 수 있다. 나아가, 심박수, 심박변이도와 같은 여러 지표를 종합하여 수면점수(sleep score)(사용자가 좋은 수면을 취했는지를 판단하는 지표), 활력점수(energy score)(하루 중 어느 정도로 활동할 수 있을지를 판단하는 지표), 활동점수(activity score)(사용자가 적절한 활동을 했는지 판단하는 지표)와 같이 2차, 3차의 지표를 획득할 수 있다. 그리고, 산소 포화도, 호흡과 같은 수면과 관련성이 높은 지표는 수면과 관련된 수면점수뿐만 아니라 수면 무호흡과 같이 고정밀한 임상을 요구하는 지표에도 활용될 수 있다. 이외에도, 기계학습(machine learning)을 이용하여 여러 센서 데이터와 여러 현상을 연관성이 정의될 수 있고, 다양한 지표들이 생성될 수 있다.
일 실시예에 따르면, 생체 센서로 측정할 수 있는 다양한 지표가 있지만, 같은 지표(HR, HRV, SpO2, 쪋)라고 하더라도, 깨어있을 때와 수면 중 발생하는 값은 그 의미가 다를 수 있다. 예를 들어, 깨어있을 때의 심박수는 운동과 관련이 크지만, 수면 중 심박수는 취침 전 취식여부와 관련이 있을 수 있다. 깨어있을 때의 심박 변이도는 스트레스와 관련이 있지만, 수면 중 심박 변이도는 회복과 관련이 있을 수 있다. 그래서, 수면 중의 생체 데이터는 사용자를 이해하는데 다양하게 활용될 수 있다. 수면과 관련해서 활용되는 다양한 건강 지표로는 입면시간, 기상시간, 수면시간, 수면단계(light sleep, deep sleep, REM(rapid eye movement)), 수면사이클(REM수면 반복), 수면 심박수/심박변이도/체온(피부온도)/혈압, 산소 포화도, 수면효율(수면 뒤척임 정도), 호흡률, 코골이, 규칙성(regularity)(일정한 시간에 수면에 드는지 여부), 수면지속성(수면 중 깨는지 여부), 낮잠여부를 포함할 수 있다. 그러나, 수면과 관련된 건강 지표는 전술한 예시로 한정되지 않는다.
일 실시예에 따르면, 전극 센서는 여러 전극을 통해 생체와 접촉하여 전기적 신호를 감지하거나, 임피던스를 측정할 수 있다. 전극 센서는 몸에서 발생하는 전기적 신호를 감지할 수 있다. 예를 들어, 전극 센서는 심장에 부착되어 ECG(electrocardiogram) 신호를 감지할 수 있고, 뇌에 부착되어 EEG(electro encephalo graphy) 신호를 감지할 수 있고, 근육에 부착되어 EMG(electromyography) 신호를 감지할 수 있고, 눈에 부착되어 EOG(electrooculography) 신호를 감지할 수 있다. 나아가, 전극 센서는 BIA(body impedance analysis)를 통해 체성분을 검출할 수 있다.
일 실시예에 따르면, 온도 센서는 생체 또는 부품의 온도를 측정하는 센서로, 방식에 따라 접촉식, 비접촉식이 있다. 측정된 온도값은 메모리(262)에 저장되거나, 프로세서(261)에 전달되어 체온을 추정하는데 활용될 수 있다. 온도 센서를 상시 모니터링하면, 피부 온도의 갑작스런 상승을 감지할 수 있고, 이를 통해 감기와 같은 다양한 질병의 전조를 감지할 수 있다. 나아가, 수면 중 온도 센서를 감지하면 여성의 경우 생리 주기를 추정하는데 지표로서 활용될 수 있다.
일 실시예에 따르면, 관성 센서는 관성을 감지하는 센서로, 예를 들어, 가속도 센서, 자이로스코프(gyroscope)를 포함할 수 있다. 관성 센서는 3축의 가속도 센서로만 구성될 수도 있고, 혹은 3축의 가속도 센서와 3축의 자이로스코프의 총6축의 센서로 구성될 수도 있다. 관성 센서는 기기의 모션, 제스처, 충격, 자세, 활동(sedentary, moving, sports)을 센싱할 수 있다. 관성 센서를 이용하면 외부 전자 장치(260)에서 사용자의 활동과 운동을 감지할 수 있다. 관성 센서를 통해 획득할 수 있는 대표적인 건강 지표는 걸음 수(step count)이다. 걸음에도 걷기와 달리기를 충격량이나 걸음주파수를 통해 구분 지을 수 있으며, 걸음 지속시간에 따라 건강한 걸음(healthy step)을 판단할 수 있다. 이를 통해 활동 점수 산정에 생체 센서와 함께 활용될 수 있다. 관성 센서는 걷기, 달리기와 같은 운동을 자동으로 감지할 수 있으며, 일립티컬(elliptical)처럼 특정 자세가 반복되는 운동을 감지할 수 있다. 뿐만 아니라 스쿼트처럼 반복하는 운동을 관성센서를 이용해 카운트를 할 수 있다. 관성 센서와 생체 센서를 조합 시 다양한 지표를 생성할 수 있다. 예를 들어, 휴식 중 심박수(resting HR)는 움직임이 없는 조건에서의 심박수로, 움직임 여부는 관성센서로 판단하고, 심박은 생체센서로 측정하여, 이 조건에서의 심박수 값을 저장한 후, 하루 중 특정 시간이나 가장 낮은 값을 대표 휴식 중 심박수로 지정할 수 있다. 뿐만 아니라 활동이나 운동 중 생성되는 칼로리 소비(calorie burning)도 이들 조합으로 추정할 수 있고, 관성 센서를 통한 운동과의 관련성으로 높은 심박수(high HR)를 걸러낼 수 있다.
일 실시예에 따르면, 위치 센서를 통해 사용자의 이동 위치를 계산할 수 있다. 운동 중 위치 센서를 활용하면 이동 중 속도를 측정할 수 있고, 관성센서, 생체 센서와 조합하여 좌우 밸런스, 신체의 굴곡(undulation), 지면착지시간(ground contact time), 공중시간(fly time)을 알 수 있다. 그리고, 달리는 상황에서의 심박 정보를 조합해 사용자의 운동가능능력인 최대 산소 섭취량(VO2 max)를 측정할 수 있다.
도 3은 일 실시예에 따른 헬스 앱 서비스 제공 모듈의 블록도이다.
도 3을 참조하면, 일 실시예에 따르면, 헬스 앱 서비스 제공 모듈(220)은 인사이트 표시 모듈(310), 헬스 트래킹 서비스 제공 모듈(320), 인사이트 정보 생성 모듈(330) 및 서비스 데이터 제공 모듈(340)을 포함할 수 있다. 헬스 트래킹 서비스 제공 모듈(320)은 외부 전자 장치(예: 도 2의 외부 전자 장치(260))로부터 전송된 센서 데이터를 이용하여 특정 건강 지표를 계산하여 해당 정보를 사용자에게 다양한 방식으로 제공할 수 있다. 인사이트 정보 생성 모듈(330)은 인사이트 정보를 생성할 수 있고, 인사이트 정보 생성 모듈(330)은 인사이트 정보 생성 프레임워크로 지칭될 수도 있다. 서비스 데이터 제공 모듈(340)은 인사이트 정보 생성에 필요한 입력 프롬프트 내 정의된 데이터를 쿼리하여 제공할 수 있다. 인사이트 표시 모듈(310)은 생성된 인사이트 메시지를 사용자에게 표시하기 위한 동작을 수행할 수 있다.
일 실시예에 따르면, 인사이트 정보 생성 모듈(330)은 조건에 맞는 인공 신경망 모델(예: 도 2의 온-디바이스 인공 신경망 모델(250) 또는 서버 기반 인공 신경망 모델(281))을 통한 인사이트 정보를 생성하기 위해 필요한 구성 요소들을 포함한다. 보다 구체적으로, 인사이트 정보 생성 모듈(330)은 프롬프트 매니저(331), 프롬프트 생성 모듈(332), 응답 검증 모듈(333)을 포함할 수 있다.
일 실시예에 따르면, 프롬프트 매니저(331)는 미리 정의된 프롬프트의 구조에 맞게 입력 프롬프트 구성 요소들을 조합하는 역할을 수행한다. 입력 프롬프트는 공통 프롬프트와 데이터 프롬프트를 포함할 수 있다. 공통 프롬프트에는 특정 건강 지표에 관련된 지식 정보와 어떤 형태와 어떤 길이로 메시지가 생성될 지에 대한 메시지 생성 관련 지시사항 그리고 메시지 생성 시 주의사항이 포함될 수 있다. 데이터 프롬프트는 메시지 생성을 위한 사용자 데이터와 부가 정보로 구성될 수 있다. 보다 구체적으로, 데이터 프롬프트는 데이터의 파라미터 이름들과 관련 실제 데이터들로 구성되며 데이터 파라미터는 외부 전자 장치의 센서들(예: 도 2의 센서(들)(264))과 헬스 앱 서비스 내 지원 헬스 관련 요소가 될 수 있다. 실제 데이터는 숫자 값, 특정 기준 기반의 등급 정보 및 그 외 다양한 정보로 맵핑될 수 있다. 각 파라미터 정보는 다국어 지원을 위해 다국어에 해당되는 단어나 문장이 병기되거나 부연 설명 자료로 추가될 수 있다. 공통 프롬프트는 파운데이션(foundation) 인공 신경망의 서비스 및 구현 형태에(예: 서버 기반 인공 신경망(예: 도 2의 서버 기반 인공 신경망(281) 또는 온-디바이스 인공 신경망(예: 도 2의 온-디바이스 인공 신경망(250)) 따라 포함된 컨텐츠의 양과 길이가 조절될 수 있으며 최종 서비스와 인공 신경망 모델의 기본 성능에 따라 서로 다른 버전으로 적용될 수 있다.
일 실시예에 따르면, 프롬프트 생성 모듈(332)은 프롬프트 내에 포함된 사용자 상태 데이터를 맵핑 시키기 위해 전자 장치 내부(예: 도 2의 메모리(240)) 또는 외부 환경(예: 전자 장치와 상호 작용(interaction)할 수 있는 외부 장치)에 저장된 사용자 건강 데이터를 획득할 수 있고, 획득한 건강 데이터를 아직 데이터가 입력되지 않은 프롬프트에 맵핑(mapping)시켜 인사이트 정보 생성을 위한 지식 정보 및 세부 지시사항 그리고 실제 사용자 헬스 데이터를 통합하여 완전한 형태의 입력 프롬프트를 생성할 수 있다. 프롬프트 생성 모듈(332)은 파라미터 추출기(parameter getter)로 지칭될 수 있다.
일 실시예에 따르면, 응답 검증 모듈(333)은 인사이트 정보를 파싱(Parsing)하여 경우에 따라 응답 내용 차단(blocking) 또는 필터링(filtering) 할 수 있는 기능을 제공할 수 있다. 나아가, 인공 신경망 모델에 기반한 검증기가 응답 검증 모듈(333)에 포함될 수 있다. 생성된 인사이트 정보를 인공 신경망 모델을 통해 내용과 형식의 이상유무를 검사하고 이상 발생 시 새로운 인사이트 정보를 인공 신경망 모델(예: 도 2의 서버 기반 인공 신경망(281) 또는 온-디바이스 인공 신경망(예: 도 2의 온-디바이스 인공 신경망(250))을 통해 재생성하거나 차단/필터링 할 수 있다. 인사이트 정보를 검증하는 방법은 아래에서 도 5를 참조하여 상세히 설명된다.
일 실시예에 따르면, 메시지 관리 서버(270)는 인사이트 정보가 생성되는 조건에 해당하는 고유 아이디를 인사이트 정보 생성 모듈(330)에 전달하여 해당 조건에 맞는 인사이트 정보가 생성되도록 정보를 제공할 수 있다. 아래에서 상세히 설명하겠지만, 전자 장치는 인사이트 정보 발생 조건의 충족 여부를 탐색하고, 인사이트 정보 발생 조건이 충족되었다는 판단에 기초하여 인사이트 정보를 생성할 수 있다. 이 때, 입력 프롬프트는 인사이트 정보 발생 조건 별로 존재할 수 있고, 메시지 관리 서버(270)는 인사이트 정보가 생성되는 조건에 따라 입력 프롬프트에 고유 아이디(ID)를 부여할 수 있다. 예를 들어, 제1 인사이트 정보가 생성되는 조건에 해당하는 입력 프롬프트는 제1 입력 프롬프트로 정의될 수 있고, 마찬가지 방법에 따라 제n(n은 자연수) 인사이트 정보가 생성되는 조건에 해당하는 입력 프롬프트는 제n 입력 프롬프트로 정의될 수 있다.
일 실시예에 따르면, 메시지 관리 서버(270)는 프롬프트 업데이터(271)를 통해 인사이트 정보 생성 모듈(330)에 내장된 입력 프롬프트 및 입력 프롬프트의 구성 정보를 업데이트 할 수 있는 정보를 생성할 수 있다. 예를 들어, 프롬프트 업데이터(271)는 전자 장치에서 생성된 인사이트 정보들을 검토하여 인사이트 정보 생성에 도움이 되지 않는다고 판단되는 센서 데이터 또는 건강 지표를 입력 프롬프트에서 제거하기 위한 정보를 생성하여 인사이트 정보 생성 모듈(330)에 전달할 수 있다. 또는, 프롬프트 업데이터(271)는 전자 장치에서 생성된 인사이트 정보들을 검토하여 할루시네이션이 발생되는 원인을 검출할 수 있고, 해당 원인을 제거하기 위한 정보를 생성하여 인사이트 정보 생성 모듈(330)에 전달할 수 있다. 인사이트 정보 생성 모듈(330)은 해당 정보를 수신하여 프롬프트를 업데이트할 수 있다. 프롬프트를 업데이트하는 동작은 위 예시로 한정되지 않고, 다양한 상황에서 프롬프트가 업데이트될 수 있다. 전자 장치는 메시지 관리 서버(270)의 프롬프트 업데이터(271)를 통해 입력 프롬프트를 업데이트하기 때문에, 헬스 앱 서비스 자체의 업데이트 및 재발행 없이 메시지 생성 관련 구성 요소를 변경 및 추가할 수 있다. 프롬프트 업데이터(271)를 사용하여 상황이나 서비스 형태, 사용자 보유 기기 형태에 따라 능동적으로 시스템의 기본 프롬프트를 동적으로 업데이트 하기 되면 서비스의 종류, 사용자의 기호, 사용자가 보유한 기기에 따라 다양한 인사이트 정보가 통합적으로 또는 개별적으로 사용자에게 제공될 수 있다.
도 4는 일 실시예에 따른 입력 프롬프트의 구조를 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시예에 따른 공통 프롬프트(410)와 데이터 프롬프트(420)는 구조화된 형식으로 통합되어 하나의 입력 프롬프트(400)로 만들어질 수 있다. 인사이트 정보 생성 모듈(330)에서 인사이트 정보 생성 조건을 만족하면 프롬프트 매니저(331)와 프롬프트 생성 모듈(332)에 의해 하나의 입력 프롬프트(400)가 생성되며, 입력 프롬프트(400)는 인공 신경망 모델 선택 모듈(230)로 전달될 수 있다. 인공 신경망 모델 선택 모듈(230)의 선택에 따라, 입력 프롬프트(400)는 온-디바이스 인공 신경망 모델(250) 또는 서버 기반 인공 신경망 모델(281)로 입력되어, 입력 프롬프트(400)에 대응하는 인사이트 정보가 생성될 수 있다.
일 실시예에 따르면, 공통 프롬프트(410)는 사용자에게 제공될 서비스에 포함될 각종 지식 정보(411)를 포함할 수 있다. 지식 정보(411)는 건강 지표에 관련된 정보로, 지식 기반 정보, 건강 지식(health knowledge) 정보로 지칭될 수 있다. 예를 들어, 지식 정보(411)는 "[Step count] Step count is considered a measure of daily light intensity physical쪋", "[Rest]: Also known as "recovery". Defined as building up energy쪋", "[Stress Level]: Refer to the level of mental or physical쪋"과 같이 건강 지표에 대한 정의를 포함할 수 있다. 다만, 지식 정보(411)는 위 예시에 한정되지 않고 사용자에게 제공될 서비스에 포함될 각종 정보를 포함할 수 있다.
일 실시예에 따르면, 공통 프롬프트(410)는 인공 신경망 모델(예: 도 2의 서버 기반 인공 신경망(281) 또는 온-디바이스 인공 신경망(예: 도 2의 온-디바이스 인공 신경망(250))이 어떤 역할을 기반으로 인사이트 정보를 생성할 지에 대해 정의된 역할(role) 정보(412)를 포함할 수 있다. 예를 들어, 역할 정보(412)는 "[ROLE DETAILS]:You are a native English speaker, so쪋", [ROLE DETAILS] You are a professional health and wellness coach쪋"와 같이 인공 신경망 모델(예: 도 2의 서버 기반 인공 신경망(281) 또는 온-디바이스 인공 신경망(예: 도 2의 온-디바이스 인공 신경망(250))이 인사이트 정보를 생성할 때 정의된 역할에 대한 정보를 포함할 수 있다. 다만, 역할 정보(412)는 위 예시에 한정되지 않고, 인사이트 정보를 생성할 때 정의될 수 있는 각종 역할에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 공통 프롬프트(410)는 인사이트 정보의 정확성과 할루시네이션(hallucination) 수준을 낮추기 위한 방법에 대해 정의된 메시지 생성 방법 정보(413)를 포함할 수 있다. 메시지 생성 방법 정보(413)는 어프로치(approach) 정보로 지칭될 수 있다. 예를 들어, 메시지 생성 방법 정보(413)는 "[INPUT DESCRIPTION]: The "user status" section offers insights about쪋", [TASK OVERVIEW]: Tou will write a paragraph with a brief health coaching message쪋"와 같이 메시지 생성 방법에 대한 정의를 포함할 수 있다. 다만, 메시지 생성 방법 정보(413)는 위 예시에 한정되지 않고, 인사이트 정보의 정확성과 할루시네이션 수준을 낮추기 위한 각종 방법에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 공통 프롬프트(410)는 인사이트 정보의 형태와 구성이 정의된 모델 출력 형식 정보(414)를 포함할 수 있다. 모델 출력 형식 정보(414)는 출력 템플릿(output template) 또는 출력 예제(output example)로 지칭될 수 있다.
일 실시예에 따르면, 공통 프롬프트(410)는 인사이트 정보의 생성 규칙이 정의된 모델 출력 규칙 정보(415)를 포함할 수 있다. 모델 출력 규칙 정보(415)는 출력 메시지의 형태와 구성, 글자수가 구체적으로 정의된 모델 출력 규칙(Output rules)을 포함할 수 있다. 예를 들어, 모델 출력 규칙 정보(415)는 "[Output Rule]: Write a message in English language쪋", "[Output Rule]: Do not refer to information쪋"과 같이 인사이트 정보의 생성 규칙을 포함할 수 있다. 다만, 모델 출력 규칙 정보(415)는 위 예시에 한정되지 않고, 각종 모델 출력 규칙에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 데이터 프롬프트(420)는 사용자의 상태(user status)에 대해 정의된 사용자 상태 정보(421)를 포함할 수 있다. 사용자 상태 정보(421)는 현재 인사이트 정보 발생 조건과 일치하는 사용자 상태를 나타내는 문장을 포함시킴으로써 인공 신경망 모델(예: 도 2의 서버 기반 인공 신경망(281) 또는 온-디바이스 인공 신경망(예: 도 2의 온-디바이스 인공 신경망(250))이 인사이트 정보 생성 시 기반 정보로 활용할 수 있게끔 하며 할루시네이션을 억제하는 정보로 활용될 수 있다. 예를 들어, 사용자 상태 정보(421)는 "You're doing a good job maintaining your health on쪋"과 같이 사용자의 상태에 텍스트 기반으로 정의된 정보를 포함할 수 있다. 다만, 사용자 상태 정보(421)는 위 예시에 한정되지 않고, 각종 사용자 상태에 대한 정의를 포함할 수 있다.
일 실시예에 따르면, 데이터 프롬프트(420)는 사용자에 대한 센서 데이터를 포함하는 사용자 상태 데이터로 구성된 사용자 데이터 정보(422)를 포함할 수 있다. 사용자 데이터 정보(422)는 사용자 상태 정보(421)와 가장 연관성이 높은 상태 데이터를 포함시킴으로써 메시지 발생 시 사용자 상태 정보(421)를 뒷받침할 수 있는 구체적인 자료로 활용될 수 있다. 예를 들어, 사용자 데이터 정보(422)는 "Sleep time: 9hours 30minutes"와 같이 센서 데이터를 통해 획득한 사용자의 생체 데이터를 포함할 수 있다. 다만, 사용자 데이터 정보(422)는 위 예시에 한정되지 않고, 각종 사용자의 상태 데이터를 포함할 수 있다.
일 실시예에 따르면, 데이터 프롬프트(420)는 사용자 데이터 정보(422)에 포함되지 않지만 현재 상태에서 고려할 수 있는 사용자에 대한 데이터로 구성된 사용자 추가 데이터(additional data) 정보(423)를 포함할 수 있다. 사용자 추가 데이터 정보(423)는 현재의 사용자 상태 정보(421) 및 사용자 데이터 정보(422)와 함께 사용자에게 추가적인 사용자 헬스 정보를 제공하여 개인화된(personalized) 메시지 생성을 위한 자료로 활용될 수 있다. 예를 들어, 사용자 추가 데이터 정보(423)는 "[Additional data]: Average step count: 5500 steps"와 같은 현재 상태에서 고려할 수 있는 부가적인 사용자에 대한 상태 데이터를 포함할 수 있다. 다만, 사용자 추가 데이터 정보(423)는 위 예시에 한정되지 않고, 현재 상태에서 고려할 수 있는 각종 부가적인 사용자에 대한 상태 데이터를 포함할 수 있다.
도 5는 일 실시예에 따른 인사이트 정보를 검증하는 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 일 실시예에 따른 응답 검증 모듈(333)은 생성된 인사이트 정보에 포함된 컨텐츠를 파싱과 같은 방법을 통해 확인하고, 문제가 되는 응답 내용에 대해 차단 및 필터링을 수행할 수 있다. 응답 검증 모듈(333)은 검증 프롬프트 생성 모듈(510)을 포함할 수 있다.
일 실시예에 따르면, 프롬프트 생성 모듈(332)은 입력 프롬프트(501)(예: 도 4의 입력 프롬프트(400))를 생성할 수 있다. 입력 프롬프트(501)는 인공 신경망 모델(520)(예: 도 2의 서버 기반 인공 신경망(281) 또는 온-디바이스 인공 신경망(예: 도 2의 온-디바이스 인공 신경망(250))에 입력될 수 있고, 인공 신경망 모델(520)은 입력 프롬프트(501)에 대응되는 인사이트 정보(502)를 생성할 수 있다. 인사이트 정보(502)는 아직 검증이 완료되지 않은 인사이트 정보로, 최종 인사이트 정보(506)와 구분하기 위하여 1차 인사이트 정보로 지칭될 수 있다.
일 실시예에 따르면, 인사이트 정보(502)는 응답 검증 모듈(333)의 검증 프롬프트 생성 모듈(510)에 입력될 수 있다. 검증 프롬프트 생성 모듈(510)은 인사이트 정보(502)와 함께 검증을 위한 검증 용 입력 프롬프트(503)를 생성하는 모듈일 수 있다. 검증 프롬프트 생성 모듈(510)은 기계학습에 기초하여 학습된 인공 신경망 모델일 수 있다. 검증 용 입력 프롬프트(503)는 검증 인공 신경망 모델(530)에게 입력 프롬프트(501)의 검증 여부를 지시하기 위한 프롬프트로, 검증 타겟인 인사이트 정보(502)와 검증 프롬프트 생성 모듈(510)에서 생성된 검증 인스트럭션을 포함할 수 있다. 예를 들어, 검증 용 입력 프롬프트(503)는 "입력 프롬프트(501)를 A 방법으로 검증하라"와 같이 검증 타겟과 검증 인스트럭션으로 구성될 수 있다. 검증 용 입력 프롬프트(503)는 위 예시에 한정되지 않고, 다양한 검증 인스트럭션을 포함할 수 있다.
일 실시예에 따르면, 검증 용 입력 프롬프트(503)는 검증 인공 신경망 모델(530)에 입력될 수 있다. 검증 인공 신경망 모델(530)은 대규모 언어 모델일 수 있다. 검증 인공 신경망 모델(530)은 인사이트 정보(502) 생성 시 사용한 인공 신경망 모델(520)과 동일한 인공 신경망 모델일 수 있고, 또는, 인공 신경망 모델(520)과 상이한 인공 신경망 모델일 수 있다. 예를 들어, 검증 인공 신경망 모델(530)은 사용한 인공 신경망 모델(520) 보다 파라미터 규모가 크거나 이기종의 대규모 언어 모델일 수 있다. 검증 인공 신경망 모델(530)은 인사이트 정보(502)에 포함된 컨텐츠를 점검하고 필요시 차단, 필터링과 같은 검증 후속 작업을 수행할 수 있고, 이를 포함하는 검증 결과 정보(504)를 출력할 수 있다. 예를 들어, 검증 인공 신경망 모델(530)은 복수의 항목들에 대하여 인사이트 정보(502)를 검증할 수 있고, 각각의 항목에 대하여 검증 점수가 출력될 수 있다. 각각의 항목은 각각의 항목에 대한 검증 점수를 임계값을 기준으로 검증 통과 여부가 결정될 수 있다. 검증 인공 신경망 모델(530)은 검증을 통과하지 못한 항목에 대해서 해당 문제를 해결하기 위한 분석 정보를 추가로 생성할 수 있다. 예를 들어, 인사이트 정보(502)가 할루시네이션 검증 항목을 통과하지 못했을 경우, 검증 인공 신경망 모델(530)은 할루시네이션 분석 정보를 생성할 수 있다. 검증 결과 정보(504)는 검증 점수, 검증 통과 여부 및 분석 정보 중 하나 이상을 포함할 수 있다. 그러나, 검증 결과 정보(504)는 상술한 예시로 한정되지 않고, 다양한 구성을 포함할 수 있다.
일 실시예에 따르면, 검증 결과 정보(504)와 입력 프롬프트(501)에 기초하여 최종 입력 프롬프트(505)가 생성될 수 있다. 최종 입력 프롬프트(505)는 인공 신경망 모델(520)에 입력될 수 있고, 인공 신경망 모델(520)은 최종 입력 프롬프트(505)에 대응하는 최종 인사이트 정보(506)를 생성할 수 있다. 최종 입력 프롬프트(505)에는 검증 결과 정보(504)가 포함되어 있기 때문에, 인공 신경망 모델(520)은 인사이트 정보(502)에서 문제가 되는 응답 내용에 대해 차단 및 필터링이 수행된 최종 인사이트 정보(506)를 생성할 수 있다. 최종 인사이트 정보(506)는 인사이트 정보(502)와 구분하기 위하여 2차 인사이트 정보로 지칭될 수 있다.
도 6은 일 실시예에 따른 인사이트 정보 생성 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 일 실시예에 따르면, 동작 610 및 동작 660은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작(610 및 660)의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 설명의 편의를 위해, 동작들(610 내지 660)은 도 2에 도시된 전자 장치(200)를 사용하여 수행되는 것으로 기술된다. 그러나 이 동작들(610 내지 660)은 어떤 다른 적절한 전자 기기를 통해, 그리고 어떤 적절한 시스템 내에서도 사용될 수 있을 것이다. 일 실시 예에 따르면, 동작들(610 내지 660)은 전자 장치(예: 도 2의 전자 장치(200))의 프로세서(예: 도 2의 프로세서(210))에서 수행되는 것으로 이해될 수 있다.
동작 610에서, 일 실시 예에 따르면, 전자 장치(200)는 외부 전자 장치(예: 도 2의 외부 전자 장치(260))로부터 외부 전자 장치의 사용자에 대한 센서 데이터를 수신할 수 있다.
동작 620에서, 일 실시예에 따르면, 전자 장치(200)는 인사이트 정보 발생 조건의 충족 여부를 탐색할 수 있다. 전자 장치(200)는 특정 인사이트 정보 발생 조건 체크 프로세스를 지속적으로 수행할 수 있다.
동작 630에서, 일 실시예에 따르면, 전자 장치(200)는 인사이트 정보 발생 조건이 충족되었다는 판단에 기초하여, 인사이트 정보 발생 조건에 대응하는 고유 아이디를 획득할 수 있다. 프롬프트 매니저(예: 도 3의 프롬프트 매니저(331))는 특정 인사이트 정보 발생 조건이 트리거링되면 해당되는 해당 발생 조건에 대응하는 고유 아이디를 획득할 수 있다.
동작 640에서, 일 실시예에 따르면, 전자 장치(200)는 고유 아이디에 대응하는 공통 프롬프트(예: 도 4의 공통 프롬프트(410))를 획득할 수 있다. 프롬프트 매니저는 적절한 인사이트 정보를 생성하기 위한 구조화된 프롬프트인 공통 프롬프트를 생성할 수 있다.
동작 650에서, 일 실시예에 따르면, 전자 장치(200)는 센서 데이터에 기초하여, 고유 아이디에 대응하는 데이터 프롬프트(예: 도 4의 데이터 프롬프트(420))를 획득하여 입력 프롬프트(예: 도 4의 입력 프롬프트(400))를 생성할 수 있다. 프롬프트 생성 모듈(예: 도 3의 프롬프트 생성 모듈(332))은 입력 프롬프트의 구성에 필요한 데이터를 확보하고, 입력 프롬프트를 생성할 수 있다.
일 실시예에 따르면, 공통 프롬프트(410)와 데이터 프롬프트(420)로 구성된 입력 프롬프트(400)는 어떤 인공 신경망 모델(예: 도 2의 온-디바이스 인공 신경망 모델(250) 또는 서버 기반 인공 신경망 모델(281))로 전달되는가에 따라 입력 프롬프트의 내용과 구성이 달라질 수 있다. 예를 들어, 입력 프롬프트의 내용과 구성은 인공 신경망 모델(예: 도 2의 온-디바이스 인공 신경망 모델(250) 또는 서버 기반 인공 신경망 모델(281))의 입력 토큰(token) 가용 범위와 파운데이션 모델 성능에 따라 구분되어 적용될 수 있다. 예를 들어, 온-디바이스 인공 신경망 모델(250) 용 입력 프롬프트(400)는 매우 간단한 출력 메시지 요구사항과 데이터 프롬프트만으로 구성될 수 있다.
일 실시예에 따르면, 인공 신경망 모델 선택 모듈(230)은 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 하나를 선택할 수 있다. 전자 장치(200)는 선택된 인공 신경망 모델에 기초하여, 입력 프롬프트(400)를 가공할 수 있다. 인공 신경망 모델 선택 모듈(230)이 온-디바이스 인공 신경망 모델(250)을 선택했을 경우, 전자 장치(200)는 온-디바이스 인공 신경망 모델(250)의 입력 토큰 가용 범위를 고려하여 입력 프롬프트(400)를 구성하는 파라미터 수를 줄일 수 있다. 예를 들어, 입력 프롬프트(400)에서 지식 정보(411)가 차지하는 비중이 가장 클 수 있다. 이 때 전자 장치(200)는 지식 정보(411)를 입력 프롬프트(400)에서 삭제하여 입력 프롬프트(400)의 크기를 줄일 수 있다. 인공 신경망 모델 선택 모듈(230)이 서버 기반 인공 신경망 모델(281)을 선택했을 경우, 전자 장치(200)는 입력 프롬프트(400)를 그대로 서버 기반 인공 신경망 모델(281)에 입력할 수 있다. 그러나, 입력 프롬프트(400)를 가공하는 방법은 위 예시로 한정되지 않는다.
일 실시예에 따르면, 인공 신경망 모델 선택 모듈(230)은 사용자의 선택에 의해 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 하나를 입력 프롬프트(400)의 입력으로 선택할 수 있다. 예를 들어, 전자 장치(200)는 헬스 앱 초기 설정 단계에서 사용자에게 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 어느 모델을 사용할지에 대한 선택을 입력 받을 수 있다. 전자 장치(200)는 사용자에게, 온-디바이스 인공 신경망 모델(250)은 정확도가 떨어질 수 있으나 개인 정보를 서버로 보내지 않아도 된다는 취지의 안내 문구를, 서버 기반 인공 신경망 모델(281)은 개인 정보를 서버로 보내야 하나 보다 정확한 인사이트 정보를 받을 수 있다는 취지의 안내 문구를 제공할 수 있다.
다른 실시예에 따르면, 인공 신경망 모델 선택 모듈(230)은 인사이트 정보 발생 조건의 중요도에 따라, 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 하나를 입력 프롬프트(400)의 입력으로 선택할 수 있다. 예를 들어, 인사이트 정보 발생 조건의 중요도가 임계값보다 클 경우(예: 수면 중 심박수가 임계값 이하로 떨어짐), 인공 신경망 모델 선택 모듈(230)은 서버 기반 인공 신경망 모델(281)을 입력 프롬프트(400)의 입력으로 선택할 수 있다. 또는, 인사이트 정보 발생 조건의 중요도가 임계값 이하일 경우(예: 정기 건강 지표 제공 시점 도달), 인공 신경망 모델 선택 모듈(230)은 온-디바이스 인공 신경망 모델(250)을 입력 프롬프트(400)의 입력으로 선택할 수 있다.
동작 660에서, 일 실시예에 따르면, 전자 장치(200)는 인공 신경망 모델에 입력 프롬프트를 입력하여 인사이트 정보를 생성할 수 있다. 인사이트 표시 모듈(310)은 인사이트 정보를 사용자에게 표시하기 위한 동작을 수행할 수 있다.
도 7은 일 실시예에 따른 인사이트 메시지를 생성하는 동작의 예시를 도시한 흐름도이다.
도 7을 참조하면, 동작 710 및 동작 790은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작(710 및 790)의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 설명의 편의를 위해, 동작들(710 내지 790)은 도 2에 도시된 전자 장치(200)를 사용하여 수행되는 것으로 기술된다. 그러나 이 동작들(710 내지 790)은 어떤 다른 적절한 전자 기기를 통해, 그리고 어떤 적절한 시스템 내에서도 사용될 수 있을 것이다. 예를 들어, 이 동작들(710 내지 790)은 도 2에 도시된 외부 전자 장치(260)에 의해 수행될 수도 있다. 일 실시 예에 따르면, 동작들(710 내지 790)은 전자 장치(예: 도 2의 전자 장치(200))의 프로세서(예: 도 2의 프로세서(210))에서 수행되는 것으로 이해될 수 있다.
동작 710에서, 일 실시예에 따르면, 전자 장치(200)는 프롬프트 업데이트를 체크하고, 동작 720에서, 전자 장치(200)는 인사이트 정보 생성 모듈(330) 내 입력 프롬프트(400)를 업데이트하고, 동작 730에서, 전자 장치는 인사이트 정보 생성 모듈(330)을 초기화할 수 있다. 전자 장치(200)는 헬스 앱 서비스가 시작되면 메시지 관리 서버(270)의 프롬프트 업데이터(271)를 통해 신규 프롬프트 구성요소가 준비되어 있는지 확인할 수 있다. 업데이트된 프롬프트 구성 요소가 있다면, 전자 장치(200)는 인사이트 정보 생성 모듈(330) 내 기존 프롬프트 구성 요소들을 업데이트 한 후, 인사이트 정보 생성 모듈(330)을 초기화할 수 있다. 전자 장치(200)는 업데이트된 구성 요소가 없다면 바로 인사이트 정보 생성 모듈(330)을 초기화할 수 있다. 전자 장치(200)는 초기화 과정에서 인사이트 정보 생성 고유 ID 별 프롬프트 및 개별 프롬프트에 필요한 데이터 항목이 초기화되어 미리 정의된 입력 프롬프트(400) 구성을 완료할 수 있다.
동작 740에서, 일 실시예에 따르면, 전자 장치(200)는 특정 인사이트 정보 발생 조건 체크 프로세스를 지속적으로 수행하고, 동작 750에서 전자 장치(200)는 특정 인사이트 정보 발생 조건이 트리거링되면 해당되는 고유 아이디에 대응하는 입력 프롬프트(400) 구성에 필요한 데이터를 확보하고, 입력 프롬프트(400) 생성을 완료한다.
동작 760에서, 일 실시예에 따르면, 인공 신경망 모델 선택 모듈(230)을 통해 타겟 인공 신경망 모델(예: 도 2의 온-디바이스 인공 신경망 모델(250) 또는 서버 기반 인공 신경망 모델(281))이 호출되고, 이때 선택된 인공 신경망 모델에 입력 프롬프트(400)가 전달 될 수 있다. 동작 770에서, 전자 장치(200)는 전달된 입력 프롬프트를 이용하여 인사이트 정보를 생성하고, 동작 780에서, 생성된 인사이트 정보는 인사이트 정보 생성 모듈(330)로 전달될 수 있다.
일 실시예에 따르면, 인사이트 정보 생성 모듈(330)로 전달된 인사이트 정보는 응답 검증 모듈(333)을 통해 인사이트 정보에 포함된 컨텐츠를 점검하고 필요시 차단, 필터링과 같은 검증 후속 작업을 수행할 수 있다. 동작 790에서, 응답 검증 모듈(333)의 평가 기준을 통과한 인사이트 정보는 최종적으로 헬스 앱의 인사이트 정보 표시창에 표시되어 사용자에게 전달되고 인사이트 정보 생성 서비스는 종료될 수 있다.
도 8은 일 실시예에 따른 입력 프롬프트를 생성하는 동작의 예시를 도시한 흐름도이다.
도 8을 참조하면, 동작 810 및 동작 880은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작(810 및 880)의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 설명의 편의를 위해, 동작들(810 내지 880)은 도 2에 도시된 전자 장치(200)를 사용하여 수행되는 것으로 기술된다. 그러나 이 동작들(810 내지 880)은 어떤 다른 적절한 전자 기기를 통해, 그리고 어떤 적절한 시스템 내에서도 사용될 수 있을 것이다. 예를 들어, 이 동작들(810 내지 880)은 도 2에 도시된 외부 전자 장치(260)에 의해 수행될 수도 있다. 일 실시 예에 따르면, 동작들(8120 내지 880)은 전자 장치(예: 도 2의 전자 장치(200))의 프로세서(예: 도 2의 프로세서(210))에서 수행되는 것으로 이해될 수 있다.
동작 810에서, 일 실시예에 따르면, 전자 장치(200)는 인사이트 정보 생성 모듈(330)을 초기화할 수 있다. 동작 820에서, 전자 장치(200)는 고유 아이디 별 입력 프롬프트(400)의 구조를 구성할 수 있다. 고유 아이디 별 입력 프롬프트(400)는 공통 프롬프트(410)와 데이터 프롬프트(420)로 구성된다. 동작 830에서, 전자 장치(200)는 인사이트 정보 발생 조건을 체크하고, 동작 840에서, 전자 장치(200)는 인사이트 정보 발생 조건에 부합하면 해당 시점에서 입력 프롬프트(400)를 구성하기 위해 필요한 상태 데이터를 획득하여 구성할 수 있다. 다만, 상태 데이터 중 사용자의 선택이나 생활 패턴과 같은 여러가지 이유로 인해 데이터가 가용하지 않은 경우가 발생할 수 있다. 이때, 동작 850에서, 전자 장치(200)는 데이터 가용성을 체크하고, 데이터가 가용하지 않을 경우 동작 860에서, 전자 장치(200)는 고유 아이디 별 데이터 프롬프트(420) 내 사용자 데이터 정보(422) 항목을 제거하여 데이터 프롬프트(420)의 구성을 갱신할 수 있다. 또는, 경우에 따라서는 전자 장치(200)는 데이터 프롬프트(420) 항목 구성을 유지한 채로 데이터 가용성에 대한 결과 표시를 포함하여 데이터 프롬프트를 갱신할 수도 있다. 데이터가 가용할 경우 동작 870에서, 전자 장치(200)는 고유 아이디 관련 데이터 프롬프트(420)를 확정할 수 있고, 동작 880에서, 전자 장치(200)는 고유 아이디 별 입력 프롬프트(400)를 생성할 수 있다.
도 9는 일 실시예에 따른 전자 장치(200)에 인사이트 정보가 표시되는 화면의 예시를 도시한 도면이다.
도 9를 참조하면, 일 실시예에 따르면, 인사이트 정보 발생 조건에 해당되면 전자 장치(200)에 910 화면에 인사이트 정보들(제1 인사이트 정보(911), 제2 인사이트 정보(912), 제3 인사이트 정보(913))이 표시될 수 있다. 910 화면에서, 제1 인사이트 정보(911)는 에너지 점수에 관한 요약 정보를 제공하고, 제2 인사이트 정보(912)는 금일 칼로리 소모량에 관한 요약 정보를 제공하고, 제3 인사이트 정보(913)는 금일 걸음 수에 관한 요약 정보를 제공한다.
일 실시예에 따르면, 사용자로부터 제1 인사이트 정보(911)를 선택하는 입력을 수신하는 경우, 전자 장치(200)에 920 화면이 표시될 수 있다. 920 화면에서, 제4 인사이트 정보(921)는 일자 별 에너지 점수 추이에 관한 그래프를 제공하고, 제5 인사이트 정보(922)는 금일 에너지 점수에 관한 그래프를 제공하고, 제6 인사이트 정보(923)는 에너지 점수와 관련된 인사이트 메시지를 제공할 수 있다.
일 실시예에 따르면, 에너지 점수는 사용자가 하루를 생활하는데 어느 정도 준비되어 있는지를 나타내는 신체적, 정신적 에너지 상태를 알려주는 건강 지표로서 외부 전자 장치(예: 도 2의 외부 전자 장치(260))에서 측정된 심박수 정보, 심박 변이도 정보, 운동 및 활동 정보, 수면 정보를 활용하여 계산될 수 있다. 전자 장치(200)는 특정한 하나의 지표 데이터나 센서 데이터에 대한 점수가 아니라 사용자의 신체적, 정신적 에너지 상태를 측정하기 위해 다양한 사용자 상태 데이터(예: 건강 데이터와 센서 데이터)를 활용하여 복합적인 사용자 건강 상태를 점수화하여 에너지 점수를 결정할 수 있다. 따라서 같은 점수라 하더라도 그 의미와 상태는 사용자마다 다를 수 있으므로 매번 새롭게 갱신되는 점수와 그 점수를 구성하는 데이터를 기준으로 에너지 점수 값, 점수 변화, 점수 추이 그리고 점수를 구성하거나 점수에 영향을 준 특정한 데이터의 값 자체, 변화, 추이를 기준으로 개인화되고 사용자 건강과 라이프 스타일에 도움을 줄 수 있는 인사이트 정보(예: 인사이트 메시지)를 동시에 제공할 수 있다. 나아가, 전자 장치(200)는 현재의 사용자의 상태 데이터를 인공 신경망 모델(예: 도 2의 온-디바이스 인공 신경망 모델(250) 또는 서버 기반 인공 신경망 모델(281))에 전달하여 규칙 기반의 획일적이고 단편적인 메시지가 아니라 개별 조건과 데이터에 능동적으로 활용하여 매번 새로운 인사이트 정보를 자동으로 생성하여 사용자에게 제공할 수 있다.
도 10은 일 실시예에 따른 사용자의 관심 정보를 획득하기 위해 제공되는 화면의 예시를 도시한 도면이다.
도 10을 참조하면, 일 실시예에 따르면, 전자 장치(200)는 사용자로부터 건강 관심 정보(제1 관심 정보(1011), 제2 관심 정보(1012), 제3 관심 정보(1013), 제4 관심 정보(1014))를 획득할 수 있다. 1010 화면에서, 사용자는 건강 관심 정보(전반적인 건강에 관련된 제1 관심 정보(1011), 수면에 관련된 제2 관심 정보(1012), 운동에 관련된 제3 관심 정보(1013), 건강한 체중에 관련된 제4 관심 정보(1014))를 선택할 수 있다. 다만, 건강 관심 정보는 위 예시에 한정되지 않는다.
일 실시예에 따르면, 전자 장치(200)는 건강 관심 정보 및 건강 지표 중 적어도 하나에 기초하여 인사이트 정보 발생 조건을 생성할 수 있다. 인사이트 정보 생성은 다양한 이벤트에 의해 시작되어 사용자에게 제공될 수 있다. 이벤트는 사용자의 건강 관심 정보를 기반으로 제공될 수 있으며, 이러한 관심 정보를 기준으로 외부 전자 장치(260) 또는 전자 장치(200) 내에 내장된 건강 지표 알고리즘의 상태 데이터를 변경하거나 개인화하여 인사이트 정보 생성 이벤트 발생을 위한 다양한 기준에 적용할 수 있다.
일 실시예에 따르면, 이벤트에는 외부 전자 장치(260)에서 측정된 사용자의 센서 데이터 및 센서 데이터들을 이용하여 만들어진 건강 지표에서 특정한 임계 치에 도달하거나 특정한 임계 치보다 높거나 낮은 경우가 포함될 수 있다. 예를 들어, 사용자의 수면 시간이 평균보다 줄어든 경우, 운동량이 평균보다 증가한 경우가 메시지 생성 조건이 될 수 있다. 또한, 전자 장치(200) 내 특정 알고리즘으로 구현된 기능에서 사용자의 상태 데이터를 지속적으로 체크하고 있다가 알고리즘에서 정의된 특정 조건을 만족하는 시점을 검출하는 것도 이벤트에 해당될 수 있다. 나아가, 건강 지표의 성격에 따라 인사이트 정보가 제공되는 시점이 지정될 수도 있다. 어제 또는 과거 몇 일간의 데이터를 활용하여 오늘 사용자의 건강관련 생활 지침을 전달해야 하는 상황에서는 오전 또는 기상 후 30분 내, 06:00 - 07:00 사이와 같이 특정 시점을 메시지 생성 이벤트로 정의할 수 있다.
도 11은 일 실시예에 따른 멀티 모달 인공 신경망에 기초하여 인사이트 정보를 생성하는 방법을 설명하기 위한 도면이다.
도 11을 참조하면, 일 실시예에 따르면, 인공 신경망 모델(예: 도 2의 온-디바이스 인공 신경망 모델(250) 또는 서버 기반 인공 신경망 모델(281))은 멀티 모달(multi-modal) 인공 신경망 모델(1140)일 수 있다. 보다 구체적으로, 전자 장치(200)는 다양한 형태의 컨텐츠 제공이 가능한 멀티 모달 인공 신경망 모델(1140)은 상태 데이터(1110), 입력 프롬프트(1120) 및 외부 데이터(1130)를 수신하여, 텍스트 기반 인사이트 정보(1180) 외에도 이미지 기반 인사이트 정보(1150), 오디오 기반 인사이트 정보(1160), 동영상 기반 인사이트 정보(1170) 및 텍스트 기반 인사이트 정보(1180)를 생성하여 사용자에게 제공할 수 있다.
일 실시예에 따르면, 멀티 모달 인공 신경망 모델(1140)을 활용하면 다양한 입력을 상태 데이터로 받을 수 있다. 멀티 모달 인공 신경망 모델(1140)은 사용자의 건강 관련 상태 데이터뿐 아니라 현재 사용자 주변 온도, 주변 환경 이미지/동영상 레코딩 및 인식을 통한 사용자 환경 파라미터들, 주변 환경 소리를 통한 각종 인식 파라미터들을 입력으로 수신할 수 있고, 이를 활용하여 사용자의 현재 시점에서 가장 적합한 인사이트 정보를 다양한 형식으로 제공할 수 있다.
도 12는 일 실시예에 따른 멀티 모달 인공 신경망을 이용하여 생성된 인사이트 정보가 표시되는 화면의 예시이다.
도 12를 참조하면, 일 실시예에 따르면, 전자 장치(200)는 멀티 모달 인공 신경망(예: 도 11의 멀티 모달 인공 신경망(1140))을 이용하여 인사이트 정보인 에너지 점수를 생성할 수 있다. 멀티 모달 인공 신경망에 기초하여 생성된 인사이트 정보를 사용할 경우, 사용자에게 제공하고 설명하는 1200화면에 다채로운 인사이트 정보(예: 제1 인사이트 정보(1210), 제2 인사이트 정보(1220), 제3 인사이트 정보(1230), 제4 인사이트 정보(1240))를 추가하여 사용자 경험의 수준을 높일 수 있다. 1200 화면은, 에너지 점수를 구성하는 건강 데이터 아이템 중 현재 점수에 가장 영향을 준 요인에 대해서 이미지화한 아이콘인 제1 인사이트 정보(1210)와 이를 애니메이션화한 제2 인사이트 정보(1220), 에너지 점수에 가장 영향을 많이 준 건강 지표에 관한 정보인 제3 인사이트 정보(1230) 및 에너지 점수에 관한 인사이트 메시지인 제4 인사이트 정보(1240)를 사용자에게 제공할 수 있다.
일 실시예에 따르면, 전자 장치(200)는 인사이트 메시지 외에도 애니메이션 및 아이콘을 추가 제공하여 사용자의 이해도를 보다 높일 수 있고, 이를 통해 해당 요인에 대한 개선의 의지를 높이거나 긍정적인 사용자 격려의 느낌을 강화시킬 수도 있다.
일 실시예에 따르면, 인사이트 정보가 표시되는 장치의 종류에 따라 생성되는 인사이트 정보의 형태가 달라질 수 있다. 예를 들어, 스마트폰 보다 화면이 큰 태블릿 PC에서 인사이트 정보를 생성할 경우, 보다 많은 양의 정보를 포함하는 인사이트 메시지가 생성될 수 있다. 또는, 웨어러블 디바이스와 같은 작은 디스플레이를 가지는 기기에서 인사이트 메시지를 생성할 경우, 인사이트 이미지가 생성될 수 있다. 이를 위해, 입력 프롬프트의 구성을 통해 문장의 형태와 길이를 조정할 수 있다. 예를 들어 웨어러블 디바이스는 핵심에 해당하는 짧은 구문을 생성하기 위한 입력 프롬프트를 구성할 수 있고, 태블릿 PC와 같은 대화면 기기의 경우에는 헬스 데이터 기반의 다양한 인사이트 정보와 운동 및 라이프 스타일 관련 추천이 다양하게 포함된 보다 심도 있는 인사이트 메시지를 제공하도록 입력 프롬프트가 구성될 수 있다.
일 실시예에 따르면, 화면이 없는 음성 AI 서비스에서도 일 실시예에 따른 인사이트 정보 생성 방법이 활용될 수 있다. 사용자 상태 데이터와 입력 프롬프트를 이용하여 사용자에게 제공할 인사이트 메시지를 생성하고, 해당 인사이트 메시지를 음성 AI 서비스에 제공하여 자연스러운 발화 기능을 통해 사용자에게 음성으로 메시지 전달이 가능할 수 있다.
일 실시예에 따르면, 일 실시예에 따른 인사이트 정보 생성 방법은 스마트 기능이 내장된 TV나 셋톱박스(set-top box), 그리고 화면 및 허브(HUB) 기능이 내장된 가전 기기 상에서도 사용자 단말에서 인공 신경망 모델을 통해 생성된 인사이트 정보를 브릿징(bridging)하여 사용자에게 제공 가능하다.
일 실시예에 따르면, 헬스 앱 서비스에서 제공하는 다양한 건강 지표에 대해 동일한 인사이트 정보 생성 파이프라인을 활용하여 인사이트 정보 생성 및 제공이 가능할 수 있다. 각 건강 지표를 설명하는 지식 기반 컨텐츠와 개별 건강 지표에 대한 인사이트 정보 제공 시 필요한 컨텐츠 및 형식 관련 기준을 마련하면 동일한 방식을 적용하여 서비스가 가능할 수 있다.
일 실시예에 따르면, 기존 건강 지표들에 대해 이미 서비스되어 제공되고 있는 헬스 인사이트 메시지들에 대해 인사이트 내용 및 맥락은 유지한 채 보다 다양한 문구 또는 건강 추천 항목이 다양하게 생성될 수 있도록 기존 규칙 기반의 인사이트 메시지와 관련 입력 프롬프트를 이용하여 인사이트 정보를 새로 생성하여 사용자에게 제공할 수 있다.
일 실시예에 따르면, 헬스 관련 웨어러블 디바이스나 외부 기기가 헬스 앱에 연결되거나 실제 데이터를 공유하거나 알고리즘에 의해 지표가 계산되기 시작/종료되는 시점에서 사용자에게 관련 가이드를 제공할 수 있는 텍스트나 관련 헬스 정보/지식을 사용자데이터, 기기 연결 정보, 관련 메시지 생성 프롬프트 및 인공 신경망 모델을 활용하여 자동으로 제공될 수 있도록 구성할 수 있다.
일 실시예에 따르면, 메시지 생성을 위해 필요한 필수 구성 데이터가 누락되었다면 해당 데이터에 대한 측정 가이드나 필요성에 대한 설명을 사용자 데이터, 기기 정보, 관련 메시지 생성 프롬프트 및 인공 신경망 모델을 활용하여 필요한 시점에 자동으로 제공될 수 있도록 구성할 수 있다.
일 실시예에 따르면, 동일한 입력 프롬프트와 인공 신경망 모델을 통해 생성된 기준(base) 메시지를 메인 단말과 연결된 디바이스에 인공 신경망 모델을 통해 다양하게 변형된 형태로 전달하여 서비스 제공이 가능하다. 예를 들어, 웨어러블 기기에는 기준 메시지의 요약(summary) 본을 생성하여 제공하고, 메인 단말의 경우 인사이트 메시지의 표시 영역에 제한이 있다면 그에 맞는 수준으로 문장 형태나 길이를 수정하여 제공할 수 있다.
도 13은 일 실시예에 따른 전자 장치의 일 예를 나타낸다.
전자 장치(1300)는 메모리(1310) 및 프로세서(1330)를 포함할 수 있다. 전자 장치(1300)는 도 1의 전자 장치(101) 및/또는 도 2의 전자 장치(200)를 포함할 수 있다. 메모리(1310)는 도 2의 메모리(240)를 포함할 수 있다. 프로세서(1330)는 도 2의 프로세서(210)를 포함할 수 있다.
메모리(1310)는 프로세서(1330)에 의해 실행가능한 인스트럭션들(예: 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(1330)의 동작 및/또는 프로세서(1330)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
메모리(1310)는 휘발성 메모리 장치 또는 비휘발성 메모리 장치로 구현될 수 있다.
휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.
비휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Electronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
프로세서(1330)는 메모리(1310)에 저장된 데이터를 처리할 수 있다. 프로세서(1330)는 메모리(1310)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(1330)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(1330)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array)를 포함할 수 있다.
도 1의 전자 장치(101) 및/또는 도 2의 전자 장치(200)는 메모리(1310)에 저장되어 프로세서(1330)에 의해서 실행되거나 프로세서(1330)에 임베디드될 수 있다. 프로세서(1330)는 도 1 내지 도 12를 참조하여 전자 장치(101) 및/또는 전자 장치(200)의 동작을 실질적으로 동일하게 수행할 수 있다. 이에 상세한 설명은 생략하도록 한다.
도 1 내지 도 12를 통해 설명된 실시예들은 도 13의 실시 예에 적용될 수 있다.
일 실시예에 따른, 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(200), 및 도 13의 전자 장치(1300))는 처리 회로(processing circuitry)를 포함하는 적어도 하나의 프로세서(예: 도 2의 프로세서(201) 및 도 13의 프로세서(1330))와, 명령어들(instructions)을 저장하는 메모리(예: 도 2의 메모리(203) 및 도 13의 메모리(1310))를 포함할 수 있다. 상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 및 1300)로 하여금: 외부 전자 장치(102, 260)로부터 상기 외부 전자 장치(102, 260)의 사용자에 대한 센서 데이터를 수신하고, 인사이트 정보 발생 조건의 충족 여부를 탐색하고, 상기 인사이트 정보 발생 조건이 충족되었다는 판단에 기초하여, 상기 인사이트 정보 발생 조건에 대응하는 고유 아이디를 획득하고, 상기 고유 아이디에 대응하는 공통 프롬프트(410)를 획득하고, 상기 센서 데이터에 기초하여, 상기 고유 아이디에 대응하는 데이터 프롬프트(420)를 획득하여 입력 프롬프트(400)를 생성하고, 인공 신경망 모델에 상기 입력 프롬프트(400)를 입력하여 인사이트 정보를 생성하도록 할 수 있다.
상기 공통 프롬프트(410)는 건강 지표에 관련된 지식 정보(411), 상기 인공 신경망 모델이 어떤 역할을 기반으로 상기 인사이트 정보를 생성할 지에 대해 정의된 역할 정보(412), 상기 인사이트 정보의 정확성과 할루시네이션(hallucination) 수준을 낮추기 위한 방법에 대해 정의된 메시지 생성 방법 정보(413), 상기 인사이트 정보의 형태와 구성이 정의된 모델 출력 형식 정보(414) 및 상기 인사이트 정보의 생성 규칙이 정의된 모델 출력 규칙 정보(415) 중 하나 이상을 포함할 수 있다.
상기 데이터 프롬프트(420)는 상기 사용자의 상태에 대해 정의된 사용자 상태 정보(421), 상기 사용자에 대한 센서 데이터로 구성된 사용자 데이터 정보(422), 상기 사용자 데이터 정보(422)에 포함되지 않지만 현재 상태에서 고려할 수 있는 상기 사용자에 대한 센서 데이터로 구성된 사용자 추가 데이터 정보(423) 중 하나 이상을 포함할 수 있다.
일 실시예에 따른 전자 장치(101, 200, 및 1300)는 상기 인사이트 정보를 출력하는 디스플레이를 더 포함할 수 있다.
상기 인공 신경망 모델은 온-디바이스(on-device) 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 적어도 하나를 포함하고, 상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금: 상기 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 적어도 하나를 선택하고, 상기 선택된 인공 신경망 모델에 기초하여, 상기 입력 프롬프트(400)를 가공하고, 상기 선택된 인공 신경망 모델에 상기 가공된 입력 프롬프트(400)를 입력하여 인사이트 정보를 생성하도록 할 수 있다.
상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금: 사용자로부터 건강 관심 정보를 획득하고, 상기 센서 데이터에 기초하여, 건강 지표를 생성하고, 상기 건강 관심 정보 및 상기 건강 지표 중 적어도 하나에 기초하여, 상기 인사이트 정보 발생 조건을 생성하도록 할 수 있다.
상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금: 1차 인사이트 정보(502)를 획득하고, 상기 1차 인사이트 정보(502)에 기초하여 검증 용 입력 프롬프트(503)를 생성하고, 상기 검증 용 입력 프롬프트(503)를 검증 인공 신경망 모델(530)에 입력하여, 검증 결과 정보(504)를 생성하고, 검증 결과 정보(504)와 상기 1차 인사이트 정보(502)를 획득할 때 사용된 입력 프롬프트(501)를 상기 인공 신경망 모델에 입력하여, 최종 인사이트 정보(506)를 획득하도록 할 수 있다.
상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금: 메시지 관리 서버(270)로부터 상기 입력 프롬프트(400) 및 상기 입력 프롬프트(400)의 구성 정보를 업데이트할 수 있는 업데이트 정보를 수신하고, 상기 업데이트 정보에 기초하여, 상기 입력 프롬프트(400) 및 상기 입력 프롬프트(400)의 구성 정보를 업데이트하도록 할 수 있다.
상기 인사이트 정보는 텍스트, 이미지, 음성 및 영상 중 적어도 하나의 형태를 가질 수 있다.
상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금: 상기 외부 전자 장치(102, 260)에 기초하여, 상기 인사이트 정보를 가공하고, 상기 가공된 인사이트 정보를 상기 외부 전자 장치(102, 260)로 전달하도록 할 수 있다.
일 실시예에 따른 전자 장치(101, 200, 및 1300)에 의해 수행되는 방법은 외부 전자 장치(102, 260)로부터 상기 외부 전자 장치(102, 260)의 사용자에 대한 센서 데이터를 수신하는 동작; 인사이트 정보 발생 조건의 충족 여부를 탐색하는 동작; 상기 인사이트 정보 발생 조건이 충족되었다는 판단에 기초하여, 상기 인사이트 정보 발생 조건에 대응하는 고유 아이디를 획득하는 동작; 상기 고유 아이디에 대응하는 공통 프롬프트(410)를 획득하는 동작; 상기 센서 데이터에 기초하여, 상기 고유 아이디에 대응하는 데이터 프롬프트(420)를 획득하여 입력 프롬프트(400)를 생성하는 동작; 및 인공 신경망 모델에 상기 입력 프롬프트(400)를 입력하여 인사이트 정보를 생성하는 동작을 포함할 수 있다.
상기 공통 프롬프트(410)는 건강 지표에 관련된 지식 정보(411), 상기 인공 신경망 모델이 어떤 역할을 기반으로 상기 인사이트 정보를 생성할 지에 대해 정의된 역할 정보(412), 상기 인사이트 정보의 정확성과 할루시네이션(hallucination) 수준을 낮추기 위한 방법에 대해 정의된 메시지 생성 방법 정보(413) 및 상기 인사이트 정보의 형태와 구성이 정의된 모델 출력 규칙 정보(415) 중 하나 이상을 포함할 수 있다.
상기 데이터 프롬프트(420)는 상기 사용자의 상태에 대해 정의된 사용자 상태 정보(421), 상기 사용자에 대한 센서 데이터로 구성된 사용자 데이터 정보(422), 상기 사용자 데이터 정보(422)에 포함되지 않지만 현재 상태에서 고려할 수 있는 상기 사용자에 대한 센서 데이터로 구성된 사용자 추가 데이터 정보(423) 중 하나 이상을 포함할 수 있다.
일 실시예에 따른 전자 장치(101, 200, 및 1300)에 의해 수행되는 방법은 상기 인사이트 정보를 출력하는 동작을 더 포함할 수 있다.
상기 인공 신경망 모델은 온-디바이스(on-device) 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 적어도 하나를 포함하고, 상기 인사이트 정보를 생성하는 동작은 상기 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 적어도 하나를 선택하는 동작; 상기 선택된 인공 신경망 모델에 기초하여, 상기 입력 프롬프트(400)를 가공하는 동작; 및 상기 선택된 인공 신경망 모델에 상기 가공된 입력 프롬프트(400)를 입력하여 인사이트 정보를 생성하는 동작을 더 포함할 수 있다.
일 실시예에 따른 전자 장치(101, 200, 및 1300)에 의해 수행되는 방법은 사용자로부터 건강 관심 정보를 획득하는 동작; 상기 센서 데이터에 기초하여, 건강 지표를 생성하는 동작; 및 상기 건강 관심 정보 및 상기 건강 지표 중 적어도 하나에 기초하여, 상기 인사이트 정보 발생 조건을 생성하는 동작을 더 포함할 수 있다.
일 실시예에 따른 전자 장치(101, 200, 및 1300)에 의해 수행되는 방법은 1차 인사이트 정보(502)를 획득하는 동작; 상기 1차 인사이트 정보(502)에 기초하여, 검증 용 입력 프롬프트(503)를 생성하는 동작; 상기 검증 용 입력 프롬프트(503)를 검증 인공 신경망 모델(530)에 입력하여, 검증 결과 정보(504)를 생성하는 동작; 및 검증 결과 정보(504)와 상기 1차 인사이트 정보(502)를 획득할 때 사용된 입력 프롬프트(400, 501)를 상기 인공 신경망 모델에 입력하여, 최종 인사이트 정보(506)를 획득하는 동작을 더 포함할 수 있다.
일 실시예에 따른 전자 장치(101, 200, 및 1300)에 의해 수행되는 방법은 메시지 관리 서버(270)로부터 상기 입력 프롬프트(400) 및 상기 입력 프롬프트(400)의 구성 정보를 업데이트할 수 있는 업데이트 정보를 수신하는 동작; 및 상기 업데이트 정보에 기초하여, 상기 입력 프롬프트(400) 및 상기 입력 프롬프트(400)의 구성 정보를 업데이트하는 동작을 더 포함할 수 있다.
일 실시예에 따른 전자 장치(101, 200, 및 1300)에 의해 수행되는 방법은 상기 외부 전자 장치(102, 260)에 기초하여, 상기 인사이트 정보를 가공하는 동작; 및 상기 가공된 인사이트 정보를 상기 외부 전자 장치(102, 260)로 전달하는 동작을 더 포함할 수 있다.
개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 본 개시의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(1701)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(1736) 또는 외장 메모리(1738))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(1740))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(1701))의 프로세서(예: 프로세서(1720))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체들을 포함할 수 있으며, 복수의 개체들 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
Claims (15)
- 전자 장치(101, 200, 및 1300)에 있어서,처리 회로(processing circuitry)를 포함하는 적어도 하나의 프로세서(210, 1330); 및명령어들(instructions)을 저장하는 메모리(240, 1310)를 포함하고,상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 및 1300)로 하여금:외부 전자 장치(102, 260)로부터 상기 외부 전자 장치(102, 260)의 사용자에 대한 센서 데이터를 수신하고,인사이트 정보 발생 조건의 충족 여부를 탐색하고,상기 인사이트 정보 발생 조건이 충족되었다는 판단에 기초하여, 상기 인사이트 정보 발생 조건에 대응하는 고유 아이디를 획득하고,상기 고유 아이디에 대응하는 공통 프롬프트(410)를 획득하고,상기 센서 데이터에 기초하여, 상기 고유 아이디에 대응하는 데이터 프롬프트(420)를 획득하여 입력 프롬프트(400)를 생성하고,인공 신경망 모델에 상기 입력 프롬프트(400)를 입력하여 인사이트 정보를 생성하도록 하는,전자 장치(101, 200, 및 1300).
- 제1항에 있어서,상기 공통 프롬프트(410)는건강 지표에 관련된 지식 정보(411), 상기 인공 신경망 모델이 어떤 역할을 기반으로 상기 인사이트 정보를 생성할 지에 대해 정의된 역할 정보(412), 상기 인사이트 정보의 정확성과 할루시네이션(hallucination) 수준을 낮추기 위한 방법에 대해 정의된 메시지 생성 방법 정보(413), 상기 인사이트 정보의 형태와 구성이 정의된 모델 출력 형식 정보(414) 및 상기 인사이트 정보의 생성 규칙이 정의된 모델 출력 규칙 정보(415) 중 하나 이상을 포함하는,전자 장치(101, 200, 및 1300).
- 제1항 및 제2항 중 어느 한 항에 있어서,상기 데이터 프롬프트(420)는상기 사용자의 상태에 대해 정의된 사용자 상태 정보(421), 상기 사용자에 대한 센서 데이터로 구성된 사용자 데이터 정보(422), 상기 사용자 데이터 정보(422)에 포함되지 않지만 현재 상태에서 고려할 수 있는 상기 사용자에 대한 센서 데이터로 구성된 사용자 추가 데이터 정보(423) 중 하나 이상을 포함하는,전자 장치(101, 200, 및 1300).
- 제1항 내지 제3항 중 어느 한 항에 있어서,상기 인사이트 정보를 출력하는디스플레이;를 더 포함하는,전자 장치(101, 200, 및 1300).
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 인공 신경망 모델은온-디바이스(on-device) 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 적어도 하나를 포함하고,상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금:상기 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 적어도 하나를 선택하고,상기 선택된 인공 신경망 모델에 기초하여, 상기 입력 프롬프트(400)를 가공하고,상기 선택된 인공 신경망 모델에 상기 가공된 입력 프롬프트(400)를 입력하여 인사이트 정보를 생성하도록 하는,전자 장치(101, 200, 및 1300).
- 제1항 내지 제5항 중 어느 한 항에 있어서,상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금:사용자로부터 건강 관심 정보를 획득하고,상기 센서 데이터에 기초하여, 건강 지표를 생성하고,상기 건강 관심 정보 및 상기 건강 지표 중 적어도 하나에 기초하여, 상기 인사이트 정보 발생 조건을 생성하도록 하는,전자 장치(101, 200, 및 1300).
- 제1항 내지 제6항 중 어느 한 항에 있어서,상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금:1차 인사이트 정보(502)를 획득하고,상기 1차 인사이트 정보(502)에 기초하여 검증 용 입력 프롬프트(503)를 생성하고,상기 검증 용 입력 프롬프트(503)를 검증 인공 신경망 모델(530)에 입력하여, 검증 결과 정보(504)를 생성하고,검증 결과 정보(504)와 상기 1차 인사이트 정보(502)를 획득할 때 사용된 입력 프롬프트(501)를 상기 인공 신경망 모델에 입력하여, 최종 인사이트 정보(506)를 획득하도록 하는,전자 장치(101, 200, 및 1300).
- 제1항 내지 제7항 중 어느 한 항에 있어서,상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금:메시지 관리 서버(270)로부터 상기 입력 프롬프트(400) 및 상기 입력 프롬프트(400)의 구성 정보를 업데이트할 수 있는 업데이트 정보를 수신하고,상기 업데이트 정보에 기초하여, 상기 입력 프롬프트(400) 및 상기 입력 프롬프트(400)의 구성 정보를 업데이트하도록 하는,전자 장치(101, 200, 및 1300).
- 제1항 내지 제8항 중 어느 한 항에 있어서,상기 인사이트 정보는텍스트, 이미지, 음성 및 영상 중 적어도 하나의 형태를 가지는,전자 장치(101, 200, 및 1300).
- 제1항 내지 제9항 중 어느 한 항에 있어서,상기 명령어들이 상기 적어도 하나의 프로세서(210, 1330)에 의해 개별적으로 또는 집합적으로 실행될 때, 상기 전자 장치(101, 200, 1300)로 하여금:상기 외부 전자 장치(102, 260)에 기초하여, 상기 인사이트 정보를 가공하고,상기 가공된 인사이트 정보를 상기 외부 전자 장치(102, 260)로 전달하도록 하는,전자 장치(101, 200, 및 1300).
- 전자 장치(101, 200, 및 1300)에 의해 수행되는 방법에 있어서,외부 전자 장치(102, 260)로부터 상기 외부 전자 장치(102, 260)의 사용자에 대한 센서 데이터를 수신하는 동작;인사이트 정보 발생 조건의 충족 여부를 탐색하는 동작;상기 인사이트 정보 발생 조건이 충족되었다는 판단에 기초하여, 상기 인사이트 정보 발생 조건에 대응하는 고유 아이디를 획득하는 동작;상기 고유 아이디에 대응하는 공통 프롬프트(410)를 획득하는 동작;상기 센서 데이터에 기초하여, 상기 고유 아이디에 대응하는 데이터 프롬프트(420)를 획득하여 입력 프롬프트(400)를 생성하는 동작; 및인공 신경망 모델에 상기 입력 프롬프트(400)를 입력하여 인사이트 정보를 생성하는 동작을 포함하는,방법.
- 제11항에 있어서,상기 공통 프롬프트(410)는건강 지표에 관련된 지식 정보(411), 상기 인공 신경망 모델이 어떤 역할을 기반으로 상기 인사이트 정보를 생성할 지에 대해 정의된 역할 정보(412), 상기 인사이트 정보의 정확성과 할루시네이션(hallucination) 수준을 낮추기 위한 방법에 대해 정의된 메시지 생성 방법 정보(413) 및 상기 인사이트 정보의 형태와 구성이 정의된 모델 출력 규칙 정보(415) 중 하나 이상을 포함하는,방법.
- 제11항 및 제12항 중 어느 한 항에 있어서,상기 데이터 프롬프트(420)는상기 사용자의 상태에 대해 정의된 사용자 상태 정보(421), 상기 사용자에 대한 센서 데이터로 구성된 사용자 데이터 정보(422), 상기 사용자 데이터 정보(422)에 포함되지 않지만 현재 상태에서 고려할 수 있는 상기 사용자에 대한 센서 데이터로 구성된 사용자 추가 데이터 정보(423) 중 하나 이상을 포함하는,방법.
- 제11항 내지 제13항 중 어느 한 항에 있어서,상기 인사이트 정보를 출력하는 동작을 더 포함하는,방법.
- 제11항 내지 제14항 중 어느 한 항에 있어서,상기 인공 신경망 모델은온-디바이스(on-device) 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 적어도 하나를 포함하고,상기 인사이트 정보를 생성하는 동작은상기 온-디바이스 인공 신경망 모델(250) 및 서버 기반 인공 신경망 모델(281) 중 적어도 하나를 선택하는 동작;상기 선택된 인공 신경망 모델에 기초하여, 상기 입력 프롬프트(400)를 가공하는 동작; 및상기 선택된 인공 신경망 모델에 상기 가공된 입력 프롬프트(400)를 입력하여 인사이트 정보를 생성하는 동작을 더 포함하는,방법.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20240083676 | 2024-06-26 | ||
| KR10-2024-0083676 | 2024-06-26 | ||
| KR1020240090544A KR20260001004A (ko) | 2024-06-26 | 2024-07-09 | 건강 관리에 관한 메시지를 제공하는 전자 장치, 이의 동작 방법과, 기록 매체 |
| KR10-2024-0090544 | 2024-07-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2026005202A1 true WO2026005202A1 (ko) | 2026-01-02 |
Family
ID=98222285
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2025/003991 Pending WO2026005202A1 (ko) | 2024-06-26 | 2025-03-28 | 건강 관리에 관한 메시지를 제공하는 전자 장치, 이의 동작 방법과, 기록 매체 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2026005202A1 (ko) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210056366A (ko) * | 2018-09-05 | 2021-05-18 | 백스터 인터내셔널 인코포레이티드 | 환자 참여 및 치료 준수를 위한 모바일 플랫폼을 포함하는 의료용 유체 전달 시스템 |
| KR102309022B1 (ko) * | 2021-02-09 | 2021-10-07 | 메디팜소프트(주) | 인공지능 기반의 생체 신호 원격 모니터링 시스템 |
| KR20210149570A (ko) * | 2020-06-02 | 2021-12-09 | 애플 인크. | 건강 애플리케이션들을 위한 사용자 인터페이스들 |
| WO2023147308A1 (en) * | 2022-01-25 | 2023-08-03 | Northwestern Memorial Healthcare | Image analysis and insight generation |
| WO2024025778A1 (en) * | 2022-07-29 | 2024-02-01 | Sleep Number Corporation | Sleep system with personalized sleep recommendations based on circadian chronotype |
-
2025
- 2025-03-28 WO PCT/KR2025/003991 patent/WO2026005202A1/ko active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210056366A (ko) * | 2018-09-05 | 2021-05-18 | 백스터 인터내셔널 인코포레이티드 | 환자 참여 및 치료 준수를 위한 모바일 플랫폼을 포함하는 의료용 유체 전달 시스템 |
| KR20210149570A (ko) * | 2020-06-02 | 2021-12-09 | 애플 인크. | 건강 애플리케이션들을 위한 사용자 인터페이스들 |
| KR102309022B1 (ko) * | 2021-02-09 | 2021-10-07 | 메디팜소프트(주) | 인공지능 기반의 생체 신호 원격 모니터링 시스템 |
| WO2023147308A1 (en) * | 2022-01-25 | 2023-08-03 | Northwestern Memorial Healthcare | Image analysis and insight generation |
| WO2024025778A1 (en) * | 2022-07-29 | 2024-02-01 | Sleep Number Corporation | Sleep system with personalized sleep recommendations based on circadian chronotype |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022025678A1 (en) | Electronic device for evaluating sleep quality and method for operation in the electronic device | |
| WO2022250463A1 (ko) | 건강 관리를 위한 전자 장치 및 동작 방법 | |
| KR20220043534A (ko) | 컨텐츠 추천 서비스를 제공하는 전자 장치 및 그 방법 | |
| CN109543187B (zh) | 电子病历特征的生成方法、装置及存储介质 | |
| WO2026005202A1 (ko) | 건강 관리에 관한 메시지를 제공하는 전자 장치, 이의 동작 방법과, 기록 매체 | |
| WO2022124784A1 (ko) | 식사 메뉴에 대한 정보를 제공하는 전자 장치와 이의 동작 방법 | |
| US20230335257A1 (en) | Electronic apparatus for providing coaching and operating method thereof | |
| KR20220149343A (ko) | 공황 장애를 판단하는 전자 장치 및 전자 장치의 동작 방법 | |
| CN111354460A (zh) | 信息输出的方法、电子设备及介质 | |
| KR20260001004A (ko) | 건강 관리에 관한 메시지를 제공하는 전자 장치, 이의 동작 방법과, 기록 매체 | |
| WO2023136628A1 (ko) | 사용자의 생체 사인을 결정하는 전자 장치 및 그 동작 방법 | |
| WO2023282437A1 (ko) | 전자 장치 및 전자 장치에서 사용자 컨텍스트 기반 산소 포화도 측정 방법 | |
| CN108600502A (zh) | 电子装置、拨号方法及相关产品 | |
| WO2022030961A1 (ko) | 위험 정보를 감지하는 전자 장치 및 방법 | |
| KR20220157585A (ko) | 사용자의 체온을 제공하는 장치 및 방법 | |
| WO2025089582A1 (ko) | 건강 관리에 관한 메시지를 제공하는 전자 장치 및 이의 동작 방법 | |
| WO2026023951A1 (en) | Real-time adaptive wallpapers using multi-sensory data | |
| WO2026024123A1 (ko) | 맞춤 케어를 위한 전자 장치, 방법, 및 저장 매체 | |
| KR20250029693A (ko) | 파킨슨 병과 관련된 증상을 확인하는 전자 장치, 이의 동작 방법, 및 웨어러블 전자 장치 | |
| WO2025089542A1 (ko) | 사용자 맞춤형 헬스케어를 위한 전자 장치 및 그의 동작 방법 | |
| WO2025170311A1 (ko) | 수면 질환을 확인하기 위한 전자 장치, 방법 및 비 일시적 저장 매체 | |
| Rahman et al. | Bengali sign language translator with location tracking system | |
| KR20260016392A (ko) | 스트레스 관리를 위한 전자 장치, 방법, 및 저장 매체 | |
| WO2026038662A1 (ko) | 개인화된 혈당 패턴을 태그하는 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 기록 매체 | |
| WO2026010157A1 (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: 25827221 Country of ref document: EP Kind code of ref document: A1 |