KR102565874B1 - 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램 - Google Patents

기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램 Download PDF

Info

Publication number
KR102565874B1
KR102565874B1 KR1020210073384A KR20210073384A KR102565874B1 KR 102565874 B1 KR102565874 B1 KR 102565874B1 KR 1020210073384 A KR1020210073384 A KR 1020210073384A KR 20210073384 A KR20210073384 A KR 20210073384A KR 102565874 B1 KR102565874 B1 KR 102565874B1
Authority
KR
South Korea
Prior art keywords
variable
data
vectorization
artificial intelligence
type
Prior art date
Application number
KR1020210073384A
Other languages
English (en)
Other versions
KR20220164985A (ko
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 KR1020210073384A priority Critical patent/KR102565874B1/ko
Priority to PCT/KR2022/006758 priority patent/WO2022260293A1/ko
Priority to JP2023576068A priority patent/JP2024522648A/ja
Publication of KR20220164985A publication Critical patent/KR20220164985A/ko
Application granted granted Critical
Publication of KR102565874B1 publication Critical patent/KR102565874B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G16H70/00ICT specially adapted for the handling or processing of medical references

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Public Health (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • Artificial Intelligence (AREA)
  • Pathology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

데이터 변환 장치의 동작 방법으로서, 환자별 의료데이터를 입력받고, 상기 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장하는 단계, 상기 변수 데이터 테이블에서, 변환 대상인 적어도 하나의 변수를 확인하고, 변수 메타데이터 저장소를 참조하여 각 변수의 변수 타입을 조회하는 단계, 벡터 저장소를 참조하여, 상기 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 속성에 따라, 각 변수의 벡터화 함수셋을 결정하는 단계, 각 벡터화 함수에 설정된 변환 조건에 따라, 상기 변환 대상인 변수에 지정된 적어도 하나의 벡터화 함수를 적용해서 변환 데이터를 생성하는 단계, 그리고 생성된 변환 데이터들을 이용하여 인공지능 모델의 학습 데이터를 생성하는 단계를 포함한다.

Description

기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램{METHOD FOR VECTORIZING MEDICAL DATA FOR MACHINE LEARNING, DATA TRANSFORMING APPARATUS AND DATA TRANSFORMING PROGRAM}
본 개시는 기계학습을 위한 데이터 변환에 관한 것이다.
인공지능 모델을 의료데이터로 기계학습시키고, 학습된 인공지능 모델을 이용하여 입력 의료데이터로부터 다양한 예측 결과를 얻기 위한 연구가 진행되고 있다. 하지만, 의료데이터는 나이, 성별, 주진단명, 부진단명, 진단 날짜, 투약한 약물명, 투약량, 처방 날짜, 영상검사, 기능검사 등 다양한 속성들을 테이블 구조로 저장하는데, 환자마다의 속성들이 다양해서, 의료데이터 차원(dimension)은 환자마다 차이가 난다. 또한, 동일한 환자라고 하더라도 시간이 지나면서 진단명이 늘어나거나 약물명이 늘어나서 의료데이터 차원이 달라질 수 있고, 데이터가 기록되는 시각도 불규칙하며, 판데믹으로 인해 의료데이터의 패턴이 급격히 바뀔 수도 있다.
이러한 의료데이터의 특성 상, 기계학습의 학습(training)과 적용(serving) 양쪽에서 의료데이터를 일관되게 변환하는 것이 쉽지 않다. 특정 시점까지 적재된 대량의 의료데이터를 인공지능 모델의 입력 데이터로 변환할 수 있으나, 인공지능 모델을 배포한 후에 실시간으로 유입되는 의료데이터도 동일하게 변환하는 것이 까다롭다. 한편, 최근에는 다양한 사이트의 의료데이터를 이용하여 인공지능 모델을 학습시키는 연구가 시도되고 있으나, 사이트마다 의료데이터를 저장하는 형식이 달라서, 이들을 표준화된 입력 데이터로 변환하는 것이 쉽지 않다.
본 개시는, 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램을 제공하는 것이다.
구체적으로, 본 개시는 의료데이터에서 추출되는 변수(feature) 및 변수 타입을 저장하는 변수 메타데이터 저장소, 그리고 변수 타입별 벡터화 함수(vectorizer function)를 저장하는 벡터 저장소(vectorizer store)를 이용하여, 입력된 의료데이터의 변수들을 위한 벡터화 함수들을 선택하고, 선택한 벡터화 함수들로 변수들을 변환하는 방법을 제공하는 것이다.
본 개시는 입력된 의료데이터의 변수들에 매핑된 벡터화 함수들로 변수들을 벡터화하고, 벡터화된 변환 데이터를 이용하여 인공지능 모델의 입력 데이터를 생성하는 방법을 제공하는 것이다.
한 실시예에 따른 데이터 변환 장치의 동작 방법으로서, 환자별 의료데이터를 입력받고, 상기 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장하는 단계, 상기 변수 데이터 테이블에서, 변환 대상인 적어도 하나의 변수를 확인하고, 변수 메타데이터 저장소를 참조하여 각 변수의 변수 타입을 조회하는 단계, 벡터 저장소를 참조하여, 상기 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 속성에 따라, 각 변수의 벡터화 함수셋을 결정하는 단계, 각 벡터화 함수에 설정된 변환 조건에 따라, 상기 변환 대상인 변수에 지정된 적어도 하나의 벡터화 함수를 적용해서 변환 데이터를 생성하는 단계, 그리고 생성된 변환 데이터들을 이용하여 인공지능 모델의 학습 데이터를 생성하는 단계를 포함한다.
상기 변수 메타데이터 저장소는 상기 의료데이터에서 추출되는 각 변수의 변수 타입을 저장하고, 상기 변수 타입은 범주형(categorical), 수치형(numerical), 시간차이형(timedelta), 불리언형(Boolean), 날짜/시간형(time) 중 적어도 하나일 수 있다.
상기 벡터 저장소는 변수 타입별로 이용 가능한 복수의 벡터화 함수들, 그리고 벡터화 함수별로 변수를 변환하는 변환 조건을 저장할 수 있다.
상기 변환 데이터를 생성하는 단계는 실시간 벡터화 모드 또는 배치 벡터화 모드를 설정하고, 설정된 모드에 따라 상기 변환 대상인 변수를 해당 벡터화 함수로 변환할 수 있다.
상기 동작 방법은 상기 인공지능 모델의 예측 성능을 피드백받고, 상기 예측 성능의 최적화를 위한 변수들의 벡터화 함수셋이 결정되도록, 상기 벡터화 함수 결정 규칙을 갱신하는 단계를 더 포함할 수 있다.
상기 동작 방법은 다양한 입력 데이터 구조의 학습 데이터로 생성된 여러 종류의 인공지능 모델들, 그리고 각 인공지능 모델의 생성 정보를 저장하는 단계를 더 포함할 수 있다. 상기 각 인공지능 모델의 생성 정보는 학습에 사용된 최적화된 변수셋 및 이에 적용된 벡터화 함수셋을 포함할 수 있다.
상기 의료데이터는 인구통계(demographic) 데이터, 진단(diagnosis) 데이터, 방문 이력(visit history) 데이터, 방문 정보(visit info) 데이터, 진단검사(lab test) 데이터, 투약(medication) 데이터, 바이탈사인(vital sign) 데이터, 영상(clinical imaging) 데이터, 기능 검사(functional test) 데이터 중 적어도 하나를 포함할 수 있다.
상기 학습 데이터를 생성하는 단계는 상기 변환 데이터들을 조합하여 상기 인공지능 모델의 입력 데이터가 완성될 때까지 대기하고, 완성된 입력 데이터를 상기 인공지능 모델의 학습 데이터로 사용할 수 있다.
다른 실시예에 따른 데이터 변환 장치의 동작 방법으로서, 환자별 의료데이터를 입력받고, 상기 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장하는 단계, 상기 변수 데이터 테이블에서, 변환 대상인 적어도 하나의 변수를 확인하고, 변수 메타데이터 저장소를 참조하여 각 변수의 변수 타입을 조회하는 단계, 벡터 저장소를 참조하여, 상기 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 속성에 따라, 각 변수의 벡터화 함수셋을 결정하는 단계, 각 변수를 큐에 임시 저장하고, 해당 변수의 벡터화 함수에 설정된 변환 조건을 만족할 때까지 대기하다가, 상기 변환 조건이 만족되면, 상기 큐에 저장된 변수에 벡터화 함수를 적용해서 변환 데이터를 생성하는 단계, 그리고 시간이 지나면서 축적되는 변환 데이터들을 저장하고, 상기 변환 데이터들을 조합하여 인공지능 모델의 입력 데이터가 완성되면, 완성된 입력 데이터를 상기 인공지능 모델에 입력하는 단계를 포함한다.
상기 변수 메타데이터 저장소는 상기 의료데이터에서 추출되는 각 변수의 변수 타입을 저장하고, 상기 변수 타입은 범주형(categorical), 수치형(numerical), 시간차이형(timedelta), 불리언형(Boolean), 날짜/시간형(time) 중 적어도 하나일 수 있다.
상기 벡터 저장소는 변수 타입별로 이용 가능한 복수의 벡터화 함수들, 그리고 벡터화 함수별로 변수를 변환하는 변환 조건을 저장할 수 있다.
상기 벡터화 함수 결정 규칙은 상기 인공지능 모델의 성능을 최적화하는 변수별 벡터화 함수셋이 결정되도록 설정될 수 있다.
또 다른 실시예에 따라 컴퓨터 판독 가능한 저장매체에 저장되고 적어도 하나의 프로세서에 의해 실행되는 명령어들을 포함하는 컴퓨터 프로그램으로서, 환자별 의료데이터를 입력받고, 상기 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장하는 단계, 상기 변수 데이터 테이블에서, 변환 대상인 적어도 하나의 변수를 확인하고, 변수 메타데이터 저장소를 참조하여 각 변수의 변수 타입을 조회하는 단계, 벡터 저장소를 참조하여, 상기 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 속성에 따라, 각 변수의 벡터화 함수셋을 결정하는 단계, 각 벡터화 함수에 설정된 변환 조건에 따라, 상기 변환 대상인 변수에 지정된 적어도 하나의 벡터화 함수를 적용해서 변환 데이터를 생성하는 단계, 그리고 생성된 변환 데이터들을 이용하여 인공지능 모델의 입력 데이터를 생성하는 단계를 실행하도록 기술된 명령어들을 포함한다.
상기 변수 메타데이터 저장소는 각 변수의 변수 타입을 범주형(categorical), 수치형(numerical), 시간차이형(timedelta), 불리언형(Boolean), 날짜/시간형(time) 중 적어도 하나로 저장할 수 있다. 상기 벡터 저장소는 변수 타입별로 이용 가능한 복수의 벡터화 함수들, 그리고 벡터화 함수별로 변수를 변환하는 변환 조건을 저장할 수 있다.
상기 컴퓨터 프로그램은 상기 입력 데이터를 이용하여 학습된 상기 인공지능 모델의 예측 성능을 피드백받고, 상기 예측 성능의 최적화를 위한 변수들의 벡터화 함수셋이 결정되도록, 상기 벡터화 함수 결정 규칙을 갱신하는 단계, 그리고 다양한 구조의 입력 데이터로 생성된 여러 종류의 인공지능 모델들, 그리고 각 인공지능 모델의 생성 정보를 저장하는 단계를 더 실행하도록 기술된 명령어들을 포함할 수 있다.
상기 변환 데이터를 생성하는 단계는 실시간 벡터화 모드인 경우, 각 변수를 큐에 임시 저장하고, 해당 변수의 벡터화 함수에 설정된 변환 조건을 만족할 때까지 대기하다가, 상기 변환 조건이 만족되면, 상기 큐에 저장된 변수에 벡터화 함수를 적용해서 변환 데이터를 생성할 수 있다.
상기 입력 데이터를 생성하는 단계는 상기 변환 데이터들을 조합하여 상기 입력 데이터가 완성될 때까지 대기하고, 완성된 입력 데이터를 상기 인공지능 모델로 입력할 수 있다.
실시예에 따르면, 변수 메타데이터 저장소 및 변수 타입별 벡터화 함수를 저장하는 벡터 저장소를 이용하여 인공지능 모델을 위한 데이터 생성 파이프라인을 자동화할 수 있다.
실시예에 따르면, 인공지능 모델의 학습 및 적용에서 요구되는 변수들 및 벡터화 함수들을 변수 메타데이터 저장소 및 벡터 저장소에 중앙 집중식으로 정의하고, 이들을 참조하여 의료데이터를 변환하도록 함으로써, 의료데이터를 표준화된 방식으로 전처리할 수 있다.
실시예에 따르면, 변수 타입에 적합한 벡터화 함수를 다양하게 설정해 두면, 변수들이 다양한 벡터화 함수들을 통해 자동 변환되고, 인공지능 모델의 성능에 따라 최적의 벡터화 함수셋이 결정될 수 있다. 따라서, 사용자가 임의로 인공지능 모델의 학습 데이터 구조를 설정하는 경우, 의료데이터에 포함된 수많은 변수들의 관계가 제한적으로 표현되기 마련인데, 실시예에 따르면, 의료데이터에 포함된 수많은 변수들의 관계가 다양한 벡터화 함수들을 통해 표현되는 학습 데이터를 생성할 수 있다.
실시예에 따르면, 변수 메타데이터 저장소 및 벡터 저장소를 참조하여 의료데이터를 변환하도록 함으로써, 인공지능 모델의 학습 단계와 적용 단계에 동일한 입력 데이터를 생성할 수 있다.
도 1은 데이터 변환 장치를 설명하는 도면이다.
도 2부터 도 5 각각은 데이터 변환을 예시적으로 설명하는 도면이다.
도 6은 실시간 데이터 변환을 예시적으로 설명하는 도면이다.
도 7은 배포된 인공지능 모델을 위한 데이터 변환을 설명하는 도면이다.
도 8은 인공지능 모델의 학습을 위한 데이터 변환 방법의 흐름도이다.
도 9는 실시간 데이터 변환 방법의 흐름도이다.
도 10은 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 데이터 변환 장치를 설명하는 도면이다.
도 1을 참고하면, 적어도 하나의 프로세서에 의해 동작하는 데이터 변환 장치(100a)는 의료데이터를 전처리하여, 인공지능 모델(200)의 학습을 위한 학습 데이터를 생성한다. 이를 위한 데이터 변환 장치(100a)는 의료데이터에서 추출되는 변수(feature) 및 변수 타입(feature type)을 저장하는 변수 메타데이터 저장소(feature metadata store)(110), 그리고 변수 타입별 벡터화 함수(vectorizer function)를 저장하는 벡터 저장소(vectorizer store)(130), 의료데이터 수신부(150), 벡터화부(170)를 포함할 수 있다.
의료데이터 수신부(150)에서 생성한 변수 데이터 테이블은 변수 데이터 테이블 저장소(151)에 저장될 수 있다. 벡터화부(170)에서 생성된 변환 데이터는 변환 데이터 저장소(190)에 저장될 수 있다. 변환 데이터 저장소(190)에 저장된 변환 데이터는 인공지능 모델(200)의 학습을 위한 학습 데이터로 사용될 수 있다. 본 개시에서, 변수는 계층적으로 구성될 수 있고, 하위 변수(예를 들면, 응급방문, 입원방문, 외래방문 등)의 집합이 상위 변수(예를 들면, 방문)일 수 있다.
학습부(210)는 변환 데이터 저장소(190)에 저장된 변환 데이터를 이용하여 인공지능 모델(200)을 학습시킨다. 여기서, 벡터화부(170)에서 변환된 변수들 및 이에 적용된 벡터화 함수셋에 따라, 생성된 인공지능 모델(200)이 달라질 수 있다. 한편, 데이터 변환 장치(100a)는 학습부(210)를 포함하여 구현될 수 있고, 필요에 따라서는 학습부(210)를 포함하지 않을 수 있다.
변수 메타데이터 저장소(110)는 의료데이터에서 추출되는 변수별 변수 타입을 저장한다. 변수들은 다양한 종류의 의료데이터에서 추출되는데, 의료데이터의 종류는 예를 들면, 인구통계(demographic) 데이터, 진단(diagnosis) 데이터, 방문 이력(visit history) 데이터, 방문 정보(visit info) 데이터, 진단검사(lab test) 데이터, 투약(medication) 데이터, 바이탈사인(vital sign) 데이터, 영상(clinical imaging) 데이터, 기능 검사(functional test) 데이터 등을 포함할 수 있다. 영상 데이터는 질병 특화 영상(예를 들면, 관상동맥조영술), 이의 판독 결과 등을 포함할 수 있다. 기능 검사 데이터는 예를 들면, 운동부하검사 등을 포함할 수 있다.
변수 메타데이터 저장소(110)는 의료데이터에서 추출되는 변수들의 메타데이터를 저장한다. 메타데이터는 표 1과 같이, 의료데이터의 변수에 할당된 필드 식별자, 변수명(필드명), 그리고 변수 타입을 저장할 수 있다. 변수 타입은 범주형(categorical), 수치형(numerical), 시간차이형(timedelta), 불리언형(Boolean), 날짜/시간형(time)으로 구분될 수 있고, 이들의 조합이 기재될 수 있다.
데이터 종류 필드 식별자 변수명(필드명) 변수 타입
인구통계 데이터 1111 성별(gender) 범주형(categorical)
인구통계 데이터 1112 혈액형(blood_type) 범주형(categorical),
인구통계 데이터 1113 거주지 범주형(categorical),
진단 데이터 2221 진단코드 I20 범주형(categorical)
진단 데이터 2233 진단코드 N18 범주형(categorical),
방문 이력 데이터 3111 응급방문 범주형(categorical)
방문 이력 데이터 31234 외래방문 범주형(categorical)
….`
방문 정보 데이터 4367 진료과목 CV 범주형(categorical)
방문 정보 데이터 4456 진료과목 NPH 범주형(categorical)
진단 검사 데이터 5156 total protein 수치형(numerical)
진단 검사 데이터 5233 Troponin I 수치형(numerical)
약물 데이터 6111 aspirin 수치형(numerical)
바이탈사인 데이터 7111 Systolic Blood Pressure(수축기혈압) 수치형(numerical)
바이탈사인 데이터 7112 Diastolic Blood Pressure(이완기혈압) 수치형(numerical)
바이탈사인 데이터 7234 맥박 수치형(numerical)
벡터 저장소(130)는 변수 타입별로 이용 가능한 복수의 벡터화 함수(vectorizer function)를 저장하고, 벡터화 함수별로 변수를 변환하는 변환 조건(trigger)을 저장할 수 있다. 벡터 저장소(130)에 저장된 다양한 벡터화 함수들이 변수를 벡터화하는 데 선택적으로 사용될 수 있다. 벡터 저장소(130)에 one-hot-encoding, data augmentation, interpolation, embedding 등에 관련된 다양한 벡터화 함수들이 저장되어 있다.
표 2를 참고하면, 수치형 타입에 적용 가능한 벡터화 함수는 count 함수, mean 함수, sum 함수, min 함수, max 함수 등을 포함할 수 있다. 범주형 타입에 적용 가능한 벡터화 함수는 변수의 값을 바이너리로 변환하는 원핫인코더(one-hot-encoder), 조건 만족 유무를 나타내는 불리언(Boolean) 함수, count 함수, 데이터에서 변수가 가지는 값을 저차원으로 변환하는 압축 함수(compressor) 등을 포함할 수 있다. 시간차이형 타입에 적용 가능한 함수는 생년월일로부터 현재까지의 시간을 계산하는 함수(month, year) 등을 포함할 수 있다. 이외에도 다양한 벡터화 함수가 정의될 수 있다. 예를 들면, 벡터화 함수가 적용되는 기간조건이 설정된 함수(예를 들면, 표 2의 60_d 함수, 90_d 함수, 365_d 함수)가 정의될 수 있고, 최근 1주전, 최근 2주전, 최근 1개월전의 시간 구간(time window)이 정의될 수 있다. 참고로, 원핫인코더 함수는, 특정 변수 값을 다른 모든 변수값들과 구별하는 데 사용되는 1×N 행렬(벡터)로서, 벡터는 변수값을 식별하기 위해 고유하게 사용되는 자리수의 단일 1을 제외하고 모든 자리수에서 0으로 표기될 수 있다.
변수 타입 벡터화 함수 변환 조건
(trigger)
설명
수치형 count > 1 변수가 기재된 횟수 계산
mean > 2 변수 값의 평균 계산
sum > 2 변수 값의 합 계산
min > 1 변수 값의 최솟값 계산
max > 1 변수 값의 최댓값 계산
범주형 one-hot-encoder exists 변수 값을 원-핫 벡터로 변환
(예, 성별 남자=10, 성별 여자=01)
60_d exists 60일 이내 변수 존재 유무
90_d exists 90일 이내 변수 존재 유무
365_d exists 365일 이내 변수 존재 유무
count > 1 변수가 기재된 횟수 계산
compressor exists 변수 값을 저차원으로 변환
시간차이형 month exists 생후 개월 수 계산
year exists 생후 년 수 계산
LENGTH_OF_STAY exists 변수와 관련된 머무는 시간 계산
의료데이터 수신부(150)는 임상데이터웨어하우스(Clinical Data Warehouse, CDW)를 비롯한 다양한 장치로부터 환자별 의료데이터를 입력받고, 의료데이터에 포함된 변수를 확인하고, 변수 값 및 입력 시각을 변수 데이터 테이블에 저장한다. 의료데이터 수신부(150)는 임상데이터웨어하우스 등에 저장된 대량의 환자별 의료데이터를 입력받을 수 있다. 또는, 의료데이터 수신부(150)는 환자에게 약물이 투여되거나 새로운 진단이 내려진 경우, 이를 기록한 의료데이터를 수시로 입력받을 수 있다.
표 3을 참고하면, 변수 데이터 테이블의 행마다, 의료데이터에서 추출한 변수를 나타내는 필드 식별자(또는 변수명), 변수 값, 그리고 변수 값이 입력된 시각이 기재된다. 예를 들면, 진단 검사 데이터의 필드 식별자 5156에 변수(total protein)의 값(6.0 g/dL)이 2015-03-30 09:25:00에 기재되고, 2015-03-31 03:40:00에 추가 기재된 경우, 의료데이터 수신부(150)는 표 3과 같이 변수 데이터 테이블을 생성할 수 있다. 진단 데이터의 필드 식별자 2233에 "본태성 고혈압"이 2015-03-31 11:40:00에 기재된 경우, 의료데이터 수신부(150)는 표 3과 같이 변수 데이터 테이블을 생성할 수 있다.

식별자
환자
식별자
필드 식별자
(변수명에 대응)
필드 값/
변수 값(value)
입력 시각
1 1 5156 6.0 g/dL 2015-03-30 09:25:00
2 1 5156 4.8 g/dL 2015-03-31 09:30:00
3 1 2255 본태성 고혈압 2015-03-31 11:40:00
벡터화부(170)는 의료데이터 수신부(150)에 저장된 변수 데이터 테이블을 이용하여, 인공지능 모델의 학습 데이터 또는 학습된 인공지능 모델로 입력할 입력 데이터를 생성한다. 다음에서는 주로 인공지능 모델의 학습 데이터를 생성하는 방법 위주로 설명한다.
벡터화부(170)는 설정된 벡터화 함수 결정 규칙 및 변수 데이터 테이블에 기재된 변수 속성에 따라, 변수들에 적용할 벡터화 함수셋을 결정한다. 이때, 벡터화할 변수들은 벡터화 함수 결정 규칙으로 미리 설정될 수 있고, 벡터화 함수 결정 규칙은 인공지능 모델의 입력 데이터 구조에 맞춰 갱신될 수 있다. 한편, 입력 데이터는 복수의 변환 데이터들의 조합으로 구성될 수 있고, 각 변환 데이터는 적어도 하나의 변수에 벡터화 함수를 적용한 값으로 표시될 수 있다. 입력 데이터의 길이는 변환 데이터들의 조합에 따라 달라질 수 있다.
인공지능 모델의 입력 데이터 구조는 인공지능 모델의 학습 성능에 따라 가변될 수 있는데, 최초 학습 단계에서는 각 변수에 적용 가능한 모든 벡터화 함수들을 적용해서 입력 데이터를 생성한 후, 인공지능 모델의 예측 결과에 영향을 주는 변환 데이터 및 이를 생성하는 벡터화 함수들을 점차 추려가면서 변수들의 벡터화 함수셋을 최적화할 수 있다. 즉, 인공지능 모델의 예측 성능은 학습 데이터에 좌우되는데, 의료데이터의 복잡하고 다면적인 특성 상, 어떤 벡터화를 적용해야 최적의 예측 성능을 보장하는지 단정하기 어렵다. 가능한 모든 벡터화를 한다 해도 예측 결과에 영향을 주지 않는 불필요한 입력값이 학습에 사용될 수 있고, 사용자가 주관적으로 벡터화를 한다 해도 항상 최적의 인공지능 모델의 성능을 보장할 수 없다. 이러한 문제를 해결하기 위해, 벡터화부(170)는 변수 속성에 적합한 벡터화 함수셋으로 학습 데이터를 생성하고, 점진적으로 변수에 적용되는 벡터화 함수셋을 변경해 가면서 인공지능 모델을 위한 최적의 벡터화 함수셋을 결정할 수 있다. 변수와 벡터화 함수의 조합을 선택하는 기준은 모델 유형에 따라 변수 중요도(feature importance), 예측 결과에 대한 변수 영향력이 사용될 수 있다. 예측 결과에 대한 변수 영향력은 예측 결과에 어떤 변수가 큰 영향력을 미쳤는지, 전혀 영향을 주지 않았는지 정량화하는 방법으로 계산될 수 있고, 예를 들면, 새플리 가치(shapley value) 등이 사용될 수 있다.
벡터화부(170)는 의료데이터 수신부(150)에서 생성한 변수 데이터 테이블에서, 변수들(또는 변수에 대응하는 필드 식별자)을 확인하고, 변수 메타데이터 저장소(110)를 참조하여 각 변수의 변수 타입을 조회한다. 그리고, 벡터화부(170)는 벡터 저장소(130)를 참조하여, 변수 타입에 매핑된 벡터화 함수들을 조회한다. 이때, 벡터화부(170)에서 변환되는 변수 종류는 인공지능 모델의 목적이나 입력 데이터 구조에 맞춰 미리 정해져 있을 수 있다. 즉, 벡터화부(170)가 의료데이터에 포함된 모든 변수들을 변환하는 것이 아니라, 인공지능 모델의 학습에 관련된 변수들을 선택적으로 변환할 수 있다. 이때, 인공지능 모델의 학습에 관련된 변수들은 초기에 사용자에 의해 설정될 수 있다. 또는 벡터화부(170)가 인공지능 모델의 예측 성능을 피드백받고, 예측 성능에 영향을 주지 않는 변수들을 관심 변수에서 제외시킬 수 있다.
벡터화부(170)는 벡터화 함수에 변환 조건이 설정되어 있는 경우, 변환 조건을 만족하면, 의료데이터의 변수를 벡터화 함수로 변환할 수 있다.
한편, 변수 중에서, 성별, 혈액형, 지역 등의 인구통계 정보는 고정값이므로, 이에 적합한 벡터화 함수는 one-hot-encoder로 미리 결정될 수 있다. 이 경우, 성별에 적용되는 one-hot-encoder는 여성을 01, 남성을 10로 변환할 수 있고, 또는 1비트(0, 1)로 변환할 수 있다. 마찬가지로, 혈액형에 적용되는 one-hot-encoder는 A형을 0001, B형을 0010, O형을 0100, AB형을 1000로 변환할 수 있다.
또한, 변수 중에서, 종류를 구분하기 위한 벡터화 함수는 one-hot-encoder로 미리 결정될 수 있다. 예를 들어, 방문 종류에 적용되는 one-hot-encoder는 외래방문을 0001, 응급방문을 0010, 입원방문을 0100, 건강검진방문을 1000으로 변환할 수 있다. 진료 과목에 적용되는 벡터화 함수는 one-hot-encoder로 결정될 수 있다.
벡터화부(170)가 인공지능 모델의 최초 학습 단계를 위한 입력 데이터를 생성한다고 가정한다. 그러면, 벡터화부(170)는 변수 속성을 기초로 각 변수에 적용 가능한 벡터화 함수셋을 결정한다.
예를 들어, 변수가 진단코드들인 경우, 진단코드의 변수 타입은 범주형이므로, 표 2의 벡터 저장소(130)에서, 범주형에 적용 가능한 복수의 벡터화 함수들, 예를 들면, one-hot-encoder, 60_d, 90_d, 365_d, count, compressor를 확인하고, 진단코드의 속성을 기초로 변환 값을 얻을 수 있는 one-hot-encoder(진단코드의 바이너리 값), 60_d(진단코드의 병명이 60일 내에 진단된 여부), 90_d(진단코드의 병명이 90일 내에 진단된 여부), 365_d(진단코드의 병명이 365일 내에 진단된 여부), count(진단코드의 병명이 진단된 횟수)를 각 진단코드의 벡터화 함수셋으로 결정할 수 있다. 변수의 벡터화 함수셋은 인공지능 모델이 학습되는 동안 가변될 수 있고, 예를 들면, 일부 벡터화 함수(예를 들면, 60_d, 90_d, 365_d)는 해당 변수의 벡터화 함수셋에서 제외될 수 있다.
변수가 수축기혈압(Systolic Blood Pressure, SBP)나 이완기혈압(Diastolic Blood Pressure, DBP)인 경우, 이들의 변수 타입은 수치형이므로, 표 2의 벡터 저장소(130)에서, 수치형에 적용 가능한 벡터화 함수들(예를 들어, count, mean, sum, min, max)을 확인하고, 수축기혈압/이완기혈압의 속성에 따라 값을 얻을 수 있는 mean(측정된 혈압의 평균값), min(측정된 혈압의 최솟값), max(측정된 혈압의 최댓값) 중 적어도 하나를 수축기혈압/이완기혈압의 벡터화 함수셋으로 결정할 수 있다.
변수가 외래방문, 응급방문, 입원방문, 건강검진방문 등의 방문 종류들인 경우, 각 방문 종류의 변수 타입은 범주형이므로, 표 2의 벡터 저장소(130)에서, 범주형에 적용 가능한 벡터화 함수들(예를 들면, one-hot-encoder, 60_d, 90_d, 365_d, count, compressor)을 확인하고, 방문 종류의 속성에 따라 값을 얻을 수 있는 one-hot-encoder, 60_d, 90_d, 365_d, count 중 적어도 하나를 각 방문 종류의 벡터화 함수셋으로 결정할 수 있다. 이외에도, 외래방문, 응급방문, 입원방문, 건강검진방문의 구분 없이, 방문 유무를 변환하는 벡터화 함수가 벡터화 함수셋에 포함될 수 있다.
변수가 aspirin 등과 같은 약물들인 경우, 이들의 변수 타입은 수치형이므로, 표 2의 벡터 저장소(130)에서, 수치형에 적용 가능한 벡터화 함수들(예를 들어, count, mean, sum, min, max)을 확인하고, 약물의 속성에 따라 값을 얻을 수 있는 count(약물의 처방 횟수), mean(평균 용량), sum(총 용량), min(최저 용량), max(최고 용량) 중 적어도 하나를 각 약물의 벡터화 함수셋으로 결정할 수 있다.
이렇게, 벡터화부(170)가 인공지능 모델의 학습을 위해, 각 변수에 적용 가능한 벡터화 함수셋을 결정하고, 이를 이용해서 각 변수를 일정 길이의 변환 데이터(벡터)로 변환한다. 변환 데이터들이 조합되어 인공지능 모델의 학습 데이터가 생성되고, 인공지능 모델이 학습된다. 이후, 벡터화부(170)는 인공지능 모델의 예측 성능 또는 인공지능 모델의 예측 성능에 영향을 주는 변환 데이터를 피드백받고, 이를 기초로 인공지능 모델의 예측 성능에 영향을 주는 벡터화 함수들을 점차 추려가면서 각 변수의 벡터화 함수셋을 최적화될 수 있다.
예를 들면, 벡터화부(170)는 표 4와 같이, 변수별 벡터화 함수셋을 이용하여 변수들을 변환하고, 변환 데이터들을 조합하여 인공지능 모델로 입력되는 입력 데이터를 생성할 수 있다. 벡터화부(170)는 데이터 종류별로 변환 데이터를 생성할 수 있다.
데이터 종류 변수명 벡터화 함수 설명
인구통계 성별 one-hot-encoder 여성: 01남성: 10
인구통계 혈액형 one-hot-encoder A형: 0001, B형: 0010
O형: 0100, AB형:1000
인구통계 거주지 one-hot-encoder
진단 데이터 진단코드 I20 count 협심증
진단 데이터 진단코드 I21 count 급성 심근경색
진단 데이터 진단코드 I25 count 만성 허혈성 심장병
진단 데이터 진단코드 N18 count 만성 신장질환
진단 데이터 진단코드 E11 count 인슐린-비의존 당뇨병
진단 데이터 진단코드 E14 count 상세불명의 당뇨병
진단검사 Troponin I max 측정된 Troponin I (quantitative), blood의 최댓값
진단검사 Troponin I mean 측정된 Troponin I (quantitative), blood의 평균값
진단검사 CK-MD max 측정된 CK-MB (quantitative), blood의 최댓값
진단검사 E-ANC min 측정된 E-ANC의 최솟값
진단검사 IG % mean 측정된 IG %의 평균값
진단검사 EGFR min 측정된 EGFR(CKD-EPI)의 최솟값
진단검사 Creatinine min 측정된 Creatinine (quantitative), blood의 최솟값
진단검사 Thyroid stimulating hormone max 측정된 TSH (quantitative), blood의 최댓값
진단검사 Total CO2 count 측정된 Total CO2 (quantitative), blood의 언급 수
약물 데이터 aspirin sum 사용된 아스피린의 합
약물 데이터 clopidogrel sum 사용된 클로피도그렐의 합
약물 데이터 5% dextrose sum 사용된 식염수의 합
약물 데이터 heparin sodium sum 사용된 해파린의 합
약물 데이터 teprenone sum 사용된 테프레논(위궤양 치료제)의 합
약물 데이터 meropenem sum 사용된 메로페넴(항생제)의 합
약물 데이터 recombinant human erythropoietin sum 사용된 아포로틴의 합
약물 데이터 diltiazem hcl sum 사용된 딜티아젬의 합
바이탈사인 SBPT min 수축기 혈압의 최솟값
바이탈사인 SBPT mean 수축기 혈압의 평균값
바이탈사인 DBPT mean 이완기 혈압의 평균값
바이탈사인 SBPT max 수축기 혈압의 최댓값
바이탈사인 DBPT min 이완기 혈압의 최솟값
바이탈사인 DBPT max 이완기 혈압의 최댓값
바이탈사인 PRPT count 맥박수가 언급된 수
방문이력 응급방문 365_d 365일 내 응급방문 유무
방문이력 응급방문 180_d 180일 내 응급방문 유무
방문이력 입원방문 365_d 365일 내 입원방문 유무
방문이력 입원방문 180_d 180일 내 입원 유무
방문이력 외래방문 365_d 365일 내 외래 방문 유무
방문이력 외래방문 180_d 180일 내 외래방문 유무
방문이력 외래방문 90_d 90일 내 외래 방문 유무
방문이력 외래방문 60_d 60일 내 외래 방문 유무
방문이력 건강검진방문 365_d 365일 내 건강건진 방문 유무
방문이력 모든 방문 365_d 모든 방문유형 포함하여 365일 내 방문 유무
방문이력 모든 방문 180_d 모든 방문유형 포함하여 180일 내 방문 유무
방문이력 모든 방문 90_d 모든 방문유형 포함하여 90일 내 방문 유무
방문이력 모든 방문 60_d 모든 방문유형 포함하여 60일 내 방문 유무
방문이력 모든 방문 30_d 모든 방문유형 포함하여 30일내 방문 유무
방문 정보 방문 종류 one-hot-encoder 응급방문, 외래방문, 입원방문, 건강검진방문 등
방문 정보 방문 진료과목 one-hot-encoder 심장내과 방문, 신장내과 방문, 흉부외과 방문 등
방문 정보 나이 month 나이(개월 수)
방문 정보 나이 year 나이(년 수)
방문 정보 LENGTH_OF_STAY hour 응급실에 머무른 시간
벡터화부(170)는 지연 시간이 짧은 실시간 벡터화 모드 또는 데이터를 처리량이 높은 배치 벡터화(batch vectorization) 모드로 동작할 수 있다. 실시간 벡터화 모드는 주로 인공지능 모델의 서빙(serving) 단계에서 주로 사용될 수 있고, 배치 벡터화 모드는 인공지능 모델의 학습 단계에서 주로 사용될 수 있다.
실시간 벡터화 모드의 경우, 벡터화부(170)는 변수 데이터 테이블에 실시간으로 기재되는 변수(또는 변수에 대응하는 필드 식별자)를 벡터화할 수 있다. 벡터화부(170)는 변수 데이터 테이블에 변수가 등록되면 실시간으로 변수를 확인하고, 변수 메타데이터 저장소(110)를 참조하여 변수 타입을 조회한 후, 변수에 적용할 벡터화 함수셋을 결정한다. 그리고, 벡터화부(170)는 변수가 각 벡터화 함수의 변환 조건을 만족하는 지에 따라, 변수 값을 변환할 수 있다.
또는, 배치 벡터화 모드의 경우, 벡터화부(170)는 변수 데이터 테이블에 포함된 많은 변수들을 한꺼번에 변환할 수 있다.
한편, 벡터화부(170)가 변수 데이터 테이블에 포함된 변수의 변환 데이터를 변환 데이터 저장소(190)에 저장하면, 학습부(210)는 변환 데이터 저장소(190)에 저장된 변환 데이터 중에서, 인공지능 모델의 입력 데이터 구조에 해당하는 변환 데이터들을 조합해서, 입력 데이터를 생성할 수 있다.
학습부(210)는 변환 데이터 저장소(190)에 저장된 변환 데이터를 이용하여 인공지능 모델(200)을 학습시키는데, 인공지능 모델의 입력 데이터 구조에 따라 여러 종류의 인공지능 모델을 생성할 수 있다. 학습부(210)는 인공지능 모델마다, 이의 출력 정보 및 예측 성능, 학습 데이터를 구성하는 변수셋 및 이에 적용된 벡터화 함수셋, 입력 데이터 구조 등을 저장해 둔다.
한편, 입력 데이터에 포함되어야 할 값이 아직 변환 데이터로 저장되지 않을 수 있다. 이 경우, 학습부(210)는 변환 데이터들을 조합하여 입력 데이터가 완성될 때까지 대기하고, 시간이 지나면서 완성된 입력 데이터를 인공지능 모델의 학습 데이터로 사용할 수 있다.
또한, 학습부(210)는 학습된 인공지능 모델의 예측 성능, 인공지능 모델의 예측 결과에 영향을 주는 입력 데이터의 변환 데이터 등을 벡터화부(170)로 피드백할 수 있다. 그러면, 벡터화부(170)는 입력 데이터를 구성하는 변수들 및 이들의 벡터화 함수셋을 변경하여, 의료데이터로부터 새로운 변환 데이터를 생성할 수 있다.
도 2부터 도 5 각각은 데이터 변환을 예시적으로 설명하는 도면이다.
도 2를 참고하면, 환자가 내원하여 병명을 진단받는 경우, 변수 데이터 테이블에 진단명/진단코드가 기재된다. 이때, 입력 데이터에 포함된 일부 특징들이 진단명/진단코드 중 I20, I21, E11의 진단 횟수(count)인 경우, 벡터화부(170)는 진단코드 I20, I21, E11을 [1,1,0]으로 변환할 수 있다. 인공지능 모델(200)은 [1,1,0]을 포함하는 입력 데이터를 이용하여, 지정된 태스크(예를 들면, 심혈관 질환 확률 예측)를 학습할 수 있다.
한편, 진단 횟수(count)는 누적 진단횟수, 일정 기간 내(최근) 진단횟수 등으로 세분화될 수 있다.
도 3을 참고하면, 환자가 입원하여 약물을 처방받는 경우, 변수 데이터 테이블에 입원 기간 동안의 투약 정보가 기재된다. 이때, 입력 데이터에 포함된 일부 특징들이 clopidogrel, aspirin, statin의 입원 기간 전체 복용량(sum)과 최대 복용량(max)인 경우, 벡터화부(170)는 투약 데이터를 전체 복용량에 해당하는 [10,20,15] 및 최대 복용량에 해당하는 [5,8,3]으로 변환할 수 있다. 인공지능 모델(200)은 [10,20,15,5,8,3]을 포함하는 입력 데이터를 이용하여, 지정된 태스크(예를 들면, 질병과 약물과의 관계)를 학습할 수 있다.
도 4를 참고하면, 입력 데이터에 포함된 일부 특징들이 약물들의 one-hot-encoder 값인 경우, 벡터화부(170)는 변수 데이터 테이블에 기재된 입원 기간 동안의 투약 정보를 one-hot-encoder로 변환할 수 있다. 투약 정보를 나타내는 입력 데이터를 이용하여, 지정된 태스크(예를 들면, 질병과 약물과의 관계)를 학습할 수 있다. 이외에도, 벡터화부(170)는 compressor 함수를 이용하여, 투약 정보를 저차원으로 변환할 수 있다.
도 5를 참고하면, 환자가 입원하여 여러 번 진단검사를 받고, LDL 콜레스테롤 수치를 측정하는 경우, 변수 데이터 테이블에 입원 기간 동안의 진단검사 결과가 기재된다. 이때, 입력 데이터에 포함된 일부 특징들이 입원 기간 동안의 LDL 측정 횟수(count), 평균 LDL 값(mean), 최대 LDL 값(max)인 경우, 벡터화부(170)는 LDL 콜레스테롤 수치를 [3, 110, 120]으로 변환할 수 있다. 인공지능 모델(200)은 [3, 110, 120]을 포함하는 입력 데이터를 이용하여, 지정된 태스크를 학습할 수 있다.
이외에도, 벡터화부(170)는 최근 1주전, 최근 2주전, 최근 1개월전 등의 시간 구간(time window)으로 변수를 벡터화할 수 있다. 예를 들면, 환자가 입원하여 total protein의 양을 입원 기간 동안 주기적으로 측정한 경우, 벡터화부(170)는 변수 데이터 테이블에 기재된 데이터를 이용하여, 표 5와 같이 시간 구간별 total protein의 양을 count, mean, min, max 함수로 변환할 수 있다. 인공지능 모델(200)은 [2,5.4,4.8,6.0], [2,5.4,4.8,6.0], [2,5.4,4.8,6.0], [4,5.75,4.8,6.4] 등을 포함하는 입력 데이터를 이용하여, 지정된 태스크(예를 들면, 시간에 따른 total protein 변화와 치료 경과 관계)를 학습할 수 있다.
변환 데이터명 count mean min max
최근 ~ 1주전 total protein 2 5.4 4.8 6.0
최근 ~ 2주전 total protein 2 5.4 4.8 6.0
최근 ~ 1개월전 total protein 2 5.4 4.8 6.0
최근 ~ 2개월전 total protein 4 5.75 4.8 6.4
최근 ~ 3개월전 total protein 4 5.75 4.8 6.4
최근 ~ 6개월전 total protein 7 6.07 4.8 7
도 6은 실시간 데이터 변환을 예시적으로 설명하는 도면이다.
도 6을 참고하면, 벡터화부(170)는 변수 데이터 테이블에 실시간으로 기재되는 변수A를 확인하고, 변수 메타데이터 저장소(110)를 참조하여 변수 타입인 범주형을 확인한 후, 벡터 저장소(130)에서 범주형 변수 타입에 해당하는 벡터화 함수 func1 및 변환 조건(변수가 2이상 존재하면 변환)을 확인한다. 벡터화부(170)는 변수A를 변수A-func1 큐에 임시 저장한다. 이때, func1의 변환 조건을 만족하지 않으므로, 벡터화부(170)는 변수A-func1 큐에 들어있는 변수A를 변환하지 않고, 변수A가 들어올 때까지 대기한다.
이후, 환자의 의료데이터가 갱신되면 변수 데이터 테이블에 변수A와 변수B가 추가될 수 있다. 그러면, 벡터화부(170)는 변수A-func1 큐에 변수A를 임시 저장하는데, 변수A-func1 큐의 변환 조건을 만족하므로, 변수A-func1 큐에 들어있는 변수A에 func1을 적용하여 변환한다. 변환 조건에 따라서, 벡터화부(170)는 변수 데이터 테이블에 기재된 과거 변수 데이터를 불러와서, 벡터화 함수를 적용할 수 있다.
마찬가지로, 벡터화부(170)는 변수 데이터 테이블에 기재되는 변수B를 확인하고, 변수 메타데이터 저장소(110)를 참조하여 변수 타입인 수치형을 확인한 후, 벡터 저장소(130)에서 수치형 변수 타입에 해당하는 벡터화 함수 func2 및 변환 조건(변수가 3이상 존재하면 변환)을 확인한다. 벡터화부(170)는 변수B를 변수B-func2 큐에 넣는다. 이때, func2의 변환 조건을 만족하지 않으므로, 벡터화부(170)는 변수B-func2 큐에 들어있는 변수B를 변환하지 않고, 변환 조건까지 변수B의 데이터가 쌓이면, 변수B에 func2를 적용하여 변환한다.
배치 벡터화 모드라면, 벡터화부(170)는 변수 데이터 테이블에 포함된 변수A들을 확인하고, 변환 조건을 만족하는 지 판단하여, 변수A의 변환 데이터를 생성 수 있다.
도 7은 배포된 인공지능 모델을 위한 데이터 변환을 설명하는 도면이다.
도 7을 참고하면, 데이터 변환 장치(100b)는 학습된 인공지능 모델(200-k)을 이용하여 의료데이터의 예측 결과를 얻고자 하는, 병원, 연구소 등에 설치될 수 있다. 데이터 변환 장치(100b)는 의료데이터를 인공지능 모델(200-k)의 입력 데이터로 변환한다. 데이터 변환 장치(100b)에 탑재되는 인공지능 모델은 데이터 변환 장치(100a)에서 학습된 다양한 인공지능 모델들 중에서 선택될 수 있다.
데이터 변환 장치(100b)는 인공지능 모델(200-k)의 학습 데이터를 생성하는 방식으로 입력 데이터를 생성하기 위해, 의료데이터를 전처리하는 변수 메타데이터 저장소(110), 변수 타입별 벡터화 함수를 저장하는 벡터 저장소(130), 의료데이터 수신부(150), 벡터화부(170)를 포함할 수 있다. 이때, 변수 메타데이터 저장소(110) 및 벡터 저장소(130)에 저장된 정보는 학습된 인공지능 모델(200-k)에 최적화된 변수 메타데이터 및 벡터화 함수들을 포함할 수 있다. 의료데이터 수신부(150)에서 생성한 변수 데이터 테이블은 변수 데이터 테이블 저장소(151)에 저장될 수 있다. 벡터화부(170)에서 생성된 데이터는 변환 데이터 저장소(190)에 저장될 수 있다. 설명에서는 데이터 변환 장치(100b)가 인공지능 모델 인터페이스부(230) 및 인공지능 모델(200-k)을 포함한다고 설명하나, 인공지능 모델 인터페이스부(230) 및 인공지능 모델(200-k)이 데이터 변환 장치(100b)와 연동하도록 구현될 수 있다.
벡터화부(170)는 의료데이터 수신부(150)에서 생성한 변수 데이터 테이블에서, 의료데이터의 변수들을 확인하고, 변수 메타데이터 저장소(110)를 참조하여 각 변수의 변수 타입을 조회한다. 그리고, 벡터화부(170)는 벡터 저장소(130)를 참조하여, 변수 타입에 매핑된 벡터화 함수들을 조회한다. 이때, 벡터화부(170)가 변환하는 변수 종류는 학습된 인공지능 모델(200-k)의 입력 데이터 구조에 맞춰 미리 정해져 있을 수 있다.
벡터화부(170)는 벡터화 함수에 변환 조건이 설정되어 있는 경우, 변환 조건을 만족하면, 의료데이터의 변수를 벡터화 함수로 변환할 수 있다. 벡터화부(170)는 도 6에서 설명한 실시간 데이터 변환 방식에 따라, 변수 데이터 테이블에 실시간으로 기재되는 변수를 확인하고, 변수 메타데이터 저장소(110)를 참조하여 변수 타입을 조회한 후, 벡터 저장소(130)에서 변수 타입에 해당하는 벡터화 함수 및 변환 조건을 확인한다. 벡터화부(170)는 변수를 벡터화 함수 및 변환 조건이 설정된 큐에 넣고, 변환 조건이 되면, 벡터화 함수로 변수를 변환해서 변환 데이터 저장소(190)에 저장할 수 있다.
그러면, 인공지능 모델 인터페이스부(230)는 변환 데이터 저장소(190)에 저장된 데이터를 학습된 인공지능 모델(200-k)로 입력하고, 인공지능 모델(200-k)의 예측 결과를 출력한다.
도 8은 인공지능 모델의 학습을 위한 데이터 변환 방법의 흐름도이다.
도 8을 참고하면, 데이터 변환 장치(100a)는 환자별 의료데이터를 입력받고, 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장한다(S110). 데이터 변환 장치(100a)는 대량의 환자별 의료데이터를 입력받거나, 업데이트된 의료데이터를 수시로 입력받을 수 있다. 의료데이터에 포함된 변수는 의료뎨이터의 필드 식별자에 대응할 수 있다. 변수 데이터 테이블은 표 3과 같이, 환자별 의료데이터에서 추출한 변수명, 변수 값, 입력 시각 등으로 구성될 수 있다.
데이터 변환 장치(100a)는 변수 데이터 테이블에서, 변환 대상인 변수를 확인하고, 변수 메타데이터 저장소(110)를 참조하여 각 변수의 변수 타입을 조회한다(S120). 변수 메타데이터 저장소(110)는 의료데이터에서 추출되는 변수들의 메타데이터를 저장한다. 변수 메타데이터 저장소(110)는 표 1과 같이, 변수에 할당된 필드 식별자, 변수명(필드명), 그리고 변수 타입을 저장할 수 있다. 변수 타입은 범주형(categorical), 수치형(numerical), 시간차이형(timedelta), 불리언형(Boolean), 날짜/시간형(time) 등일 수 있다.
데이터 변환 장치(100a)는 벡터 저장소(130)를 참조하여, 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 데이터 테이블에 기재된 변수 속성에 따라, 변수들의 벡터화 함수셋을 결정한다(S130). 벡터 저장소(130)는 표 2와 같이, 변수 타입별로 이용 가능한 복수의 벡터화 함수들을 저장하고, 벡터화 함수별로 변수를 변환하는 변환 조건을 저장할 수 있다.
데이터 변환 장치(100a)는 각 벡터화 함수에 설정된 변환 조건에 따라, 변수 데이터 테이블에 기재된 변수들에, 지정된 벡터화 함수를 적용해서 변환 데이터를 생성한다(S140). 데이터 변환 장치(100a)는 지연 시간이 짧은 실시간 벡터화 모드 또는 데이터를 처리량이 높은 배치 벡터화 모드로 동작할 수 있다.
데이터 변환 장치(100a)는 변환 데이터들을 이용하여 인공지능 모델의 학습 데이터를 생성한다(S150). 변환 데이터들은 인공지능 모델의 입력 데이터 구조에 맞게 조합될 수 있다.
이후, 데이터 변환 장치(100a)는 현재 입력 데이터 구조의 학습 데이터로 학습된 인공지능 모델의 예측 성능을 피드백받고, 예측 성능 최적화를 위한 변수들의 벡터화 함수셋이 결정되도록, 벡터화 함수 결정 규칙을 갱신한다(S160).
한편, 데이터 변환 장치(100a)는 현재 입력 데이터 구조로 학습된 인공지능 모델 및 이의 생성 정보를 저장한다(S170). 그러면, 데이터 변환 장치(100a)는 다양한 입력 데이터 구조의 학습 데이터로 생성된 여러 종류의 인공지능 모델들, 그리고 각 인공지능 모델의 생성 정보를 저장할 수 있다. 각 인공지능 모델의 생성 정보는 출력 정보, 예측 성능, 학습 데이터에 사용된 최적화된 변수셋 및 이에 적용된 벡터화 함수셋, 입력 데이터 구조 등을 포함할 수 있다.
도 9는 실시간 데이터 변환 방법의 흐름도이다.
도 9를 참고하면, 데이터 변환 장치(100b)는 환자별 의료데이터를 입력받고, 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장한다(S210). 데이터 변환 장치(100b)는 의료데이터를 수시로 입력받을 수 있다. 의료데이터에 포함된 변수는 의료뎨이터의 필드 식별자에 대응할 수 있다. 변수 데이터 테이블은 표 3과 같이, 환자별 의료데이터에서 추출한 변수명, 변수 값, 입력 시각 등으로 구성될 수 있다.
데이터 변환 장치(100b)는 변수 데이터 테이블에서, 변환 대상인 변수를 확인하고, 변수 메타데이터 저장소(110)를 참조하여 각 변수의 변수 타입을 조회한다(S220). 변수 메타데이터 저장소(110)는 의료데이터에서 추출되는 변수들의 메타데이터를 저장한다. 변수 메타데이터 저장소(110)는 표 1과 같이, 변수에 할당된 필드 식별자, 변수명(필드명), 그리고 변수 타입을 저장할 수 있다. 변수 타입은 범주형(categorical), 수치형(numerical), 시간차이형(timedelta), 불리언형(Boolean), 날짜/시간형(time) 등일 수 있다.
데이터 변환 장치(100b)는 벡터 저장소(130)를 참조하여, 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 데이터 테이블에 기재된 변수 속성에 따라, 변수들의 벡터화 함수셋을 결정한다(S230). 이때, 벡터화 함수 결정 규칙은 학습된 인공지능 모델의 성능을 최적화하는 변수별 벡터화 함수셋이 결정되도록 설정될 수 있다. 벡터 저장소(130)는 표 2와 같이, 변수 타입별로 이용 가능한 복수의 벡터화 함수들을 저장하고, 벡터화 함수별로 변수를 변환하는 변환 조건을 저장할 수 있다.
데이터 변환 장치(100b)는 변수를 큐에 임시 저장하고, 해당 변수의 벡터화 함수에 설정된 변환 조건을 만족할 때까지 대기하다가, 변환 조건이 만족되면, 큐에 저장된 변수에 벡터화 함수를 적용해서 변환 데이터를 생성한다(S240).
데이터 변환 장치(100b)는 시간이 지나면서 축적되는 변환 데이터들을 저장하고, 변환 데이터들을 조합하여 인공지능 모델의 입력 데이터가 완성될 때까지 대기하고, 완성된 입력 데이터를 인공지능 모델에 입력한다(S250). 인공지능 모델이 학습된 인공지능 모델인 경우, 데이터 변환 장치(100b)는 인공지능 모델에서 출력된 예측 결과를 획득할 수 있다.
도 10은 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
도 10을 참고하면, 데이터 변환 장치(100a) 및 데이터 변환 장치(100b)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(300)로 구현될 수 있다.
컴퓨팅 장치(300)는 하나 이상의 프로세서(310), 프로세서(310)에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리(330), 컴퓨터 프로그램 및 각종 데이터를 저장하는 저장 장치(350), 그리고 통신 인터페이스(370)를 포함할 수 있다. 이외에도, 컴퓨팅 장치(300)는 다양한 구성 요소를 더 포함할 수 있다.
프로세서(310)는 컴퓨팅 장치(300)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령어들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다.
메모리(330)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(330)는 본 개시의 동작을 실행하도록 기술된 명령어들이 프로세서(310)에 의해 처리되도록 해당 컴퓨터 프로그램을 저장 장치(350)로부터 로드할 수 있다. 메모리(330)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다.
저장 장치(350)는 컴퓨터 프로그램, 각종 데이터를 비임시적으로 저장할 수 있다. 저장 장치(350)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
통신 인터페이스(370)는 유/무선 통신을 지원하는 유/무선 통신 모듈일 수 있다. 통신 인터페이스(370)는 의료데이터를 생성하거나 저장하는 다양한 사이트들에 접속할 수 있다.
컴퓨터 프로그램은, 프로세서(310)에 의해 실행되는 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장되며, 명령어들은 프로세서(310)가 본 개시의 동작을 실행하도록 만든다. 컴퓨터 프로그램은 네트워크를 통해 다운로드되거나, 제품 형태로 판매될 수 있다.
컴퓨터 프로그램은 환자별 의료데이터를 입력받고, 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장하는 단계, 변수 데이터 테이블에서, 변환 대상인 변수를 확인하고, 변수 메타데이터 저장소(110)를 참조하여 각 변수의 변수 타입을 조회하는 단계, 벡터 저장소(130)를 참조하여, 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 데이터 테이블에 기재된 변수 속성에 따라, 변수들의 벡터화 함수셋을 결정하는 단계, 각 벡터화 함수에 설정된 변환 조건에 따라, 변수 데이터 테이블에 기재된 변수들에 지정된 벡터화 함수를 적용해서 변환 데이터를 생성하는 단계, 그리고 변환 데이터들을 이용하여 인공지능 모델의 학습 데이터를 생성하는 단계를 실행하는 명령어들을 포함할 수 있다.
컴퓨터 프로그램은 현재 입력 데이터 구조의 학습 데이터로 학습된 인공지능 모델의 예측 성능을 피드백받고, 예측 성능 최적화를 위한 변수들의 벡터화 함수셋이 결정되도록, 벡터화 함수 결정 규칙을 갱신하는 단계를 더 실행하는 명령어들을 포함할 수 있다.
컴퓨터 프로그램은 다양한 입력 데이터 구조의 학습 데이터로 생성된 여러 종류의 인공지능 모델들, 그리고 각 인공지능 모델의 생성 정보를 저장하는 명령어들을 포함할 수 있다.
한편, 컴퓨터 프로그램은 실시간 벡터화 모드로 동작하는 경우, 변수 데이터 테이블에서, 변환 대상인 변수를 확인하고, 변수 메타데이터 저장소(110)를 참조하여 각 변수의 변수 타입을 조회하는 단계, 벡터 저장소(130)를 참조하여, 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 데이터 테이블에 기재된 변수 속성에 따라, 변수들의 벡터화 함수셋을 결정하는 단계, 변수를 큐에 임시 저장하고, 해당 변수의 벡터화 함수에 설정된 변환 조건을 만족할 때까지 대기하다가, 변환 조건이 만족되면, 큐에 저장된 변수에 벡터화 함수를 적용해서 변환 데이터를 생성하는 단계를 실행하는 명령어들을 포함할 수 있다.
학습된 인공지능 모델의 서빙을 위한 컴퓨터 프로그램은 변환 데이터들을 조합하여 인공지능 모델의 입력 데이터가 완성될 때까지 대기하고, 완성된 입력 데이터를 인공지능 모델에 입력하는 명령어들을 포함할 수 있다.
이상에서 설명한 본 개시의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.

Claims (17)

  1. 데이터 변환 장치의 동작 방법으로서,
    환자별 의료데이터를 입력받고, 상기 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장하는 단계,
    상기 변수 데이터 테이블에서, 변환 대상인 적어도 하나의 변수를 확인하고, 변수 메타데이터 저장소를 참조하여 각 변수의 변수 타입을 조회하는 단계,
    변수 타입별로 이용 가능한 복수의 벡터화 함수들과 벡터화 함수별로 변수를 변환하는 변환 조건이 저장된 벡터 저장소를 참조하여, 상기 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 속성에 따라, 각 변수의 벡터화 함수셋을 결정하는 단계,
    각 벡터화 함수에 설정된 변환 조건에 따라, 상기 변환 대상인 변수에 지정된 적어도 하나의 벡터화 함수를 적용해서 변환 데이터를 생성하는 단계, 그리고
    임의 인공지능 모델의 입력 데이터 구조에 맞게, 생성된 변환 데이터들을 조합하여 상기 임의 인공지능 모델의 학습 데이터를 생성하는 단계
    를 포함하는 동작 방법.
  2. 제1항에서,
    상기 변수 메타데이터 저장소는
    상기 의료데이터에서 추출되는 각 변수의 변수 타입을 저장하고,
    상기 변수 타입은 범주형(categorical), 수치형(numerical), 시간차이형(timedelta), 불리언형(Boolean), 날짜/시간형(time) 중 적어도 하나인, 동작 방법.
  3. 삭제
  4. 제1항에서,
    상기 변환 데이터를 생성하는 단계는
    실시간 벡터화 모드 또는 배치 벡터화 모드를 설정하고, 설정된 모드에 따라 상기 변환 대상인 변수를 해당 벡터화 함수로 변환하는, 동작 방법.
  5. 제1항에서,
    상기 임의 인공지능 모델의 예측 성능을 피드백받고, 상기 예측 성능의 최적화를 위한 변수들의 벡터화 함수셋이 결정되도록, 상기 벡터화 함수 결정 규칙을 갱신하는 단계
    를 더 포함하는 동작 방법.
  6. 제5항에서,
    다양한 입력 데이터 구조의 학습 데이터로 생성된 여러 종류의 인공지능 모델들, 그리고 각 인공지능 모델의 생성 정보를 저장하는 단계를 더 포함하고,
    상기 각 인공지능 모델의 생성 정보는
    학습에 사용된 최적화된 변수셋 및 이에 적용된 벡터화 함수셋을 포함하는, 동작 방법.
  7. 제1항에서,
    상기 의료데이터는
    인구통계(demographic) 데이터, 진단(diagnosis) 데이터, 방문 이력(visit history) 데이터, 방문 정보(visit info) 데이터, 진단검사(lab test) 데이터, 투약(medication) 데이터, 바이탈사인(vital sign) 데이터, 영상(clinical imaging) 데이터, 기능 검사(functional test) 데이터 중 적어도 하나를 포함하는, 동작 방법.
  8. 제1항에서,
    상기 학습 데이터를 생성하는 단계는
    상기 변환 데이터들을 조합하여 상기 임의 인공지능 모델의 입력 데이터가 완성될 때까지 대기하고, 완성된 입력 데이터를 상기 임의 인공지능 모델의 학습 데이터로 사용하는, 동작 방법.
  9. 데이터 변환 장치의 동작 방법으로서,
    환자별 의료데이터를 입력받고, 상기 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장하는 단계,
    상기 변수 데이터 테이블에서, 변환 대상인 적어도 하나의 변수를 확인하고, 변수 메타데이터 저장소를 참조하여 각 변수의 변수 타입을 조회하는 단계,
    변수 타입별로 이용 가능한 복수의 벡터화 함수들과 벡터화 함수별로 변수를 변환하는 변환 조건이 저장된 벡터 저장소를 참조하여, 상기 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 속성에 따라, 각 변수의 벡터화 함수셋을 결정하는 단계,
    각 변수를 큐에 임시 저장하고, 해당 변수의 벡터화 함수에 설정된 변환 조건을 만족할 때까지 대기하다가, 상기 변환 조건이 만족되면, 상기 큐에 저장된 변수에 벡터화 함수를 적용해서 변환 데이터를 생성하는 단계, 그리고
    시간이 지나면서 축적되는 변환 데이터들을 저장하고, 임의 인공지능 모델의 입력 데이터 구조에 맞게 상기 변환 데이터들을 조합하여 입력 데이터가 완성되면, 완성된 입력 데이터를 상기 임의 인공지능 모델에 입력하는 단계
    를 포함하는 동작 방법.
  10. 제9항에서,
    상기 변수 메타데이터 저장소는
    상기 의료데이터에서 추출되는 각 변수의 변수 타입을 저장하고,
    상기 변수 타입은 범주형(categorical), 수치형(numerical), 시간차이형(timedelta), 불리언형(Boolean), 날짜/시간형(time) 중 적어도 하나인, 동작 방법.
  11. 삭제
  12. 제9항에서,
    상기 벡터화 함수 결정 규칙은 상기 임의 인공지능 모델의 성능을 최적화하는 변수별 벡터화 함수셋이 결정되도록 설정되는, 동작 방법.
  13. 컴퓨터 판독 가능한 저장매체에 저장되고 적어도 하나의 프로세서에 의해 실행되는 명령어들을 포함하는 컴퓨터 프로그램으로서,
    환자별 의료데이터를 입력받고, 상기 의료데이터에 포함된 변수들의 변수 값을 포함하는 변수 정보를 변수 데이터 테이블에 저장하는 단계,
    상기 변수 데이터 테이블에서, 변환 대상인 적어도 하나의 변수를 확인하고, 변수 메타데이터 저장소를 참조하여 각 변수의 변수 타입을 조회하는 단계,
    변수 타입별로 이용 가능한 복수의 벡터화 함수들과 벡터화 함수별로 변수를 변환하는 변환 조건이 저장된 벡터 저장소를 참조하여, 상기 변수 타입에 매핑된 벡터화 함수들을 조회하고, 설정된 벡터화 함수 결정 규칙 및 변수 속성에 따라, 각 변수의 벡터화 함수셋을 결정하는 단계,
    각 벡터화 함수에 설정된 변환 조건에 따라, 상기 변환 대상인 변수에 지정된 적어도 하나의 벡터화 함수를 적용해서 변환 데이터를 생성하는 단계, 그리고
    임의 인공지능 모델의 입력 데이터 구조에 맞게, 생성된 변환 데이터들을 조합하여 상기 임의 인공지능 모델의 입력 데이터를 생성하는 단계
    를 실행하도록 기술된 명령어들을 포함하는, 컴퓨터 프로그램.
  14. 제13항에서,
    상기 변수 메타데이터 저장소는
    각 변수의 변수 타입을 범주형(categorical), 수치형(numerical), 시간차이형(timedelta), 불리언형(Boolean), 날짜/시간형(time) 중 적어도 하나로 저장하고,
    상기 벡터 저장소는
    변수 타입별로 이용 가능한 복수의 벡터화 함수들, 그리고 벡터화 함수별로 변수를 변환하는 변환 조건을 저장하는, 컴퓨터 프로그램.
  15. 제13항에서,
    상기 입력 데이터를 이용하여 학습된 상기 임의 인공지능 모델의 예측 성능을 피드백받고, 상기 예측 성능의 최적화를 위한 변수들의 벡터화 함수셋이 결정되도록, 상기 벡터화 함수 결정 규칙을 갱신하는 단계, 그리고
    다양한 구조의 입력 데이터로 생성된 여러 종류의 인공지능 모델들, 그리고 각 인공지능 모델의 생성 정보를 저장하는 단계
    를 더 실행하도록 기술된 명령어들을 포함하는, 컴퓨터 프로그램.
  16. 제13항에서,
    상기 변환 데이터를 생성하는 단계는
    실시간 벡터화 모드인 경우, 각 변수를 큐에 임시 저장하고, 해당 변수의 벡터화 함수에 설정된 변환 조건을 만족할 때까지 대기하다가, 상기 변환 조건이 만족되면, 상기 큐에 저장된 변수에 벡터화 함수를 적용해서 변환 데이터를 생성하는, 컴퓨터 프로그램.
  17. 제16항에서,
    상기 입력 데이터를 생성하는 단계는
    상기 변환 데이터들을 조합하여 상기 입력 데이터가 완성될 때까지 대기하고, 완성된 입력 데이터를 상기 임의 인공지능 모델로 입력하는, 컴퓨터 프로그램.

KR1020210073384A 2021-06-07 2021-06-07 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램 KR102565874B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210073384A KR102565874B1 (ko) 2021-06-07 2021-06-07 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램
PCT/KR2022/006758 WO2022260293A1 (ko) 2021-06-07 2022-05-11 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램
JP2023576068A JP2024522648A (ja) 2021-06-07 2022-05-11 機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210073384A KR102565874B1 (ko) 2021-06-07 2021-06-07 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램

Publications (2)

Publication Number Publication Date
KR20220164985A KR20220164985A (ko) 2022-12-14
KR102565874B1 true KR102565874B1 (ko) 2023-08-09

Family

ID=84425665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210073384A KR102565874B1 (ko) 2021-06-07 2021-06-07 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램

Country Status (3)

Country Link
JP (1) JP2024522648A (ko)
KR (1) KR102565874B1 (ko)
WO (1) WO2022260293A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102668475B1 (ko) * 2022-12-19 2024-05-23 주식회사 트라이얼인포매틱스 임상시험 디지털 데이터의 표준화 방법
CN115969465B (zh) * 2022-12-27 2023-11-07 北京先瑞达医疗科技有限公司 一种血栓智能抽吸系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016151932A (ja) * 2015-02-18 2016-08-22 株式会社日立製作所 データ分析装置、データ分析方法、およびデータ分析プログラム
KR102190299B1 (ko) * 2017-02-02 2020-12-11 사회복지법인 삼성생명공익재단 인공신경망을 이용한 위암의 예후 예측 방법, 장치 및 프로그램

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG183435A1 (en) * 2010-03-15 2012-09-27 Singapore Health Serv Pte Ltd Method of predicting the survivability of a patient
JP6652986B2 (ja) * 2018-05-02 2020-02-26 株式会社Fronteo 危険行動予測装置、予測モデル生成装置および危険行動予測用プログラム
KR102057047B1 (ko) * 2019-02-27 2019-12-18 한국과학기술정보연구원 질병 예측 장치 및 이를 이용한 질병 예측 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016151932A (ja) * 2015-02-18 2016-08-22 株式会社日立製作所 データ分析装置、データ分析方法、およびデータ分析プログラム
KR102190299B1 (ko) * 2017-02-02 2020-12-11 사회복지법인 삼성생명공익재단 인공신경망을 이용한 위암의 예후 예측 방법, 장치 및 프로그램

Also Published As

Publication number Publication date
KR20220164985A (ko) 2022-12-14
JP2024522648A (ja) 2024-06-21
WO2022260293A1 (ko) 2022-12-15

Similar Documents

Publication Publication Date Title
Muhlestein et al. Predicting inpatient length of stay after brain tumor surgery: developing machine learning ensembles to improve predictive performance
US11957507B2 (en) Systems and methods for a deep neural network to enhance prediction of patient endpoints using videos of the heart
KR102662004B1 (ko) 환자 데이터에 기반한 헬스케어 진단 및 치료를 위한 베이지안 인과 관계 네트워크 모델
KR102565874B1 (ko) 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램
US20110202486A1 (en) Healthcare Information Technology System for Predicting Development of Cardiovascular Conditions
US20100094648A1 (en) Automated management of medical data using expert knowledge and applied complexity science for risk assessment and diagnoses
US20160042134A1 (en) Method of calculating a score of a medical suggestion as a support in medical decision making
CN106407666A (zh) 一种电子病历信息的生成方法、装置及系统
AU2019203992A1 (en) Data platform for automated data extraction, transformation, and/or loading
US11605447B2 (en) Intelligent agents for patient management
US20080244201A1 (en) Method for digital storage of data on a data memory with limited available storage space
US10430716B2 (en) Data driven featurization and modeling
Li et al. Using association rule mining for phenotype extraction from electronic health records
CN102405473A (zh) 医护点动作医疗系统和方法
US12002585B2 (en) Apparatus, computer program product, and method for predictive data labelling using a dual-prediction model system
CN116235191A (zh) 选择用于训练模型的训练数据集
Asch et al. Human versus artificial intelligence–based echocardiographic analysis as a predictor of outcomes: an analysis from the world Alliance Societies of echocardiography COVID study
CN112447270A (zh) 一种用药推荐方法、装置、设备及存储介质
Beecy et al. Utilizing electronic health data and machine learning for the prediction of 30-day unplanned readmission or all-cause mortality in heart failure
Shi et al. Predicting unplanned 7-day intensive care unit readmissions with machine learning models for improved discharge risk assessment
CN114334179A (zh) 一种数字化医疗管理方法和系统
US20200135308A1 (en) Expression of clinical logic with positive and negative explainability
WO2023073092A1 (en) Managing a model trained using a machine learning process
US20230105348A1 (en) System for adaptive hospital discharge
KR20240023874A (ko) 수술 후 급성신손상 발생 예측 방법 및 그 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant