WO2024025288A1 - 심전도에 기반한 식단 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

심전도에 기반한 식단 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
WO2024025288A1
WO2024025288A1 PCT/KR2023/010703 KR2023010703W WO2024025288A1 WO 2024025288 A1 WO2024025288 A1 WO 2024025288A1 KR 2023010703 W KR2023010703 W KR 2023010703W WO 2024025288 A1 WO2024025288 A1 WO 2024025288A1
Authority
WO
WIPO (PCT)
Prior art keywords
ecg
electrocardiogram
user
diet
nutrients
Prior art date
Application number
PCT/KR2023/010703
Other languages
English (en)
French (fr)
Inventor
권준명
Original Assignee
주식회사 메디컬에이아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 메디컬에이아이 filed Critical 주식회사 메디컬에이아이
Publication of WO2024025288A1 publication Critical patent/WO2024025288A1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/346Analysis of electrocardiograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/60ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT 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
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT 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
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT 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

Definitions

  • the present invention relates to smart health care, and more specifically, to a method of recommending a diet suitable for a user's real-time health status based on an electrocardiogram (ECG), and to a recording medium to carry out the method. It is about a written computer program.
  • ECG electrocardiogram
  • An electrocardiogram is a graphical record of the visual changes in electrical activity caused by the heart muscle.
  • SA Node the SinoAtrial Node
  • AV Node the AtrioVentricular Node
  • Electrical signals transmitted from the AV Node spread throughout the ventricle via the bundle of His and Purkinje fibers.
  • the atrium is polarized by the electrical signal generated by the sinoatrial node (SA Node), the heart muscle of the valve contracts, and the atrium re-opens.
  • SA Node sinoatrial node
  • the myocardium of the valve becomes depolarized and relaxes again, a P wave can be identified.
  • the P-Q wave can be identified in the process where the AV Node delays the electrical signal so that the ventricle does not respond immediately when the atrium contracts.
  • a QRS complex can be identified in the process in which a delayed electrical signal is transmitted (Q) by the atrioventricular node (AV Node) and the ventricle is immediately polarized (R) and then immediately depolarized (S).
  • An S-T wave can be identified during the resting phase when the ventricles contract and the electrical signals do not stimulate the heart in order for the blood inside the ventricles to move throughout the body.
  • a T wave can be identified in the process in which the ventricle becomes weakly polarized again and then becomes polarized again, and the ventricle and the myocardium of the valve relax simultaneously.
  • a U wave may be identified due to repolarization of the intraventricular septum.
  • each shape, size, and interval are related to health status. It can change into various forms depending on the situation.
  • health status can be inferred, and various causes that cause such health conditions can also be inferred.
  • ANN Artificial Neural Network
  • MLP MultiLayer Perceptron
  • RNN Recurrent Neural Network
  • CNN Convolutional Neural Network
  • a multilayer perceptron is an artificial neural network (ANN) with multiple hidden layers between an input layer and an output layer.
  • a recurrent neural network is an artificial neural network (ANN) with a recursive connection structure in which the output of neurons is input back to the input layer.
  • CNN convolutional neural network
  • the convolutional neural network imitates the structure of the human optic nerve, extracts feature maps from multiple convolutional layers, and increases the dimension of the matrix through subsampling. It is an artificial neural network (ANN) that reduces and extracts only important parts from the feature map.
  • a menu is a plan related to the type, amount, and order of intake of food a person consumes during the eating process.
  • diet is a plan related to the type, amount, and order of intake of food a person consumes during the eating process.
  • conventional services that recommend or suggest food or diet simply consider only the nutrients required according to the user's general health condition based on static factors such as height, weight, and obesity level.
  • the nutrients required depending on the state of health may change from moment to moment depending on the type and intensity of the activity being performed or performed immediately before, the type and amount of food consumed immediately before, etc.
  • someone who has just completed a high-intensity workout will need macronutrients such as protein and water, while someone who has experienced sudden diarrhea or vomiting will need micronutrients such as minerals.
  • One purpose of the present invention is to propose a method for recommending a diet appropriate for the user's real-time health status based on electrocardiogram (ECG).
  • ECG electrocardiogram
  • Another object of the present invention is to propose a computer program recorded on a recording medium to implement a method of recommending a diet suitable for the user's real-time health condition based on electrocardiogram (ECG).
  • ECG electrocardiogram
  • the present invention proposes a method of recommending a diet suitable for the user's real-time health status based on electrocardiogram (ECG).
  • the method includes obtaining an electrocardiogram (ECG) signal measured for the user, analyzing the electrocardiogram (ECG) signal using pre-trained artificial intelligence (AI), and analyzing the user's health. Identifying one or more deficient nutrients and one or more excess nutrients corresponding to the condition, and establishing a menu including one or more foods that can replenish the identified deficient nutrients and avoid the excess nutrients. may include.
  • the method may further include transmitting information about the set menu to a user equipment (User Equipment, UE) previously set in response to the user.
  • UE User Equipment
  • the identifying step includes dividing the electrocardiogram (ECG) signal into a plurality of partial signals according to time series succession, inputting the divided plurality of partial signals into the artificial intelligence (AI), respectively, It may include obtaining a plurality of probability values from the artificial intelligence (AI), and determining whether a nutrient is deficient, normal, or excessive based on the obtained plurality of probability values.
  • ECG electrocardiogram
  • AI artificial intelligence
  • the step of dividing the partial signal into a plurality of partial signals moves a window of a preset size along the time axis, and divides the electrocardiogram (ECG) signal into a plurality of partial signals having a size corresponding to the window. It can be divided into partial signals.
  • ECG electrocardiogram
  • the artificial intelligence (AI) is a first artificial neural network (ANN) for electrolytes, a second artificial neural network (ANN) for proteins, and a third artificial neural network (ANN) for water. It can be configured to include an intelligent network (ANN).
  • the determining step determines whether the electrolyte is deficient, normal, or excessive based on a plurality of probability values obtained from the first artificial neural network (ANN), and the electrolyte obtained from the second artificial neural network (ANN) is determined. Determine whether protein is deficient, normal, or excessive based on a plurality of probability values, and determine whether moisture is deficient, normal, or excessive based on a plurality of probability values obtained from the third artificial neural network (ANN). You can.
  • the hidden layer of the first to third artificial neural networks is a generalized GMF (GMF) for learning the linear relationship that exists between the characteristics of the electrocardiogram (ECG) signal and the content of nutrients.
  • GMF generalized GMF
  • ECG electrocardiogram
  • MLP Multi-Layer Perceptron
  • the determining step of the method removes outliers included in the obtained plurality of probability values based on a preset validated range, and obtains an average value of the probability values from which the outliers are removed. It can be determined whether the nutrient is deficient, normal, or excessive using either a soft voting result based on or a hard voting result based on a majority vote of the probability values with the outliers removed. .
  • the step of setting the diet includes selecting two or more foods from a preset food dictionary that do not contain the excess nutrients or contain only less than a preset threshold content and that contain the identified deficient nutrients. Identifying, identifying a preset human weight corresponding to the user and a time weight corresponding to a time point at which the electrocardiogram (ECG) signal was measured, and the identified two or more foods It may include selecting one food from among the human weights and time weights.
  • ECG electrocardiogram
  • the first time and the second time have a difference within a preset minimum biotransformation time, and the electrocardiogram (ECG) signal measured for the user at the first time If the excess nutrients identified based on and the deficient nutrients identified based on the electrocardiogram (ECG) signal measured for the user at the second time are the same, it may be determined that a warning is required for the user.
  • ECG electrocardiogram
  • the present invention proposes a computer program recorded on a recording medium to implement a method of recommending a diet suitable for the user's real-time health condition based on electrocardiogram (ECG).
  • ECG electrocardiogram
  • the computer program may be combined with a computing device that includes a memory, a transceiver, an input/output device, and a processor that processes instructions resident in the memory.
  • the computer program includes the steps of the processor acquiring an electrocardiogram (ECG) signal measured for the user through the transceiver or input/output device, and the processor using pre-trained artificial intelligence (AI) to obtain the electrocardiogram (ECG) signal ( Analyzing an ECG) signal to identify one or more deficient nutrients and excess nutrients corresponding to the health condition of the user, and one or more foods by which the processor can replenish the identified deficient nutrients and avoid the excess nutrients
  • ECG electrocardiogram
  • AI artificial intelligence
  • the user can recommend a diet optimized for the user's health condition at that time simply by measuring the electrocardiogram (ECG).
  • ECG electrocardiogram
  • Figure 1 is an exemplary diagram for explaining a diet recommendation means according to an embodiment of the present invention.
  • Figure 2 is an exemplary diagram for explaining a diet recommendation system according to an embodiment of the present invention.
  • Figure 3 is a logical configuration diagram of a diet recommendation server according to an embodiment of the present invention.
  • FIG. 4 is an example diagram for explaining an artificial neural network (ANN) according to an embodiment of the present invention.
  • ANN artificial neural network
  • FIGS 5 and 6 are exemplary diagrams to explain a process of dividing an electrocardiogram (ECG) signal according to some embodiments of the present invention.
  • ECG electrocardiogram
  • Figures 7 and 8 are exemplary diagrams to explain the process of determining whether each nutrient is deficient, normal, or excessive according to some embodiments of the present invention.
  • Figure 9 is a hardware configuration diagram of a menu recommendation server according to an embodiment of the present invention.
  • Figure 10 is a flowchart for explaining a diet recommendation method according to an embodiment of the present invention.
  • first, second, etc. used in this specification may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component without departing from the scope of the present invention.
  • a component When a component is referred to as being “connected” or “connected” to another component, it may be directly connected to or connected to the other component, but other components may also exist in between. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.
  • the present invention seeks to propose a means of recommending a diet suitable for the user's real-time health status.
  • Figure 1 is an exemplary diagram for explaining a diet recommendation means according to an embodiment of the present invention.
  • the diet recommendation means measures the user's electrocardiogram (ECG) 10 using an electrocardiograph (ECG reader, 100), and uses the user's measured ECG (10, ECG) is analyzed using artificial intelligence (AI) to identify required nutrients according to the user's real-time health status, and immediately recommend a menu (20, menu) based on the identified nutrients to the user. can do.
  • ECG electrocardiogram
  • AI artificial intelligence
  • the user can be recommended a diet optimized for the user's health condition at that time simply by measuring the electrocardiogram (ECG) 10.
  • ECG electrocardiogram
  • Figure 2 is an exemplary diagram for explaining a diet recommendation system according to an embodiment of the present invention.
  • the diet recommendation system includes one or more electrocardiographs (100a, 100b, ..., 100n; 100), one or more user devices (200a, 200b, ..., 200n; 200) ) and a diet recommendation server 300.
  • the components of the diet recommendation system merely represent functionally distinct elements, two or more components are integrated and implemented with each other in an actual physical environment, or one component is implemented in an actual physical environment. In a physical environment, they may be implemented separately from each other.
  • the electrocardiograph 100 is a device that can measure and record the user's electrocardiogram (ECG) 10.
  • ECG electrocardiogram
  • the electrocardiograph 100 induces a change in electric potential due to the electrical activity of the myocardium through an electrode in contact with the user's body, amplifies the induced change in potential, and records it as a wave. can do.
  • the electrocardiograph 100 performs an electrocardiogram (ECG) according to any one of standard limb leads, unipolar limb leads, and precordial leads. It can be derived, and the method of deriving the electrocardiogram (ECG) 10 of the electrocardiograph 100 is not limited to this.
  • the electrocardiograph 100 may be equipped with electrodes for 1 lead, 6 leads, or 12 leads, and the number of leads of the electrocardiograph 100 is not limited thereto.
  • the electrocardiograph 100 may have any one of a watch type (100a), a portable type (100b), and a holter type (100n), and the type of the electrocardiograph 100 is limited to these. It doesn't work.
  • the electrocardiogram (ECG) signal (i.e., recorded waveform signal) measured by the electrocardiograph 100 is transmitted directly to the diet recommendation server 300 through the network function of the electrocardiograph 100 itself, or through third means. It can be entered into the diet recommendation server 300 via the menu.
  • the third means may be any one of removable media, the user device 200, and data input by the user, but is not limited thereto.
  • the user device 200 can output information about the diet set by the diet recommendation server 300.
  • the user device 200 may receive information about a diet from the diet recommendation server 300. Additionally, the user device 200 may output information about the received diet.
  • the user device 200 is a user equipment (UE) defined by the 3rd Generation Partnership Project (3GPP), or a mobile station defined by the Institute of Electrical and Electronics Engineers (IEEE). It is not limited to (Mobile Station, MS), and any device that can transmit and receive data with the diet recommendation server 300 and perform calculations based on the transmitted and received data may be permitted.
  • UE user equipment
  • 3GPP 3rd Generation Partnership Project
  • IEEE Institute of Electrical and Electronics Engineers
  • the user device 100 may be a stationary computing device such as a desktop 200c, a workstation, or a server, or a smart phone 200a, a laptop 200b, Any mobile computing device such as a tablet, phablet, Portable Multimedia Player (PMP), Personal Digital Assistants (PDA), or E-book reader. It can be one, and it is not limited to this.
  • a stationary computing device such as a desktop 200c, a workstation, or a server
  • a smart phone 200a such as a tablet, phablet, Portable Multimedia Player (PMP), Personal Digital Assistants (PDA), or E-book reader. It can be one, and it is not limited to this.
  • PDA Personal Digital Assistants
  • the diet recommendation server 300 identifies the nutrients required according to the user's real-time health status based on the electrocardiogram (ECG) 10 measured by the electrocardiograph 100, and provides a diet based on the identified nutrients ( Information about 20) can be transmitted to the user device 200.
  • ECG electrocardiogram
  • the specific components and operations of the diet recommendation server 300 will be described later with reference to FIGS. 3 to 10.
  • one or more electrocardiographs 100, one or more user devices 200, and a diet recommendation server 300 constituting the diet recommendation system are connected to a secure line, a public wired communication network, or a mobile communication network that directly connects the devices.
  • Data can be transmitted and received using a network that combines one or more of the following.
  • public wired networks may include Ethernet, xDigital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH).
  • xDSL xDigital Subscriber Line
  • HFC Hybrid Fiber Coax
  • FTTH Fiber To The Home
  • mobile communication networks include Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), High Speed Packet Access (HSPA), and Long Term Evolution. LTE) and 5th generation mobile telecommunication may be included, but are not limited thereto.
  • CDMA Code Division Multiple Access
  • WCDMA Wideband CDMA
  • HSPA High Speed Packet Access
  • LTE Long Term Evolution
  • 5th generation mobile telecommunication may be included, but are not limited thereto.
  • the diet recommendation server 300 which has the features described above, will be described in detail.
  • Figure 3 is a logical configuration diagram of a diet recommendation server according to an embodiment of the present invention.
  • Figure 4 is an example diagram for explaining an artificial neural network (ANN) according to an embodiment of the present invention.
  • Figures 5 and 6 are exemplary diagrams to explain a process of dividing an electrocardiogram (ECG) signal according to some embodiments of the present invention.
  • Figures 7 and 8 are exemplary diagrams for explaining the process of determining whether each nutrient is deficient, normal, or excessive according to some embodiments of the present invention.
  • the diet recommendation server 300 includes a communication unit 305, an input/output unit 310, an artificial intelligence learning unit 315, an electrocardiogram disassembly unit 320, and a nutrient It may be configured to include an analysis unit 325 and a diet setting unit 330.
  • the components of the diet recommendation server 300 merely represent functionally distinct elements, two or more components are integrated and implemented with each other in an actual physical environment, or form a single component. The elements may be implemented separately from each other in the actual physical environment.
  • the communication unit 305 can transmit and receive data with the electrocardiograph 100 and the user device 200.
  • the communication unit 305 may receive an electrocardiogram (ECG) signal 10 from the electrocardiograph 100. Additionally, the communication unit 305 may transmit information about the diet 20 to the user device 200.
  • ECG electrocardiogram
  • the input/output unit 310 can receive commands from an administrator or output calculation results through a user interface (UI).
  • UI user interface
  • the input/output unit 310 may receive the size of a window, which is a standard for decomposing the electrocardiogram (ECG) signal 10.
  • the input/output unit 310 may receive input of a validated rage, which is a standard for removing outliers from probability values obtained from artificial intelligence (AI).
  • the input/output unit 310 can receive a food dictionary organized by matching foods and nutrients.
  • the input/output unit 310 may receive input of a threshold content, which is a boundary value at which additional intake is permitted for each excess nutrient.
  • the input/output unit 310 may receive input of minimum biotransformation time, which is a standard for determining that a special situation has occurred to the user. Additionally, the input/output unit 310 can receive input of a threshold distance, which is a standard range for providing information about a restaurant.
  • the input/output unit 310 may receive input of an activation function to be applied to the GMF layer of the artificial neural network (ANN), an activation function to be applied to the MLP layer, weights, and bias.
  • ANN artificial neural network
  • the input/output unit 310 may output the user's electrocardiogram (ECG) signal 10.
  • ECG electrocardiogram
  • the input/output unit 310 may output information about the diet 20 to be recommended to the user.
  • the artificial intelligence learning unit 315 can learn artificial intelligence (AI) to identify deficient nutrients and excessive nutrients corresponding to the user's health status based on the electrocardiogram (ECG) signal 10.
  • AI artificial intelligence
  • ECG electrocardiogram
  • the artificial intelligence (AI) that is the learning target of the artificial intelligence learning unit 315 is the first artificial neural network (ANN) for electrolytes, the second artificial neural network (ANN) for proteins, and moisture. It may be configured to include a third artificial intelligence network (ANN) for (water).
  • ANN artificial intelligence network
  • the artificial intelligence learning unit 315 can learn the first artificial neural network (ANN) based on data about the characteristics of the electrocardiogram (ECG) signal and the electrolyte content input by the administrator.
  • the artificial intelligence learning unit 315 can learn a second artificial neural network (ANN) based on data on the characteristics of electrocardiogram (ECG) signals and protein content input by the administrator.
  • the artificial intelligence learning unit 315 can learn a third artificial neural network (ANN) based on the characteristics of the electrocardiogram (ECG) signal and data on the water content input by the administrator.
  • an electrolyte is a substance that is dissolved in a solvent and ionized to produce negative and positive ions.
  • the electrolyte according to an embodiment of the present invention may include sodium (Na), potassium (Ka), and calcium (Ca), but is not limited thereto.
  • Proteins are organic substances made up of amino acid combinations.
  • the protein according to an embodiment of the present invention may include albumin, but is not limited thereto.
  • the hidden layers of the first to third artificial neural networks include generalized matrix factorization (GMF) and multi-layer perceptron (MLP). It may be composed of a mixed form.
  • GMF generalized matrix factorization
  • MLP multi-layer perceptron
  • ANN artificial neural networks
  • the GMF layer is a layer for learning the linear relationship that exists between the characteristics of the electrocardiogram (ECG) signal and the content of nutrients, It can be implemented using Equation 1 below.
  • p u is the dense vector of ECG signal features
  • q i is the dense vector of nutrient content
  • p u ⁇ q i is the difference between the dense vector of ECG signal features and the dense vector of nutrient content.
  • Mar product, a can be the activation function of the artificial neural network (ANN), h can be the edge weight of the hidden layer, and h T can be the vector product of the edge weight.
  • ANN artificial neural network
  • a dense vector is a vector whose dimension is reduced by embedding a vector expressed by one-hot encoding.
  • a dense vector is a vector whose dimension is reduced by removing the value of 0 from a sparse vector expressed by one-hot encoding.
  • each artificial neural network is a layer for learning the non-linearity relationship that exists between the characteristics of the electrocardiogram (ECG) signal and the content of nutrients, using Equations 2 and 3 below: It can be implemented using .
  • p u is the dense vector of ECG signal features
  • q i is the dense vector of nutrient content
  • z is the concatenation of the dense vector of ECG signal features and the dense vector of nutrient content
  • a is the activation function of the artificial neural network (ANN)
  • W is the weight of each layer constituting the MLP
  • W T is the vector product of the weights
  • b is the bias of each layer constituting the MLP
  • L is the number of layers constituting the hidden layer
  • can be the sum of the sequence.
  • each artificial neural network is composed of a recurrent neural network with a recursive connection structure in which the probability value output to the output layer is added to the vector regarding the content of nutrients and then re-input to the input layer. It could be.
  • each artificial neural network (ANN) of the artificial intelligence learning unit 315 has a mixed form of GMF and MLP, so that not only the linear relationship that exists between the characteristics of the electrocardiogram (ECG) signal and the content of nutrients, Nonlinear relationships can also be machine learned simultaneously.
  • the ECG disassembly unit 320 can disassemble the ECG (ECG) signal 10 measured by the ECG meter 100.
  • the ECG disassembly unit 320 may acquire an electrocardiogram (10, ECG) signal measured for the user. That is, the ECG disassembly unit 320 directly receives the ECG (10, ECG) signal from the ECG meter 100 through the communication unit 305, or directly receives the ECG (10, ECG) signal through the input/output unit 310. You can receive input.
  • ECG electrocardiogram
  • the ECG disassembly unit 320 may divide the ECG (10) signal into a plurality of segmentation signals according to the time series sequence measured by the user.
  • the ECG disassembly unit 320 cuts the ECG (10, ECG) signal individually to a certain size without overlapping areas, thereby dividing the ECG (10, ECG) signal into multiple pieces. It can be divided into partial signals (S1, S2, S3, ).
  • the size for individually cutting the electrocardiogram (ECG) signal 10 may be a constant value preset by the input/output unit 310, but is not limited to this and may also be a randomized value.
  • the ECG disassembly unit 320 cuts the ECG (10, ECG) signal by sliding a window along the time axis, thereby cutting the ECG (10, ECG) signal.
  • the signal can be divided into a plurality of partial signals (S1, S2, S3, ...) each having a size corresponding to the window.
  • the size of the window for cutting the electrocardiogram (ECG) signal 10 may be a constant value preset by the input/output unit 310.
  • the electrocardiogram (ECG) signal 10 may contain noise generated by the user's movements during the measurement process. Accordingly, the ECG disassembly unit 320 can remove noise included in the plurality of divided partial signals (S1, S2, S3, ).
  • the ECG disassembly unit 320 measures the displacement of the P wave, P-Q wave, QRS wave, S-T wave, and T wave included in the plurality of divided partial signals (S1, S2, S3, ). can be identified.
  • the ECG disassembly unit 320 may generate a normal distribution of displacements of the identified P wave, P-Q wave, QRS wave, S-T wave, and T wave.
  • the ECG disassembly unit 320 selectively removes only partial signals having a displacement of the P wave, P-Q wave, QRS wave, S-T wave, or T wave included in a preset noise range from the generated normal distribution. can do.
  • the nutrient analysis unit 325 analyzes the electrocardiogram (10, ECG) signal using artificial intelligence (AI) to determine deficient nutrients (lacked nutrients) corresponding to the user's health status. ) and one or more excess nutrients can be identified.
  • AI artificial intelligence
  • the deficient nutrient is a nutrient that requires immediate intake in high amounts in light of the user's health condition.
  • Excess nutrients are nutrients that do not cause health problems even if not consumed immediately, based on the user's health condition.
  • normal nutrients are nutrients that are required to be consumed in the amount required to lead a daily life, in light of the user's health condition.
  • the nutrient analysis unit 325 inputs a plurality of partial signals (S1, S2, S3, ...) divided by the ECG disassembly unit 320 into artificial intelligence (AI), and A plurality of probability values (P1, P2, P3, ..., Pn) can be obtained from.
  • AI artificial intelligence
  • the nutrient analysis unit 325 includes a plurality of partial signals (S1, S2, S3, ...) can be input into the first artificial neural network (ANN) to the third artificial neural network (ANN), respectively.
  • the ECG disassembly unit 320 targets the displacement of the P wave, P-Q wave, QRS wave, S-T wave, and T wave included in the plurality of divided partial signals (S1, S2, S3, ...), One or more features can be extracted according to preset feature extraction criteria.
  • the ECG disassembly unit 320 may generate a vector of electrocardiogram (ECG) signal features by one-hot encoding one or more extracted features.
  • ECG disassembly unit 320 may generate a dense vector with reduced dimension by embedding vectors of generated electrocardiogram (ECG) signal features.
  • the ECG disassembly unit 320 may input the generated dense vector into the GMF layer and MLP layer of each of the first to third artificial neural networks (ANN). In addition, the ECG disassembly unit 320 generates a plurality of probability values (P1, P2, P3, ..., Pn) can be obtained.
  • P1, P2, P3, ..., Pn a plurality of probability values
  • the nutrient analysis unit 325 may determine whether each nutrient is deficient, normal, or excessive based on the obtained plurality of probability values (P1, P2, P3, ..., Pn).
  • the nutrient analysis unit 325 may determine whether the electrolyte is deficient, normal, or excessive based on a plurality of probability values obtained from the first artificial neural network (ANN). The nutrient analysis unit 325 may determine whether the protein is deficient, normal, or excessive based on a plurality of probability values obtained from a second artificial neural network (ANN). Additionally, the nutrient analysis unit 325 may determine whether moisture is deficient, normal, or excessive based on a plurality of probability values obtained from a third artificial neural network (ANN).
  • ANN artificial neural network
  • the nutrient analysis unit 325 calculates a plurality of probability values (P1, P2, P3) obtained from each artificial neural network (ANN) based on a preset valid range. , ..., Pn) can be removed.
  • the nutrient analysis unit 325 provides a soft voting result based on the average value (Pa) of a plurality of probability values (P1, P2, ..., Pm) from which outliers have been removed, or a plurality of probabilities from which outliers have been removed.
  • Pa average value
  • P1, P2, ..., Pm a plurality of probability values from which outliers have been removed
  • Using hard voting results based on a majority vote of the values (P1, P2, ..., Pm) it is possible to determine whether the nutrients are deficient, normal, or excessive.
  • the nutrient analysis unit 325 may calculate the average value (Pa) of a plurality of probability values (P1, P2, ..., Pm) from which outliers have been removed. In addition, the nutrient analysis unit 325 determines a deficiency if the calculated average value (Pa) is less than or equal to the preset deficiency criterion (Criteria of lack, Cl), and the calculated average value (Pa) is determined as a deficiency criterion (Criteria of lack, Cl). of surplus, Cs), it is judged as excess, and if the calculated average value (Pa) is greater than the deficiency standard (Cl) and less than the surplus standard (Cs), it can be judged as normal.
  • the preset deficiency criterion Ciriteria of lack, Cl
  • the calculated average value (Pa) is determined as a deficiency criterion (Criteria of lack, Cl).
  • the nutrient analysis unit 325 can determine whether each of the plurality of probability values (P1, P2, ..., Pm) from which outliers have been removed is deficient, normal, or excessive. That is, the nutrient analysis unit 325 determines a deficiency if each probability value (Px) is less than or equal to the deficiency standard (Cl), and judges it as an excess if each probability value (Px) is greater than or equal to the excess standard (Cs). , if each probability value (Px) is greater than the deficiency standard (Cl) and smaller than the excess standard (Cs), it can be judged as normal. Additionally, the nutrient analysis unit 325 may determine the highest judgment result among the plurality of judgment results as the final result.
  • the nutrient analysis unit 325 provides electrocardiogram (ECG) signals 10 measured at the first time and the second time with a difference within a preset minimum biotransformation time for the user. You can receive it. Nutrient analysis unit 325 extracts excess nutrients identified based on the electrocardiogram (10, ECG) signal measured for the user at the first time, and the electrocardiogram (10, ECG) signal measured for the user at the second time. If the deficiencies identified based on the nutrients are the same, it may be determined that a warning to the user is necessary. If it is determined that a warning is needed for the user, the nutrient analysis unit 325 may transmit a message notifying that an abnormality has occurred in the body to the user device 200 (UE) set for the user.
  • ECG electrocardiogram
  • the diet setting unit 330 sets a diet that includes one or more foods that can supplement deficient nutrients identified through the nutrient analysis unit 325 and avoid excess nutrients. You can.
  • the diet setting unit 330 excludes or excludes excess nutrients from a preset food dictionary based on information on deficient nutrients, excess nutrients, and normal nutrients identified through the nutrient analysis unit 325. It can identify two or more foods that contain deficient nutrients and contain only those that are below a pre-set threshold content.
  • the diet setting unit 330 may identify a human weight preset for the user and a time weight corresponding to the time when the electrocardiogram (ECG) signal 10 was measured.
  • ECG electrocardiogram
  • the human weight may be a value set in response to the types of nutritional deficiencies and excess nutrients identified based on electrocardiogram (ECG) signals measured for people who live with the user.
  • the time weight may be a value set in response to the type of season or meal time corresponding to the time when the electrocardiogram (ECG) signal 10 is measured for the user.
  • the diet setting unit 330 may select one food from among two or more identified foods by reflecting the human weight and time weight. Additionally, the diet setting unit 330 may identify one or more diet templates containing one selected food and set a diet using the one or more identified diet templates. In this case, the menu template may be a list containing two or more foods preset based on food compatibility.
  • the diet setting unit 330 can set the diet by further including information about the intake order and recommended intake amount of ingredients contained in one or more foods included in the food template. there is.
  • the diet setting unit 330 is located within a preset threshold distance from the user device (200, UE) based on the location information of the user device (200, UE) and selects one or more foods included in the diet. You can also set your menu by including more information about restaurants that can provide it.
  • the diet setting unit 330 may transmit information about the set starting point to a user device 200 (UE) previously set in response to the user.
  • UE user device 200
  • Figure 9 is a hardware configuration diagram of a menu recommendation server according to an embodiment of the present invention.
  • the diet recommendation server 300 includes a processor (350), a memory (355), a transceiver (360), and an input/output device (input/output). It may be configured to include a device 365), a data bus 370, and storage 375.
  • the processor 350 may implement the operations and functions of the diet recommendation server 300 based on commands according to the software 380a in which the diet recommendation method is implemented, which resides in the memory 355.
  • Software 380b implementing the diet recommendation method stored in the storage 375 may be loaded in the memory 355 .
  • the transceiver 360 may transmit and receive data with one or more of the electrocardiograph 100 and the user device 200 (UE).
  • the input/output device 365 may receive signals required for operation of the diet recommendation server 300 or output calculation results to the outside according to instructions from the processor 350.
  • the data bus 370 is connected to the processor 350, memory 355, transceiver 360, input/output device 365, and storage 375, and serves as a moving path for transmitting signals between each component. can perform its role.
  • the storage 375 contains an application programming interface (API), library files, and resource files necessary for executing the software 380a in which the diet recommendation method according to various embodiments of the present invention is implemented. etc. can be saved.
  • the storage 375 may store software 380b in which a diet recommendation method according to various embodiments of the present invention is implemented. Additionally, the storage 375 may include a database 385 for storing artificial intelligence (AI) learning data, food dictionaries, menu templates, and various setting values.
  • AI artificial intelligence
  • the software (380a, 380b) for implementing the diet recommendation method resident in the memory 355 or stored in the storage 375 is configured to allow the processor 350 to use the electrocardiogram (ECG) measured for the user.
  • ECG electrocardiogram
  • the processor 350 analyzes the electrocardiogram (10, ECG) signal using pre-trained artificial intelligence (AI) Identifying one or more deficient nutrients and excess nutrients corresponding to the user's health condition, and setting a diet, where the processor 350 includes one or more foods that can replenish the identified deficient nutrients and avoid excess nutrients. It may be a computer program recorded on a recording medium to execute.
  • the processor 350 may include, but is not limited to, one or more of a central processing unit (CPU), an application-specific integrated circuit (ASIC), a chipset, and a logic circuit. No.
  • the memory 355 may include, but is not limited to, one or more of read-only memory (ROM), random access memory (RAM), flash memory, and memory card.
  • the input/output device 365 includes input devices such as buttons, switches, keyboards, mice, joysticks, and touch screens, LCDs (Liquid Crystal Displays), It may be configured to include one or more output devices such as LED (Light Emitting Diode), Organic LED (OLED), Active Matrix OLED (AMOLED), printer, plotter, etc. It can be done, but is not limited to this.
  • input devices such as buttons, switches, keyboards, mice, joysticks, and touch screens, LCDs (Liquid Crystal Displays), It may be configured to include one or more output devices such as LED (Light Emitting Diode), Organic LED (OLED), Active Matrix OLED (AMOLED), printer, plotter, etc. It can be done, but is not limited to this.
  • each module resides in memory 355 and can be executed by processor 350.
  • the memory 355 may exist inside or outside the processor 350 and may be connected to the processor 350 through various well-known means.
  • an embodiment of the present invention includes one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), and FPGAs ( Field Programmable Gate Arrays), processor, controller, microcontroller, microprocessor, etc.
  • ASICs Application Specific Integrated Circuits
  • DSPs Digital Signal Processors
  • DSPDs Digital Signal Processing Devices
  • PLDs Programmable Logic Devices
  • FPGAs Field Programmable Gate Arrays
  • an embodiment of the present invention when implemented by firmware or software, is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored on a recording medium readable through various computer means.
  • the recording medium may include program instructions, data files, data structures, etc., singly or in combination.
  • Program instructions recorded on the recording medium may be specially designed and configured for the present invention or may be known and available to those skilled in the computer software industry.
  • recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROM (Compact Disk Read Only Memory) and DVD (Digital Video Disk), and floptical media. It includes magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, etc.
  • Examples of program instructions may include machine language code such as that created by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
  • Such hardware devices may be configured to operate as one or more software to perform the operations of the present invention, and vice versa.
  • Figure 10 is a flowchart for explaining a diet recommendation method according to an embodiment of the present invention.
  • the diet recommendation server 300 may acquire an electrocardiogram (ECG) signal 10 measured for the user (S100).
  • ECG electrocardiogram
  • the diet recommendation server 300 may directly receive an electrocardiogram (ECG) signal 10 from the electrocardiograph 100, or may receive a signal directly from the user or another person.
  • ECG electrocardiogram
  • the diet recommendation server 300 may divide the electrocardiogram (ECG) signal 10 into a plurality of partial signals (S1, S2, S3, ...) according to the time series sequence measured by the user (S200).
  • ECG electrocardiogram
  • the diet recommendation server 300 divides the electrocardiogram (10, ECG) signal into a plurality of partial signals by discretely cutting the electrocardiogram (10, ECG) signal to a certain size without overlapping regions. It can be divided into (S1, S2, S3, ). According to another embodiment, the diet recommendation server 300 moves and cuts a window for the electrocardiogram (10, ECG) signal along the time axis, thereby inserting the electrocardiogram (10, ECG) signal into the window. It can be divided into a plurality of partial signals (S1, S2, S3, ...) having corresponding sizes.
  • the diet recommendation server 300 may remove noise included in the plurality of divided partial signals (S1, S2, S3, ).
  • the diet recommendation server 300 analyzes a plurality of partial signals (S1, S2, S3, ...) using artificial intelligence (AI) to generate a plurality of probability values (P1, P2, P3, ..., Pn). ) can be obtained (S300).
  • the diet recommendation server 300 targets the displacements of the P wave, P-Q wave, QRS wave, S-T wave, and T wave included in the plurality of divided partial signals (S1, S2, S3, ...), One or more features can be extracted according to preset feature extraction criteria.
  • the diet recommendation server 300 may generate a vector of electrocardiogram (ECG) signal features by one-hot encoding one or more extracted features.
  • the diet recommendation server 300 may generate a dense vector with reduced dimension by embedding a vector of generated electrocardiogram (ECG) signal features.
  • the diet recommendation server 300 may input the generated dense vector into the GMF layer and MLP layer of each of the first to third artificial neural networks (ANN).
  • the diet recommendation server 300 generates a plurality of probability values (P1, P2, P3, ..., Pn) can be obtained.
  • the diet recommendation server 300 may determine whether each nutrient is deficient, normal, or excessive based on the obtained plurality of probability values (P1, P2, P3, ..., Pn) (S400).
  • the diet recommendation server 300 may determine whether electrolytes are deficient, normal, or excessive based on a plurality of probability values obtained from the first artificial neural network (ANN). The diet recommendation server 300 may determine whether protein is deficient, normal, or excessive based on a plurality of probability values obtained from a second artificial neural network (ANN). Additionally, the diet recommendation server 300 may determine whether moisture is deficient, normal, or excessive based on a plurality of probability values obtained from a third artificial neural network (ANN).
  • ANN artificial neural network
  • the diet recommendation server 300 removes outliers included in a plurality of probability values (P1, P2, P3, ..., Pn) obtained from each artificial neural network (ANN) based on a preset effective range. can do.
  • the diet recommendation server 300 provides a soft voting result based on the average value (Pa) of a plurality of probability values (P1, P2, ..., Pm) from which outliers have been removed, or a plurality of probability values (P1, Pm) from which outliers have been removed.
  • Pa the average value
  • P1, P2, ..., Pm a plurality of probability values from which outliers have been removed
  • P1, Pm probability values from which outliers have been removed.
  • the diet recommendation server 300 can set a diet that includes one or more foods that can supplement deficient nutrients and avoid excessive nutrients (S500).
  • the diet recommendation server 300 does not include excess nutrients from a preset food dictionary or includes only those below a preset threshold content, based on information on identified deficient nutrients, excess nutrients, and normal nutrients. Can identify two or more foods that contain nutrients.
  • the diet recommendation server 300 may identify a human weight previously set for the user and a time weight corresponding to the time when the electrocardiogram (ECG) signal 10 was measured.
  • the diet recommendation server 300 may select one food from two or more identified foods by reflecting the human weight and time weight.
  • the diet recommendation server 300 may identify one or more diet templates containing one selected food and set a diet using the one or more identified diet templates.
  • the diet recommendation server 300 may transmit information about the set starting point to the user device 200 (UE) set in advance in response to the user (S600).

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • Pathology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Cardiology (AREA)
  • Veterinary Medicine (AREA)
  • Surgery (AREA)
  • Nutrition Science (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

본 발명은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 식단을 추천할 수 있는 방법을 제안한다. 상기 방법은 사용자를 대상으로 측정된 심전도(ElectroCardioGram, ECG) 신호를 획득하는 단계, 사전에 학습된 인공지능(Artificial Intelligence, AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 건강상태에 대응하는 결핍 영양분(nutrient) 및 과잉 영양분을 하나 이상 식별하는 단계, 및 상기 식별된 결핍 영양분을 보충하고 상기 과잉 영양분을 회피할 수 있는 하나 이상의 음식을 포함하는 식단(menu)을 설정하는 단계를 포함할 수 있다. 이를 통하여, 사용자는 단순히 심전도(ECG)를 측정하는 것만으로, 그 시점의 건강상태에 최적화된 식단을 추천받을 수 있게 된다.

Description

심전도에 기반한 식단 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
본 발명은 스마트 헬스 케어(smart health care)에 관한 것으로, 보다 상세하게는 심전도(ElectroCardioGram, ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 식단을 추천할 수 있는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
심전도(ECG)는 심장의 심근(heart muscle)에 의해 발생하는 전기적 활동의 시각적 변화를 그래프로 기록한 것이다. 심장의 자극전도계(conduction system)에 관하여 간략히 설명하면, 동방결절(SinoAtrial Node, SA Node)은 주기적으로 전기적 신호를 발생시켜 심장의 수축의 수축을 유도한다. 방실결절(AtrioVentricular Node, AV Node)은 동방결절(SA Node)에 의해 발생된 전기적 신호가 심방(atrium)을 통해 전달되면 이를 미세하게 지연시킨 후 전달한다. 방실결절(AV Node)로부터 전달된 전기적 신호는 히스색(bundle of His)과 푸르키네 섬유(Purkinje fibers)를 거쳐 심실(ventricle) 전체로 퍼지게 된다.
심장의 자극전도 과정에 따라 확인될 수 있는 심전도(ECG)의 파형을 설명하면, 동방결절(SA Node)에 의해 발생된 전기적 신호에 의해 심방이 극성화되면서 판막의 심근이 수축하고, 심방이 다시 비극성화되면서 판막의 심근이 다시 이완되는 과정에서 P 파(P wave)가 확인될 수 있다. 방실결절(AV Node)가 심방이 수축할 때 심실이 곧바로 반응하지 않도록 전기적 신호를 지연시키는 과정에서 P-Q 파(P-Q wave)가 확인될 수 있다. 방실결절(AV Node)에 의해 지연된 전기적 신호가 전달(Q)되어 심실이 즉시 극성화(R)되었다가 곧바로 비극성화(S)되는 과정에서 QRS 파(QRS complex)가 확인될 수 있다. 심실이 수축하여 심실 속 피가 신체 곳곳으로 이동하기 위해 전기적 신호가 심장을 자극하지 않는 휴지기 과정에서 S-T 파(S-T wave)가 확인될 수 있다. 그리고, 심실이 다시 약하게 극성화되었다가 다시 비극화되면서 심실과 판막의 심근이 동시에 이완되는 과정에서 T 파(T wave)가 확인될 수 있다. 또한, 경우에 따라 심실중격(intraventricular septum)의 재극성화에 따른 U 파(U wave)가 확인될 수도 있다.
이와 같은, 심전도(ECG)를 통해 확인될 수 있는 파형들(P파, P-Q 파, QRS 파, S-T 파, T 파 및 U 파)의 등장 순서, 각각의 형상, 크기 및 간격 등은 건강상태에 따라 다양한 형태로 변화될 수 있다. 다르게 말하면, 심전도(ECG)에 포함된 파형들의 등장 순서, 형상, 크기 및 간격 등을 분석하면 건강상태를 유추할 수 있으며, 나아가 그러한 건강상태를 나타나게 하는 다양한 원인까지도 유추할 수 있다.
한편, 인공 신경망(Artificial Neural Network, ANN)은 기계 학습의 세부 방법론 중의 하나로, 인간의 신경 세포에 대응하는 기초 연산 단위인 뉴런(neuron)들이 서로 연결(linked)된 망(network) 형태를 가지는 알고리즘을 의미한다. 대표적인 인공신경망(ANN)으로는 다층 퍼셉트론(MultiLayer Perceptron, MLP), 순환 신경망(Recurrent Neural Network, RNN), 콘볼루션 신경망(Convolutional Neural Network, CNN) 등이 존재한다.
구체적으로, 다층 퍼셉트론(MLP)은 입력층(input layer)과 출력층(output layer) 사이에 다수의 은닉층(hidden layer)을 가지는 인공신경망(ANN)이다. 순환 신경망(RNN)은 뉴런의 출력이 다시 입력층에 입력되는 재귀적인 연결 구조를 가지는 인공신경망(ANN)이다. 그리고, 콘볼루션 신경망(CNN)은 인간의 시신경 구조를 모방하여, 다수의 콘볼루션 층(convolutional layer)으로부터 특징맵(feature map)을 추출하고, 서브 샘플링(subsampling)을 통해 행렬(matrix)의 차원을 축소하여 특징맵으로부터 중요 부분만을 추출하는 인공신경망(ANN)이다.
다른 한편, 식단(menu, diet)은 식사 과정에서 사람이 섭취하는 음식의 종류, 분량, 섭취 순서 등과 관련된 계획이다. 이러한, 식단을 결정하는 과정에는 사람의 기호(preference)뿐만 아니라, 사람의 건강상태에 따라 요구되는 영양분(nutrient)까지도 고려되어야 한다. 따라서, 음식 또는 식단을 추천 또는 제안하는 종래의 서비스들은 단순히 사용자의 신장, 체중 및 비만도 등과 같이 정적(static)인 요소에 기반한 일반적인 건강상태에 따라 요구되는 영양분만을 고려하고 있다.
그러나, 건강상태에 따라 요구되는 영양분은 수행 중이거나 직전에 수행한 활동의 종류 및 강도, 직전에 섭취한 음식의 종류 및 양 등에 따라 시시각각 변화될 수 있다. 예를 들어, 고강도의 운동을 막 마친 사람의 경우 단백질 및 수분 등과 같은 다량 영양소(macronutrients)가 요구될 것이고, 갑작스러운 설사 또는 구토를 겪은 사람의 경우 미네랄 등과 같은 미량 영양소(micronutrients)가 요구될 것이다. 또한, 비의료인이 일상생활 과정에서 자신의 건강상태 및 요구되는 영양분을 확인하고자 주기적으로 직접 채혈(blood drawing)하는 것은 현실적으로 곤란하다.
따라서, 사용자에게 부담스러운 행위를 요구하지 않고도, 사용자의 실시간 건강상태에 적합한 식단을 즉각적으로 추천할 수 있는 수단이 요구되고 있다.
본 발명의 일 목적은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 식단을 추천할 수 있는 방법을 제안하는 것이다.
본 발명의 다른 목적은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 식단을 추천할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 식단을 추천할 수 있는 방법을 제안한다. 상기 방법은 사용자를 대상으로 측정된 심전도(ElectroCardioGram, ECG) 신호를 획득하는 단계, 사전에 학습된 인공지능(Artificial Intelligence, AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 건강상태에 대응하는 결핍 영양분(nutrient) 및 과잉 영양분을 하나 이상 식별하는 단계, 및 상기 식별된 결핍 영양분을 보충하고 상기 과잉 영양분을 회피할 수 있는 하나 이상의 음식을 포함하는 식단(menu)을 설정하는 단계를 포함할 수 있다.
상기 방법은 상기 식단을 설정하는 단계 이후에, 상기 설정된 식단에 관한 정보를, 상기 사용자에 대응하여 사전에 설정된 사용자 장치(User Equipment, UE)에 전송하는 단계를 더 포함할 수 있다.
보다 구체적으로, 상기 식별하는 단계는 상기 심전도(ECG) 신호를 시계열적 선후에 따라 복수 개의 부분신호들로 분할하는 단계, 상기 분할된 복수 개의 부분신호들을 상기 인공지능(AI)에 각각 입력하고, 상기 인공지능(AI)으로부터 복수 개의 확률 값들을 획득하는 단계, 및 상기 획득된 복수 개의 확률 값들을 기반으로 영양분이 결핍, 정상 또는 과잉인지 여부를 판단하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 복수 개의 부분신호로 분할하는 단계는 사전에 설정된 크기의 윈도우(window)를 시간 축에 따라 이동시키며, 상기 심전도(ECG) 신호를 상기 윈도우에 대응하는 크기를 가지는 복수 개의 부분신호들로 분할할 수 있다.
한편, 상기 인공지능(AI)은 전해질(electrolyte)에 관한 제1 인공신경망(Artificial Neural Network; ANN), 단백질(protein)에 관한 제2 인공신경망(ANN) 및 수분(water)에 관한 제3 인공지능망(ANN)을 포함하여 구성될 수 있다. 이 경우, 상기 판단하는 단계는 상기 제1 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 전해질이 결핍, 정상 또는 과잉인지 여부를 판단하고, 상기 제2 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 단백질이 결핍, 정상 또는 과잉인지 여부를 판단하고, 상기 제3 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 수분이 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다.
또한, 상기 제1 내지 제3 인공신경망(ANN)의 은닉층(hidden layer)은 상기 심전도(ECG) 신호의 특징과 영양분의 함량 사이에 존재하는 선형적 관계(linearity relation)를 학습하기 위한 GMF(Generalized Matrix Factorization)와, 상기 심전도(ECG) 신호의 특징과 영양분의 함량 사이에 존재하는 비선형적 관계(non-linearity relation)를 학습하기 위한 MLP(Multi-Layer Perceptron)를 포함할 수 있다.
상기 방법의 상기 판단하는 단계는 사전에 설정된 유효범위(validated range)를 기준으로 상기 획득된 복수 개의 확률 값들에 포함된 아웃라이어(outlier)를 제거하고, 상기 아웃라이어가 제거된 확률 값들의 평균 값에 기반한 소프트 보팅(soft voting) 결과, 또는 상기 아웃라이어가 제거된 확률 값들의 다수결에 기반한 하드 보팅(hard voting) 결과 중 하나를 이용하여 상기 영양분의 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다.
상기 식단을 설정하는 단계는 사전에 설정된 음식사전(food dictionary)으로부터 상기 과잉 영양분을 불포함 또는 사전에 설정된 임계함량(threshold content) 이하만 포함하고 있으며 상기 식별된 결핍 영양분을 포함하고 있는 둘 이상의 음식들을 식별하는 단계, 상기 사용자에 대응하여 사전에 설정된 인적 가중치(human weight) 및 상기 심전도(ECG) 신호가 측정된 시점에 대응하는 시간 가중치(time weight)를 식별하는 단계, 및 상기 식별된 둘 이상의 음식들 중에서 상기 인적 가중치 및 시간 가중치를 반영하여 하나의 음식을 선택하는 단계를 포함할 수 있다.
그리고, 상기 식별하는 단계는 제1 시각과 제2 시각이 사전에 설정된 최소 생체변화시간(minimum biotransformation time) 이내의 차이를 가지며, 상기 제1 시각에 상기 사용자를 대상으로 측정된 심전도(ECG) 신호를 기반으로 식별된 과잉 영양분과, 상기 제2 시각에 상기 사용자를 대상으로 측정된 심전도(ECG) 신호를 기반으로 식별된 결핍 영양분이 서로 동일한 경우, 상기 사용자에게 경고가 필요한 것으로 판단할 수도 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 식단을 추천할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory), 송수신기(transceiver), 입출력장치(input/output device), 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 사용자를 대상으로 측정된 심전도(ECG) 신호를 상기 송수신기 또는 입출력장치를 통해 획득하는 단계, 상기 프로세서가 사전에 학습된 인공지능(AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 건강상태에 대응하는 결핍 영양분 및 과잉 영양분을 하나 이상 식별하는 단계, 및 상기 프로세서가 상기 식별된 결핍 영양분을 보충하고 상기 과잉 영양분을 회피할 수 있는 하나 이상의 음식을 포함하는 식단을 설정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 사용자가 단순히 심전도(ECG)를 측정하는 것만으로, 그 시점의 사용자 건강상태에 최적화된 식단을 추천할 수 있게 된다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 식단 추천 수단을 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 식단 추천 시스템을 설명하기 위한 예시도이다.
도 3은 본 발명의 일 실시예에 따른 식단 추천 서버의 논리적 구성도이다.
도 4는 본 발명의 일 실시예에 따른 인공신경망(Artificial Neural Network; ANN)을 설명하기 위한 예시도이다.
도 5 및 도 6은 본 발명의 몇몇 실시예에 따라 심전도(ECG) 신호를 분할하는 과정을 설명하기 위한 예시도이다.
도 7 및 도 8은 본 발명의 몇몇 실시예에 따라 영양분별 결핍, 정상 또는 과잉 여부를 판단하는 과정을 설명하기 위한 예시도이다.
도 9는 본 발명의 일 실시예에 따른 식단 추천 서버의 하드웨어 구성도이다.
도 10은 본 발명의 일 실시예에 따른 식단 추천 방법을 설명하기 위한 순서도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구 성 요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
상술한 바와 같이, 음식 또는 식단을 추천 또는 제안하는 종래의 서비스들은 단순히 사용자의 신장, 체중 및 비만도 등과 같이 정적인 요소에 기반한 일반적인 건강상태에 따라 요구되는 영양분만을 고려하고 있다. 그러나, 건강상태에 따라 요구되는 영양분은 수행 중이거나 직전에 수행한 활동의 종류 및 강도, 직전에 섭취한 음식의 종류 및 양 등에 따라 시시각각 변화될 수 있다.
이러한 한계를 극복하고자, 본 발명은 사용자의 실시간 건강상태에 적합한 식단을 추천할 수 있는 수단을 제안하고자 한다.
도 1은 본 발명의 일 실시예에 따른 식단 추천 수단을 설명하기 위한 예시도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 식단 추천 수단은 심전도계(ECG reader, 100)를 이용하여 사용자의 심전도(10, ECG)를 측정하고, 사용자의 측정된 사용자의 심전도(10, ECG)를 인공지능(Artificial Intelligence, AI)를 이용하여 분석하여 사용자의 실시간 건강상태에 따라 요구되는 영양분을 식별하고, 식별된 영양분에 기반한 식단(20, menu)을 사용자에게 즉각적으로 추천할 수 있다.
따라서, 본 발명의 일 실시예에 따르면, 사용자는 단순히 심전도(10, ECG)를 측정하는 것만으로, 그 시점의 사용자 건강상태에 최적화된 식단을 추천받을 수 있게 된다.
이하, 상술한 바와 같은 특징을 구현하기 위한 장치들 및 방법에 대하여 구체적으로 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 식단 추천 시스템을 설명하기 위한 예시도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 식단 추천 시스템은 하나 이상의 심전도계(100a, 100b, …, 100n; 100), 하나 이상의 사용자 장치(200a, 200b, …, 200n; 200) 및 식단 추천 서버(300)를 포함하여 구성될 수 있다.
이와 같은, 본 발명의 일 실시예에 따른 식단 추천 시스템의 구성요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성요소에 대하여 설명하면, 심전도계(100)는 사용자의 심전도(10, ECG)를 측정 및 기록할 수 있는 장치이다.
구체적으로, 심전도계(100)는 사용자의 신체에 접촉된 전극(electrode)을 통해 심근의 전기적 활동에 의한 전위(electric potential) 변화를 유도하고, 유도된 전위 변화를 증폭하여 파형(wave)으로 기록할 수 있다.
본 발명의 일 실시예에 따른 심전도계(100)는 표준 사지 유도(standard limb leads), 단극 사지 유도(unipolar limb leads) 및 흉부 유도(precordial leads) 중 어느 하나의 방식에 따라 심전도(ECG)를 유도할 수 있으며, 심전도계(100)의 심전도(10, ECG) 유도 방식은 이에 한정되지 않는다. 심전도계(100)는 1유도, 6유도 또는 12유도를 위한 전극을 구비할 수 있으며, 심전도계(100)의 유도(lead) 개수는 이에 한정되지 않는다. 또한, 심전도계(100)는 와치형(100a), 휴대형(100b) 및 홀터(holter)형(100n) 중 어느 하나의 유형(type)를 가질 수 있으며, 심전도계(100)의 유형은 이에 한정되지 않는다.
심전도계(100)에 의해 측정된 심전도(ECG) 신호(즉, 기록된 파형 신호)는 심전도계(100) 자체의 네트워크 기능을 통해 직접 식단 추천 서버(300)에 전송되거나, 또는 제3 수단을 경유하여 식단 추천 서버(300)에 입력될 수 있다. 예를 들어, 제3 수단은 이동식 매체(removable media), 사용자 장치(200) 및 사용자에 의한 데이터 입력 행위 중 어느 하나가 될 수 있으며, 이에 한정되지 않는다.
다음 구성으로, 사용자 장치(200)는 식단 추천 서버(300)에 의해 설정된 식단에 관한 정보를 출력할 수 있다.
구체적으로, 사용자 장치(200)는 식단 추천 서버(300)로부터 식단에 관한 정보를 수신할 수 있다. 그리고, 사용자 장치(200)는 수신된 식단에 관한 정보를 출력할 수 있다.
본 발명의 일 실시예에 따른 사용자 장치(200)는 3GPP(3rd Generation Partnership Project)에서 규정하고 있는 사용자 장치(User Equipment, UE), 또는 IEEE(Institute of Electrical and Electronics Engineers)에서 규정하고 있는 모바일 스테이션(Mobile Station, MS)에 한정되지 아니하며, 식단 추천 서버(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.
예를 들어, 사용자 장치(100)는 데스크탑(desktop, 200c), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치, 또는 스마트폰(smart phone, 200a), 랩탑(laptop, 200b), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있으며, 이에 한정되는 것도 아니다.
다음 구성으로, 식단 추천 서버(300)는 심전도계(100)에 의해 측정된 심전도(10, ECG)를 기반으로 사용자의 실시간 건강 상태에 따라 요구되는 영양분을 식별하고, 식별된 영양분에 기반한 식단(20)에 관한 정보를 사용자 장치(200)에 전송할 수 있다.
이와 같은, 식단 추천 서버(300)의 구체적인 구성요소 및 동작에 대해서는 추후 도 3 내지 도 10을 참조하여 후술하기로 한다.
상술한 바와 같은, 식단 추천 시스템을 구성하는 하나 이상의 심전도계(100), 하나 이상의 사용자 장치(200) 및 식단 추천 서버(300)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것은 아니다. 또한, 이동통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것도 아니다.
이하, 상술한 바와 같은 특징을 가지는, 식단 추천 서버(300)의 구성요소에 대하여 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 식단 추천 서버의 논리적 구성도이다. 도 4는 본 발명의 일 실시예에 따른 인공신경망(Artificial Neural Network; ANN)을 설명하기 위한 예시도이다. 도 5 및 도 6은 본 발명의 몇몇 실시예에 따라 심전도(ECG) 신호를 분할하는 과정을 설명하기 위한 예시도이다. 그리고, 도 7 및 도 8은 본 발명의 몇몇 실시예에 따라 영양분별 결핍, 정상 또는 과잉 여부를 판단하는 과정을 설명하기 위한 예시도이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 식단 추천 서버(300)는 통신부(305), 입출력부(310), 인공지능 학습부(315), 심전도 해체부(320), 영양분 분석부(325) 및 식단 설정부(330)를 포함하여 구성될 수 있다.
이와 같은, 본 발명의 일 실시예에 따른 식단 추천 서버(300)의 구성요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성요소에 대하여 설명하면, 통신부(305)는 심전도계(100) 및 사용자 장치(200)와 데이터를 송수신할 수 있다.
구체적으로, 통신부(305)는 심전도계(100)로부터 심전도(10, ECG) 신호를 수신할 수 있다. 또한, 통신부(305)는 식단(20)에 관한 정보를 사용자 장치(200)에 전송할 수 있다.
다음 구성으로, 입출력부(310)는 사용자 인터페이스(User Interface, UI)를 통해, 관리자로부터 명령을 입력 받거나 연산 결과를 출력할 수 있다.
구체적으로, 입출력부(310)는 심전도(10, ECG) 신호를 해체하기 위한 기준인 윈도우(window)의 크기를 입력 받을 수 있다. 입출력부(310)는 인공지능(AI)으로부터 획득된 확률 값들 중에서 아웃라이어(outlier)를 제거하기 위한 기준인 유효범위(validated rage)를 입력 받을 수 있다. 입출력부(310)는 음식과 영양분이 서로 매칭하여 정리된 음식사전(food dictionary)를 입력 받을 수 있다. 입출력부(310)는 과잉 영양분별로 추가 섭취가 허용된 경계 값인 임계함량(threshold content)를 입력 받을 수 있다. 입출력부(310)는 사용자에게 특별한 상황이 발생하였음을 판단하기 위한 기준인 생체변화시간(minimum biotransformation time)을 입력 받을 수 있다. 그리고, 입출력부(310)는 음식점의 정보를 제공하기 위한 기준 범위인 임계거리(threshold distance)를 입력 받을 수 있다.
한편, 입출력부(310)는 인공신경망(ANN)의 GMF 층에 적용될 활성화 함수(activation function), MLP 층에 적용될 활성화 함수, 가중치(weight) 및 편향(bias)을 입력 받을 수 있다.
또한, 입출력부(310)는 사용자의 심전도(10, ECG) 신호를 출력할 수 있다. 입출력부(310)는 사용자에게 추천할 식단(20)에 관한 정보를 출력할 수도 있다.
다음 구성으로, 인공지능 학습부(315)는 심전도(10, ECG) 신호를 기반으로 사용자의 건강상태에 대응하는 결핍 영양분 및 과잉 영양분을 식별하기 위한 인공지능(AI)을 학습시킬 수 있다.
구체적으로, 인공지능 학습부(315)의 학습 대상이 되는 인공지능(AI)은 전해질(electrolyte)에 관한 제1 인공신경망(ANN), 단백질(protein)에 관한 제2 인공신경망(ANN) 및 수분(water)에 관한 제3 인공지능망(ANN)을 포함하여 구성될 수 있다.
인공지능 학습부(315)는 관리자에 의해 입력된 심전도(ECG) 신호의 특징과 전해질의 함량에 관한 데이터를 기반으로, 제1 인공신경망(ANN)을 학습시킬 수 있다. 인공지능 학습부(315)는 관리자에 의해 입력된 심전도(ECG) 신호의 특징과 단백질의 함량에 관한 데이터를 기반으로, 제2 인공신경망(ANN)을 학습시킬 수 있다. 그리고, 인공지능 학습부(315)는 관리자에 의해 입력된 심전도(ECG) 신호의 특징과 수분의 함량에 관한 데이터를 기반으로, 제3 인공신경망(ANN)을 학습시킬 수 있다.
여기서, 전해질은 용매에 녹아 이온화하여 음양의 이온이 생기는 물질이다. 본 발명의 일 실시예에 따른 전해질에는 소듐(sodium, Na), 포타슘(potassium, Ka) 및 칼슘(calcium, Ca)이 포함될 수 있으나, 이에 한정되지 않는다. 단백질은 아미노산의 결합으로 이루어진 유기물이다. 본 발명의 일 실시예에 따른 단백질에는 알부민(albumin)이 포함될 수 있으나, 이에 한정되지 않는다.
인공지능 학습부(315)의 학습 대상이 되는 제1 인공신경망(ANN), 제2 인공신경망(ANN) 및 제3 인공신경망(ANN) 각각은 입력층(input layer), 은닉층(hidden layer) 및 출력층(output layer)을 포함하여 구성될 수 있다.
특히 도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN)의 은닉층은 GMF(Generalized Matrix Factorization)와, MLP(Multi-Layer Perceptron)가 혼합된 형태로 구성될 수 있다.
이하, 설명의 편의를 위하여, 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN)의 전부 또는 일부는 단순히 인공신경망(ANN)으로 기재될 수 있다.
본 발명의 일 실시예에 따른 각 인공신경망(ANN)에서 GMF 층은 심전도(ECG) 신호의 특징과 영양분의 함량 사이에 존재하는 선형적 관계(linearity relation)를 학습하기 위한 층(layer)으로, 다음의 수식 1을 이용하여 구현될 수 있다.
Figure PCTKR2023010703-appb-img-000001
이 경우, p u는 심전도(ECG) 신호 특징의 밀집 벡터, q i는 영양분 함량의 밀집 벡터, p uq i는 심전도(ECG) 신호 특징의 밀집 벡터와 영양 분 함량의 밀집 벡터 사이의 아다마르 곱, a는 인공신경망(ANN)의 활성화 함수(activation function), h는 은닉층의 엣지 웨이트(edge weight), hT는 엣지 웨이트의 벡터 곱이 될 수 있다.
밀집 벡터(dense vector)는 원-핫 인코딩(one-hot encoding)에 의해 표현된 벡터를 임베딩(embedding)하여 차원을 축소한 벡터이다. 즉, 밀집 벡터는 원-핫 인코딩에 의해 표현된 희소 벡터(sparse vector)에서 0의 값을 제거하여 벡터의 차원을 축소시킨 벡터이다.
또한, 각 인공신경망(ANN)에서 MLP 층은 심전도(ECG) 신호의 특징과 영양분의 함량 사이에 존재하는 비선형적 관계(non-linearity relation)를 학습하기 위한 층으로, 다음의 수식 2 및 수식 3을 이용하여 구현될 수 있다.
Figure PCTKR2023010703-appb-img-000002
Figure PCTKR2023010703-appb-img-000003
이 경우, p u는 심전도(ECG) 신호 특징의 밀집 벡터, q i는 영양분 함량의 밀집 벡터, z는 심전도(ECG) 신호 특징의 밀집 벡터와 영양분 함량의 밀집 벡터가 서로 연결된 값(concatenation), a는 인공신경망(ANN)의 활성화 함수, W는 MLP를 구성하는 각 층(layer)의 가중치(weight), WT는 가중치의 벡터 곱, b는 MLP를 구성하는 각 층의 편향(bias), L은 은닉층을 구성의 층의 개수, σ는 수열의 합이 될 수 있다.
또한, 각 인공신경망(ANN)은 출력층으로 출력된 확률 값이 영양분의 함량에 관한 벡터에 추가되어 다시 입력층에 다시 입력되는, 재귀적 연결 구조를 가지는 순환 신경망(recurrent neural network)의 형태로 구성될 수도 있다.
이와 같이, 인공지능 학습부(315)의 각 인공신경망(ANN)은 GMF와 MLP가 혼합된 형태를 가짐으로써, 심전도(ECG) 신호의 특징과 영양분의 함량 사이에 존재하는 선형적인 관계뿐만 아니라, 비선형적 관계도 동시에 기계 학습될 수 있다.
다시 도 3을 참조하여 다음 구성을 설명하면, 심전도 해체부(320)는 심전도계(100)에 의해 측정된 심전도(10, ECG) 신호를 해체할 수 있다.
구체적으로, 심전도 해체부(320)는 사용자를 대상으로 측정된 심전도(10, ECG) 신호를 획득할 수 있다. 즉, 심전도 해체부(320)는 통신부(305)를 통해 심전도계(100)로부터 심전도(10, ECG) 신호를 직접 수신하거나, 또는 입출력부(310)를 통해 심전도(10, ECG) 신호를 직접 입력 받을 수 있다.
심전도 해체부(320)는 심전도(10, ECG) 신호를 사용자로부터 측정된 시계열적 선후에 따라 복수 개의 부분신호(segmentation signal)로 분할할 수 있다.
기본적으로 도 5에 도시된 바와 같이, 심전도 해체부(320)는 심전도(10, ECG) 신호를 중복되는 영역이 없이 일정한 크기마다 개별적(discrete)으로 자름으로써, 심전도(10, ECG) 신호를 복수 개의 부분신호들(S1, S2, S3, …)로 분할할 수 있다. 이 경우, 심전도(10, ECG) 신호를 개별적으로 잘라내기 위한 크기는 입출력부(310)에 의해 사전에 설정된 일정한 값이 될 수 있으나, 이에 한정되지 않고 무작위적(randomized) 값이 될 수도 있다.
이와 다르게 도 6에 도시된 바와 같이, 심전도 해체부(320)는 심전도(10, ECG) 신호를 대상으로 윈도우(window)를 시간 축에 따라 이동(sliding)시키며 자름으로써, 심전도(10, ECG) 신호를 윈도우에 대응하는 크기를 가지는 복수 개의 부분신호들(S1, S2, S3, …)로 분할할 수 있다. 이 경우, 심전도(10, ECG) 신호를 잘라내기 위한 윈도우의 크기는 입출력부(310)에 의해 사전에 설정된 일정한 값이 될 수 있다.
한편, 심전도(10, ECG) 신호에는 측정 과정에서 사용자의 거동 등에 의해 발생된 노이즈가 포함되어 있을 수 있다. 따라서, 심전도 해체부(320)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 포함된 노이즈(noise)를 제거할 수 있다.
구체적으로, 심전도 해체부(320)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 P 파, P-Q 파, QRS 파, S-T 파 및 T 파의 변위(displacement)를 식별할 수 있다. 심전도 해체부(320)는 식별된 P 파, P-Q 파, QRS 파, S-T 파 및 T 파의 변위들의 정규 분포(normal distribution)를 생성할 수 있다. 그리고, 심전도 해체부(320)는 생성된 정규 분포에서 사전에 설정된 노이즈범위(noise range)에 포함된 P 파, P-Q 파, QRS 파, S-T 파 또는 T 파의 변위를 가지는 부분신호만을 선택적으로 제거할 수 있다.
다시 도 3을 참조하여 다음 구성을 설명하면, 영양분 분석부(325)는 인공지능(AI)을 이용하여 심전도(10, ECG) 신호를 분석하여, 사용자의 건강상태에 대응하는 결핍 영양분(lacked nutrient) 및 과잉 영양분(surplus nutrient)을 하나 이상 식별할 수 있다.
여기서, 결핍 영양분은 사용자의 건강상태에 비추어, 고함량의 즉각적인 섭취가 요구되는 영양분이다. 과잉 영양분은 사용자의 건강상태에 비추어, 즉각적으로 섭취하지 않아도 건강상 문제가 발생하지 않는 영양분이다. 그리고, 정상 영양분은 사용자의 건강상태에 비추어, 일상생활을 영위하기 위해 요구되는 정도 함량의 섭취가 요구되는 영양분이다.
우선적으로, 영양분 분석부(325)는 심전도 해체부(320)에 의해 분할된 복수 개의 부분신호들(S1, S2, S3, …)을 인공지능(AI)에 각각 입력하여, 인공지능(AI)으로부터 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 획득할 수 있다.
본 발명의 일 실시예에 따른 인공지능(AI)은 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN)을 포함하여 구성되므로, 영양분 분석부(325)는 복수 개의 부분신호들(S1, S2, S3, …)을 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN)에 각각 입력할 수 있다.
구체적으로, 심전도 해체부(320)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 P 파, P-Q 파, QRS 파, S-T 파 및 T 파의 변위를 대상으로, 사전에 설정된 특징 추출 기준에 따라 하나 이상의 특징을 추출할 수 있다. 심전도 해체부(320)는 추출된 하나 이상의 특징을 원-핫 인코딩하여 심전도(ECG) 신호 특징의 벡터를 생성할 수 있다. 심전도 해체부(320)는 생성된 심전도(ECG) 신호 특징의 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 생성할 수 있다. 심전도 해체부(320)는 생성된 밀집 벡터를 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN) 각각의 GMF 층 및 MLP 층에 입력할 수 있다. 그리고, 심전도 해체부(320)는 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN) 각각으로부터 복수 개의 부분신호들(S1, S2, S3, …)에 대응하는 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 획득할 수 있다.
이어서, 영양분 분석부(325)는 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로, 영양분별로 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다.
구체적으로, 영양분 분석부(325)는 제1 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 전해질이 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다. 영양분 분석부(325)는 제2 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 단백질이 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다. 그리고, 영양분 분석부(325)는 제3 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 수분이 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다.
도 7 및 도 8에 도시된 바와 같이, 영양분 분석부(325)는 사전에 설정된 유효범위(validated range)를 기준으로, 각 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)에 포함된 아웃라이어(outlier)를 제거할 수 있다. 영양분 분석부(325)는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm)의 평균 값(Pa)에 기반한 소프트 보팅(soft voting) 결과, 또는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm)의 다수결에 기반한 하드 보팅(hard voting) 결과를 이용하여, 영양분의 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다.
이 경우 소프트 보팅을 위하여, 영양분 분석부(325)는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm)의 평균 값(Pa)을 산출할 수 있다. 그리고, 영양분 분석부(325)는 산출된 평균 값(Pa)이 사전에 설정된 결핍기준(Criteria of lack, Cl) 보다 작거나 같으면 결핍으로 판단하고, 산출된 평균 값(Pa)이 과잉기준(Criteria of surplus, Cs)보다 크거나 같으면 과잉으로 판단하고, 산출된 평균 값(Pa)이 결핍기준(Cl)보다 크고 과잉기준(Cs)보다 작으면 정상으로 판단할 수 있다.
이와 다르게 하드 보팅을 위하여, 영양분 분석부(325)는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm) 각각을 대상으로 결핍, 정상 또는 과잉 여부를 판단할 수 있다. 즉, 영양분 분석부(325)는 각 확률 값(Px)이 결핍기준(Cl) 보다 작거나 같으면 결핍으로 판단하고, 각 확률 값(Px)이 과잉기준(Cs)보다 크거나 같으면 과잉으로 판단하고, 각 확률 값(Px)이 결핍기준(Cl)보다 크고 과잉기준(Cs)보다 작으면 정상으로 판단할 수 있다. 그리고, 영양분 분석부(325)는 복수 개의 판단 결과들에 대한 최다 판단 결과를 최종 결과로 판단할 수 있다.
한편, 영양분 분석부(325)는 사용자를 대상으로, 사전에 설정된 최소 생체변화시간(minimum biotransformation time) 이내의 차이를 가지는 제1 시각과 제2 시각에 각각 측정된 심전도(10, ECG) 신호를 수신할 수 있다. 영양분 분석부(325) 제1 시각에 사용자를 대상으로 측정된 심전도(10, ECG) 신호를 기반으로 식별된 과잉 영양분과, 제2 시각에 사용자를 대상으로 측정된 심전도(10, ECG) 신호를 기반으로 식별된 결핍 영양분이 서로 동일한 경우, 사용자에게 경고가 필요한 것으로 판단할 수 있다. 만약, 사용자에게 경고가 필요한 것으로 판단된 경우, 영양분 분석부(325)는 사용자에 대응하여 설정된 사용자 장치(200, UE)에 신체에 이상이 발생함을 알리는 메시지를 전송할 수 있다.
다시 도 3을 참조하여 다음 구성을 설명하면, 식단 설정부(330)는 영양분 분석부(325)를 통해 식별된 결핍 영양분을 보충하고 과잉 영양분을 회피할 수 있는 하나 이상의 음식을 포함하는 식단을 설정할 수 있다.
구체적으로, 식단 설정부(330)는 영양분 분석부(325)를 통해 식별된 결핍 영양분, 과잉 영양분, 정상 영양분에 관한 정보를 기반으로, 사전에 설정된 음식사전(food dictionary)으로부터 과잉 영양분을 불포함 또는 사전에 설정된 임계함량(threshold content) 이하만 포함하고 있으며, 결핍 영양분을 포함하고 있는 둘 이상의 음식들을 식별할 수 있다.
식단 설정부(330)는 사용자에 대응하여 사전에 설정된 인적 가중치(human weight) 및 심전도(10, ECG) 신호가 측정된 시점에 대응하는 시간 가중치(time wight)를 식별할 수 있다.
이 경우, 인적 가중치는 사용자와 동거인으로 설정된 자를 대상으로 측정된 심전도(10, ECG) 신호를 기반으로 식별된 결핍 영양 분 및 과잉 영양분의 유형에 대응하여 설정된 값이 될 수 있다. 또한, 시간 가중치는 사용자를 대상으로 심전도(10, ECG) 신호가 측정된 시점에 대응하는 계절(season) 또는 식사 시간(meal time)의 유형에 대응하여 설정된 값이 될 수 있다.
식단 설정부(330)는 식별된 둘 이상의 음식들 중에서 인적 가중치 및 시간 가중치를 반영하여 하나의 음식을 선택할 수 있다. 그리고, 식단 설정부(330)는 선택된 하나의 음식을 포함하고 있는 하나 이상의 식단 템플릿(template)을 식별하고, 식별된 하나 이상의 식단 템플릿을 이용하여 식단을 설정할 수 있다. 이 경우, 식단 템플릿은 음식들 상호간의 음식 궁합(compatibility)에 기반하여 사전에 설정된 둘 이상의 음식을 포함하여 구성된 목록이 될 수 있다.
이와 같이 음식 템플릿을 이용하여 식단을 설정함에 있어, 식단 설정부(330)는 음식 템플릿에 포함된 하나 이상의 음식에 포함되어 있는 재료들의 섭취 순서 및 권장 섭취량에 관한 정보를 더 포함시켜 식단을 설정할 수 있다. 또한, 식단 설정부(330)는 사용자 장치(200, UE)의 위치 정보를 기반으로, 사용자 장치(200, UE)로부터 사전에 설정된 임계거리(threshold distance) 내에 존재하며 식단에 포함된 하나 이상의 음식을 제공할 수 있는 음식점에 관한 정보를 더 포함시켜 식단을 설정할 수도 있다.
그리고, 식단 설정부(330)는 설정된 시단에 관한 정보를, 사용자에 대응하여 사전에 설정된 사용자 장치(200, UE)에 전송할 수 있다.
이하, 상술한 바와 같은 특징을 가지는, 식단 추천 서버(300)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명하기로 한다.
도 9는 본 발명의 일 실시예에 따른 식단 추천 서버의 하드웨어 구성도이다.
도 9에 도시된 바와 같이, 본 발명의 일 실시예에 따른 식단 추천 서버(300)는 프로세서(processor, 350), 메모리(memory, 355), 송수신기(transceiver, 360), 입출력장치(input/output device, 365), 데이터 버스(bus, 370) 및 스토리지(storage, 375)를 포함하여 구성될 수 있다.
구체적으로, 프로세서(350)는 메모리(355)에 상주된 식단 추천 방법이 구현된 소프트웨어(380a)에 따른 명령어를 기초로, 식단 추천 서버(300)의 동작 및 기능을 구현할 수 있다.
메모리(355)에는 스토리지(375)에 저장된 식단 추천 방법이 구현된 소프트웨어(380b)가 상주(loading)될 수 있다.
송수신기(360)는 심전도계(100) 및 사용자 장치(200, UE) 중 하나 이상과 데이터를 송수신할 수 있다.
입출력장치(365)는 프로세서(350)의 명령에 따라, 식단 추천 서버(300)의 동작에 필요한 신호를 입력 받거나 연산 결과를 외부로 출력할 수 있다.
데이터 버스(370)는 프로세서(350), 메모리(355), 송수신기(360), 입출력장치(365) 및 스토리지(375)와 각각 연결되어, 각각의 구성요소 사이에서 신호를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(375)는 본 발명의 다양한 실시예에 따른 식단 추천 방법이 구현된 소프트웨어(380a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일 및 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(375)는 본 발명의 다양한 실시예에 따른 식단 추천 방법이 구현된 소프트웨어(380b)를 저장할 수 있다. 그리고, 스토리지(375)는 인공지능(AI)의 학습 데이터, 음식사전, 식단 템플릿 및 각종 설정 값 등을 저장하기 위한 데이터베이스(385)를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(355)에 상주되거나 또는 스토리지(375)에 저장된 식단 추천 방법을 구현하기 위한 소프트웨어(380a, 380b)는 프로세서(350)가 사용자를 대상으로 측정된 심전도(10, ECG) 신호를 상기 송수신기(360) 또는 입출력장치(365)를 통해 획득하는 단계, 프로세서(350)가 사전에 학습된 인공지능(AI)를 이용하여 심전도(10, ECG) 신호를 분석하여 사용자의 건강상태에 대응하는 결핍 영양분 및 과잉 영양분을 하나 이상 식별하는 단계, 및 프로세서(350)가 식별된 결핍 영양분을 보충하고 과잉 영양분을 회피할 수 있는 하나 이상의 음식을 포함하는 식단을 설정하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 상세하게, 프로세서(350)는 중앙 처리 장치(Central Processing Unit, CPU), ASIC(Application-Specific Integrated Circuit), 칩셋(chipset), 논리 회로 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않는다.
메모리(355)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리(flash memory), 메모리 카드(memory card) 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않는다.
입출력장치(365)는 버튼(button), 스위치(switch), 키보드(keyboard), 마우스(mouse), 조이스틱(joystick) 및 터치스크린(touch screen) 등과 같은 입력 장치와, LCD(Liquid Crystal Display), LED(Light Emitting Diode), 유기 발광 다이오드(Organic LED, OLED), 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED), 프린터(printer), 플로터(plotter) 등과 같은 출력 장치 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않는다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 제각각 수행하는 모듈(과정, 기능 등)들로 구현될 수 있다. 각각의 모듈은 메모리(355)에 상주되고 프로세서(350)에 의해 실행될 수 있다. 메모리(355)는 프로세서(350)의 내부 또는 외부에 존재할 수 있고, 널리 알려진 다양한 수단으로 프로세서(350)와 연결될 수 있다.
도 9에 도시된 각 구성요소는 다양한 수단(예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등)에 의해 구현될 수 있다. 하드웨어에 의해 구현될 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의해 구현될 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 업계의 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 상술한 바와 같은 식단 추천 서버(300)의 동작에 대하여 구체적으로 설명한다.
도 10은 본 발명의 일 실시예에 따른 식단 추천 방법을 설명하기 위한 순서도이다.
도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 식단 추천 서버(300)는 사용자를 대상으로 측정된 심전도(10, ECG) 신호를 획득할 수 있다(S100).
구체적으로, 식단 추천 서버(300)는 심전도계(100)로부터 심전도(10, ECG) 신호를 직접 수신하거나, 또는 사용자 또는 그 외의 자로부터 신호를 직접 입력 받을 수 있다.
다음으로, 식단 추천 서버(300)는 심전도(10, ECG) 신호를 사용자로부터 측정된 시계열적 선후에 따라 복수 개의 부분신호(S1, S2, S3, …)로 분할할 수 있다(S200).
일 실시 예에 따르면, 식단 추천 서버(300)는 심전도(10, ECG) 신호를 중복되는 영역이 없이 일정한 크기마다 개별적(discrete)으로 자름으로써, 심전도(10, ECG) 신호를 복수 개의 부분신호들(S1, S2, S3, …)로 분할할 수 있다. 다른 실시 예에 따르면, 식단 추천 서버(300)는 심전도(10, ECG) 신호를 대상으로 윈도우(window)를 시간 축에 따라 이동(sliding)시키며 자름으로써, 심전도(10, ECG) 신호를 윈도우에 대응하는 크기를 가지는 복수 개의 부분신호들(S1, S2, S3, …)로 분할할 수 있다.
한편, 식단 추천 서버(300)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 포함된 노이즈(noise)를 제거할 수도 있다.
다음으로, 식단 추천 서버(300)는 인공지능(AI)을 이용하여 복수 개의 부분신호들(S1, S2, S3, …)을 분석하여, 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 획득할 수 있다(S300).
구체적으로, 식단 추천 서버(300)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 P 파, P-Q 파, QRS 파, S-T 파 및 T 파의 변위를 대상으로, 사전에 설정된 특징 추출 기준에 따라 하나 이상의 특징을 추출할 수 있다. 식단 추천 서버(300)는 추출된 하나 이상의 특징을 원-핫 인코딩하여 심전도(ECG) 신호 특징의 벡터를 생성할 수 있다. 식단 추천 서버(300)는 생성된 심전도(ECG) 신호 특징의 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 생성할 수 있다. 식단 추천 서버(300)는 생성된 밀집 벡터를 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN) 각각의 GMF 층 및 MLP 층에 입력할 수 있다. 그리고, 식단 추천 서버(300)는 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN) 각각으로부터 복수 개의 부분신호들(S1, S2, S3, …)에 대응하는 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 획득할 수 있다.
다음으로, 식단 추천 서버(300)는 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로, 영양분별로 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다(S400).
구체적으로, 식단 추천 서버(300)는 제1 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 전해질이 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다. 식단 추천 서버(300)는 제2 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 단백질이 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다. 그리고, 식단 추천 서버(300)는 제3 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 수분이 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다.
이를 위하여, 식단 추천 서버(300)는 사전에 설정된 유효범위를 기준으로, 각 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)에 포함된 아웃라이어를 제거할 수 있다. 식단 추천 서버(300)는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm)의 평균 값(Pa)에 기반한 소프트 보팅 결과, 또는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm)의 다수결에 기반한 하드 보팅 결과를 이용하여, 영양분의 결핍, 정상 또는 과잉인지 여부를 판단할 수 있다.
다음으로, 식단 추천 서버(300)는 결핍 영양분을 보충하고 과잉 영양분을 회피할 수 있는 하나 이상의 음식을 포함하는 식단을 설정할 수 있다(S500).
구체적으로, 식단 추천 서버(300)는 식별된 결핍 영양분, 과잉 영양분, 정상 영양분에 관한 정보를 기반으로, 사전에 설정된 음식사전으로부터 과잉 영양분을 불포함 또는 사전에 설정된 임계함량 이하만 포함하고 있으며, 결핍 영양분을 포함하고 있는 둘 이상의 음식들을 식별할 수 있다. 식단 추천 서버(300)는 사용자에 대응하여 사전에 설정된 인적 가중치 및 심전도(10, ECG) 신호가 측정된 시점에 대응하는 시간 가중치를 식별할 수 있다. 식단 추천 서버(300)는 식별된 둘 이상의 음식들 중에서 인적 가중치 및 시간 가중치를 반영하여 하나의 음식을 선택할 수 있다. 식단 추천 서버(300)는 선택된 하나의 음식을 포함하고 있는 하나 이상의 식단 템플릿을 식별하고, 식별된 하나 이상의 식단 템플릿을 이용하여 식단을 설정할 수 있다.
마지막으로, 식단 추천 서버(300)는 설정된 시단에 관한 정보를, 사용자에 대응하여 사전에 설정된 사용자 장치(200, UE)에 전송할 수 있다(S600).
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (10)

  1. 사용자를 대상으로 측정된 심전도(ElectroCardioGram, ECG) 신호를 획득하는 단계;
    사전에 학습된 인공지능(Artificial Intelligence, AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 건강상태에 대응하는 결핍 영양분(nutrient) 및 과잉 영양분을 하나 이상 식별하는 단계; 및
    상기 식별된 결핍 영양분을 보충하고 상기 과잉 영양분을 회피할 수 있는 하나 이상의 음식을 포함하는 식단(menu)을 설정하는 단계를 포함하는, 식단 추천 방법.
  2. 제1 항에 있어서, 상기 식별하는 단계는
    상기 심전도(ECG) 신호를 시계열적 선후에 따라 복수 개의 부분신호들로 분할하는 단계;
    상기 분할된 복수 개의 부분신호들을 상기 인공지능(AI)에 각각 입력하고, 상기 인공지능(AI)으로부터 복수 개의 확률 값들을 획득하는 단계; 및
    상기 획득된 복수 개의 확률 값들을 기반으로 영양분이 결핍, 정상 또는 과잉인지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는, 식단 추천 방법.
  3. 제2 항에 있어서, 상기 복수 개의 부분신호로 분할하는 단계는
    사전에 설정된 크기의 윈도우(window)를 시간 축에 따라 이동시키며, 상기 심전도(ECG) 신호를 상기 윈도우에 대응하는 크기를 가지는 복수 개의 부분신호들로 분할하는 것을 특징으로 하는, 식단 추천 방법.
  4. 제2 항에 있어서, 상기 인공지능(AI)은
    전해질(electrolyte)에 관한 제1 인공신경망(Artificial Neural Network; ANN), 단백질(protein)에 관한 제2 인공신경망(ANN) 및 수분(water)에 관한 제3 인공지능망(ANN)을 포함하여 구성되고,
    상기 판단하는 단계는
    상기 제1 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 전해질이 결핍, 정상 또는 과잉인지 여부를 판단하고, 상기 제2 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 단백질이 결핍, 정상 또는 과잉인지 여부를 판단하고, 상기 제3 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들을 기반으로 수분이 결핍, 정상 또는 과잉인지 여부를 판단하는 것을 특징으로 하는, 식단 추천 방법.
  5. 제4 항에 있어서, 상기 제1 내지 제3 인공신경망(ANN)의 은닉층(hidden layer)은
    상기 심전도(ECG) 신호의 특징과 영양분의 함량 사이에 존재하는 선형적 관계(linearity relation)를 학습하기 위한 GMF(Generalized Matrix Factorization)와, 상기 심전도(ECG) 신호의 특징과 영양분의 함량 사이에 존재하는 비선형적 관계(non-linearity relation)를 학습하기 위한 MLP(Multi-Layer Perceptron)를 포함하는 것을 특징으로 하는, 식단 추천 방법.
  6. 제2 항에 있어서, 상기 판단하는 단계는
    사전에 설정된 유효범위(validated range)를 기준으로 상기 획득된 복수 개의 확률 값들에 포함된 아웃라이어(outlier)를 제거하고, 상기 아웃라이어가 제거된 확률 값들의 평균 값에 기반한 소프트 보팅(soft voting) 결과, 또는 상기 아웃라이어가 제거된 확률 값들의 다수결에 기반한 하드 보팅(hard voting) 결과 중 하나를 이용하여 상기 영양분의 결핍, 정상 또는 과잉인지 여부를 판단하는 것을 특징으로 하는, 식단 추천 방법.
  7. 제1 항에 있어서, 상기 식단을 설정하는 단계 이후에,
    상기 설정된 식단에 관한 정보를, 상기 사용자에 대응하여 사전에 설정된 사용자 장치(User Equipment, UE)에 전송하는 단계를 더 포함하는 것을 특징으로 하는, 식단 추천 방법.
  8. 제7 항에 있어서, 상기 식단을 설정하는 단계는
    사전에 설정된 음식사전(food dictionary)으로부터 상기 과잉 영양분을 불포함 또는 사전에 설정된 임계함량(threshold content) 이하만 포함하고 있으며 상기 식별된 결핍 영양분을 포함하고 있는 둘 이상의 음식들을 식별하는 단계;
    상기 사용자에 대응하여 사전에 설정된 인적 가중치(human weight) 및 상기 심전도(ECG) 신호가 측정된 시점에 대응하는 시간 가중치(time weight)를 식별하는 단계; 및
    상기 식별된 둘 이상의 음식들 중에서 상기 인적 가중치 및 시간 가중치를 반영하여 하나의 음식을 선택하는 단계를 포함하는 것을 특징으로 하는, 식단 추천 방법.
  9. 제1 항에 있어서, 상기 식별하는 단계는
    제1 시각과 제2 시각이 사전에 설정된 최소 생체변화시간(minimum biotransformation time) 이내의 차이를 가지며, 상기 제1 시각에 상기 사용자를 대상으로 측정된 심전도(ECG) 신호를 기반으로 식별된 과잉 영양분과, 상기 제2 시각에 상기 사용자를 대상으로 측정된 심전도(ECG) 신호를 기반으로 식별된 결핍 영양분이 서로 동일한 경우, 상기 사용자에게 경고가 필요한 것으로 판단하는 것을 특징으로 하는, 식단 추천 방법.
  10. 메모리(memory);
    송수신기(transceiver);
    입출력장치(input/output device); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 사용자를 대상으로 측정된 심전도(ECG) 신호를 상기 송수신기 또는 입출력장치를 통해 획득하는 단계;
    상기 프로세서가, 사전에 학습된 인공지능(AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 건강상태에 대응하는 결핍 영양분 및 과잉 영양분을 하나 이상 식별하는 단계; 및
    상기 프로세서가, 상기 식별된 결핍 영양분을 보충하고 상기 과잉 영양분을 회피할 수 있는 하나 이상의 음식을 포함하는 식단을 설정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램.
PCT/KR2023/010703 2022-07-29 2023-07-25 심전도에 기반한 식단 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 WO2024025288A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220094655A KR20240016647A (ko) 2022-07-29 2022-07-29 심전도에 기반한 식단 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR10-2022-0094655 2022-07-29

Publications (1)

Publication Number Publication Date
WO2024025288A1 true WO2024025288A1 (ko) 2024-02-01

Family

ID=89706876

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/010703 WO2024025288A1 (ko) 2022-07-29 2023-07-25 심전도에 기반한 식단 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (2)

Country Link
KR (1) KR20240016647A (ko)
WO (1) WO2024025288A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009350A (ja) * 2007-06-27 2009-01-15 Nec Corp 健康管理システム、情報処理装置、健康管理方法及び制御プログラム
KR20190019397A (ko) * 2017-08-17 2019-02-27 충북도립대학산학협력단 개인 맞춤형 건강 관리 시스템 및 방법
KR20210052122A (ko) * 2019-10-31 2021-05-10 주식회사 삼양사 사용자 맞춤형 식품 정보 서비스 제공 시스템 및 그 방법
KR20220032678A (ko) * 2020-09-08 2022-03-15 스왈라비(주) 라이프로그 데이터 기반 인공지능을 이용한 원격 건강 관리 시스템
KR20220091779A (ko) * 2020-12-24 2022-07-01 엘지전자 주식회사 헬스 케어를 제공하는 게이트웨이 및 방법과, 이의 전자 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102258899B1 (ko) 2020-11-24 2021-06-01 주식회사 엔젠바이오 통합적 건강 정보를 이용한 식단 및 운동 추천 방법 및 서비스 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009350A (ja) * 2007-06-27 2009-01-15 Nec Corp 健康管理システム、情報処理装置、健康管理方法及び制御プログラム
KR20190019397A (ko) * 2017-08-17 2019-02-27 충북도립대학산학협력단 개인 맞춤형 건강 관리 시스템 및 방법
KR20210052122A (ko) * 2019-10-31 2021-05-10 주식회사 삼양사 사용자 맞춤형 식품 정보 서비스 제공 시스템 및 그 방법
KR20220032678A (ko) * 2020-09-08 2022-03-15 스왈라비(주) 라이프로그 데이터 기반 인공지능을 이용한 원격 건강 관리 시스템
KR20220091779A (ko) * 2020-12-24 2022-07-01 엘지전자 주식회사 헬스 케어를 제공하는 게이트웨이 및 방법과, 이의 전자 장치 및 방법

Also Published As

Publication number Publication date
KR20240016647A (ko) 2024-02-06

Similar Documents

Publication Publication Date Title
WO2020063009A1 (zh) 图像处理方法、装置、存储介质及电子设备
WO2019189977A1 (ko) 인공신경망 딥러닝 기법을 활용한 측정물 분석 방법, 장치, 학습 방법 및 시스템
WO2019114726A1 (zh) 图像识别方法、装置、电子设备以及可读存储介质
WO2015156563A1 (ko) 가상 치료 체험 제공 장치 및 그 방법
WO2018139792A1 (ko) 헬스케어 프로그램 관리 방법 및 그 전자 장치
CN109461494A (zh) 一种ris平台与影像辅助诊断系统例数据同步方法
WO2019078507A1 (en) ELECTRONIC DEVICE AND METHOD FOR PROVIDING A STRESS INDEX CORRESPONDING TO THE ACTIVITY OF A USER
WO2020122606A1 (ko) 인공신경망을 이용한 장기의 부피 측정 방법 및 그 장치
CN106095293A (zh) 一种移动设备的应用操作方法和装置
WO2019240343A1 (ko) 사용자 상태에 따른 맞춤형 자기관리정보 제공시스템
WO2024025288A1 (ko) 심전도에 기반한 식단 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
WO2020111787A1 (en) Method for providing recommendations for maintaining a healthy lifestyle basing on daily activity parameters of user, automatically tracked in real time, and corresponding system
WO2017150757A1 (ko) 체성분 측정 결과를 보정하기 위한 체성분 측정 장치 및 서버
Qian et al. Dual-path tokenlearner for remote photoplethysmography-based physiological measurement with facial videos
WO2023224433A1 (en) Information generation method and device
WO2024025308A1 (ko) 심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
Lin et al. LED screen-based intelligent hand gesture recognition system
Kolkar et al. Issues and challenges in various sensor-based modalities in human activity recognition system
Amruthalingam et al. Objective hand eczema severity assessment with automated lesion anatomical stratification
WO2020159276A1 (ko) 수술 분석 장치, 수술영상 분석 및 인식 시스템, 방법 및 프로그램
WO2024101723A1 (ko) 월경 관련 정보를 제공하는 방법 및 장치
WO2024101954A1 (ko) 생체 신호에 기초하여 사용자의 질병을 진단하는 전자 장치 및 그 제어 방법
WO2022270755A1 (ko) 결측 심전도 신호 재생성 장치 및 방법
WO2024101731A1 (ko) 인공지능에 기반하여 사용자 유형별 맞춤형 상담을 수행하는 방법
Giles Think like a bee.

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

Country of ref document: EP

Kind code of ref document: A1