KR20230069428A - 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치 - Google Patents

데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치 Download PDF

Info

Publication number
KR20230069428A
KR20230069428A KR1020210155465A KR20210155465A KR20230069428A KR 20230069428 A KR20230069428 A KR 20230069428A KR 1020210155465 A KR1020210155465 A KR 1020210155465A KR 20210155465 A KR20210155465 A KR 20210155465A KR 20230069428 A KR20230069428 A KR 20230069428A
Authority
KR
South Korea
Prior art keywords
type
data
field
metadata
date
Prior art date
Application number
KR1020210155465A
Other languages
English (en)
Other versions
KR102622434B1 (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 KR1020210155465A priority Critical patent/KR102622434B1/ko
Publication of KR20230069428A publication Critical patent/KR20230069428A/ko
Priority to KR1020230148251A priority patent/KR102622433B1/ko
Priority to KR1020230148252A priority patent/KR102623561B1/ko
Application granted granted Critical
Publication of KR102622434B1 publication Critical patent/KR102622434B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Human Computer Interaction (AREA)

Abstract

본 발명의 일 실시 예에 따른 머신러닝(Machine Learning)/딥러닝(Deep Learning) 모델을 이용한 메타데이터(Metadata) 생성 장치가 데이터의 타입 - 상기 데이터의 타입은 숫자형, 문자형, 범주형 및 날짜형을 포함함 - 을 자동으로 판별하여 메타데이터를 생성하는 방법은 (a) 수신한 데이터의 필드값이 날짜형 타입인지 1차적으로 판단하는 단계, (b) 상기 (a) 단계의 판단 결과, 날짜형 타입이 아니라고 1차적으로 판단되었다면, 상기 수신한 데이터의 필드값에 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건을 적용하여 범주형 및 날짜형 중 어느 하나의 타입인지 2차적으로 판단하는 단계, (c) 상기 (b) 단계의 판단 결과, 범주형 및 날짜형 중 어느 하나의 타입이 아니라고 2차적으로 판단되었다면, 상기 수신한 데이터의 필드명을 상기 메타데이터 생성 규칙이 포함하는 데이터 타입의 판별에 관한 필드 매핑 테이블(Field Mapping Table)에 적용하여 숫자형, 문자형, 범주형 및 날짜형 중 어느 하나의 타입인지 최종적으로 판단하고 메타데이터를 생성하는 단계 및 (d) 상기 생성한 메타데이터를 머신러닝/딥러닝 모델로 학습하여 상기 메타데이터 생성 규칙을 업데이트하는 단계를 포함한다.

Description

데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치{METHOD FOR GENERATING METADATA FOR AUTOMATICALLY DETERMINING TYPE OF DATA AND APPARATUS FOR DETERMINING TYPE OF DATA USING A MACHINE LEARNING/DEEP LEARNING MODEL FOR THE SAME}
본 발명은 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치에 관한 것이다. 보다 자세하게는 인공지능 모델인 머신러닝/딥러닝 모델에 적용하기 위한 메타데이터의 생성에 이용되는 데이터 타입의 판별을 손쉽고 간편하게 수행할 수 있는 방법 및 장치에 관한 것이다.
머신러닝(Machine Learning)/딥러닝(Deep Learning) 모델을 포함하는 광범위한 인공지능(A.I, Artificial Intelligence) 모델에 데이터를 적용하기 위해서는 로우한 상태의 정리되지 않은 데이터를 그대로 적용하는 것보다는 해당 데이터를 설명해줄 수 있는 구조화된 데이터인 메타데이터를 우선적으로 파악하고 식별하는 것이 요구된다.
한편, 데이터 중, 정형 데이터의 경우 각 필드의 데이터 타입, 값의 통계적 특성, 최대/최소/평균/표준 편차 등과 같은 분포, 이상치에 해당하는 범위, 데이터의 버전, 데이터 및 필드의 성명 등과 같은 메타데이터가 일목요연(一目瞭然)하게 생성된 상태에서 인공지능 모델에 적용됨으로써 모델의 성능이 현저하게 향상될 수 있는바, 이는 데이터에 대한 일종의 전처리 과정으로 볼 수 있으며 종래에는 인건비가 높은 전문 인력이 파이썬(Python)과 같은 고급 프로그래밍 언어를 이용하여 데이터를 탐색하거나 필드의 데이터 타입을 일일이 결정하는 전처리 방식이 주를 이뤘다.
한편, 메타데이터 생성을 위한 데이터 전처리 과정 중, 데이터 타입의 판별은 그 무엇보다 중요한 의미를 갖는바, 인공지능 모델은 기본적으로 숫자형 데이터만 입력 받을 수 있기 때문에 텍스트형 또는 범주형과 같은 비숫자형 데이터는 반드시 숫자형 데이터로 변환해야 하며, 텍스트형 데이터라 할지라도 일반 텍스트형 데이터인지, 특정 범주를 나타내는 범주형 데이터인지 아니라면 날짜형 데이터인지에 따라 사용하는 통계적 정보뿐만 아니라 전처리 방식 자체가 달라지기 때문이다.
그러나 종래의 데이터 타입 판별 방식은 전문 인력의 역량과 이들 각각이 데이터를 바라보는 관점에 따라 동일한 데이터에 대한 타입 판별 결과가 상이해지고, 이는 인공지능 모델의 성능에까지 영향을 미칠 수 있다는 문제점이 있었다. 또한, 전문 인력이 직접 처리하는 것이기에 많은 시간과 높은 인건비가 소요될 수밖에 없는바, 자금 운용에 여력이 없는 스타트업이나 중소기업의 경우 데이터 타입 판별 작업을 수행하지 못하거나 내부 인력을 통해 긴 시간에 걸쳐 데이터 타입 판별 작업을 수행함으로써 출시된 제품의 성능이 저하되거나 제품 출시의 시기가 늦춰진다는 문제점까지 존재하였다.
본 발명은 이러한 문제점들을 반영하여 데이터의 전처리 과정에 해당하는 메타데이터의 생성, 보다 구체적으로 메타데이터의 생성에 이용되는 데이터 타입의 판별을 전문 인력의 처리 없이 손쉽고 간편하게 수행할 수 있는 방법 및 장치에 관한 것이다.
대한민국 등록특허공보 제10-2310598호(2021.10.01)
본 발명이 해결하고자 하는 기술적 과제는 정형 데이터에 대한 데이터 전처리 과정에 해당하는 메타 데이터의 생성, 보다 구체적으로 메타데이터의 생성에 이용되는 데이터 타입의 판별을 전문 인력의 처리 없이 손쉽고 간편하게 수행할 수 있는 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치를 제공하는 것이다.
본 발명의 해결하고자 하는 기술적 과제는 정형 데이터에 대한 메타데이터의 생성 결과, 보다 구체적으로 메타데이터의 생성에 이용되는 데이터 타입의 판별 결과를 지속적으로 학습함으로써 머신러닝/딥러닝 모델의 성능을 나날이 향상시킬 수 있는 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시 예에 따른 머신러닝(Machine Learning)/딥러닝(Deep Learning) 모델을 이용한 메타데이터(Metadata) 생성 장치가 데이터의 타입 - 상기 데이터의 타입은 숫자형, 문자형, 범주형 및 날짜형을 포함함 - 을 자동으로 판별하여 메타데이터를 생성하는 방법은 (a) 수신한 데이터의 필드값이 날짜형 타입인지 1차적으로 판단하는 단계, (b) 상기 (a) 단계의 판단 결과, 날짜형 타입이 아니라고 1차적으로 판단되었다면, 상기 수신한 데이터의 필드값에 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건을 적용하여 범주형 및 날짜형 중 어느 하나의 타입인지 2차적으로 판단하는 단계, (c) 상기 (b) 단계의 판단 결과, 범주형 및 날짜형 중 어느 하나의 타입이 아니라고 2차적으로 판단되었다면, 상기 수신한 데이터의 필드명을 상기 메타데이터 생성 규칙이 포함하는 데이터 타입의 판별에 관한 필드 매핑 테이블(Field Mapping Table)에 적용하여 숫자형, 문자형, 범주형 및 날짜형 중 어느 하나의 타입인지 최종적으로 판단하고 메타데이터를 생성하는 단계 및 (d) 상기 생성한 메타데이터를 머신러닝/딥러닝 모델로 학습하여 상기 메타데이터 생성 규칙을 업데이트하는 단계를 포함한다.
일 실시 예에 따르면, 상기 (a) 단계의 판단은 공개된 프로그래밍 언어에 따를 수 있다.
일 실시 예에 따르면, 상기 (b) 단계의 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건은, 상기 수신한 데이터의 전체 필드값의 수 대비 고유한(Unique) 필드값의 수의 비율이 소정 비율 미만인지 여부에 대한 제1 조건을 포함하며, 상기 제1 조건에 따라 소정 비율 미만이라면, 상기 수신한 데이터의 타입은 범주형일 수 있다.
일 실시 예에 따르면, 상기 소정 비율은, 0 내지 0.5 사이 중 어느 하나일 수 있다.
일 실시 예에 따르면, 상기 (b) 단계의 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건은, 상기 수신한 데이터의 필드값이 년도 패턴, 월 패턴, 일 패턴, 시 패턴, 분 패턴, 초 패턴 중 하나 이상의 패턴을 포함하는지 여부에 대한 제2 조건을 포함하며, 상기 제2 조건에 따라 하나 이상의 패턴을 포함한다면, 상기 수신한 데이터의 타입은 날짜형일 수 있다.
일 실시 예에 따르면, 상기 (c) 단계의 필드 매핑 테이블은, 하나 이상의 필드명 각각에 대하여 (풀네임 ID, 참조 횟수)가 하나 이상 매핑된 필드명/풀네임 ID 테이블 및 상기 하나 이상의 풀네임 ID 각각에 대하여 숫자형에 해당할 확률, 문자형에 해당할 확률, 범주형에 해당할 확률 및 날짜형에 해당할 확률이 매핑된 데이터 타입 매핑 테이블을 포함할 수 있다.
일 실시 예에 다르면, 상기 (c) 단계의 필드 매핑 테이블은, 상기 하나 이상의 풀네임 ID 각각에 대하여 해당하는 풀네임, 필드 설명 및 참조횟수를 포함하며, 상기 데이터 타입 매핑 테이블이 포함하는 하나 이상의 풀네임 ID 각각과 1:1로 대응되는 풀네임 정보 테이블을 더 포함할 수 있다.
일 실시 예에 따르면, 상기 (d) 단계 이후에, (e) 상기 (c) 단계에서 최종적으로 판단한 데이터의 타입이 숫자형 및 날짜형 중 어느 하나의 타입인지 판단하는 단계, (f) 상기 (e) 단계의 판단 결과, 숫자형 및 날짜형 중 어느 하나의 타입이라고 판단되었다면, 상기 수신한 데이터의 필드값을 정렬하여 중복된 필드값을 포함하는지 판단하는 단계 및 (g) 상기 (f) 단계의 판단 결과, 중복된 필드값을 포함하는 것으로 판단되었다면, 상기 정렬한 필드값 중 서로 이웃하는 두 필드값 사이의 간격값을 산정하는 단계, (h) 상기 산정한 두 필드값 사이의 간격값 중 가장 많은 수의 간격값의 비율이 소정 비율 이상인지 판단하는 단계 및 (i) 상기 (h) 단계의 판단 결과, 소정 비율 이상이라고 판단되었다면, 상기 수신한 데이터는 시계열 데이터셋으로 판단하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, (f´) 상기 (e) 단계의 판단 결과, 숫자형 및 날짜형 중 어느 하나의 타입이 아니라고 판단되었다면, 상기 수신한 데이터는 비시계열 데이터셋으로 판단하는 단계, (g´) 상기 (f) 단계의 판단 결과, 중복된 필드값을 포함하지 않는 것으로 판단되었다면, 상기 수신한 데이터는 시계열 데이터셋으로 판단하는 단계 및 (i´) 상기 (h) 단계의 판단 결과, 소정 비율 이상이 아니라고 판단되었다면, 상기 수신한 데이터는 비시계열 데이터셋으로 판단하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시 예에 따른 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치는 하나 이상의 프로세서, 네트워크 인터페이스, 상기 프로세서에 의해 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 대용량 네트워크 데이터 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 상기 하나 이상의 프로세서에 의해, (A) 수신한 데이터의 필드값이 숫자형 및 문자형 타입 중 어느 하나의 타입인지 1차적으로 판단하는 오퍼레이션, (B) 상기 (A) 오퍼레이션의 판단 결과, 숫자형 및 문자형 타입 중 어느 하나의 타입이라고 1차적으로 판단되었다면, 상기 수신한 데이터의 필드값에 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건을 적용하여 범주형 및 날짜형 중 어느 하나의 타입인지 2차적으로 판단하는 오퍼레이션, (C) 상기 (B) 오퍼레이션의 판단 결과, 범주형 및 날짜형 중 어느 하나의 타입이 아니라고 2차적으로 판단되었다면, 상기 수신한 데이터의 필드명을 상기 메타데이터 생성 규칙이 포함하는 데이터 타입의 판별에 관한 필드 매핑 테이블(Field Mapping Table)에 적용하여 숫자형, 문자형, 범주형 및 날짜형 중 어느 하나의 타입인지 최종적으로 판단하고 메타데이터를 생성하는 오퍼레이션 및 (D) 상기 생성한 메타데이터를 머신러닝/딥러닝 모델로 학습하여 상기 메타데이터 생성 규칙을 업데이트하는 오퍼레이션을 실행한다.
상기와 같은 본 발명에 따르면, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치가 3 단계의 판단 과정을 거쳐 수신한 데이터의 타입을 숫자형, 문자형, 범주형 및 날짜형 중 어느 하나의 타입으로 자동으로 판별할 수 있는바, 데이터 타입의 판별을 전문 인력의 처리 없이 손쉽고 간편하게 수행할 수 있으므로 불필요한 시간 및 비용 소모를 방지할 수 있으며, 데이터에 대한 전처리 프로세스를 손쉽고 간편하게 수행할 수 있다는 효과가 있다.
또한, 메타데이터 생성 결과를 머신러닝/딥러닝 모델로 지속적으로 학습하여 메타데이터 생성 규칙을 업데이트하는바, 그 이후의 메타데이터 생성, 보다 구체적으로 데이터 타입의 판별에 정확도를 향상시킬 수 있다 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 제1 실시 예에 따른 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치가 포함하는 전체 구성을 나타낸 도면이다.
도 2는 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법의 대표적인 단계를 나타낸 순서도이다.
도 3은 필드 매핑 테이블을 예시적으로 도시한 도면이다.
도 4는 필드 매핑 테이블을 예시적으로 도시한 또 다른 도면이다.
도 5는 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법에 있어서, 풀네임 정보 테이블은 수신한 데이터의 필드명이 필드명/풀네임 매핑 테이블에는 포함되어 있지 않으나, 풀네임 정보 테이블에 해당 필드명이 나타내는 풀네임이 포함되어 있는 경우 그리고 수신한 데이터의 필드명이 필드명/풀네임 매핑 테이블 그리고 풀네임 역시 풀네임 정보 테이블에도 포함되어 있지 않은 경우에 선행되는 단계를 도시한 순서도이다.
도 6은 도 5에 도시된 순서도에서 일부를 분리하여 도시한 순서도 1이다.
도 7은 도 5에 도시된 순서도에서 일부를 분리하여 도시한 순서도 2이다.
도 8은 S300-1 단계 내지 S300-5 단계에 따라 필드 매핑 테이블에서 참조 횟수가 업데이트되는 모습을 예시적으로 도시한 도면이다.
도 9는 S300-2′ 단계 내지 S300-6′ 단계에 따라 필드 매핑 테이블에서 참조 횟수가 업데이트되는 모습을 예시적으로 도시한 도면이다.
도 10은 S300-2′ 단계 내지 S300-6′ 단계에 따라 필드명/풀네임 매핑 테이블에 새로운 필드명이 업데이트되는 모습을 예시적으로 도시한 도면이다.
도 11은 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 데이터를 수신하고, 메타데이터 생성 규칙을 적용하여 메타데이터를 생성한 후, 이를 학습함으로써 메타데이터 생성 규칙을 업데이트하는 모습을 예시적으로 도시한 도면이다.
도 12는 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법에 있어서, S240 단계 이후에 수행되는 시계열 데이터셋과 비시계열 데이터셋을 판별하는 방법을 추가하여 도시한 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
한편, 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작뿐만 아니라 하나 이상의 다른 구성 요소, 단계, 동작의 존재 또는 추가를 배제하지 않는다.
도 1은 본 발명의 제1 실시 예에 따른 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 포함하는 전체 구성을 나타낸 도면이다.
그러나 이는 본 발명의 목적을 달성하기 위한 바람직한 실시 예일 뿐이며, 필요에 따라 일부 구성이 추가되거나 삭제될 수 있고, 어느 한 구성이 수행하는 역할을 다른 구성이 함께 수행할 수도 있음은 물론이다.
본 발명의 제1 실시 예에 따른 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)는 프로세서(10), 네트워크 인터페이스(20), 메모리(30), 스토리지(40) 및 이들을 연결하는 데이터 버스(50)를 포함할 수 있으며, 그 자체로써 독립된 장치로 구현하거나 인하우스 시스템 및 공간 임대형 시스템 등과 같은 유형의 물리적인 서비스 서버 또는 무형의 클라우드(Cloud) 서비스 서버 등과 같은 형태로 구현할 수도 있다 할 것이다.
프로세서(10)는 각 구성의 전반적인 동작을 제어한다. 프로세서(10)는 CPU(Central Processing Unit), MPU(Micro Processer Unit), MCU(Micro Controller Unit) 또는 본 발명이 속하는 기술 분야에서 널리 알려져 있는 형태의 프로세서 중 어느 하나일 수 있으며, 머신러닝 모델 프로세서 또는 딥러닝 모델 프로세서 등과 같이 인공지능 모델 프로세서로 구현할 수 있다. 아울러, 프로세서(10)는 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법을 수행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다.
네트워크 인터페이스(20)는 본 발명의 제1 실시 예에 따른 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)의 유무선 인터넷 통신을 지원하며, 그 밖의 공지의 통신 방식을 지원할 수도 있다. 따라서 네트워크 인터페이스(20)는 그에 따른 통신 모듈을 포함하여 구성될 수 있다.
메모리(30)는 각종 정보, 명령 및/또는 정보를 저장하며, 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법을 수행하기 위해 스토리지(40)로부터 하나 이상의 컴퓨터 프로그램(41)을 로드할 수 있다. 도 1에서는 메모리(30)의 하나로 RAM을 도시하였으나 이와 더불어 다양한 저장 매체를 메모리(30)로 이용할 수 있음은 물론이다.
스토리지(40)는 하나 이상의 컴퓨터 프로그램(41) 및 대용량 네트워크 정보(42)를 비임시적으로 저장할 수 있다. 이러한 스토리지(40)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 널리 알려져 있는 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체 중 어느 하나일 수 있다.
컴퓨터 프로그램(41)은 메모리(30)에 로드되어, 하나 이상의 프로세서(10)가 (A) 수신한 데이터의 필드값이 날짜형 타입인지 1차적으로 판단하는 오퍼레이션, (B) 상기 (A) 오퍼레이션의 판단 결과, 날짜형 타입이 아니라고 1차적으로 판단되었다면, 상기 수신한 데이터의 필드값에 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건을 적용하여 범주형 및 날짜형 중 어느 하나의 타입인지 2차적으로 판단하는 오퍼레이션, (C) 상기 (B) 오퍼레이션의 판단 결과, 범주형 및 날짜형 중 어느 하나의 타입이 아니라고 2차적으로 판단되었다면, 상기 수신한 데이터의 필드명을 상기 메타데이터 생성 규칙이 포함하는 데이터 타입의 판별에 관한 필드 매핑 테이블(Field Mapping Table)에 적용하여 숫자형, 문자형, 범주형 및 날짜형 중 어느 하나의 타입인지 최종적으로 판단하고 메타데이터를 생성하는 오퍼레이션 및 (D) 상기 생성한 메타데이터를 머신러닝/딥러닝 모델로 학습하여 상기 메타데이터 생성 규칙을 업데이트하는 오퍼레이션을 실행할 수 있다.
이상 간단하게 언급한 컴퓨터 프로그램(41)이 수행하는 오퍼레이션은 컴퓨터 프로그램(41)의 일 기능으로 볼 수 있으며, 보다 자세한 설명은 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법에 대한 설명에서 후술하도록 한다.
데이터 버스(50)는 이상 설명한 프로세서(10), 네트워크 인터페이스(20), 메모리(30) 및 스토리지(40) 사이의 명령 및/또는 정보의 이동 경로가 된다.
이상 설명한 본 발명의 제1 실시 예에 따른 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 독립된 장치의 형태로 구현된 경우 사용자 단말(미도시)이 네트워크를 통해 해당 장치에 데이터를 송신하거나 생성된 메타데이터를 수신 받을 수 있을 것이며, 서버의 형태로 구현된 경우 서버와 네트워크를 통해 연동된 전용 어플리케이션에서 제공하는 메타데이터 자동 생성 기능을 사용자 단말(미도시)에게 제공할 수 있을 것이다.
이하, 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법에 대하여 도 2 내지 도 10을 참조하여 설명하도록 한다.
도 2는 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법의 대표적인 단계를 나타낸 순서도이다.
그러나 이는 본 발명의 목적을 달성함에 있어서 바람직한 실시 예일 뿐이며, 필요에 따라 일부 단계가 추가 또는 삭제될 수 있음은 물론이며, 어느 한 단계가 다른 단계에 포함되어 수행될 수도 있다.
또한, 각 단계는 앞서 본 발명의 제1 실시 예에 따른 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100), 구현 형태는 서버의 형태에 의해 수행됨을 전제로 하며, 사용자 단말(미도시)의 경우 네트워크 기능을 보유한 단말, 예를 들어 스마트폰, 스마트 워치, 스마트 글라스, 노트북 컴퓨터, 테블릿 컴퓨터, PDA, PDP, PMP 등이라면 어떠한 것이라도 무방하나 이하의 설명에서는 사용자 단말(미도시)이 데스크톱 PC임을 전제로 설명을 이어가도록 한다.
우선, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 수신한 데이터의 필드값이 날짜형 타입인지 1차적으로 판단한다(S210).
여기서 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 데이터를 수신할 수 있도록 데이터를 송신하는 주체는 대표적으로 사용자 단말(미도시)일 수 있으며, 사용자 단말(미도시)이 아니라 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100) 스스로 또는 관리자의 조작에 의해 인터넷에서 크롤링하거나 특정 데이터베이스에 접속하여 다운로드할 수도 있다 할 것인바, 데이터를 송신하는 주체는 특별히 한정하지 않는다 할 것이다.
데이터를 수신한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)는 이를 스토리지(30) 등과 같은 내부 저장 공간 또는 네트워크를 통해 연결된 외부 저장 공간에 저장할 수 있으며, 저장 없이 곧바로 데이터의 필드값이 날짜형 타입인지 1차적으로 판단할 수도 있다 할 것이다.
한편, S210 단계는 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)에 의해 수행되는 것이나, 보다 구체적으로는 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)에 설치된 파이썬(Pyton) 등과 같은 공개된 프로그래밍 언어에 의해 수행되는 것으로 볼 수 있으며, 그에 따라 S210 단계에서의 데이터 타입의 1차적인 판단은 해당 프로그래밍 언어인 파이썬 등이 인식할 수 있는 데이터 타입에 관한 것일 수 있다.
이 경우, 파이썬에 의한다면 인식할 수 있는 데이터 타입은 크게 숫자형, 문자형 및 날짜형일 수 있으며, 여기서 숫자형(= 수치형)의 경우 정수 및 실수 등을 포함하는 숫자로 이루어진 타입, 문자형(= 텍스트형, 스트링형)의 경우 텍스트로 이루어진 타입, 날짜형은 프로그래밍 언어가 인식할 수 있는 날짜를 나타내는 포맷으로 이루어진 타입일 수 있다.
머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)는 파이썬에 기초하여 데이터의 필드값이 전부 숫자로 이루어진 경우 숫자형으로 1차적으로 판단하며, 날짜를 나타내는 포맷, 예를 들어 YYYY-MM-DD, YYYY/MM/DD 등과 같은 포맷으로만 이루어진 경우 날짜형으로 1차적으로 판단하고, 나머지는 문자형으로 판단할 수 있다.
S210 단계의 판단 결과, 수신한 데이터의 필드값이 날짜형 타입이 아니라고 1차적으로 판단되었다면, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 수신한 데이터의 필드값에 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건을 적용하여 범주형 및 날짜형 중 어느 하나의 타입인지 2차적으로 판단한다(S220).
S220 단계에서의 2차적인 판단은 S210 단계의 판단 결과 수신한 데이터의 필드값이 날짜형 타입이 아니라고 1차적으로 판단된 경우에만 수행되고, S210 단계의 판단 결과 수신한 데이터의 필드값이 날짜형 타입이 라고 1차적으로 판단된 경우, S220 단계가 수행되지 않고 데이터의 타입이 날짜형으로 최종 판단되어 프로세스가 종료된다.
이와 같이 S220 단계가 S210 단계의 판단 결과 수신한 데이터의 필드값이 날짜형 타입이 아니라고 1차적으로 판단된 경우에만 수행되는 이유는 날짜형이 아닌 숫자형 타입과 문자형 타입의 경우 숫자 만으로 또는 문자만으로 이루어져 있다 할지라도 진정한 의미의 숫자형 타입 또는 문자형 타입이 아니라 범주형 타입 또는 날짜형 타입일 수도 있기 때문이다.
예를 들어 설명하면, 고객 등급이라는 데이터에 대한 필드값이 1, 2, 3, 4, 5인 경우 숫자만으로 이루어져 있기에 S210 단계에 따라 숫자형으로 판단될 것이나, 진정한 의미로는 고객 등급을 나타내는 범주에 해당하는 필드값이기 때문이며, 마찬가지로 품질이라는 데이터에 대한 필드값이 very good, good, normal, bad, very bad인 경우 숫자형 또는 날짜형 타입이 아니기 때문에 S210 단계에 따라 문자형으로 판단될 것이나, 진정한 의미로는 품질을 나타내는 범주에 해당하는 필드값이기 때문이다. 또한, 어떤 데이터에 대한 필드값이 20211111인 경우 프로그래밍 언어가 인식할 수 있는 날짜의 포맷이 아니기에 S210 단계에 따라 날짜형이 아닌 숫자형으로 판단될 것이나, 진정한 의미로는 2021년 11월 11일과 같은 날짜에 해당하는 필드값이기 때문이며, 마찬가지로 어떤 데이터에 대한 필드값이 2021년 11월 11일인 경우 별도로 날짜 포맷을 명시하지 않는 이상 S210 단계에 따라 날짜형이 아닌 문자형으로 판단될 것이나, 진정한 의미로는 날짜를 나타내는 필드값이기 때문인바, 데이터 타입의 정확한 세부적 판단이 요구되는 경우는 숫자형과 문자형 타입에 국한될 수 있다 할 것이다.
머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 수신한 데이터의 필드값이 범주형 및 날짜형 중 어느 하나의 타입인지 2차적으로 판단함에는 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건을 이용하는바, 이하 설명하도록 한다.
메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건 중 하나는 수신한 데이터의 전체 필드값의 수 대비 고유한(Unique) 필드값의 수의 비율이 소정 비율 미만인지 여부에 대한 제1 조건이며, 제1 조건에 따라 소정 비율 미만이라면 수신한 데이터의 타입은 범주형 타입일 수 있는바, 숫자형 및 문자형 타입 중 범주형 타입에 해당하는지를 판별하는 조건에 해당한다.
예를 들어 설명하도록 한다. 1,000개의 샘플로 구성된 데이터셋에서 초기에 프로그래밍 언어에 의해 숫자형으로 판단된 "고객 등급"이라는 필드의 필드값 중, 고유한 필드값이 10개인 경우, 전체 필드값의 수인 1,000 대비 고유한 필드값의 수인 10의 비율은 10/1,000인 0.001되고, 이는 0에 가까운 매우 작은 값, 통계적인 측면에서 보았을 때 거의 없다고 보아도 무방할 정도의 값인바, 1,000개의 데이터셋은 고유한 필드값을 포함함이 없이 동일한 필드값을 갖는 복수 개의 집합 - 복수 개의 집합 자체에 대한 필드값은 서로 상이한, 예를 들어 필드값을 1로 가진 100개, 필드값을 2로 가진 200개, 필드값을 3으로 가진 500개, 필드값을 4로 가진 100개, 필드값을 5로 가진 99개, 필드값을 6으로 가진 1개(고유한 필드값) - 으로 이루어져 있을 것이므로 숫자형이 아닌 범주형으로, 이상의 예에서 1, 2, 3, 4, 5를 범주로 갖는 범주형 타입으로 판별할 수 있는 것이다.
한편, 미만인지 여부의 판단에 기준이 되는 소정 비율은 0 내지 0.5 사이 중 어느 하나일 수 있는바, 소정 비율이 커질수록 고유한 필드값의 수가 높아지는 경우에도 범주형으로 판별되어 판별의 정확도가 저하될 수 있을 것인바, 소정 비율은 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)의 관리자가 0에 가깝게 설정함이 바람직하다 할 것이며, 후술할 S240 단계에서 생성한 메타데이터를 머신러닝/딥러닝 모들로 학습하여 메타데이터 생성 규칙을 업데이트하는 경우, 소정 비율 역시 학습한 결과로 조정될 수 있을 것이다.
메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건 중 또 다른 하나는 수신한 데이터의 필드값이 년도 패턴, 두 글자의 월 패턴, 일 패턴, 시 패턴, 분 패턴, 초 패턴 중 하나 이상의 패턴을 포함하는지 여부에 대한 제2 조건이며, 제2 조건에 따라 하나 이상의 패턴을 포함한다면, 수신한 데이터의 타입은 날짜형 타입일 수 있는바, 숫자형 및 문자형 타입 중 날짜형 타입에 해당하는지를 판별하는 조건에 해당한다.
이는 앞선 예에서 필드값이 20211111인 경우 또는 2021년 11월 11일인 경우 각각 숫자형과 문자형으로 판단될 것이나, 진정한 의미로는 모두 날짜형에 해당하기에 이러한 경우 날짜형으로 판단함으로써 데이터 타입의 정확한 판별을 기하기 위함이다.
보다 구체적으로 제2 조건이 포함할 수 있는 년도 패턴은 두 글자 또는 네 글자의 숫자와 년도를 나타내는 문자, 예를 들어 년, Y, year 등을 포함하는 패턴이며, 월 패턴은 한 글자 또는 두 글자의 숫자와 월을 나타내는 문자, 예를 들어 월, M, Month 등을 포함하거나, 숫자를 포함하지 않고 그 자체로써 월을 나타내는 문자, 예를 들어, Jan, Feb 등과 같이 월의 약어로 기재한 문자나 January, February 등과 같이 전체로 월을 기재한 문자 등을 포함하는 패턴이고, 일 패턴은 한 글자 또는 두 글자의 숫자와 일을 나타내는 문자, 예를 들어 일, D, Day 등을 포함하는 패턴이며, 분 패턴은 한 글자 또는 두 글자의 숫자와 분을 나타내는 문자, 예를 들어 분, m, min, minute 등을 포함하는 패턴이고, 초 패턴은 한 글자, 두 글자 또는 소수점 이하의 숫자와 초를 나타내는 문자, 예를 들어 초, s, second 등을 포함하는 패턴인바, 이상의 패턴에 대한 사항은 예시에 해당할 뿐이며, 얼마든지 다양한 패턴들을 날짜형 타입에 해당하는지 판별하는 조건으로 추가할 수 있음은 물론이다.
S220 단계에 따라 범주형 및 날짜형 중 어느 하나의 타입인지 2차적으로 판단한 결과, 범주형 및 날짜형 중 어느 하나의 타입이 아니라고, 즉 숫자형 및 문자형 중 어느 하나의 타입이라고 2차적으로 판단된 경우, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 수신한 데이터의 필드명을 메타데이터 생성 규칙이 포함하는 데이터 타입의 판별에 관한 필드 매핑 테이블(Field Mapping Table)에 적용하여 숫자형, 문자형, 범주형 및 날짜형 중 어느 하나의 타입인지 최종적으로 판단하고 메타데이터를 생성한다(S230).
앞선 S210 단계 및 S220 단계에서 데이터의 필드값을 이용한 것과 달리, S230 단계에서는 데이터의 필드명을 이용하는 차이가 있으며, 메타데이터 생성 규칙은 앞선 데이터 타입 결정 조건뿐만 아니라 데이터 타입의 판별에 관한 필드 매핑 테이블(Field Mapping Table)을 더 포함할 숫 있는바, S230 단계에서는 필드 매핑 테이블을 이용하여 데이터의 타입을 최종적으로 판단할 수 있다.
도 3은 필드 매핑 테이블을 예시적으로 도시한 도면인바, 도 3을 참조하면 필드 매핑 테이블은 도 3의 좌측에 도시된 바와 같이 하나 이상의 필드명 각각에 대하여 (풀네임 ID, 참조 횟수)가 하나 이상 매핑된 필드명/풀네임 매핑 테이블과 우측에 도시된 바와 같이 하나 이상의 풀네임 ID 각각에 대하여 숫자형에 해당할 확률, 문자형에 해당할 확률, 범주형에 해당할 확률 및 날짜형에 해당할 확률이 매핑된 데이터 타입 매핑 테이블을 포함할 수 있다.
필드명/풀네임 ID 테이블을 참조하면, 필드명 CUSNUM, PRCS_DT, PRCSDT, CSTMRGRAD 각각에 (2,1), (1,3)/(4,2)/(3,1), (1,3)/(3,1), (5,2)/(2,1)이 매핑되어 있음을 확인할 수 있는바, 하나의 필드명에는 복수 개의 풀네임 ID가 매핑될 수 있으며, 필드명/풀네임 ID 테이블은 각각의 필드명에 대하여 참조 횟수가 높은 풀네임 ID의 순서대로 정렬되므로 해당 필드명의 데이터 타입은 가장 높은 참조 횟수를 갖는 풀네임 ID를 참조하면 된다.
예를 들어 설명하도록 한다. 수신한 데이터의 필드명이 CSTMRGRAD인 경우, 필드명/풀네임 ID 테이블에서 해당 필드명인 CSTMRGRAD를 탐색하고, 가장 높은 참조 횟수인 2를 갖는 풀네임 ID인 풀네임 ID 5를 확인할 수 있으며, 풀네임 ID 5를 데이터 타입 매핑 테이블에서 탐색한 후, 가장 높은 확률인 0.75가 기재된 타입인 범주형 타입을 데이터의 최종 타입으로 판단할 수 있으며, 필드명이 PRCS_DT인 경우, 필드명/풀네임 ID 테이블에서 해당 필드명인 PRCS_DT를 탐색하고, 가장 높은 참조 횟수인 3dmf 갖는 풀네임 ID인 풀네임 ID 1을 확인할 수 있으며, 풀네임 ID 1을 데이터 타입 매핑 테이블에서 탐색한 후, 가장 높은 확률인 0.90이 기재된 타입인 날짜형 타입을 데이터의 최종 타입으로 판단할 수 있다.
이상의 설명은 수신한 데이터의 필드명이 필드 매핑 테이블, 보다 구체적으로 필드명/풀네임 매핑 테이블에 포함되어 있는 경우를 전제로 하는바, 필드명/풀네임 매핑 테이블에 수신한 데이터의 필드명이 포함되어 있지 않은 경우도 얼마든지 발생할 수 있으며, 이러한 경우를 위해 필드 매핑 테이블은 풀네임 정보 테이블을 더 포함할 수 있다.
도 4는 필드 매핑 테이블을 예시적으로 도시한 또 다른 도면인바, 도 4를 참조하면 도 3 대비 우측 상단에 하나 이상의 풀네임 ID 각각에 대하여 해당하는 풀네임, 필드 설명 및 참조횟수를 포함하는 풀네임 정보 테이블을 더 포함하고 있음을 확인할 수 있으며, 풀네임 정보 테이블이 포함하고 있는 풀네임 ID는 우측 하단에 데이터 타입 매핑 테이블이 포함하고 있는 풀네임 ID 각각과 1:1로 대응될 수 있다.
여기서 풀네임 정보 테이블은 수신한 데이터의 필드명이 필드명/풀네임 매핑 테이블에는 포함되어 있지 않으나, 풀네임 정보 테이블에 해당 필드명이 나타내는 풀네임이 포함되어 있는 경우 그리고 수신한 데이터의 필드명이 필드명/풀네임 매핑 테이블 그리고 풀네임 역시 풀네임 정보 테이블에도 포함되어 있지 않은 경우에는 데이터 타입을 어떻게 판단할 것인지 문제된다. 이 경우 데이터 타입의 판단에 앞서 데이터 필드명의 풀네임 설정과 추천 그리고 필드명/풀네임 매핑 테이블에 필드명의 추가 등이 이루어져야 하는바, 이하 설명하도록 한다.
도 5는 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법에 있어서, 풀네임 정보 테이블은 수신한 데이터의 필드명이 필드명/풀네임 매핑 테이블에는 포함되어 있지 않으나, 풀네임 정보 테이블에 해당 필드명이 나타내는 풀네임이 포함되어 있는 경우 그리고 수신한 데이터의 필드명이 필드명/풀네임 매핑 테이블 그리고 풀네임 역시 풀네임 정보 테이블에도 포함되어 있지 않은 경우에 선행되는 단계를 도시한 순서도이며, 도 6 및 도 7은 첨부하는 도면의 크기 문제로 인해 도 5에 도시된 도면을 분리하여 도시한 도면이다.
우선, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 데이터 필드명의 풀네임 설정과 추천 규칙에 관한 필드 매핑 테이블이 포함하는 필드명/풀네임 매핑 테이블에 수신한 데이터의 필드명을 포함하는지 판단한다(S300-1).
여기서 필드명은 약어에 해당하며, 수신한 데이터의 필드명이 PRCS_DT인 경우를 예로 하여 설명을 이어가도록 한다.
다시 도 4를 참조하면, 좌측 테이블인 필드명/풀네임 매핑 테이블이 다양한 필드명이 기재되어 있음을 확인할 수 있는바, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)는 수신한 데이터의 필드명이 PRCS_DT이기 때문에 필드명/풀네임 매핑 테이블에 필드명 PRCS_DT이 포함되어 있는지 판단하고, 1열 3행에 포함되어 있기에 포함하는 것으로 판단할 수 있다.
S300-1 단계의 판단 결과, 포함하는 것으로 판단되었다면, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 해당 필드명에 대하여 참조 횟수가 가장 높은 풀네임 ID를 탐색한다(S300-2).
다시 도 4를 참조하면 좌측 테이블인 필드명/풀네임 매핑 테이블의 각 필드명에는 (Full Name ID, 참조 횟수)가 하나 이상 매칭되어 있음을 확인할 수 있는바, 여기서 풀네임 ID는 우측 상단 테이블인 풀네임 정보 테이블이 포함하는 특정 풀넴임을 나타내는 ID에 해당하며, 참조 횟수는 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100) 내에서 해당 필드명이 특정 풀네임으로 몇 번이나 사용되었는지를 나타내는 숫자에 해당하는바, 특정 풀네임 ID에 대한 참조 횟수가 높을수록 해당 필드명은 해당 특정 풀네임 ID에 해당하는 풀네임으로 많이 사용된 것으로 볼 수 있는바, 참조 횟수가 가장 높은 풀네임 ID를 탐색하는 것은 지금까지의 경험에 의해 해당 필드명에 해당할 가능성이 가장 높은 풀네임을 추천하기 위함이라 할 것이다.
이를 앞선 예에 적용하면 수신한 데이터의 필드명이 PRCS_DT이었기에, S300-2 단계에 따르면 가장 높은 참조 횟수를 탐색하여 참조 횟수가 3인 풀네임 ID 1을 선정할 수 있다.
이후, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 탐색한 참조 횟수가 가장 높은 풀네임 ID를 필드 매핑 테이블이 포함하는 풀네임 정보 테이블에서 탐색하고 이에 매핑된 풀네임을 수신한 데이터에 대한 메타데이터 필드명의 풀네임으로 설정한다(S300-3).
앞서 S300-2 단계에서 참조 횟수가 가장 높은 풀네임 ID를 탐색하였기에, 풀네임 정보 테이블에서 해당 풀네임 ID를 탐색한다면 이에 매칭된 풀네임을 데이터에 대한 메타데이터 필드명의 풀네임으로 설정할 수 있다.
이를 앞선 예에 적용하면, 데이터의 필드명 PRCS_DT에 대하여 참조 횟수가 가장 높은 풀네임 ID인 풀네임 ID 1을 탐색하였기에, 풀네임 ID 1을 도 4의 우측 상단에 도시된 풀네임 정보 테이블에서 탐색하고, 이에 매핑된 풀네임인 Process Date를 수신한 데이터에 대한 메타데이터 필드명 PRCS_DT의 풀네임으로 설정할 수 있는 것이다.
한편, 여기서의 설정은 추천의 의미도 포함하는바, 필드명인 약어가 어떠한 풀네임에 해당하는지 정확하게 알 수 없는 상태에서 해당할 가능성이 가장 높은 풀네임을 참조 횟수에 기초하여 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 설정해주기 때문이며, 어디까지나 추천이기 때문에 추천해주는 풀네임을 사용자가 데이터에 대한 메타데이터의 필드명의 풀네임으로 반드시 선택할 필요는 없으며, 직접 입력할 수 있음은 물론이라 할 것이다.
수신한 데이터에 대한 메타데이터 필드명의 풀네임으로 설정했다면, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 필드명/풀네임 매핑 테이블이 포함하는 해당 데이터의 필드명에 대하여 상기 참조 횟수가 가장 높은 풀네임 ID에 대한 참조 횟수를 1 증가시키며(S300-4), 풀네임 정보 테이블이 포함하는 앞서 탐색한 참조 횟수가 가장 높은 풀네임 ID에 대한 참조 횟수를 1 증가시킨다(S300-5).
이러한 S300-5 단계는 필드 매핑 테이블을 이용하여 필드명의 풀네임을 설정하였기에 필드 매핑 테이블, 보다 구체적으로 필드명/풀네임 매핑 테이블과 풀네임 정보 테이블을 최신 상태로 업데이트시키는 것으로 볼 수 있는바, 이를 앞선 예에 적용하면 도 8에 도시된 바와 같이 좌측의 필드명/풀네임 매핑 테이블이 포함하는 해당 데이터의 필드명인 PRCS_DT 중, 앞서 탐색한 참조 횟수가 가장 높은 풀네임 ID 1에 대한 참조 횟수 3에서 1을 증가시켜 4로 업데이트하는 것이며, 우측의 풀네임 정보 테이블이 포함하는 풀네임 ID 1에 대한 참조 횟수를 11에서 1을 증가시켜 12로 업데이트하는 것이다.
이상 설명한 S300-1 단계 내지 S300-5 단계는 수신한 데이터의 필드명이 필드명/풀네임 매핑 테이블에 포함된 경우에 관한 것이며, 이하, 포함되지 않는 경우에 대하여 설명하도록 한다.
다시 도 4를 참조하여 S300-2 단계에서 NO를 따라가면, 즉, S300-1 단계의 판단 결과 포함하지 않는 것으로 판단되었다면, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 수신한 데이터에 대한 메타데이터 필드명의 풀네임을 사용자로부터 한 글자 이상 수신한다(S300-2′)
이는 기 설정된 필드명/풀네임 매핑 테이블에 필드명에 해당하는 약어가 포함되어 있지 않기 때문에 사용자로부터 직접 풀네임에 대한 단서인 한 글자 이상을 수신함으로써 풀네임 정보 테이블에서 이에 해당하는 풀네임을 추천하기 위함인 것이며, 사용자로부터 수신한 글자가 Cu 두 글자임을 예로 하여 설명을 이어가도록 한다.
이후, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 사용자로부터 수신한 한 글자 이상의 메타데이터 필드명의 풀네임에 대하여 그 뒤에 이어지는 글자 또는 단어를 예측하여 완성된 풀네임을 추천한다(S300-3′)
앞서 S300-2′ 단계에서 사용자로부터 수신한 글자가 Cu이기에, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)는 풀네임 정보 테이블이 포함하는 풀네임 중, Cu로 시작하는 풀네임인 Customer Number과 Customer Grade를 추천할 수 있다.
완성된 풀네임을 추천했다면, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 추천한 완성된 풀네임을 사용자로부터 선택 받는지 판단하며(S300-4′), 판단 결과 사용자로부터 선택 받았다면, 풀네임 정보 테이블이 포함하는 선택 받은 풀네임에 대한 참조 횟수를 1 증가시키고(S300-5′), 필드명/풀네임 매핑 테이블이 포함하는 하나 이상의 필드명 중, 선택 받은 풀네임에 매칭된 필드명에 대한 참조 횟수를 1 증가시킨다(S300-6′)
이는 S300-4′ 단계에서 추천한 완성된 풀네임을 사용자로부터 선택 받았다함은 풀네임이 풀네임 정보 테이블에 포함되어 있다는 것이며, 이는 해당 풀네임에 매칭된 필드명 역시 필드명/풀네임 매핑 테이블에 포함되어 있다는 것으로 볼 수 있기에, 참조 횟수를 1씩 증가시킴으로써 필드 매핑 테이블을 최신 상태로 업데이트하는 것이다.
이를 앞선 예에 적용하여 사용자가 추천된 풀네임 Customer Number과 Customer Grade 중, Customer Grade를 선택했다면 도 9에 도시된 바와 같이 우측의 풀네임 정보 테이블이 포함하는 풀네임 Customer Grade의 참조 횟수를 2에서 1을 증가시켜 3으로 업데이트하는 것이며, 좌측의 필드명/풀네임 매핑 테이블에서 풀네임 Customer Grade의 풀네임 ID인 풀네임 ID 5에 대한 필드명 CSTMRGRAD에서의 참조 횟수를 2에서 1을 증가시켜 3으로 업데이트하는 것이다.
이상 설명한 S300-2′ 단계 내지 S300-6′ 단계는 데이터의 필드명과 정확하게 일치하는 필드명이 필드명/풀네임 매핑 테이블에 포함되어 있지는 않으나, 해당 필드명에 대한 풀네임이 풀네임 정보 테이블에 포함되어 있음으로써 필드명/풀네임 매핑 테이블에 실질적으로 동일한 의미의 필드명이 포함되는 경우에 관한 것인바, 예를 들어, 데이터의 필드명이 CUGRAD라면 필드명/풀네임 매핑 테이블에 포함되어 있지 않으므로 S300-2′ 단계가 실시될 것이나, 필드명 CUGRAD의 풀네임에 대하여 사용자로부터 수신한 글자가 CU이고, 추천 받은 풀네임 중 Customer Grade를 선택 받았다면 필드명/풀네임 매핑 테이블이 포함하는 CSTMRGRAD가 실질적으로 참조된 것으로 보는 것이다.
이와 별개로, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)는 도 10에 도시된 바와 같이 필드명/풀네임 매핑 테이블에 포함되지 않은 필드명, 예를 들어 CUGRAD를 추가하고, 이에 매칭되는 풀네임 아이디인 5를 기재하되, 이에 대한 참조 횟수를 1로 기재함으로써 새로운 필드명을 업데이트할 수도 있는바, 이는 하나의 풀네임이 복수 개의 필드명에 매핑될 수 있음을 전제로 한 것이며, 이와 역으로 하나의 필드명이 복수 개의 풀네임에 매칭될 수도 있음은 물론이라 할 것이고, 새롭게 추가한 필드명과 실질적으로 동일한 의미를 갖는 기존의 필드명, 예를 들어 CSTMRGRAD의 참조 횟수를 1 증가시킬지 여부는 관리자의 설정에 의할 수 있다 할 것이며, 도 10에서는 증가시키지 않은 상태를 예로 하여 도시하였다.
이번에는 S300-4′ 단계에서 추천한 완성된 풀네임을 사용자로부터 선택 받지 않은 경우에 대하여 설명하도록 한다.
S300-4′ 단계의 판단 결과, 추천한 완성된 풀네임을 사용자로부터 선택 받지 않았다면, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 수신한 데이터에 대한 메타데이터 필드명의 풀네임을 사용자로부터 전부 수신하며(S300-5″), 사용자로부터 전부 수신한 메타데이터 필드명의 풀네임을 풀네임 정보 테이블이 포함하는지 판단한다(S300-6″).
추천한 완성된 풀네임을 사용자로부터 선택 받지 않았다 함은 사용자가 의도하는 해당 필드명에 대한 풀네임을 풀네임 정보 테이블이 포함하지 않는다는 것일 가능성이 높으나, 사용자에 따라서는 포함하는 경우라도 추천한 완성된 풀네임을 의도적으로 선택하지 않을 수도 있으며, 이에 보다 정확성을 기하기 위해 풀네임 정보 테이블에서 사용자로부터 수신한 풀네임을 다시 한번 탐색하는 것이고, 판단 결과 포함하는 것으로 판단되었다면 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 풀네임 정보 테이블이 포함하는 사용자로부터 전부 수신한 메타데이터 필드명의 풀네임에 대한 참조 횟수를 1 증가시키며(S300-7″), 이에 대한 설명은 앞서 S300-5′ 단계에 대한 설명과 동일하므로 중복 서술을 방지하기 위해 자세한 설명은 생략하도록 하고, 그 이후 후술할 S300-8″ 단계가 실시된다.
한편, S300-6″ 단계의 판단 결과 포함하지 않는 것으로 판단되었다면 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 풀네임 정보 테이블에 사용자로부터 전부 수신한 메타데이터 필드명의 풀네임 및 이에 대한 풀네임 ID를 추가하고, 참조 횟수를 1로 설정한다(S300-7′″).
이후, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 사용자로부터 전부 수신한 메타데이터 필드명의 풀네임과 매핑되는 데이터의 필드명을 필드명/풀네임 매핑 테이블이 포함하는지 판단하며(S300-8″), 판단 결과 포함하지 않는 것으로 판단되었다면 필드명/풀네임 매핑 테이블에 사용자로부터 전부 수신한 메타데이터 필드명의 풀네임 또는 이에 대한 약어를 추가하고, 풀네임 정보 테이블이 포함하는 사용자로부터 전부 수신한 메타데이터 필드명의 풀네임에 대한 풀네임 ID를 추가하되, 참조 횟수는 1로 설정하며(S300-9″), 판단 결과 포함하는 것으로 판단되었다면 해당 필드명에 대하여 S300-7″ 단계에서 참조 횟수를 1 증가시킨 풀네임 ID의 참조 횟수를 1 증가시킨다(S300-10″).
이상의 S300-9″ 단계는 풀네임 정보 테이블에는 포함되어 있되, 이에 대한 필드명이 필드명/풀네임 매핑 테이블에 포함되어 있지 않은 경우 필드명/풀네임 매핑 테이블을 최신 상태로 업데이트하는 것이며, S300-7′″ 단계는 풀네임 정보 테이블과 필드명/풀네임 매핑 테이블 모두에 포함되어 있지 않은 경우에 풀네임 정보 테이블 및 필드명/풀네임 매핑 테이블 모두를 최신 상태로 업데이트하는 것인바, 최신 상태로의 업데이트에 관함은 앞선 설명과 동일하므로 중복 서술을 방지하기 위해 자세한 설명은 생략하도록 한다.
이상 설명한 S300-1 단계 내지 S300-5 단계, S300-2′ 단계 내지 S300-6′ 단계, S300-5″ 단계 내지 S300-10″ 단계 모두 프로세스가 완료된 이후에는 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 필드명 및 필드명에 대한 참조 횟수, 풀네임 및 풀네임에 대한 참조 횟수를 기반으로 필드 매핑 테이블을 재구성하며, 필드명/풀네임 매핑 테이블의 경우 특정 필드명에 대한 업데이트된 참조 횟수에 따라 매핑 목록을 재정렬할 것이다.
이상 도 4 내지 도 10을 참조하여 설명한 바와 같이 설명한 S300-1 단계 내지 S300-5 단계, S300-2′ 단계 내지 S300-6′ 단계, S300-5″ 단계 내지 S300-10″ 단계 모두 프로세스가 완료되었다면 풀네임 정보 테이블은 수신한 데이터의 필드명이 필드명/풀네임 매핑 테이블에는 포함되어 있지 않으나, 풀네임 정보 테이블에 해당 필드명이 나타내는 풀네임이 포함되어 있는 경우 그리고 수신한 데이터의 필드명이 필드명/풀네임 매핑 테이블 그리고 풀네임 역시 풀네임 정보 테이블에도 포함되어 있지 않은 경우 모두 수신한 데이터에 대한 필드명과 풀네임 각각이 필드명/풀네임 매핑 테이블과 풀네임 정보 테이블에 포함될 수 있기에, 풀네임 ID를 탐색하고, 해당 풀네임 ID를 데이터 타입 매핑 테이블에 적용함으로써 가장 높은 확률값을 갖는 데이터 타입을 탐색하여 데이터의 최종 타입으로 판별할 수 있을 것이다.
다시 도 2에 대한 설명으로 돌아가도록 한다.
수신한 데이터의 타입을 최종적으로 판단하고 메타데이터를 생성했다면, 생성한 메타데이터를 머신러닝/딥러닝 모델로 학습하여 메타데이터 생성 규칙을 업데이트한다(S240).
여기서 메타데이터 생성 규칙은 앞서 언급한 바와 같이 데이터 타입 결정 조건과 필드명/풀네임 ID 맵핑 테이블, 데이터 타입 매핑 테이블 및 풀네임 정보 테이블을 포함하는 필드 매핑 테이블을 전부 포함하는바, S240 단계는 메타데이터 생성 결과에 따라 이들 전부를 업데이트하여 최신 학습 상태로 만드는 단계라 할 수 있으며, 도 11에 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 데이터를 수신하고, 메타데이터 생성 규칙을 적용하여 메타데이터를 생성한 후, 이를 학습함으로써 메타데이터 생성 규칙을 업데이트하는 모습을 예시적으로 도시해 놓았다.
지금까지 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법에 대하여 설명하였다. 본 발명에 따르면, 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치(100)가 3 단계의 판단 과정을 거쳐 수신한 데이터의 타입을 숫자형, 문자형, 범주형 및 날짜형 중 어느 하나의 타입으로 판별할 수 있는바, 데이터 타입의 판별을 전문 인력의 처리 없이 손쉽고 간편하게 수행할 수 있으므로 불필요한 시간 및 비용 소모를 방지할 수 있으며, 데이터에 대한 전처리 프로세스를 손쉽고 간편하게 수행할 수 있다. 또한, 메타데이터 생성 결과를 머신러닝/딥러닝 모델로 지속적으로 학습하여 메타데이터 생성 규칙을 업데이트하는바, 그 이후의 메타데이터 생성, 보다 구체적으로 데이터 타입의 판별에 정확도를 향상시킬 수 있다.
한편, 별도로 설명하지는 않았지만 이상 설명한 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법에 있어서, 메타데이터 생성 규칙이 데이터 타입 결정 조건을 포함하기 위해서는 인공지능 모델을 자연어 문장들을 사전에 학습한 머신러닝/딥러닝 기반의 NLP 모델로 채택함이 필요하다 할 것이다.
더 나아가, 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법은 도 12 에 도시된 바와 같이 S240 단계 이후에, S230단계에서 최종적으로 판단한 데이터의 타입이 숫자형(그 중에서 정수형과 같이 순서를 나타내는 필드) 및 날짜형 중 어느 하나의 타입인지 판단하는 단계(S250), S250 단계의 판단 결과, 숫자형 및 날짜형 중 어느 하나의 타입이라고 판단되었다면, 수신한 데이터의 필드값을 정렬하여 중복된 필드값을 포함하는지 판단하는 단계(S260) 및 S260 단계의 판단 결과, 중복된 필드값을 포함하는 것으로 판단되었다면, 정렬한 필드값 중 서로 이웃하는 두 필드값 사이의 간격값을 산정하는 단계(S270), 산정한 두 필드값 사이의 간격값 중 가장 많은 수의 간격값의 비율이 소정 비율 이상인지 판단하는 단계(S280) 및 S280 단계의 판단 결과, 소정 비율 이상이라고 판단되었다면, 상기 수신한 데이터는 시계열 데이터셋으로 판단하는 단계(S290)를 더 포함할 수 있으며, S250 단계의 판단 결과, 숫자형 및 날짜형 중 어느 하나의 타입이 아니라고 판단되었다면, 수신한 데이터는 비시계열 데이터셋으로 판단하는 단계, S260 단계의 판단 결과, 중복된 필드값을 포함하지 않는 것으로 판단되었다면, 수신한 데이터는 시계열 데이터셋으로 판단하는 단계 및 S280 단계의 판단 결과, 소정 비율 이상이 아니라고 판단되었다면, 수신한 데이터는 비시계열 데이터셋으로 판단하는 단계를 더 포함함으로써 데이터셋이 시계열 데이터셋인지 비시계열 데이터셋인지까지 판별할 수 있다 할 것이다.
이상 설명한 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법은 동일한 기술적 특징을 전부 포함하는 본 발명의 제3 실시 예에 따른 매체에 저장된 컴퓨터 프로그램으로 구현할 수 있는바, 중복 서술을 방지하기 위해 자세히 설명하지 않겠지만 이상 설명한 본 발명의 제2 실시 예에 따른 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법에 적용되는 기술적 특징 모두, 본 발명의 제3실시 예에 따른 매체에 저장된 컴퓨터 프로그램에 동일하게 적용될 수 있음은 물론이다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치
10: 프로세서
20: 네트워크 인터페이스
30: 메모리
40: 스토리지
41: 컴퓨터 프로그램
50: 데이터 버스

Claims (10)

  1. 머신러닝(Machine Learning)/딥러닝(Deep Learning) 모델을 이용한 데이터 타입 판별 장치가 데이터의 타입 - 상기 데이터의 타입은 숫자형, 문자형, 범주형 및 날짜형을 포함함 - 을 자동으로 판별하여 메타데이터를 생성하는 방법에 있어서,
    (a) 수신한 데이터의 필드값이 날짜형 타입인지 1차적으로 판단하는 단계;
    (b) 상기 (a) 단계의 판단 결과, 날짜형 타입이 아니라고 1차적으로 판단되었다면, 상기 수신한 데이터의 필드값에 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건을 적용하여 범주형 및 날짜형 중 어느 하나의 타입인지 2차적으로 판단하는 단계;
    (c) 상기 (b) 단계의 판단 결과, 범주형 및 날짜형 중 어느 하나의 타입이 아니라고 2차적으로 판단되었다면, 상기 수신한 데이터의 필드명을 상기 메타데이터 생성 규칙이 포함하는 데이터 타입의 판별에 관한 필드 매핑 테이블(Field Mapping Table)에 적용하여 숫자형, 문자형, 범주형 및 날짜형 중 어느 하나의 타입인지 최종적으로 판단하고 메타데이터를 생성하는 단계; 및
    (d) 상기 생성한 메타데이터를 머신러닝/딥러닝 모델로 학습하여 상기 메타데이터 생성 규칙을 업데이트하는 단계;
    를 포함하는 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법.
  2. 제1항에 있어서,
    상기 (a) 단계의 판단은 공개된 프로그래밍 언어에 따르는,
    데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법.
  3. 제1항에 있어서,
    상기 (b) 단계의 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건은,
    상기 수신한 데이터의 전체 필드값의 수 대비 고유한(Unique) 필드값의 수의 비율이 소정 비율 미만인지 여부에 대한 제1 조건을 포함하며,
    상기 제1 조건에 따라 소정 비율 미만이라면, 상기 수신한 데이터의 타입은 범주형인,
    데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법.
  4. 제3항에 있어서,
    상기 소정 비율은,
    0 내지 0.5 사이 중 어느 하나인,
    데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법.
  5. 제1항에 있어서,
    상기 (b) 단계의 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건은,
    상기 수신한 데이터의 필드값이 년도 패턴, 월 패턴, 일 패턴, 시 패턴, 분 패턴, 초 패턴 중 하나 이상의 패턴을 포함하는지 여부에 대한 제2 조건을 포함하며,
    상기 제2 조건에 따라 하나 이상의 패턴을 포함한다면, 상기 수신한 데이터의 타입은 날짜형인,
    데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법.
  6. 제1항에 있어서,
    상기 (c) 단계의 필드 매핑 테이블은,
    하나 이상의 필드명 각각에 대하여 (풀네임 ID, 참조 횟수)가 하나 이상 매핑된 필드명/풀네임 ID 테이블 및 상기 하나 이상의 풀네임 ID 각각에 대하여 숫자형에 해당할 확률, 문자형에 해당할 확률, 범주형에 해당할 확률 및 날짜형에 해당할 확률이 매핑된 데이터 타입 매핑 테이블을 포함하는,
    데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법.
  7. 제6항에 있어서,
    상기 (c) 단계의 필드 매핑 테이블은,
    상기 하나 이상의 풀네임 ID 각각에 대하여 해당하는 풀네임, 필드 설명 및 참조횟수를 포함하며, 상기 데이터 타입 매핑 테이블이 포함하는 하나 이상의 풀네임 ID 각각과 1:1로 대응되는 풀네임 정보 테이블을 더 포함하는,
    데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법.
  8. 제1항에 있어서,
    상기 (d) 단계 이후에,
    (e) 상기 (c) 단계에서 최종적으로 판단한 데이터의 타입이 숫자형 및 날짜형 중 어느 하나의 타입인지 판단하는 단계;
    (f) 상기 (e) 단계의 판단 결과, 숫자형 및 날짜형 중 어느 하나의 타입이라고 판단되었다면, 상기 수신한 데이터의 필드값을 정렬하여 중복된 필드값을 포함하는지 판단하는 단계; 및
    (g) 상기 (f) 단계의 판단 결과, 중복된 필드값을 포함하는 것으로 판단되었다면, 상기 정렬한 필드값 중 서로 이웃하는 두 필드값 사이의 간격값을 산정하는 단계;
    (h) 상기 산정한 두 필드값 사이의 간격값 중 가장 많은 수의 간격값의 비율이 소정 비율 이상인지 판단하는 단계; 및
    (i) 상기 (h) 단계의 판단 결과, 소정 비율 이상이라고 판단되었다면, 상기 수신한 데이터는 시계열 데이터셋으로 판단하는 단계;
    를 더 포함하는 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법.
  9. 제8항에 있어서,
    (f´) 상기 (e) 단계의 판단 결과, 숫자형 및 날짜형 중 어느 하나의 타입이 아니라고 판단되었다면, 상기 수신한 데이터는 비시계열 데이터셋으로 판단하는 단계;
    (g´) 상기 (f) 단계의 판단 결과, 중복된 필드값을 포함하지 않는 것으로 판단되었다면, 상기 수신한 데이터는 시계열 데이터셋으로 판단하는 단계; 및
    (i´) 상기 (h) 단계의 판단 결과, 소정 비율 이상이 아니라고 판단되었다면, 상기 수신한 데이터는 비시계열 데이터셋으로 판단하는 단계;
    를 더 포함하는 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법.
  10. 하나 이상의 프로세서;
    네트워크 인터페이스;
    상기 프로세서에 의해 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리; 및
    대용량 네트워크 데이터 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은 상기 하나 이상의 프로세서에 의해,
    (A) 수신한 데이터의 필드값이 날짜형 타입인지 1차적으로 판단하는 오퍼레이션;
    (B) 상기 (A) 오퍼레이션의 판단 결과, 날짜형 타입이 아니라고 1차적으로 판단되었다면, 상기 수신한 데이터의 필드값에 메타데이터 생성 규칙이 포함하는 데이터 타입 결정 조건을 적용하여 범주형 및 날짜형 중 어느 하나의 타입인지 2차적으로 판단하는 오퍼레이션;
    (C) 상기 (B) 오퍼레이션의 판단 결과, 범주형 및 날짜형 중 어느 하나의 타입이 아니라고 2차적으로 판단되었다면, 상기 수신한 데이터의 필드명을 상기 메타데이터 생성 규칙이 포함하는 데이터 타입의 판별에 관한 필드 매핑 테이블(Field Mapping Table)에 적용하여 숫자형, 문자형, 범주형 및 날짜형 중 어느 하나의 타입인지 최종적으로 판단하고 메타데이터를 생성하는 오퍼레이션; 및
    (D) 상기 생성한 메타데이터를 머신러닝/딥러닝 모델로 학습하여 상기 메타데이터 생성 규칙을 업데이트하는 오퍼레이션;
    을 실행하는 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치.
KR1020210155465A 2021-11-12 2021-11-12 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치 KR102622434B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210155465A KR102622434B1 (ko) 2021-11-12 2021-11-12 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치
KR1020230148251A KR102622433B1 (ko) 2021-11-12 2023-10-31 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치
KR1020230148252A KR102623561B1 (ko) 2021-11-12 2023-10-31 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210155465A KR102622434B1 (ko) 2021-11-12 2021-11-12 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020230148252A Division KR102623561B1 (ko) 2021-11-12 2023-10-31 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치
KR1020230148251A Division KR102622433B1 (ko) 2021-11-12 2023-10-31 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치

Publications (2)

Publication Number Publication Date
KR20230069428A true KR20230069428A (ko) 2023-05-19
KR102622434B1 KR102622434B1 (ko) 2024-01-09

Family

ID=86547002

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020210155465A KR102622434B1 (ko) 2021-11-12 2021-11-12 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치
KR1020230148252A KR102623561B1 (ko) 2021-11-12 2023-10-31 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치
KR1020230148251A KR102622433B1 (ko) 2021-11-12 2023-10-31 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020230148252A KR102623561B1 (ko) 2021-11-12 2023-10-31 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치
KR1020230148251A KR102622433B1 (ko) 2021-11-12 2023-10-31 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치

Country Status (1)

Country Link
KR (3) KR102622434B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170364815A1 (en) * 2016-06-17 2017-12-21 Sap Se Inference-Based Assignment of Data Type to Data
KR20180079995A (ko) * 2017-01-03 2018-07-11 주식회사 데일리인텔리전스 머신러닝을 기반으로 데이터를 분석하는 프로그램을 생성하기 위한 방법
US20180253441A1 (en) * 2017-03-03 2018-09-06 Transitive Innovation, Llc Automated data classification system
US20190377727A1 (en) * 2013-04-22 2019-12-12 Domo, Inc. Automatic dynamic reusable data recipes
JP2021500639A (ja) * 2017-10-24 2021-01-07 ティブコ ソフトウェア インク 多段階パターン発見およびビジュアル分析推奨のための予測エンジン
US20210263900A1 (en) * 2020-02-26 2021-08-26 Ab Initio Technology Llc Generating rules for data processing values of data fields from semantic labels of the data fields
KR102310598B1 (ko) 2021-05-14 2021-10-13 주식회사 인피닉 메타데이터를 이용한 인공지능 학습용 데이터 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190377727A1 (en) * 2013-04-22 2019-12-12 Domo, Inc. Automatic dynamic reusable data recipes
US20170364815A1 (en) * 2016-06-17 2017-12-21 Sap Se Inference-Based Assignment of Data Type to Data
KR20180079995A (ko) * 2017-01-03 2018-07-11 주식회사 데일리인텔리전스 머신러닝을 기반으로 데이터를 분석하는 프로그램을 생성하기 위한 방법
US20180253441A1 (en) * 2017-03-03 2018-09-06 Transitive Innovation, Llc Automated data classification system
JP2021500639A (ja) * 2017-10-24 2021-01-07 ティブコ ソフトウェア インク 多段階パターン発見およびビジュアル分析推奨のための予測エンジン
US20210263900A1 (en) * 2020-02-26 2021-08-26 Ab Initio Technology Llc Generating rules for data processing values of data fields from semantic labels of the data fields
KR102310598B1 (ko) 2021-05-14 2021-10-13 주식회사 인피닉 메타데이터를 이용한 인공지능 학습용 데이터 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR20230154157A (ko) 2023-11-07
KR102622433B1 (ko) 2024-01-09
KR20230155390A (ko) 2023-11-10
KR102623561B1 (ko) 2024-01-09
KR102622434B1 (ko) 2024-01-09

Similar Documents

Publication Publication Date Title
US11442932B2 (en) Mapping natural language to queries using a query grammar
CA2940760C (en) Intelligent data munging
US11586811B2 (en) Multi-layer graph-based categorization
CN105531706A (zh) 用于信息检索系统的搜索引擎
US10789533B2 (en) Generating a consistently labeled training dataset by automatically generating and displaying a set of most similar previously-labeled texts and their previously assigned labels for each text that is being labeled for the training dataset
CN112527970B (zh) 数据字典标准化处理方法、装置、设备及存储介质
US20220100772A1 (en) Context-sensitive linking of entities to private databases
WO2021254046A1 (zh) 一种信息查询方法及装置
WO2021008340A1 (zh) 金融数据的生成方法、装置、计算机设备及存储介质
CN110737432A (zh) 一种基于词根表的脚本辅助设计方法及装置
US20220100967A1 (en) Lifecycle management for customized natural language processing
JP7202452B2 (ja) データ可視化ユーザインターフェースにおける自然言語表現の分析
KR20230069428A (ko) 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치
EP3489838A1 (en) Method and apparatus for determining an association
EP4174678A1 (en) Cloud analysis scenario-based hybrid query method and system, and storage medium
CN115982429A (zh) 一种基于流程控制的知识管理方法及系统
KR102419956B1 (ko) 정형 데이터에 대한 메타데이터 자동 생성 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 메타데이터 생성 장치
US20170364333A1 (en) System for automated code calculation and an automated code calculation method
US11971891B1 (en) Accessing siloed data across disparate locations via a unified metadata graph systems and methods
CN116010562B (zh) 一种基于多数据源的姓名匹配方法、装置、设备及介质
CN113641780B (zh) 搜索方法、系统、设备、存储介质和计算机程序产品
US11836176B2 (en) System and method for automatic profile segmentation using small text variations
US11783206B1 (en) Method and system for making binary predictions for a subject using historical data obtained from multiple subjects
CN113127642B (zh) 文档可控式自动分类方法、装置、设备及存储介质
US20220400159A1 (en) Merging data from various content domains to train a machine learning model to generate predictions for a specific content domain

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant