KR102597067B1 - 웨어러블 기기와 연동하여 ai 기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버 - Google Patents

웨어러블 기기와 연동하여 ai 기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버 Download PDF

Info

Publication number
KR102597067B1
KR102597067B1 KR1020230059539A KR20230059539A KR102597067B1 KR 102597067 B1 KR102597067 B1 KR 102597067B1 KR 1020230059539 A KR1020230059539 A KR 1020230059539A KR 20230059539 A KR20230059539 A KR 20230059539A KR 102597067 B1 KR102597067 B1 KR 102597067B1
Authority
KR
South Korea
Prior art keywords
vector
vectors
biosignal
physical
user
Prior art date
Application number
KR1020230059539A
Other languages
English (en)
Inventor
정지선
Original Assignee
주식회사 글로벌희연
정지선
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 글로벌희연, 정지선 filed Critical 주식회사 글로벌희연
Priority to KR1020230059539A priority Critical patent/KR102597067B1/ko
Application granted granted Critical
Publication of KR102597067B1 publication Critical patent/KR102597067B1/ko

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7271Specific aspects of physiological measurement analysis
    • A61B5/7275Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0002Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/68Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
    • A61B5/6801Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
    • 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

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Pathology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Surgery (AREA)
  • Physics & Mathematics (AREA)
  • Veterinary Medicine (AREA)
  • Biophysics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physiology (AREA)
  • Psychiatry (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

웨어러블 기기와 연동하여 AI기반의 신체 이상을 탐지하는 방법을 수행하는 운영 서버가 개시된다. 운영 서버는, 웨어러블 기기에 의해 측정된 웨어러블 기기의 사용자의 생체 데이터를 수집하도록 구성되는 데이터 수집부, 수집된 생체 데이터로부터 타겟 생체 신호 벡터를 생성하고, 타겟 생체 신호 벡터를 각각이 복수의 생체 신호 벡터들을 포함하는 복수의 클러스터 중 어느 하나의 클러스터로 분류하도록 구성되는 생체 신호 패턴 결정부 및 타겟 생체 신호 벡터에 대응하는 클러스터에 속한 다른 생체 신호 벡터들과 맵핑된 신체 증상 벡터들을 선택하고, 선택된 신체 증상 벡터들에 기초하여 사용자의 신체 상태를 나타내는 건강 상태 벡터를 산출하도록 구성되는 신체 상태 예측부를 포함한다.

Description

웨어러블 기기와 연동하여 AI 기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버{METHOD OF AI-BASED DETECTING HEALTH PROBLEMS COUPLED TO WEARABLE DEVICE AND OPERATING SERVER PERFORMING THE METHOD}
본 발명은 웨어러블 기기와 연동하여 AI기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버에 관한 것이다.
사회 발달이 진행되고, 고령화가 진행됨에 따라 건강에 대한 관심이 증가하고 있다. 이에 맞추어 헬스 케어 관련 기술들이 발전하고 있고, 최근에는 다양한 웨어러블 디바이스 또는 모바일 디바이스를 이용하여 사용자들의 생체 신호를 측정하고, 이를 사용자에게 제공하는 서비스들이 널리 알려져 있다.
이들 서비스는 사용자의 생체 신호를 측정하고, 해당 생체 신호에 대한 정보만을 제공하게 된다. 예를 들어, 사용자의 혈당을 체크하고 혈당에 대한 정보를 제공하는 방식이다. 그러나, 일반 사용자들 대부분 생체 신호가 무엇을 의미하는지 알지 못하기 때문에, 생체 신호를 측정하더라도 자신의 신체 상태를 알기 어려운 문제가 있다.
또한, 최근에는 하나의 종류의 생체 신호 뿐 아니라, 다양한 종류의 생체 신호를 측정할 수 있으나, 하나의 종류의 생체 신호 각각에 대한 정보만 제공될 뿐, 다양한 종류의 생체 신호를 모두 고려하여 사용자의 상태를 진단하는 기술이 부재하다.
대한민국 공개특허공보 제10-2018-0062417호(2018.06.08.) 대한민국 공개특허공보 제10-2009-0026967호(2009.03.16.) 대한민국 공개특허공보 제10-2020-0130527호(2020.11.19.)
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 웨어러블 기기와 연동하여 AI기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 웨어러블 기기와 연동하여 AI기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버를 제공한다.
본 발명의 실시 예들에 따르면, 웨어러블 기기와 연동하여 AI기반의 신체 이상을 탐지하는 방법을 수행하는 운영 서버 서버는, 웨어러블 기기에 의해 측정된 웨어러블 기기의 사용자의 생체 데이터를 수집하도록 구성되는 데이터 수집부, 수집된 생체 데이터로부터 타겟 생체 신호 벡터를 생성하고, 타겟 생체 신호 벡터를 각각이 복수의 생체 신호 벡터들을 포함하는 복수의 클러스터 중 어느 하나의 클러스터로 분류하도록 구성되는 생체 신호 패턴 결정부 및 타겟 생체 신호 벡터에 대응하는 클러스터에 속한 다른 생체 신호 벡터들과 맵핑된 신체 증상 벡터들을 선택하고, 선택된 신체 증상 벡터들에 기초하여 사용자의 신체 상태를 나타내는 건강 상태 벡터를 산출하도록 구성되는 신체 상태 예측부를 포함한다.
본 발명의 실시 예들에 따르면, 웨어러블 디바이스로부터 수집된 사용자의 생체 데이터를 이용하여 사용자의 신체 이상을 선제적으로 탐지할 수 있는 효과가 있다. 이를 통해, 사용자에게 부족한 영양 성분이 무엇인지 파악하고 사용자에게 추천할 만한 추천 영양 성분을 결정할 수 있는 효과가 있다.
도 1은 일 실시예에 따른 웨어러블 기기와 연동하여 AI기반으로 타겟 사용자의 신체 이상을 탐지하는 방법이 수행되는 환경을 나타내는 개념도이다.
도 2는 본 발명의 실시 예들에 따른 운영 서버를 나타낸다.
도 3은 본 발명의 실시 예들에 따른 군집화 엔진에 따라 생체 신호 패턴을 결정하는 과정을 설명하기 위한 도면이다.
도 4 및 도 5는 본 발명의 실시 예들에 따른 인공신경망 엔진에 따라 생체 신호 패턴을 결정하는 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예들에 따른 신체 증상 벡터를 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예들에 따른 신체 이상을 탐지하기 위한 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 실시 예들에 따른 운영 서버의 하드웨어 구성을 예시적으로 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시예에 따른 웨어러블 기기와 연동하여 AI기반으로 타겟 사용자의 신체 이상을 탐지하는 방법(이하, 신체 이상 탐지 방법)이 수행되는 환경을 나타내는 개념도이다. 도 1을 참조하면, 본 발명의 실시 예들의 신체 이상 탐지 방법이 수행되는 신체 이상 탐지 시스템(10)이 나타나 있다.
신체 이상 탐지 시스템(10)은 타겟 사용자의 생체 신호로부터 획득된 생체 데이터를 이용하여, 타겟 사용자의 신체 이상을 탐지할 수 있다. 이 때, 생체 데이터는 타겟 사용자의 각 생체 신호를 측정하여 산출된 측정치들을 나타내는 데이터일 수 있다.
신체 이상 탐지 시스템(10)은 운영 서버(100), 데이터 베이스(200), 타겟 사용자의 사용자 단말기(300) 및 타겟 사용자의 사용자 웨어러블 디바이스(400)를 포함할 수 있다.
운영 서버(100)는 본 발명의 실시 예들에 따른 신체 이상 탐지 방법을 수행할 수 있다. 운영 서버(100)는 웨어러블 디바이스(400)로부터 수집된 타겟 사용자의 생체 데이터를 단말기(300)로부터 전송받고, 전송된 생체 데이터를 이용하여 타겟 사용자의 신체 이상을 탐지할 수 있다. 이 때, 타겟 사용자는 복수일 수 있다.
실시 예들에 따라, 운영 서버(100)는 AI 기반의 알고리즘 모델에 기초하여, 타겟 사용자의 생체 데이터로부터 사용자의 신체 이상(또는 신체 상태)을 사전에 판단할 수 있다. 게다가, 운영 서버(100)는 판단된 타겟 사용자의 신체 이상을 토대로, 타겟 사용자에게 적합한 추천 영양소(또는 추천 영양제)를 결정할 수 있고, 추천 영양제 정보를 생성할 수 있다. 추천 영양제 정보는 사용자 단말기(300)로 전송될 수 있다.
데이터베이스(200)는 신체 이상 탐지 시스템(10)을 운영하기 위한 데이터를 저장할 수 있다. 실시 예들에 따라, 데이터베이스(200)는 운영 서버(100)가 타겟 사용자의 신체 이상을 탐지하기 위해 필요한 데이터들을 저장할 수 있다. 예컨대, 데이터베이스(200)는 AI 기반의 신체 감지 알고리즘의 학습을 위한 데이터(예컨대, 학습 데이터)를 저장해둘 수 있다.
예를 들어, 데이터베이스(200)는 표본 사용자들의 생체 데이터를 학습 데이터로서 저장할 수 있다. 또한, 데이터베이스(200)는 표본 사용자들의 진단 데이터를 저장할 수 있다. 진단 데이터는 해당 사용자에게 발생한 신체 증상 및 해당 증상이 발생(또는 진단)된 시점에 대한 정보를 포함할 수 있다.
사용자 단말기(300)는 사용자 웨어러블 디바이스(400)로부터 생체 데이터를 수신하고, 수신된 생체 데이터를 운영 서버(100)로 전송할 수 있다. 실시 예들에 따라, 사용자 단말기(300)에는 사용자 웨어러블 디바이스(400)를 제어하기 위한 애플리케이션이 설치될 수 있고, 상기 애플리케이션이 실행됨에 따라 사용자 단말기(300)는 사용자 웨어러블 디바이스(400)로부터 전송된 다양한 종류의 생체 데이터를 분류하여, 종류 별로 분류된 생체 데이터를 운영 서버(100)로 전송할 수 있다.
또한, 실시 예들에 따라, 사용자 단말기(300)는 타겟 사용자의 과거 신체 상태와 관련된 진단 데이터를 저장하고, 저장된 진단 데이터를 운영 서버(100)로 전송할 수 있다. 이 때, 진단 데이터는 해당 진단 데이터가 생성된 일자에 대한 정보를 더 포함할 수 있다.
사용자 웨어러블 디바이스(400)는 타겟 사용자의 생체 신호를 검출하고, 생체 신호에 대응하는 생체 데이터를 생성할 수 있다. 사용자 웨어러블 디바이스(400)는 생성된 생체 데이터를 사용자 단말기(300)로 전송할 수 있다. 또한, 대안적으로, 사용자 웨어러블 디바이스(400)는 생성된 생체 데이터를 운영 서버(100)로 직접 전송할 수도 있다.
실시 예들에 따라, 사용자 웨어러블 디바이스(400)는 생체 데이터를 생성할 수 있다. 실시 예들에 따라, 사용자 웨어러블 디바이스(400)는 사용자의 생체 신호를 측정하고, 측정 결과에 따라 생체 신호의 측정치를 나타내는 생체 데이터를 생성할 수 있다. 예를 들어, 사용자 웨어러블 디바이스(400)는 사용자의 피부와 접촉됨에 따라, 타겟 사용자의 심박의 박동수, 즉, 심박수를 측정하고 심박수를 나타내는 생체 데이터(예컨대, 심박수 데이터)를 생성할 수 있다. 사용자 웨어러블 디바이스는 주기적으로 또는 실시간으로 타겟 사용자의 생체 데이터를 생성할 수 있다.
한편, 타겟 사용자로부터 측정될 수 있는 생체 신호는 다양할 수 있다. 예컨대, 수면, 심박, 체온, 움직임, 산소포화도, 혈당, BMI, 체지방, 휴식 등 타겟 사용자의 다양한 생체 신호가 측정될 수 있다. 또한, 생체 신호에는 타겟 사용자의 신체 정보, 예컨대, 키, 체중 등도 포함될 수 있다.
사용자 웨어러블 디바이스(400)는, 예를 들어, 스마트 워치, 스마트 밴드, 스마트폰 등일 수 있으나 이에 한정되는 것은 아니다.
도 2는 본 발명의 실시 예들에 따른 운영 서버를 나타낸다. 도 2를 참조하면, 운영 서버(100)는 데이터 수집부(101), 생체 신호 패턴 결정부(103), 신체 상태 예측부(105) 및 추천 영양제 결정부(107)를 포함할 수 있다. 한편, 도 2에 도시된 각 구성들(101, 103, 105, 107)은 본 발명의 실시 예들에 따른 운영 서버(100)의 기능적 구성요소들을 나타내며, 각 구성들(101, 103, 105, 107) 중 적어도 하나는 메모리 및 상기 메모리에 저장된 명령어들을 실행함으로써 소정의 연산을 수행하도록 구성되는 프로세서로 구현될 수 있다.
데이터 수집부(101)는 사용자 단말기(300) 및 데이터베이스(200)로부터 생체 데이터 및 의료 데이터를 수집할 수 있다. 이를 위해, 데이터 수집부(101)는 사용자 단말기(300)와 주기적으로 유선 또는 무선 네트워크를 통해 통신함으로써 생체 데이터 및/또는 의료 데이터를 획득할 수 있다. 또한, 데이터 수집부(101)는 데이터베이스(200)에 액세스하여, 데이터베이스(200)에 저장된 생체 데이터 및 의료 데이터를 학습 데이터로서 수집할 수 있다.
생체 신호 패턴 결정부(103)는 사용자 단말기(300)로부터 전송된 타겟 사용자의 생체 데이터에 기초하여, 타겟 사용자의 생체 데이터의 생체 신호 패턴을 결정할 수 있다. 실시 예들에 따라, 생체 신호 패턴 결정부(103)는 사용자 단말기(300)로부터 전송된 생체 데이터에 포함된 생체 신호의 측정치들 각각에 기초하여, 생체 신호 패턴을 결정할 수 있다.
생체 신호 패턴 결정부(103)는 사용자 단말기(300)로부터 전송된 타겟 사용자의 생체 데이터로부터 생체 신호 벡터를 생성하고, 생성된 생체 신호 벡터를 이용하여 타겟 사용자의 생체 신호 패턴을 결정할 수 있다.
실시 예들에 따라, 생체 신호 패턴 결정부(103)는 군집화 엔진을 이용하여 타겟 사용자의 생체 신호 벡터와 대응하는 클러스터를 결정하고, 결정된 클러스터에 부여된 생체 신호 패턴을 타겟 사용자에 대응하는 생체 신호 패턴으로 예측할 수 있다.
예를 들어, 군집화 엔진은, 가우시안 혼합 모델(Gaussian Mixture Model, GMM)에 따른 클러스터링 또는 K-평균 알고리즘에 따른 클러스터링을 수행할 수 있다. 여기서, K-평균 알고리즘은 가우시안 혼합 모델과 달리 비지도학습에 속하는 머신러닝 기반의 클러스터링 기법일 수 있다.
구체적으로 K-평균 알고리즘은 K개의 클러스터들 각각에 대한 초기 중심점에 해당하는 벡터값을 설정한 후, 사용자들 각각을 대표하는 생체 신호 벡터와 가까운 초기 중심점을 가진 클러스터에 사용자들을 할당한다. 다음으로, 모든 사용자들에 대한 클러스터 할당이 끝나면, 해당 클러스터에 속하는 사용자들의 생체 신호 벡터들의 중간값 또는 평균값으로 각 클러스터의 중심점을 재설정하고, 재설정된 중심점을 기준으로 모든 사용자들의 클러스터 할당을 다시 시행한다. 상술하는 중심점 재설정과 클러스터 재할당을 중심점의 변동이 없을 때까지 반복함으로써 사용자들을 클러스터들에 할당할 수 있다.
다른 일 실시예에서, 생체 신호 패턴 결정부(103)는, 딥러닝 기반의 인공신경망 엔진을 이용하여 타겟 사용자와 대응하는 생체 신호 패턴을 예측할 수도 있다. 인공신경망 엔진은, 훈련 데이터를 이용하여 미리 지도학습될 수 있다.
이때, 훈련 데이터를 구성하는 훈련 입력값은 다수의 사용자들 각각으로부터 수집된 학습 데이터를 이용하여 생성된 학습 특징 벡터일 수 있고, 훈련 출력값은 군집화 엔진을 이용하여 사용자들 각각에 대응하는 클러스터에 대하여 부여된 생체 신호 패턴일 수 있다.
즉, 인공신경망 엔진은, 군집화 엔진을 통해 학업성취능력 패턴이 라벨링(labeling)된 훈련 출력값을 제공받기 때문에, 인공신경망을 지도학습하기 위한 방대한 학습 데이터 수집의 어려움을 해소할 수 있다.
게다가, 군집화 엔진이, 머신러닝 기반의 가우시안 혼합 모델을 이용하여 구현되기 때문에 군집화 엔진을 통해 라벨링된 훈련 출력값을 사용하더라도 통계적으로 유의미하게 라벨링될 수 있어 이를 통해 학습된 인공신경망 엔진의 생체 신호 패턴에 대한 예측 정확도가 비교적 정확하게 구현된다.
신체 상태 예측부(105)는 생체 신호 패턴 결정부(103)에 의해 결정된 생체 데이터의 유형에 기초하여, 타겟 사용자의 신체 상태를 예측할 수 있다. 실시 예들에 따라, 신체 상태 예측부(105)는 사용자 단말기(300)로부터 전송된 생체 데이터가 속한 군집에 대응하는 신체 상태 벡터에 기초하여, 타겟 사용자의 신체 상태를 결정하고 결과적으로 신체 이상을 탐지할 수 있다.
추천 영앙제 결정부(107)는 신체 상태 예측부(105)에 의해 예측된 타겟 사용자의 신체 상태에 기초하여, 타겟 사용자에게 적합한 추천 영양제를 결정할 수 있다. 실시 예들에 따라, 추천 영양제 결정부(107)는 다양한 신체 상태들 각각에 적합한 영양성분 또는 영양제에 대한 테이블을 저장하고, 해당 테이블을 참조함으로써 예측된 타겟 사용자의 신체 상태에 기초하여, 타겟 사용자에게 적합한 추천 영양제를 결정할 수 있다.
실시 예들에 따라, 추천 영양제 결정부(107)는 예측된 타겟 사용자의 신체 상태에 기초하여, 현재 사용자에게 필요한 추천 영양 성분을 결정하고, 현재 사용자가 섭취중인 영양제들의 영양 성분과 추천 영양 성분을 비교함으로써, 현재 사용자에게 부족한 영양 성분을 결정할 수 있다. 추천 영양제 결정부(107)는 부족한 영양 성분에 대한 정보를 제공할 수 있다.
도 3은 본 발명의 실시 예들에 따른 군집화 엔진에 따라 생체 신호 패턴을 결정하는 과정을 설명하기 위한 도면이다. 도 3을 참조하면, 생체 신호 패턴 결정부(103)는 생체 데이터로부터 생체 신호 벡터를 생성할 수 있다.
생체 신호 패턴 결정부(103)는 먼저 특정 사용자에 대한 생체 데이터를 수집한다. 이 때, 생체 데이터는 각 사용자 마다 수집될 수 있고, 전송된 순서에 따라 시계열적인 데이터로서 수집될 수 있다.
생체 신호 패턴 결정부(103)는 수집된 생체 데이터를 이용하여 생체 신호 벡터를 생성할 수 있다. 실시 예들에 따라, 생체 신호 패턴 결정부(103)는 생체 데이터에 포함된 생체 신호의 측정치들을 이용하여 생체 신호 벡터를 생성할 수 있다.
생체 신호 벡터는 소정의 주기(예컨대, 1일, 1주, 1달 등) 별로 생성되어, 사용자의 생체 신호의 현재 상태 및 변화 정도를 나타내는 벡터일 수 있다. 예를 들어, 각 주기에 대응하는 생체 신호 벡터는, 해당 주기 동안의 생체 신호의 대표 측정치, 해당 주기 까지의 대표 측정치의 이동 평균 및 해당 주기 까지의 대표 측정치의 이동 표준 편차를 성분으로서 포함할 수 있다. 여기서, 대표 측정치는 각 주기 동안의 생체 신호의 측정치의 평균을 의미할 수 있다.
예를 들어, 도 3에 도시된 바와 같이, 생체 신호 패턴 결정부(103)는 특정 사용자의 일 별 수면 시간, BMI, 체온 및 혈당에 관한 생체 데이터로부터, 각 일 별의 생체 신호 벡터를 생성할 수 있다. 도 3에는 예시적으로 4월 4일의 해당 사용자의 수면 시간에 대한 생체 신호 벡터가 {5.5, 6.25, 10.9}로서 생성될 수 있음이 나타나 있다. 여기서, 5.5는 4월4일의 수면 시간의 측정치의 평균이고, 6.25는 4월1일 내지 4월 4일의 수면 시간 측정치의 평균들(즉, 대표 측정치들)의 이동 평균이고, 10.9는 4월1일 내지 4월4일의 수면 시간 측정치의 평균들(즉, 대표 측정치들)의 표준편차이다.
즉, 각 주기에 대응하는 생체 신호 벡터는 아래 수학식 1에 따라 생성될 수 있다.
여기서, 인덱스 i는 생체 신호의 종류를 구별하기 위한 인덱스이다. 예컨대, i=1은 수면시간을 나타내고, i=2는 BMI를 나타낼 수 있다. j는 각 주기 마다 존재하는 생체 신호 벡터 또는 측정치들의 시계열적인 순서를 구별하기 위한 인덱스이다. 예컨대, j=1은 시계열적으로 첫 번째를 의미할 수 있다.
Vj는 j번째 생체 신호 벡터를 나타내며, Xi는 종류 i에 대응하는 생체 신호의 해당 주기에서의 대표 측정치를 나타내며, E는 j번째 까지의 생체 신호 벡터들의 대표 측정치들의 이동 평균을 나타낸다. 이 때, 이동 평균은 j번째 생체 신호 벡터를 포함하는 적어도 하나의 j번째 까지의 생체 신호 벡터들(즉, 생체 신호 벡터들 Vk, k≤j)의 대표 측정치들의 이동 평균일 수 있다. Sj는 j번째 까지의 생체 신호 벡터들의 대표 측정치들의 이동 표준 편차를 나타낸다. 이 때, 이동 표준 편차는 j번째 생체 신호 벡터를 포함하는 적어도 하나의 j번째 까지의 생체 신호 벡터들(즉, 생체 신호 벡터들 Vk, k≤j)의 대표 측정치들의 이동 표준 편차일 수 있다.
한편, 도 3에는 생체 신호 벡터의 주기가 일(day)인 것을 예시로 하였으나, 해당 주기는 더 짧은 시간(time)이거나 또는 더 긴 월(month)일 수도 있다.
생체 신호 패턴 결정부(103)는 군집화 엔진을 이용하여, 사용자 단말기(300)로부터 전송된 타겟 사용자의 생체 데이터로부터 생성된 생체 신호 벡터를 다수의 클러스터 중 하나로 분류할 수 있다.
이 때, 다수의 클러스터는 미리 생성되어 있을 수도 있고, 또는, 타겟 사용자의 생체 데이터로부터 생성된 생체 신호 벡터의 분류 시 생성될 수도 있다.
예를 들어, 전자의 경우, 사용자 단말기(300)의 수가 적어 타겟 사용자로부터 직접 수집되는 생체 데이터의 수가 적은 경우에는, 생체 신호 패턴 결정부(103)는 데이터베이스(200)에 저장된 표본 사용자들의 생체 데이터(즉, 학습 데이터)로부터 생체 신호 벡터를 생성하고, 군집화 엔진을 이용하여 생성된 생체 신호 벡터들을 다수의 클러스터로 분류한다. 이후, 생체 신호 패턴 결정부(103)는 사용자 단말기(300)로부터 전송된 타겟 사용자의 생체 데이터로부터 타겟 생체 신호 벡터를 생성하고, 타겟 생체 신호 벡터를 상기 다수의 클러스터 중 어느 하나로 분류할 수 있다. 이 때, 생체 신호 패턴 결정부(103)는 타겟 생체 신호 벡터와 다수의 클러스터 각각을 대표하는 중심 벡터와의 유사도를 계산함으로써, 타겟 생체 신호 벡터를 어느 하나의 클러스터로 분류할 수 있다.
예를 들어, 후자의 경우, 사용자 단말기(300)의 수가 충분한 경우에는, 생체 신호 패턴 결정부(103)는 다수 사용자 단말기(300)로부터 전송된 타겟 사용자의 생체 데이터를 생체 신호 벡터로 변환하고, 변환된 생체 신호 벡터를 상기 다수의 클러스터 중 어느 하나로 분류할 수 있다.
이하, 본 명세서에서 언급되는 군집화는 위 두 가지 경우 중 어느 하나를 의미한다고 해석된다.
한편, 군집화 엔진은 가우시안 혼합 모델에 따라 생체 신호 벡터들을 분류(classify)할 수 있다. 예를 들어, 가우시안 혼합 모델(GMM)의 경우, 미리 지정된 K(K는 1보다 큰 자연수)개의 가우시안 분포들 각각이 클러스터와 대응하며. 사용자들을 K개의 가우시안 분포들 중 하나로 분류하도록 동작한다.
구체적으로, 군집화 엔진의 경우, 베이즈 정리(Bayes' theorem)를 이용하여 K개의 가우시안 분포들 중에서 주어진 가우시안 분포 선택함수(γ)의 결과값이 가장 높은 가우시안 분포를 선정하고, 선정된 가우시안 분포를 해당 생체 신호 벡터에 대응하는 생체 신호 패턴으로 결정할 수 있다.
도 4 및 도 5는 본 발명의 실시 예들에 따른 인공신경망 엔진에 따라 생체 신호 패턴을 결정하는 과정을 설명하기 위한 도면이다.
도 4를 참조하면, 딥러닝 기반의 인공신경망 엔진은, 훈련 데이터를 구성하는 훈련 입력값으로 생체 신호 벡터들을 순차적으로 입력받았을 때, 인공신경망 엔진의 출력값으로 얻어지는 생체 신호 패턴을 훈련출력값과 서로 비교하고 비교 결과에 따라 인공신경망 엔진을 구성하는 파라미터들(parameters)을 조정(tuning)하는 방식으로 지도학습된다.
구체적으로, 딥러닝 기반의 인공신경망 엔진은, 인공신경망 엔진의 출력값으로 얻어지는 생체 신호 패턴을 지시하는 출력벡터와 훈련출력값에 따른 생체 신호 패턴을 지시하는 훈련출력벡터를 이용하여 미리 정의된 손실함수(loss function)에 따라 산출하고, 산출된 손실함수의 결과값이 최소화되도록 인공신경망 엔진을 구성하는 파라미터들을 조정할 수 있다.
이때, 손실함수는 크로스 엔트로피(Cross Entropy) 함수일 수 있다.
도 5를 참조하면, 인공 신경망 엔진은, 생체 신호 벡터(V)를 입력받고, 입력받은 생체 신호 벡터 성분값 개수와 동일한 개수(N)의 입력 노드들로 구성되는 입력층(11), 입력층(11)으로부터 전달받은 출력값들을 이용하여 산출된 출력 벡터(Y`)를 출력층(13)에 전달하는 은닉층(12), 및 출력 벡터(Y`)에 활성화 함수를 적용하여 출력 벡터(Y`)에 대응하는 확률(p)을 결정하고, 결정된 확률(p)이 가장 높은 출력 벡터(Y`)를 출력하는 출력층(13)을 포함할 수 있다. 본 발명에서 인공 신경망 엔진을 구성하는 노드들 각각은 본 발명이 속하는 기술분야에서 흔히 사용하는 표현인 뉴런(neuron)이라는 용어로도 혼용하여 지칭될 수 있다.
구체적으로, 인공 신경망 엔진은, 훈련 입력값으로 제공된 생체 신호 벡터(V)를 입력받으면, 은닉층(12)의 출력으로서 획득되는 출력 벡터(Y`)와 훈련 출력값으로 제공받은 학업성취능력 패턴을 지시하는 훈련출력벡터(Y)를 사용하여 손실함수(loss function)을 연산하고, 연산된 손실함수의 결과값이 최소화되도록 지도학습된다.
예를 들어, 손실 함수(H(Y,Y`))는, 크로스 엔트로피(Cross Entropy) 함수일 수 있다. 출력 벡터(Y`)와 훈련출력벡터(Y) 사이의 크로스 엔트로피(H(Y,Y`))는 다음의 수학식 2와 같이 정의될 수 있다.
수학식 2에서 Ym은 훈련출력벡터(Y)의 m(m은 1 이상의 자연수)번째 성분이고, Y`m은 출력 벡터(Y`)의 m번째 성분일 수 있다.
입력층(11)은 생체 신호 벡터(V)를 입력받고, 입력받은 생체 신호 벡터(V)의 성분들 각각에 대하여, 입력 노드들과 대응하는 하나 이상의 연결 강도값들을 적용하여 은닉층(12)에 전달할 수 있다.
예를 들어, 입력 노드들 각각에 대응하는 하나 이상의 연결 강도값들은 N×M의 크기를 갖는 제1 연결강도 행렬(WN×M)로 표현할 수 있다. 이때, N은 입력노드들과 동일한 개수일 수 있고, M은 N보다 1/10 배 이하로 충분히 작게 설정된다. 제1 연결강도 행렬(WN×M)은 임의의 초기값으로 설정된 후 지도학습을 통해 지속적으로 갱신되는 파라미터일 수 있다.
종합하면, 입력층(11)은 입력받은 생체 신호 벡터(V)에 제1 연결강도 행렬(WN×M)을 행렬곱 연산하여 얻어진 중간 연산 벡터(V`)을 은닉층(12)에 전달할 수 있다.
은닉층(12)은, 입력층(11)으로부터 전달받은 중간 연산 벡터(V`)에서 획득되는 특징 벡터(feature vector, F)에 은닉 노드들 각각에 대응하는 하나 이상의 연결 강도를 적용하여 출력 벡터(Y`)를 생성하고, 생성된 출력 벡터(Y`)를 출력층(13)에 전달할 수 있다.
예를 들어, 은닉층(12)은, 중간 연산 벡터(V`)로부터 아래 수학식 3를 만족하는 대각 행렬(diagonal matrix)인 특징 벡터(F)를 획득할 수 있다.
수학식 3에서, R는 대각 행렬인 특징 벡터(F)와 중간 연산 벡터(V`) 사이에 수학식 3에 따른 관계를 가역적으로 만족시키는 행렬로서, 좌표변환행렬에 해당한다. 수학식 3에 따른 연산은 대각화 연산의 하나로 지칭될 수 있으며, 통상의 기술자에게 쉽게 이해될 수 있으므로 구체적인 설명은 생략한다.
이때, 은닉 노드들 각각에 대응하는 하나 이상의 연결 강도값들은 M×Q의 크기를 갖는 제2 연결강도 행렬(UM×Q)로 표현할 수 있다. 즉, 제2 연결강도 행렬(UM×Q)은 M개의 차원으로 사상된 특징 벡터(F)를 다시 Q개의 차원으로 늘린다. Q는 M보다 10배 이상 충분히 큰 값으로 설정된다.
한편, 제2 연결강도 행렬(UM×Q)의 초기값은 임의의 값으로 설정된 후, 특징 벡터(F)와 제2 연결강도 행렬(UM×Q) 사이의 행렬곱 연산하여 생성된 출력 벡터(Y`)가 훈련 출력값인 훈련출력벡터(Y)가 되도록 지속적으로 갱신될 수 있다. 즉, 제2 연결강도 행렬(UM×Q)도 훈련 데이터를 지속적으로 지도학습함에 따라 갱신되는 파라미터일 수 있다.
즉, 은닉층(12)은, 입력층(11)으로부터 전달받은 중간 연산 벡터(V`)를 특징 벡터로 변환하고, 특징 벡터에 대하여 연결강도를 적용하여 출력 벡터(Y`)를 생성하므로, 마치 CNN(convolutional neural network)의 특징 추출을 담당하는 컨볼루셔널 레이어와 유사한 기능을 은닉층(12)에서 수행하도록 구성할 수 있다.
출력층(13)은, 은닉층(12)으로부터 전달받은 출력 벡터(Y`)에 활성화 함수를 적용함으로써 출력 벡터(Y`)에 대응하는 확률(p)을 결정하고, 결정된 확률(p)이 가장 높은 출력 벡터(Y`)를 출력할 수 있다. 활성화 함수는 다양한 범위를 가지는 값들을 0과 1 사이의 값으로 확대 또는 축소함으로써 확률로 변환하는 효과가 있다. 예를 들어, 활성화 함수는, ReLU 함수 또는 Softmax 함수일 수 있으나 이에 한정되는 것은 아니다.
한편, 일 실시예에서 입력층(11)과 은닉층(12) 사이에 2의 8제곱에 해당하는 값인 256의 p 배수(p는 2 이상의 자연수로서 예를 들면 3)에 해당하는 개수의 뉴런들로 구성되는 자가주의집중 계층(14)이 더 포함될 수 있다. 자가주의집중계층(14, self-attention layer)은, 자기집중 메커니즘(self-attention mechanism)에 따른 기법을 수행하는 계층으로서, 입력층(11)으로부터 전달되는 시퀀스로부터 정보를 통합하는 신경망 구조의 한 종류이다.
자가집중 메커니즘에 대해서는 Vaswani , output probability to another component or to another sys- A. , Shazeer , N. , Parmar , N. , Uszkoreit , J. , Jones , L. , Gomez , tem , and the like . Examples of the output terminal may 45 A. N. , Kaiser , L. and Polosukhin , I. , 2017.을 참조하여 이해될 수 있으므로, 기본적인 설명은 간략히 하였다.
한편, 본 발명의 일 실시예에서 자가주의집중계층(14)은, 입력층(11)의 출력으로 제공되는 중간 연산 벡터(V`)들 각각의 중요도를 판별하여 중요도가 상대적으로 낮은 정보를 배제시켜 은닉층(12)으로 전달하도록 동작함으로써 예측 결과를 높일 수 있는 역할을 한다.
구체적으로, 자가주의집중계층(14)은, 쿼리(query)와 키(key), 값(value)이라고 하는 3개의 변수들 각각과 대응하는 벡터들을 이용하여 입력층(11)에서 전달받는 중간 연산 벡터(V`)들 마다 중요도를 나타내는 자가주의집중 값(α)을 산출한 뒤, 입력층(11)에서 전달받은 중간 연산 벡터(V`)들 중에서, 산출된 자가주의집중 값이 가장 높게 산출되는 중간 연산 벡터(V`)를 선정하여 은닉층(12)으로 전달하도록 구성될 수 있다.
본 발명의 일 실시예에서 은닉층(12)은, 동일한 개수의 뉴런들을 가지며, 서로 다르고 순차적으로 연결된 복수의 은닉층들로 구성될 수 있다. 예를 들어, 은닉층(12)은 서로 다르고 순차적으로 연결된 제1 은닉층, 제2 은닉층, 제3 은닉층, 및 제4 은닉층으로 구성될 수 있다. 이때, 제1 내지 제4 은닉층은 선형 레이어(linear layer)일 수 있으며, 제1 내지 제4 은닉층들 중에서 적어도 하나는 밀집 레이어(dense layer)일 수 있다. 여기서 선형 레이어 또는 밀집 레이어의 지정은 Tensorflow에서 미리 정의된 함수를 통해 간단하게 설정될 수 있으므로 설명은 생략한다.
또한, 제1 내지 제4 은닉층들 중에서 적어도 하나는 은닉층들의 개수와 은닉층들 각각이 갖는 뉴런들의 수에 따라 결정되는 확률(p)에 따라 드랍아웃(drop out)이 적용될 수 있다.
본 발명의 일 실시예에서, 드랍아웃이란, 해당 계층을 구성하는 뉴런들 중에서 확률(p)에 따라 무작위로 선택된 적어도 일부의 뉴런들의 가중치를 0 또는 미리 정의된 상수로 설정함으로써 해당 일부의 뉴런들을 비활성화하거나 방해하도록 구성하는 것을 의미할 수 있다.
이처럼, 제1 내지 제4 은닉층들 중에서 적어도 하나에 대하여 드랍아웃을 적용할 경우, 은닉층들의 수와 각 뉴런들의 수가 증가함에 따라 발생할 수 있는 과적합 경향성을 보상하거나 상쇄할 수 있어 더 높은 예측 효과를 가져오는 데 도움이 될 수 있다.
일 실시예에서, 제1 내지 제4 은닉층들 중에서 제1 은닉층 및 제3 은닉층 내지 제4 은닉층 각각은 서로 동일한 뉴런들의 수로 구성될 수 있다. 예를 들어, 각각 768개의 뉴런들로 구성될 수 있다.
이때, 제1 은닉층 뒤에 연결되는 제2 은닉층을 구성하는 뉴런들의 수는 다른 은닉층들 각각이 갖는 뉴런들의 수보다 적어도 4 배이상 클 수 있다. 제2 은닉층을 구성하는 뉴런들의 수를 다른 은닉층들 각각이 갖는 뉴런들의 수보다 기준치 이상 크게 설정할 경우, 인공 신경망 엔진이 과적합되는 경향성이 줄어들 수 있는 장점이 있다.
도 6은 본 발명의 실시 예들에 따른 신체 증상 벡터를 설명하기 위한 도면이다. 도 6을 참조하면, 신체 증상 벡터는 사용자의 신체 증상을 나타내는 벡터일 수 있다. 이 때, 신체 증상 벡터는 사전에 생성되어 운영 서버(100)에 저장되거나, 또는, 운영 서버(100)에 의해 생성되어 저장될 수 있다. 예를 들어, 신체 증상 벡터는 사용자의 진단 데이터로부터 생성될 수 있다.
신체 증상 벡터는 사용자가 해당 신체 증상을 겪는지 여부를 나타낼 수 있다. 신체 증상 벡터의 각 차원은 다양한 신체 증상에 대응하고, 각 차원의 성분은 해당 증상의 발생 여부를 나타낸다(즉, 0 또는 1).
본 발명의 실시 예들에 따르면, 생체 신호 벡터는, 생체 신호 벡터의 사용자의 신체 증상 벡터와 연관될 수 있다. 실시 예들에 따라, 신체 증상 벡터는 해당 신체 증상이 발생한(또는 진단된) 일시 전후 소정 기간에 대응하는 생체 신호 벡터와 맵핑될 수 있다. 예를 들어, 도 6을 참조하면, 4월 1일에 '당뇨' 증상이 발생한 경우, 해당 증상의 발생 시점인 4월 1일을 기준으로 소정의 기간의 3월 30일 내지 4월 2일의 생체 신호 벡터가 '당뇨' 증상을 나타내는 신체 증상 벡터 (1, 0, ??, 0)와 맵핑될 수 있다. 또한, 마찬가지로, 7월 16일에 '수면 부족 및 당뇨'증상이 발생한 경우, 해당 증상의 발생 시점인 7월 16일을 기준으로 소정 기간의 7월 14일 내지 7월 16일의 생체 신호 벡터가 '수면 부족 및 당뇨' 증상을 나타내는 신체 증상 벡터 (1, 1, ?? , 0)에 맵핑될 수 있다.
이러한 맵핑은 생체 신호 패턴 결정부(103)에 의해 분류된 클러스터들 각각에 포함된 생체 신호 벡터들에 대해서 이루어질 수 있다. 즉, 생체 신호 패턴 결정부(103)에 의해 분류된 각 클러스터들의 생체 신호 벡터들 중 적어도 일부에 해당하는 신체 증상 벡터다 맵핑될 수 있다. 신체 상태 벡터와 신체 증상 벡터 사이의 맵핑 관계를 나타내는 정보(예컨대, 맵핑 행렬 또는 맵핑 테이블)은 운영 서버(100) 또는 데이터베이스(200)에 저장될 수 있다.
본 발명의 실시 예들에 따르면, 생체 신호 벡터에 대응하는 신체 증상 벡터를 이용하여, 사용자의 신체 이상을 탐지할 수 있다. 이에 대해서 도 7을 참조하여 설명하도록 한다.
도 7은 본 발명의 실시 예들에 따른 신체 이상을 탐지하기 위한 방법을 설명하기 위한 도면이다. 도 7을 참조하면, 신체 상태 예측부(105)는 사용자의 생체 데이터에 기초하여, 사용자의 현재의 신체 상태를 나타내는 건강 상태 벡터를 생성할 수 있다. 건강 상태 벡터는 사용자에게 다양한 신체 증상이 나타날 확률을 나타내는 벡터일 수 있다.
신체 상태 예측부(105)는 사용자의 생체 데이터로부터 생성된 생체 신호 벡터(V)로부터 사용자의 신체 상태를 결정할 수 있다. 이하, 설명의 편의상, 신체 상태 결정에 사용되는 생체 신호 벡터(V), 즉, 사용자 단말기(300)로부터 전송된 생체 데이터에 기초하여 생성된 생체 신호 벡터(V)를 '타겟 생체 신호 벡터'라 한다.
신체 상태 예측부(105)는 타겟 생체 신호 벡터(V)가 속한 클러스터(CLU_V)에 대한 정보를 확인한다. 타겟 생체 신호 벡터(V)에 대응하는 클러스터(CLU_V)는 생체 신호 패턴 결정부(103)에 의해 결정된 것일 수 있다.
신체 상태 예측부(105)는 사용자의 타겟 생체 신호 벡터(V)에 대응하는 클러스터(CLU_V)에 속한 다른 생체 신호 벡터들(V1~VN) 각각과 맵핑된 신체 증상 벡터들(BSV11~BSVM1)을 결정할 수 있다. 실시 예들에 따라, 신체 상태 예측부(105)는 신체 상태 벡터와 신체 증상 벡터 사이의 맵핑을 나타내는 맵핑 정보에 기초하여, 클러스터(CLU_V)에 속한 다른 생체 신호 벡터들(V1~VN) 각각과 맵핑된 신체 증상 벡터들(BSV1~BSVM)을 결정할 수 있다. 신체 증상 벡터들(BSV1~BSVM) 또한 클러스터(CLU_BSV)를 구성할 수 있다.
신체 상태 예측부(105)는 결정된 신체 증상 벡터들(BSV1~BSVM)을 이용하여, 건강 상태 벡터(HSV)를 산출할 수 있다. 실시 예들에 따라, 신체 상태 예측부(105)는 신체 증상 벡터들(BSV1~BSVM) 각각의 성분들의 함수로 산출되는 성분을 갖는 건강 상태 벡터(HSV)를 산출할 수 있다. 즉, 건강 상태 벡터(HSV)는 신체 증상 벡터와 동일한 차원을 가지고, 건강 상태 벡터(HSV)의 각 성분은 해당 증상이 발현될 확률을 나타낼 수 있다.
예를 들어, 신체 상태 예측부(105)는 아래 수학식 4에 기초하여 신체 증상 벡터에 대응하는 건강 상태 벡터(HSV)를 산출할 수 있다.
여기서, HSVk는 사용자의 타겟 생체 신호 벡터에 대응하는 건강 상태 벡터(HSV)의 k번째 성분이고, BSVi,k는 타겟 생체 신호 벡터가 속한 클러스터의 다른 생체 신호 벡터와 맵핑된 신체 증상 벡터 BSVik번째 성분을 나타낸다. 또한, ai는 맵핑된 신체 증상 벡터 BSVi에 대응하는 가중치이다.
위 수학식 4에 기재된, 맵핑된 신체 증상 벡터 BSVi에 대응하는 가중치 ai는, 해당 신체 증상 벡터 BSVi 각각과 맵핑된 생체 신호 벡터(즉, 클러스터에 속한 생체 신호 벡터)에 기초하여 결정될 수 있다. 실시 예들에 따라, 가중치 ai는 신체 증상 벡터 BSVi 각각과 맵핑된 생체 신호 벡터의 성분들 중 이동 표준 편차에 대응하는 성분들에 기초하여 결정될 수 있다.
예를 들어, 가중치 ai는 아래 수학식 5에 따라 결정될 수 있다.
여기서, c는 임의의 양의 상수이고, L은 타겟 생체 신호 벡터(V)가 속한 클러스터의 다른 생체 신호 벡터들의 총 개수이고, Sj k(X)는 타겟 생체 신호 벡터(V)가 속한 클러스터의 다른 생체 신호 벡터들 중 j번째 생체 신호 벡터의 성분들 중 이동 표준 편차에 대응하는 성분을 의미하고, maxk(Sj k(X))는 j번째 생체 신호 벡터의 성분들 중 이동 표준 편차에 대응하는 성분들 중 최대 값을 의미한다.
신체 상태 예측부(105)는 계산된 건강 상태 벡터(HSV)를 이용하여, 타겟 사용자의 신체 상태를 판단할 수 있다. 실시 예들에 따라, 신체 상태 예측부(105)는 건강 상태 벡터(HSV)의 각 성분들에 기초하여, 건강 상태 벡터(HSV)가 나타내는 각 신체 증상들이 발생할 확률을 결정할 수 있고, 또한, 각 신체 증상들 중 발생할 가능성이 높은 신체 증상을 미리 사용자에게 안내할 수 있다. 예를 들어, 신체 상태 예측부(105)는 계산된 건강 상태 벡터(HSV)가 수면 부족일 확률이 높은 경우, 사용자에게 수면 부족임을 안내하는 메시지를 제공할 수 있다.
사용자는 신체 상태 예측부(105)로부터 제공되는 정보를 통해, 자신의 신체 상태를 선제적으로 판단할 수 있다.
도 8는 본 발명의 실시 예들에 따른 운영 서버의 하드웨어 구성을 예시적으로 나타낸 도면이다.
도 8를 참조하면, 운영 서버(100)는, 적어도 하나의 프로세서(110), 상기 적어도 하나의 프로세서(110)가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 120)를 포함할 수 있다.
여기서, 적어도 하나의 동작은 전술한 운영 서버(100)의 동작이나 기능들 중에서 적어도 일부를 포함하는 것으로 해석되며, 중복 설명을 방지하기 위하여 구체적인 설명은 생략된다.
여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)는 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다.
운영 서버(100)는, 적어도 하나의 동작을 수행함에 따른 입력 데이터, 중간 처리 데이터, 임시 데이터, 출력 데이터 등을 비일시적으로 저장하기 위한 저장 장치(160)를 더 포함할 수 있다.
예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중 하나일 수 있고, 저장 장치(160)는, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 또는 각종 메모리 카드(예를 들어, micro SD 카드) 등일 수 있다.
또한, 운영 서버(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 더 포함할 수 있다. 또한, 운영 서버(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150) 등을 더 포함할 수 있다. 운영 서버(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.
운영 서버(100)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (5)

  1. 웨어러블 기기와 연동하여 AI기반의 신체 이상을 탐지하는 방법을 수행하는 운영 서버에 있어서,
    상기 웨어러블 기기에 의해 측정된 상기 웨어러블 기기의 사용자의 생체 데이터를 수집하도록 구성되는 데이터 수집부;
    수집된 상기 생체 데이터로부터 타겟 생체 신호 벡터를 생성하고, 타겟 생체 신호 벡터를 각각이 복수의 생체 신호 벡터들을 포함하는 복수의 클러스터 중 어느 하나의 클러스터로 분류하도록 구성되는 생체 신호 패턴 결정부; 및
    상기 타겟 생체 신호 벡터에 대응하는 클러스터에 속한 다른 생체 신호 벡터들과 맵핑된 신체 증상 벡터들을 선택하고, 선택된 신체 증상 벡터들에 기초하여 상기 사용자의 신체 상태를 나타내는 건강 상태 벡터를 산출하도록 구성되는 신체 상태 예측부를 포함하고,
    상기 신체 증상 벡터는,
    상기 다른 생체 신호 벡터들의 사용자에게 발생한 신체 증상들을 해당 벡터의 차원들로 하고, 해당 신체 증상들의 발생 여부를 각 차원의 성분값으로 나타내는 벡터이고,
    해당 신체 증상이 발생한 일시 전후의 소정 기간에 대응하는 다른 생체 신호 벡터와 맵핑되고,
    상기 신체 상태 예측부는,
    상기 타겟 생체 신호 벡터에 대응하는 클러스터에 속한 다른 생체 신호 벡터들과 맵핑된 신체 증상 벡터들을 이용하여, 상기 건강 상태 벡터의 각 성분을 산출하되,
    아래 수학식,


    (여기서, HSVk는 사용자의 타겟 생체 신호 벡터에 대응하는 건강 상태 벡터(HSV)의 k번째 성분이고, BSVi,k는 타겟 생체 신호 벡터가 속한 클러스터의 다른 생체 신호 벡터와 맵핑된 신체 증상 벡터 BSVik번째 성분이고, ai는 맵핑된 신체 증상 벡터 BSVi에 대응하는 가중치임)
    에 따라 상기 건강 상태 벡터를 산출하고,
    상기 가중치는,
    상기 신체 증상 벡터들 각각과 맵핑된 타겟 생체 신호 벡터에 대응하는 클러스터에 속한 다른 생체 신호 벡터들 각각을 구성하는 성분들 중 이동 표준 편차에 대응하는 성분에 기초하여 산출되는,
    운영 서버.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
KR1020230059539A 2023-05-09 2023-05-09 웨어러블 기기와 연동하여 ai 기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버 KR102597067B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230059539A KR102597067B1 (ko) 2023-05-09 2023-05-09 웨어러블 기기와 연동하여 ai 기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230059539A KR102597067B1 (ko) 2023-05-09 2023-05-09 웨어러블 기기와 연동하여 ai 기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버

Publications (1)

Publication Number Publication Date
KR102597067B1 true KR102597067B1 (ko) 2023-11-02

Family

ID=88747599

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230059539A KR102597067B1 (ko) 2023-05-09 2023-05-09 웨어러블 기기와 연동하여 ai 기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버

Country Status (1)

Country Link
KR (1) KR102597067B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090026967A (ko) 2007-09-11 2009-03-16 삼성전자주식회사 생체 신호 및 증상 정보에 기반한 건강관리 프로그램서비스 제공 시스템 및 방법
KR20180062417A (ko) 2016-11-29 2018-06-08 엠랩 주식회사 빅데이터 분석을 이용한 건강 정보 제공 시스템 및 방법
KR20200130527A (ko) 2019-05-08 2020-11-19 고려대학교 산학협력단 Ai 기반 공황증상 예측 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090026967A (ko) 2007-09-11 2009-03-16 삼성전자주식회사 생체 신호 및 증상 정보에 기반한 건강관리 프로그램서비스 제공 시스템 및 방법
KR20180062417A (ko) 2016-11-29 2018-06-08 엠랩 주식회사 빅데이터 분석을 이용한 건강 정보 제공 시스템 및 방법
KR20200130527A (ko) 2019-05-08 2020-11-19 고려대학교 산학협력단 Ai 기반 공황증상 예측 시스템 및 방법

Similar Documents

Publication Publication Date Title
Barricelli et al. Human digital twin for fitness management
Kamalraj et al. Interpretable filter based convolutional neural network (IF-CNN) for glucose prediction and classification using PD-SS algorithm
US9861308B2 (en) Method and system for monitoring stress conditions
KR20190030876A (ko) 건강 위험 예측 방법
Ambica et al. An efficient expert system for diabetes by naive Bayesian classifier
Uddin et al. Machine learning based diabetes detection model for false negative reduction
Li et al. Predicting clinical outcomes with patient stratification via deep mixture neural networks
Patil et al. Comparative analysis of different ML classification algorithms with diabetes prediction through Pima Indian diabetics dataset
WO2022216220A1 (en) Method and system for personalized prediction of infection and sepsis
US11830340B1 (en) Method and system for secretion analysis embedded in a garment
US20230223132A1 (en) Methods and systems for nutritional recommendation using artificial intelligence analysis of immune impacts
KR102597067B1 (ko) 웨어러블 기기와 연동하여 ai 기반의 신체 이상을 탐지하는 방법 및 이를 수행하는 운영 서버
US20240099656A1 (en) Method and system for secretion analysis embedded in a garment
Yang [Retracted] Psychological Motivation of Athletes’ Physical Training Based on Deep Learning Model
KR102205955B1 (ko) 면접게임을 활용한 면접자 역량평가 추론 시스템 및 방법
Joshi et al. An Effective Approach for Heart Diseases Prognosis Using Machine Learning Techniques
Sinha et al. CARDPSoML: Comparative approach to analyze and predict cardiovascular disease based on medical report data and feature fusion approach
Waberi et al. Advancing Type II Diabetes Predictions with a Hybrid LSTM-XGBoost Approach
Hossen et al. Machine Learning-Based Diabetic Risk Prediction Model for Early Detection
Kumari et al. Chronic Disease prediction using Machine Learning Techniques: A Survey
UMA et al. Prediction of Heart Disease Using Data Mining Classifiers
Dingle A comparison and analysis of explainable clinical decision making using white box and black box models
KR20240066621A (ko) 월경 관련 정보를 제공하는 방법 및 장치
Karmakar et al. Detection of Blood Glucose Level: A Machine Learning Approach
Dionela et al. MACHINE LEARNING METHODS FOR EARLY-STAGE DIAGNOSIS OF PARKINSON'S DISEASE THROUGH HANDWRITING DATA

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant