KR102265937B1 - 시퀀스데이터의 분석 방법 및 그 장치 - Google Patents

시퀀스데이터의 분석 방법 및 그 장치 Download PDF

Info

Publication number
KR102265937B1
KR102265937B1 KR1020200179928A KR20200179928A KR102265937B1 KR 102265937 B1 KR102265937 B1 KR 102265937B1 KR 1020200179928 A KR1020200179928 A KR 1020200179928A KR 20200179928 A KR20200179928 A KR 20200179928A KR 102265937 B1 KR102265937 B1 KR 102265937B1
Authority
KR
South Korea
Prior art keywords
data
sequence data
information
sequence
sequences
Prior art date
Application number
KR1020200179928A
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 KR1020200179928A priority Critical patent/KR102265937B1/ko
Application granted granted Critical
Publication of KR102265937B1 publication Critical patent/KR102265937B1/ko

Links

Images

Classifications

    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시 예는, 적어도 둘 이상의 정보를 포함하고 있는 시퀀스데이터(sequence data)를 수신하는 데이터수신단계; 상기 포함된 정보들의 수에 따라 다르게 설정된 데이터분리표시를 참조하여, 상기 시퀀스데이터를 적어도 둘 이상의 시퀀스로 분리하는 분리단계; 상기 분리된 시퀀스(divided sequence)들의 개별적인 길이를 기초로 하여, 분리된 시퀀스들의 각각에 포함된 정보들의 특성을 예측하는 특성예측단계; 및 상기 예측된 특성을 기초로 데이터베이스에서 변환정보를 검색하고, 상기 검색된 변환정보로 상기 분리된 시퀀스들을 변환시키는 변환단계;를 포함하는 시퀀스데이터의 분석 방법을 개시한다.

Description

시퀀스데이터의 분석 방법 및 그 장치 {Method for analyzing sequence data and apparatus thereof}
본 발명은 시퀀스데이터의 분석 방법 및 그 장치에 관한 것으로서, 보다 구체적으로는, 여러가지 정보를 일련의 이진수들로 표현하는 시퀀스데이터가 입력되고, 그 시퀀스데이터를 분석하기 위한 툴이 없을 때에 시퀀스데이터에 포함된 정보를 정확하게 추정하고, 시퀀스데이터에 포함된 정보들의 품질지수를 산출하기 위한 방법 및 그 장치에 관한 것이다.
정보통신기술의 발달에 따라서, 다양한 센서를 구비하고 있는 다기능 지능형 복합기를 사용하는 사용자들이 폭발적으로 늘어나고 있다. 특히, 스마트폰은 대표적인 다기능 지능형 복합기로서 종래에 필수적인 기능이었던 통화기능 뿐만 아니라 각종 편리기능을 사용자에게 제공하기 위한 센서를 내장하고 있으면서도, 동시에 사용자에게 극도로 높은 휴대성을 제공하는 특징이 있다. 스마트 기기의 급속한 발달과 폭발적인 수요는 통신체계의 개선을 유발하여 5세대(5G) 이동통신의 상용화를 이끌었으며, 현재 통신모듈이 내장된 전자기기에서 처리되는 데이터의 양은 과거에 처리되었던 데이터의 양의 수백에서 수천배에 달하고 있다.
위와 같은 상황에서, 많은 양의 데이터를 처리하는 현세대 프로세서는 통신모듈을 통해 수신한 미확인 데이터(unknown data)를 정확하게 분석하여, 미확인 데이터에 포함된 정보들을 제대로 추출할 필요가 있다. 데이터의 통신속도가 비약적으로 향상되었다 하더라도 무선통신시스템하에서의 데이터의 송수신속도는 유선 케이블로 연결된 장치간의 데이터의 처리속도를 추월할 수 없기 때문에, 데이터 자체에 크랙(crack)이 발생되어 복구가 불가능한게 아니라 단지 라벨링이나 변환 툴의 문제로 내용을 즉각적으로 확인할 수 없는 미확인 데이터를 정확하게 분석하는 방법은 어느 시대에도 필요하다.
대한민국 공개특허공보 제10-2008-0049659호 (2008.06.04 공개)
본 발명이 해결하고자 하는 기술적 과제는, 미확인 칼럼 데이터(column data)가 수신되었을 때, 이를 정확하게 분석하기 위한 방법 및 그 장치를 제공하는 데에 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 방법은, 적어도 둘 이상의 정보를 포함하고 있는 시퀀스데이터(sequence data)를 수신하는 데이터수신단계; 상기 포함된 정보들의 수에 따라 다르게 설정된 데이터분리표시를 참조하여, 상기 시퀀스데이터를 적어도 둘 이상의 시퀀스로 분리하는 분리단계; 상기 분리된 시퀀스(divided sequence)들의 개별적인 길이를 기초로 하여, 분리된 시퀀스들의 각각에 포함된 정보들의 특성을 예측하는 특성예측단계; 및 상기 예측된 특성을 기초로 데이터베이스에서 변환정보를 검색하고, 상기 검색된 변환정보로 상기 분리된 시퀀스들을 변환시키는 변환단계;를 포함한다.
상기 방법에 있어서, 상기 시퀀스데이터는, 복수의 행과 하나의 열로 구성된 테이블형 데이터(table type data)일 수 있다.
상기 방법에 있어서, 상기 데이터분리표시의 수는, 상기 시퀀스데이터에 포함되어 있는 정보들의 수보다 하나 더 적은 수일 수 있다.
상기 방법에 있어서, 상기 특성예측단계는, 상기 시퀀스데이터에서 동일한 데이터길이를 갖는 분리된 시퀀스가 관찰되는 빈도를 기초로 하여, 시퀀스데이터에서 주기적으로 검출되는 정보의 특성을 예측할 수 있다.
상기 방법에 있어서, 상기 시퀀스데이터에 포함되는 정보 중 일정한 범위를 초과하는 정보의 수를 검출하고, 상기 검출된 수를 기초로 시퀀스데이터의 전체품질지수를 산출하는 품질지수산출단계를 더 포함할 수 있다.
상기 방법에 있어서, 상기 시퀀스데이터는, 복수의 사람의 인적사항에 대한 정보일 수 있다.
상기 방법에 있어서, 상기 특성예측단계는, 상기 예측된 정보특성의 수에 따라서 시퀀스데이터를 적어도 두 개 이상의 클러스터로 구분하고, 상기 구분된 클러스터의 수가 기설정된 수보다 더 많은지 여부를 판단하고, 상기 변환단계는, 상기 구분된 클러스터의 수가 기설정된 수보다 더 많으면, 상기 검색된 변환정보를 상기 구분된 클러스터 중 일부에 대해서만 적용시킬 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 일 실시 예에 따른 장치는, 적어도 둘 이상의 정보를 포함하고 있는 시퀀스데이터(sequence data)를 수신하는 데이터수신부; 및 데이터처리부를 포함하는 시퀀스데이터의 분석 장치로서, 상기 데이터처리부는, 상기 포함된 정보들의 수에 따라 다르게 설정된 데이터분리표시를 참조하여, 상기 시퀀스데이터를 적어도 둘 이상의 시퀀스로 분리하고, 상기 분리된 시퀀스(divided sequence)들의 개별적인 길이를 기초로 하여, 분리된 시퀀스들의 각각에 포함된 정보들의 특성을 예측하고, 상기 예측된 특성을 기초로 데이터베이스에서 변환정보를 검색하고, 상기 검색된 변환정보로 상기 분리된 시퀀스들을 변환시키는 것을 특징으로 할 수 있다.
상기 장치에 있어서, 상기 시퀀스데이터는, 복수의 행과 하나의 열로 구성된 테이블형 데이터(table type data)일 수 있다.
상기 장치에 있어서, 상기 데이터분리표시의 수는, 상기 시퀀스데이터에 포함되어 있는 정보들의 수보다 하나 더 적은 수일 수 있다.
상기 장치에 있어서, 상기 데이터처리부는, 상기 시퀀스데이터에서 동일한 데이터길이를 갖는 분리된 시퀀스가 관찰되는 빈도를 기초로 하여, 시퀀스데이터에서 주기적으로 검출되는 정보의 특성을 예측할 수 있다.
상기 장치에 있어서, 상기 데이터처리부는, 시퀀스데이터에 포함되는 정보 중 일정한 범위를 초과하는 정보의 수를 검출하고, 상기 검출된 수를 기초로 시퀀스데이터의 전체품질지수를 산출할 수 있다.
상기 장치에 있어서, 상기 시퀀스데이터는, 복수의 사람의 인적사항에 대한 정보일 수 있다.
상기 장치에 있어서, 상기 데이터처리부는, 상기 예측된 정보특성의 수에 따라서 시퀀스데이터를 적어도 두 개 이상의 클러스터로 구분하고, 상기 구분된 클러스터의 수가 기설정된 수보다 더 많은지 여부를 판단하고, 상기 구분된 클러스터의 수가 기설정된 수보다 더 많으면, 상기 검색된 변환정보를 상기 구분된 클러스터 중 일부에 대해서만 적용시킬 수 있다.
본 발명의 일 실시 예는, 상기 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체를 제공할 수 있다.
전술한 실시 예 이외에도, 합리적인 해석에 따라서 본 발명의 기술적 구성을 모두 포함하는 것으로 해석된다면, 본 발명의 범주에 포함될 수 있다.
본 발명에 따르면, 시퀀스데이터를 분석하여 포함되어 있는 정보를 추출하고, 품질지수를 평가할 수 있다.
본 발명에 따르면, 데이터의 품질을 분석하고 데이터를 프로파일링하는 과정을 효과적으로 자동화할 수 있다.
본 발명에 따르면, 기존의 툴로는 처리할 수 없을 정도의 많은 양의 데이터에 대한 각종 분석 작업들을 완료할 수 있다.
도 1은 본 발명에 따른 방법이 구현되는 과정을 관념적으로 나타낸 개략도이다.
도 2는 본 발명에 따른 시스템의 일 예의 블록도를 도식적으로 나타낸 도면이다.
도 3은 본 발명에 따른 시퀀스데이터 분석장치의 다른 일 실시 예의 블록도를 도식적으로 나타낸 도면이다.
도 4는 본 발명에 따른 시퀀스데이터 분석방법의 일 예의 흐름도를 도시한 도면이다.
실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "…부", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명에 따른 방법이 구현되는 과정을 관념적으로 나타낸 개략도이다.
먼저, 분석대상이 되는 시퀀스데이터는 원시 데이터(raw data)로서 본 발명을 구현하는 시퀀스데이터 분석장치(100)에 입력된다(S1). 본 발명에서 시퀀스데이터는 일련의 이진수로 이루어진 데이터로서, 복수의 행과 적어도 하나 이상의 열로 이루어진 테이블형(table type) 데이터를 의미한다. 설명의 편의를 위해서, 시퀀스데이터 분석장치(100)에 입력되기 전의 시퀀스데이터를 원시데이터1(RAW1), 입력되고 나서 분석이 완료되기 전까지의 시퀀스데이터를 원시데이터2(RAW2), 시퀀스데이터 분석장치(100)에 의해서 분석이 완료된 데이터를 엔드데이터(END)로 각각 호칭하기로 한다.
이어서, 시퀀스데이터 분석장치(100)의 데이터 처리 프로세스에 의해서, 시퀀스데이터는 복수의 행과 단일 열로 구성된 데이터로 분리되고, 분리된 데이터는 데이터의 주기성 등을 기초로 하여 제2원시데이터로 가공처리된다(S2).
시퀀스데이터 분석장치(100)는 제2원시데이터에 대한 프로파일링(profiling)절차를 통해서 제2원시데이터로부터 엔드데이터를 획득할 수 있고, 추가적으로 엔드데이터에 대한 품질분석을 통해서 품질지수를 산출할 수 있다. 품질지수는 수치화된 값으로서, 그 값이 낮을 수록 양호한 품질의 데이터라는 것을 의미한다.
도 1에 도시된 시퀀스데이터 분석장치(100)의 기능을 요약하면, 시퀀스데이터 분석장치(100)는 미지의 원시데이터가 입력되었을 때, 해당 원시데이터를 일련의 절차에 따라 가공처리함으로써, 시퀀스데이터에 포함된 정보가 홍길동, 김철수, 이영란, 김이박 및 류영화의 이름, 나이, 신장, 혈액형, 직업에 대한 정보라는 것을 파악할 수 있는 장치라는 것이다.
전술한 실시 예는, 본 발명에 따른 시퀀스데이터 분석장치(100)의 기능을 알기 쉽게 설명한 것으로서, 실시 예에 따라서, 시퀀스데이터 분석장치(100)에 입력되는 시퀀스데이터의 양과 복잡성은 도 1에 도시된 것보다 더욱 더 늘어날 수 있음은 이 분야의 통상의 기술자에게 자명할 것이다. 또한, 본 발명에 따른 시퀀스데이터 분석장치(100)는 도 1에 도시된 프로세스보다 더 복잡하고 구체화된 프로세스를 통해 원시데이터로부터 엔드데이터를 획득할 수 있다.
도 2는 본 발명에 따른 시스템의 일 예의 블록도를 도식적으로 나타낸 도면이다.
도 2를 참조하면, 시퀀스데이터 분석장치(100)는 데이터수신부(110), 데이터베이스(130), 데이터처리부(150) 및 데이터출력부(170)를 포함하는 것을 알 수 있다.
도 2를 참조하면, 시퀀스데이터 분석장치(100)에 포함되는 데이터수신부(110), 데이터베이스(130), 데이터처리부(150) 및 데이터출력부(170)는 적어도 하나 이상의 프로세서(processor)에 해당하거나, 적어도 하나 이상의 프로세서를 포함할 수 있다. 이에 따라, 시퀀스데이터 분석장치(100)는 마이크로 프로세서나 범용 컴퓨터 시스템과 같은 다른 하드웨어 장치에 포함된 형태로 구동될 수 있다.
도 2에 도시된 시퀀스데이터 분석장치(100)는 본 발명의 실시 예의 특징을 나타내기 위한 구성요소들만을 부각시켜 도시한 것이다. 따라서, 도 2에 도시된 실시 예와 다른 실시 예에 의할 때에는, 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 이 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있을 것이다. 이하에서는, 도 2에 도시된 시퀀스데이터 분석장치(200)는 도 1에서 설명한 장치의 일 실시 예로 간주하고, 도 1에서 설명한 내용과 중복되는 설명은 생략하기로 한다.
데이터수신부(110)는 적어도 둘 이상의 정보를 포함하고 있는 시퀀스데이터를 수신한다. 여기서, 시퀀스데이터는 복수의 행(row)과 하나의 열(column)으로 구성된 테이블형 데이터를 의미하고, 실시 예에 따라서, 복수의 행과 복수의 열로 구성된 데이터를 전처리(pre-processing)하여 획득된 복수의 행과 단일 열로 구성된 데이터일 수도 있다.
데이터베이스(130)는 데이터수신부(110)가 수신한 시퀀스데이터를 저장한다. 또한, 데이터베이스(130)는 후술하는 데이터처리부(150)가 시퀀스데이터를 분리하고 분석하기 위한 분석모델의 로직(logic) 및 파라미터(parameter)를 저장하고 있다가 데이터처리부(150)로부터 호출을 받아서 해당 정보를 리턴할 수 있다.
데이터베이스(130)는 비휘발성 메모리 외에 캐시메모리(cache memory)를 더 포함할 수 있고, 후술하는 데이터처리부(150)에 의해서 자주 호출되는 데이터는 캐시메모리에 저장되어 시퀀스데이터 분석장치(100)의 데이터 처리속도가 전체적으로 향상되도록 운용될 수 있다.
데이터처리부(150)는 시퀀스데이터에 포함된 정보들의 수에 따라 다르게 설정된 데이터분리표시를 참조하여, 시퀀스데이터를 적어도 둘 이상의 시퀀스로 분리한다.
시퀀스데이터 시퀀스
분리처리 후
===>
분리된 시퀀스1 분리된 시퀀스2 분리된 시퀀스3
row1 10101000110 10101000110
row2 10100 10100
row3 0001 0001
표 1은 시퀀스데이터가 둘 이상의 시퀀스로 분리되는 과정을 설명하기 위한 표이다. 표 1을 참조하면, 3개의 열과 1개의 열로 구성된 데이터 10101000110101000001가 3개의 분리된 시퀀스로 분리된 것을 알 수 있다. 데이터처리부(150)는 열 방향으로 길게 늘어선 시퀀스데이터를 구분하는 행을 데이터분리표시로 간주하여, 3개의 행으로 구성된 시퀀스데이터를 3개의 분리된 시퀀스(divided sequence)로 분리할 수 있다. 이때, 데이터처리부(150)가 인식하는 데이터분리표시의 수는 시퀀스데이터에 포함되어 있는 정보들의 수보다 하나 더 적은 수인 2개가 된다. 표 1에서 분리된 시퀀스1 내지 분리된 시퀀스3에 포함되는 정보는 서로 독립적인 정보로 이해될 수 있다.
이하에서는, 특별히 한정하지 않는 한 시퀀스데이터는 데이터수신부(110)에 수신된 이후에 데이터처리부(150)에 의해 분리되지 않아서 원래 길이를 유지하고 있는 데이터를 의미하고, 분리된 시퀀스는 데이터처리부(150)에 의해 분리되어 원시데이터보다 더 짧은 길이의 데이터를 의미하는 것으로 간주한다.
표 1은 본 발명에서 시퀀스데이터가 분리되는 과정을 용이하게 설명하기 위한 일 예를 설명한 것으로서, 본 발명이 실제로 구현되는 과정에서는, 표 1에서 설명한 시퀀스데이터보다 더 길고 복잡한 데이터가 처리대상이 될 수 있으며, 데이터를 표현하는 방식에 대해서도 특별히 한정하고 있지 않으므로, 이진수가 아니라 다른 진법(8진법, 10진법 또는 16진법)에 따른 데이터가 처리될 수도 있다.
이어서, 데이터처리부(150)는 분리된 시퀀스들의 개별적인 길이를 기초로 하여, 분리된 시퀀스들의 각각에 포함된 정보들의 특성을 예측한다. 예를 들어, 이진수로 표현된 분리된 시퀀스를 10진법의 수로 변환시 130~210 사이의 수로 변환될 경우, 그 분리된 시퀀스는 사람의 신장을 cm단위로 표현한 데이터로 간주될 수 있다. 데이터처리부(150)는 분리된 시퀀스의 전후데이터를 모두 포함시켜서 연산을 수행하며, 사람의 이름, 사람의 신장, 사람의 나이, 사람의 몸무게 등, 인적사항에 대한 정보가 나열되는 것으로 파악되면, 1차적으로 판단한 정보(사람의 신장)가 옳다고 판단하고 그 다음 데이터들을 처리하게 된다.
데이터처리부(150)는 분리된 시퀀스들이 각각 어떠한 정보를 포함하고 있는지 정확하게 추정하기 위해서 참조데이터(reference data)를 미리 저장하고 있다. 참조데이터는 데이터처리부(150)가 분리된 시퀀스들과의 비교를 위해서 미리 설정되어 있는 데이터로서, 사전(dictionary)처럼 분리된 시퀀스와의 일치여부를 통해서 분리된 시퀀스가 어떠한 정보를 담고 있는지 판단하기 위한 휴리스틱 룰(heuristic rule)의 일종이다.
선택적 일 실시 예로서, 데이터처리부(150)는 시퀀스데이터에서 동일한 데이터길이를 갖는 분리된 시퀀스가 관찰되는 빈도를 기초로 하여, 시퀀스데이터에서 주기적으로 검출되는 정보의 특성을 예측할 수 있다. 본 선택적 일 실시 예는, 전술한 데이터처리부(150)의 기능을 확장하여 설명한 것으로서, 분리된 시퀀스들의 개별적인 길이는 분리된 시퀀스에 포함된 정보의 특성을 예측할 수 있게 하고, 분리된 시퀀스들의 개별적인 길이가 일정한 주기로 관측되면, 데이터처리부(150)는 그 주기성을 기초로 분리된 시퀀스에 포함된 정보의 특성을 더 정확하게 판단할 수 있다.
분리된 시퀀스 실제 정보 주기번호
row1 1010100010010 A의 성명 1
row2 1010010 A의 생년월일 1
row3 1000 A의 연령 1
row4 0010100101010 B의 성명 2
row5 1110010 B의 생년월일 2
row6 1001 B의 연령 2
표 2는 데이터처리부(150)가 시퀀스데이터에서 주기적으로 검출되는 정보의 특성을 예측하는 실시 예를 설명하기 위한 표이다. 표 2를 참조하면, 행 별로 시퀀스데이터를 분리할 경우, 6개의 분리된 시퀀스가 생성되고, 13자리의 이진수로 표현되는 정보는 특정인의 성명, 7자리의 이진수로 표현되는 정보는 특정인의 생년월일, 4자리의 이진수로 표현되는 정보는 특정인의 연령인 것을 알 수 있다. 데이터처리부(150)는 13자리의 이진수 형태가 2회 관찰되고, 13자리의 이진수 형태 이후에 7자리의 이진수 및 4자리의 이진수가 이어서 출현하는 것을 기초로 하여, 시퀀스데이터에는 총 2인의 정보가 포함되어 있으며, 각 사람의 정보에는 성명, 생년월일, 연령이 포함되어 있다는 것을 판단할 수 있다.
전술한 것처럼, 데이터처리부(150)가 분리된 시퀀스에 저장된 정보들을 판단하기 위해서, 데이터처리부(150)에는 그에 대응되는 참조데이터가 저장되어 있다. 참조데이터는 사람의 성명, 나이, 주소, 혈액형과 같은 인적정보를 그룹형태로 포함될 수 있을 뿐만 아니라, 공산품의 제조번호, 제조날짜, 일련번호, 제조사정보와 같은 집합정보를 폭넓게 포함할 수 있다. 즉, 데이터처리부(150)는 분리된 시퀀스의 길이(length), 값(value), 주기적특성(periodic configuration) 등으로 미확인 시퀀스데이터에 포함된 정보의 의미를 정확하게 추정할 수 있다.
다른 선택적 일 실시 예로서, 데이터처리부(150)는 시퀀스데이터에 포함되는 정보 중 일정한 범위를 초과하는 정보의 수를 검출하고, 검출된 수를 기초로 시퀀스데이터의 전체품질지수를 산출할 수도 있다. 예를 들어, 데이터처리부(150)가 시퀀스데이터를 분리하고, 분리된 시퀀스들을 분석처리하여, 200명의 인적사항(성명, 나이, 혈액형, 직업)에 대한 정보를 파악하고, 그 중 특정인 Z의 연령이 170살인 것으로 파악했다면, 현대의학을 기준으로 170살인 사람은 생존해 있을 수 없으므로, 해당 정보는 NULL로 취급되고, 시퀀스데이터의 품질지수를 산출하는 데에 영향을 줄 수 있다.
데이터처리부(150)는 분리된 시퀀스들의 각가에 포함된 정보들의 특성을 예측한 다음, 예측된 특성을 기초로 데이터베이스(130)에서 변환정보(transformation information)를 검색하고, 검색된 변환정보로 분리된 시퀀스들을 변환시킨다. 여기서, 변환정보는 분리된 시퀀스가 어느 특성인지 예측되었을 때, 그 값을 정상적으로 복원하는 디코딩(decoding)처리를 하기 위해 필요한 정보를 의미한다.
예를 들어, 이진수로 표현된 0001이라는 분리된 시퀀스가 존재하고, 그 분리된 시퀀스가 가리키는 정보가 성인의 나이라면, 0001은 이진수의 해석상 1세를 의미하게 되므로, 변환정보를 통해 변환시켜서 20세 이상의 성인의 나이로 변환시켜야 하며, 이때 필요한 정보가 변환정보가 된다. 그 외에, 본 발명에서 변환정보는 예측된 특성의 정보를 적절한 범위로 수렴하도록 돕는 기능뿐만 아니라, 데이터의 신뢰성 및 보안성을 유지하는 기능을 포함하게 된다.
전술한 것과 또 다른 선택적 일 실시 예로서, 데이터처리부(150)는 예측된 정보특성의 수에 따라서 시퀀스데이터를 적어도 두 개 이상의 클러스터(cluster)로 구분하고, 구분된 클러스터의 수가 기설정된 수보다 더 많은지 여부를 판단한 다음, 구분된 클러스터의 수가 기설정된 수보다 더 많으면, 변환정보를 구분된 클러스터 중 일부에 대해서만 적용시킬 수 있다.
본 선택적 일 실시 예는, 데이터처리부(150)의 빠른 데이터 처리를 위한 샘플링(sampling) 기법을 구체적으로 설명한 것으로서, 시퀀스데이터의 길이가 지나치게 긴 경우, 1차적으로 정보특성에 대한 클러스터링을 하고, 2차적으로 클러스터링된 정보 중에서 일부만 변환정보를 통해 변환시켜서, 시퀀스데이터에 포함된 정보의 일부만 빠르게 획득하기 위한 방법을 설명한다.
분리된 시퀀스 실제정보 주기번호 클러스터 번호
row1 1010101010 A의 제조번호 1 1
row2 10101010 A의 제조날짜 1
row3 100 A의 제조사 1
row4 00111 A의 유효기간 1
row5 0101010100 B의 제조번호 2 2
row6 00000001 B의 제조날짜 2
row7 101 B의 제조사 2
row8 11100 B의 유효기간 2
row9 1010101000 C의 제조번호 3 3
row10 01111111 C의 제조날짜 3
row11 111 C의 제조사 3
row12 11111 C의 유효기간 3
row13 1111111111 D의 제조번호 4 4
row14 11111110 D의 제조날짜 4
row15 001 D의 제조사 4
row16 00100 D의 유효기간 4
표 3은 데이터처리부(150)가 수행하는 클러스터링을 설명하기 위한 표이다. 표 3을 참조하면, 데이터처리부(150)에 의해 처리되는 시퀀스데이터는 총 16개의 분리된 시퀀스로 분리될 수 있으며, 분리된 시퀀스의 길이와 반복되는 정보특성을 기초로 하여 총 4개의 클러스터가 생성될 수 있다는 것을 알 수 있다. 데이터처리부(150)는 4개의 클러스터 중에서 무작위로 선택된 클러스터2, 클러스터3에 대해서만 변환정보를 적용함으로써, 결과적으로 B, C에 대한 제조번호, 제조날짜, 유효기간, 제조사에 대한 정보만 본 발명에 따른 시퀀스데이터 분석장치(100)로부터 출력될 수 있다.
표 3은 데이터처리부(150)가 수행하는 클러스터링처리에 대한 일 실시 예이므로, 본 발명이 실제로 구현되는 과정에서는 4개의 클러스터 중에서 가장 순서가 앞서는 클러스터1, 클러스터2가 선택될 수도 있고, 표 3에서 설명한 것과 다른 방식으로 클러스터가 구성되고, 클러스터들이 선택될 수 있다. 분리된 시퀀스들로부터 클러스터가 생성되는 과정 및 클러스터를 생성하기 위한 기준은 데이터처리부(150) 또는 데이터베이스(130)에 저장되며, 합리적인 결과를 도출하기 위해서, 권한이 있는 사용자에 의해 변경될 수 있다.
데이터출력부(170)는 데이터처리부(150)가 처리한 결과를 사용자가 알아보기 쉽게 사용자의 단말에 출력하는 기능을 수행한다. 데이터출력부(170)에 의해 출력되는 값들에는 시퀀스데이터에 포함된 정보뿐만 아니라, 시퀀스데이터의 전체품질지수가 포함될 수 있다는 것은 이 분야의 통상의 지식을 가진 자에게 자명할 것이다.
도 3은 본 발명에 따른 시퀀스데이터 분석장치의 다른 일 실시 예의 블록도를 도식적으로 나타낸 도면이다.
도 3에 도시되어 있는 시퀀스데이터 분석장치(200)는 도 2에서 설명한 시퀀스데이터 분석장치(100)를 확장한 것으로서, 이하에서는, 도 2에서 이미 설명한 내용과 중복된 내용은 생략하기로 하고, 도 2에서 설명한 내용을 참조하여 설명하기로 한다. 또한, 도 3의 데이터수신부(210)는 도 2의 데이터수신부(110)와 동일한 기능을 수행하고, 도 3의 타입추정부(220), 샘플링처리부(230), 분포추정부(240), 예외값추출부(250), 품질지표생성부(260) 및 품질지표요약부(270)는 도 2의 데이터처리부(150)에 물리적 또는 논리적으로 포함되는 하위모듈로 간주한다. 위와 같은 맥락으로, 도 3의 결과출력부(280)는 도 2의 데이터출력부(170)와 동일한 모듈이다.
데이터수신부(210)는 적어도 둘 이상의 정보를 포함하는 시퀀스데이터를 외부의 단말로부터 수신하고 저장한다. 도 3의 데이터수신부(210)는 도 2의 데이터베이스(130)의 기능을 더 포함할 수 있다.
타입추정부(220)는 데이터수신부(210)로부터 시퀀스데이터를 전달받아서, 데이터분리표시를 기초로 분리된 시퀀스로 분리하고, 분리된 시퀀스가 어떠한 타입의 정보를 갖고 있는지 추정한다. 타입추정부(220)는 분리된 시퀀스가 어떠한 타입의 정보를 갖고 있는지 추정할 때, 참조데이터를 참조할 수 있다는 것은 이미 설명한 바 있다.
구분 본 발명에서 타입추정부의 동작
숫자 연도, 나이, 온도 등의 고유한 범위에서 인식되는 수치를 판단
연도 - YEAR = YYYY
나이 - AGE = NNN (0~130)
온도 - TEMP = -NN (-20 ~ 50)
문자열 한글을 포함한 문자열, 대소문자 구분 및 사람이 인식하는 패턴 고려
아이디 - 대소문자가 섞인 문자열
전형적 패턴 날짜, 시간, 전화번호, 이메일, 카드번호, 주민번호, 우편번호 등의 매우 다양한 패턴의 값들
비전형 패턴 사람이름, 주소 등 전형적인 패턴 프로파일링에서 지정하지 않는 것들
식별
이진패턴 가/부, 여/부, Yes/No, Y/N, True/False, T/F, 0/1, Male/Female, M/F, O/X 등의 이진 패턴을 식별
표 4는 타입추정부(220)가 분리된 시퀀스에 포함된 정보의 타입을 추정하는 데에 이용하는 정보를 표로 나타낸 것이다. 본 발명에서, 타입추정부(220)는 분리된 시퀀스에 포함된 표층적인 패턴보다 특정 업무나 도메인에 맞는 형태로 구분한다.
본 발명은 데이터(테이블)의 특정 칼럼의 패턴을 식별하는 방식을 사용한다. 타입추정부(220)가 패턴을 식별하는 방식이 특정 셀 속에 들어 있는 개별 데이터의 표층적인 패턴(문자/숫자/특수문자, 자릿수)만으로 구분하지 않고, 그와 더불어 해당 칼럼 전체의 데이터 분포를 파악하고, 분포에 따라 조건적으로 패턴을 다르게 판단한다. 다시 말해, 타입추정부(220)는 표층 패턴이 숫자 네 개인 NNNN이라고 판단하는 데에 그치지 않고, 해당 데이터 칼럼에 들어 있는 값들의 분포가 연도로 표현되는 숫자 범위라는 것이 밝혀지면, YEAR(YYYY) 라는 사실까지 밝혀 내거나, 숫자 패턴 NN 이면, 그것이 온도 패턴 TEMP(NN)인지, 나이 AGE(NN)인지, 몸무게 WEIGHT(NN)인지 파악한다.
숫자 패턴의 경우, 특정셀 한 칸(1단위의 분리된 시퀀스를 의미)에 적혀 있는 35라는 숫자 하나만으로는 그게 나이인지, 몸무게인지, 온도인지 알 수 없지만, 만약 같은 칼럼 속에 -15 라는 숫자가 들어 있다면, 그 숫자는 몸무게나 나이는 아님을 알 수 있다. 또한, 해당 숫자의 분포가 0에서 60근처까지는 비교적 넓게 분포하고 있고(정규분포), 60이후부터 110정도까지는 빈도가 현저히 줄어드는 식이고, 130이상은 전혀 없다면, 그것은 나이일 것이고, 만약 그 칼럼의 숫자 분포가 20 이하는 적고 30~80 사이가 가장 많으며, 150 넘는 숫자도 발견된다면, 그것은 몸무게일 가능성이 높은 숫자이다.
이어서, 본 발명의 분포추정부(240)는 특정 칼럼에 들어 있는 데이터의 패턴을 인식할 때, 한 셀 내의 값 하나만을 이용해서 판단하는 것이 아니라, 해당 칼럼 전체의 분포를 이용해서 판단하고, 또한, 특정 패턴의 종류에 따라서 어떠한 분포적 특징이 있는지를 기술한 별도의 분포적 특징을 포함하는 참조지식(참고데이터)을 활용하여 패턴을 인지할 수 있다.
모듈의 연산 명칭 프로세스 결과데이터
기술통계량 (Descriptive Statistics) 산출 해당 칼럼의 값들 전체에 대한 각종 기술통계량을 산출 평균, 표준편차, 카운트, UNIQUE 카운트, NULL카운트, 최대값, 최소값, 중위값(median), 4분위값(2Q, 3Q)
분위별 빈도 산출 칼럼 값들을 소팅하여, 2분위, 4분위, 10분위, 100분위로 나눈 다음, 각 분위별 건수를 카운트 분위별 빈도(건수)
2분위 {건수, 건수}
4분위 {건수, 건수, 건수, 건수}
10분위 {건수, … 건수}
100분위 {건수, …, 건수}
군집화를 통한 분포 산출 군집화(클러스터링)을 하되, 클러스터링의 개수 K값을 자동으로 선택. (Elbow Method로 자동 K값 선택) 선택된 K값에 대한 클러스터 센터 및 각 클러스터별 평균, 표준편차
문자열의 경우, 길이별 패턴 분포 계산 글자수를 기준으로 도수를 구하고, 계산된 도수 내에서의 기술 통계량을 계산 평균길이, 최대길이, 최저길이, 길이의 표준편차, 길이의 중위값, 길이의 4분위값 (2Q, 3Q)
유일성 여부 (유니크함) 파악 해당 칼럼의 데이터가 모두 서로 다른 값이어서, 해당 칼럼이 중복이 발생하면 안되는 지를 파악하기 위함. 중복 값의 비율
중복값의 비율이 특정 비율(예: 0.1%)미만일 경우, 해당 값은 중복이 안되는 값 또는 중복이 되면 안되는 특성을 가졌다고 할 수 있다.
표 5는 분포추정부(240)가 칼럼 데이터의 분포상의 특징을 획득하기 위한 처리내용을 표로 나타낸 것이다. 분포추정부(240)는 표 5과 같은 처리를 통해서 칼럼 데이터의 분포상의 특징을 수행하여 1차적으로 획득된 데이터들의 타입을 추가적으로 보완할 수 있다.
분포추정부(240)가 특정 칼럼의 분포상의 특징을 파악하기 위해서, 필요한 작업은 해당 칼럼의 데이터 타입(유형)을 정확하게 파악하는 것이다. 특정 칼럼의 데이터 타입이 파악되지 않는 경우, 데이터 타입을 해당 데이터 칼럼의 값들의 분포를 이용해서 추정한다. 데이터 타입은 숫자-정수, 숫자-부동소수점, 문자열로 나뉘고, 각각의 타입에 따라서 몇가지 세부 분류를 추가적으로 처리할 수 있다.
데이터타입 추정 알고리즘
숫자-정수 정수 (Number, Long, Int)
숫자-부동소수점 부동 소수점 숫자(Float, Double)
숫자-과학식 10의 N제곱 형태의 숫자로 표현된 데이터
문자열(N) 특정 길이 이하의 문자열
날짜 날짜/시간 패턴
표 6은 타입추정부(220)가 사용하는 추정 알고리즘을 나타낸 표이다.
전술한 타입추정부(220) 및 분포추정부(240)가 데이터를 순차적으로 처리하는 과정에서, 시퀀스데이터의 길이가 지나치게 길거나, 기설정된 길이를 초과할 경우, 샘플링처리부(230)는 타입추정부(220)에 의해서 1차적인 정리가 완료된 데이터를 전달받아서 샘플링처리를 수행한다.
샘플링 여부 샘플링 처리 방식
총 건수 초과 총 건수가 특정 최대 건수 임계치가 넘어갈 경우, 샘플링에 의한 추정 작업을 시도. (예: 임계치 100만건)
사용자 지정 사용자가 프로파일링 및 품질 분석을 수행할 때, 샘플링 방식을 사용하라고 지정한 경우 다음과 같은 기준으로 샘플링을 수행.
샘플링을 수행하기 위해서는, 전체 건수에 대한 추정이 필요.
데이터 종류별로, 정확한 전체 건수를 쉽게 구할 수 있는 경우와 없는 경우가 있는데, 쉽게 구할 수 없는 경우는, 현실적으로 가능한 최대 수치를 임의로 선택.

가. 처음 나온 상위 N 개
나. 특정 퍼센트 샘플링 (예: 5% 샘플링)
사용자가 퍼센트를 지정하거나, 전체 건수 추정이 천만건 이상 넘어갈 경우, 총건수 초과가 일어나지 않는 범위 내에서 % 지정
샘플 최대 건수 샘플링의 최대 건수도 특정한 임계치를 따름. (예: 10만)
표 7은 샘플링처리부(230)가 수행하는 샘플링 알고리즘을 나타낸 것이다. 표 7에서 설명한 샘플링 프로세스는 시퀀스데이터의 길이나 기타 사용자의 입력에 따라서 생략될 수도 있다.
예외값추출부(250)는 타입추정부(220) 내지 분포추정부(240)에서 데이터를 처리하는 과정에서 샘플링된 데이터나 예외값으로 처리된 데이터를 추출하여 시퀀스데이터에 포함된 정상데이터의 비율을 극대화시킨다.
품질지표생성부(260)는 타입추정부(220) 내지 예외값추출부(250)에서 처리된 결과를 기초로 하여 시퀀스데이터의 품질지표를 생성한다.
품질 지표 지표에 대한 설명 및 측정 프로세스
결측률 특정 칼럼에 값이 없는 경우를 카운트하고 산출한 비율
타입불일치율 특정 칼럼의 값이 해당 칼럼의 타입과 불일치하는 비율
(타입이 알려져 있지 않을 경우, 타입 추정 로직을 통해서 타입을 정하고, 추정된 타입을 기준으로 계산.)
패턴불일치율 해당 칼럼의 값들이 수치, 날짜, 금액, 텍스트, 코드, 퍼센트 등의 특정 패턴을 따르는 것으로 파악이 되었는데, 그 패턴을 따르지 않는 불일치하는 값의 비율
이상치비율 특정 필드내의 값들 중에서, 정상 범위 내에 들어오지 않는 이상한 값들의 비율.
수치형 데이터일 경우, 3-표준편차 이상 벗어나는 값들을 카운트하고, 문자열인 경우, 길이가 3-표준편차를 넘어가거나, 자동 클러스터링에서 예외로 판단된 값들이 얼마나 있는지 그 비율을 측정.
유일성위배율 유일성이 있는 칼럼이라고 판단된 경우에, 유일성이 위배된 경우의 카운트.
범위위배율 해당 칼럼의 최하, 최상 값의 범위가 파악된 경우 해당 범위를 위배한 경우가 얼마나 있는지를 측정.
일관성위배율 해당 칼럼의 패턴의 일관성을 위배한 값이 몇 개나 있는지를 파악.
이진값위배율 이진 값으로 알려진 칼럼의 경우, 해당 칼럼 속에 잘못된 이진값 패턴이 들어 있는 비율을 측정. (예: Yes/No 가 들어 있어야 할 필드에, Y/N 이 있는 경우)
표 8은 품질지표생성부(260)가 생성하는 품질지표를 설명하는 표이다. 품질지표생성부(260)가 생성하는 품질지표는 8개이며, 8개의 품질지표에 각각 가중치를 설정하고 합산하여 전체품질지수를 산출할 수도 있다. 품질지표생성부(260)가 생성하는 품질지표 및 전체품질지수는 낮을수록 품질이 높은 것으로 본다.
품질지표요약부(270)는 품질지표생성부(260)가 생성한 품질지표를 이용하여 칼럼별로 요약된 정보를 산출하는 기능을 수행한다.
지표 요약 요약 프로세스
저품질 칼럼 선택 품질 수준이 가장 불량한 칼럼을 선택해서 해당 칼럼이 테이블 전체의 품질을 대변하는 것으로 간주.
평균지표 각 칼럼별 품질 지표의 평균 또는 중위값을 선택해서 테이블 전체의 품질을 대변하는 것으로 간주.
표 9는 품질지표요약부(270)가 처리하는 프로세스를 표로 나타낸 것이다. 품질지표요약부(270)는 1차적으로 산출된 품질지표들을 정리하여 시퀀스데이터에 대한 요약정보를 산출하고, 산출된 요약정보가 후술하는 결과출력부(280)를 통해 출력되도록 한다.
결과적으로 본 발명은 테이블형 데이터인 시퀀스데이터에 대해서, 각 칼럼별로 데이터 패턴 자동식별하여 그 결과를 출력하고, 데이터 타입을 자동으로 식별하여 그 결과를 출력하며, 데이터 값의 분포를 파악하고 그 결과를 출력하고, 예외나 오류의 데이터를 식별해서 그 목록을 출력하며, 품질 지표를 측정하고 그 결과를 출력하는 것을 모두 취합함으로써, 데이터를 프로파일링하고 품질 수준을 측정하는 일련의 절차를 수행하게 된다.
하나의 테이블형 데이터에 복수개의 칼럼 데이터가 존재하므로, 위와 같은 프로파일링 연산은 칼럼별로 반복적으로 수행된다. 결과출력부(280)가 다수의 칼럼의 정보를 하나로 취합하여, 테이블 전체의 프로파일링 결과를 요약해서, 제시해야 하는 경우에 다시 선택의 여지가 발생하는데, 역시 일정한 수준의 휴리스틱 룰을 적용하여 선택을 자동화하는 것이 필요하며, 본 발명은 표 8 및 표 9를 통해 해당 프로세스를 제시한 바 있다.
도 4는 본 발명에 따른 시퀀스데이터 분석방법의 일 예의 흐름도를 도시한 도면이다.
도 4는 도 2 및 도 3에서 설명한 시퀀스데이터 분석장치를 통해 구현될 수 있으므로, 이하에서는, 도 2 및 도 3에서 설명한 내용과 중복된 설명은 생략하기로 하고, 도 2 및 도 3을 참조하여 설명하기로 한다.
데이터수신부(110)는 미확인 칼럼 데이터를 수신하여 데이터베이스(130)에 저장한다(S410).
데이터처리부(150)는 수신된 데이터를 분류하고 처리한다(S430). 단계 S430에서 데이터처리부(150)가 수행하는 데이터처리는 데이터처리부(150)에 포함되어 있는 타입추정부(220), 샘플링처리부(230), 분포추정부(240), 예외값추출부(250), 품질지표생성부(260) 및 품질지표요약부(270)에 의해 수행될 수 있다.
데이터출력부(170)는 라벨링된 데이터 및 품질평가결과를 출력한다(S450).
본 발명에 따르면, 시퀀스데이터를 분석하여 포함되어 있는 정보를 추출하고, 품질지수를 평가할 수 있다. 또한, 본 발명에 따르면, 데이터의 품질을 분석하고 데이터를 프로파일링하는 과정을 효과적으로 자동화할 수 있고, 기존의 툴로는 처리할 수 없을 정도의 많은 양의 데이터에 대한 각종 분석 작업들을 효율적으로 완료할 수 있다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
100, 200: 시퀀스데이터 분석장치
110: 데이터수신부
130: 데이터베이스
150: 데이터처리부
170: 데이터출력부
210: 데이터수신부
220: 타입추정부
230: 샘플링처리부
240: 분포추정부
250: 예외값추출부
260: 품질지표생성부
270: 품질지표요약부
280: 결과출력부

Claims (15)

  1. 적어도 둘 이상의 정보를 포함하고 있는 시퀀스데이터(sequence data)를 수신하는 데이터수신단계;
    상기 포함된 정보들의 수에 따라 다르게 설정된 데이터분리표시를 참조하여, 상기 시퀀스데이터를 적어도 둘 이상의 시퀀스로 분리하는 분리단계;
    상기 분리된 시퀀스(divided sequence)들의 개별적인 길이를 기초로 하여, 분리된 시퀀스들의 각각에 포함된 정보들의 특성을 예측하는 특성예측단계; 및
    상기 예측된 특성을 기초로 데이터베이스에서 변환정보를 검색하고, 상기 검색된 변환정보로 상기 분리된 시퀀스들을 변환시키는 변환단계;를 포함하고,
    상기 특성예측단계는,
    상기 예측된 정보특성의 수에 따라서 시퀀스데이터를 적어도 두 개 이상의 클러스터로 구분하고, 상기 구분된 클러스터의 수가 기설정된 수보다 더 많은지 여부를 판단하고,
    상기 변환단계는,
    상기 구분된 클러스터의 수가 기설정된 수보다 더 많으면, 상기 검색된 변환정보를 상기 구분된 클러스터 중 일부에 대해서만 적용시키는 시퀀스데이터의 분석 방법.
  2. 제1항에 있어서,
    상기 시퀀스데이터는,
    복수의 행과 하나의 열로 구성된 테이블형 데이터(table type data)인, 시퀀스데이터의 분석 방법.
  3. 제1항에 있어서,
    상기 데이터분리표시의 수는,
    상기 시퀀스데이터에 포함되어 있는 정보들의 수보다 하나 더 적은 수인, 시퀀스데이터의 분석 방법.
  4. 제1항에 있어서,
    상기 특성예측단계는,
    상기 시퀀스데이터에서 동일한 데이터길이를 갖는 분리된 시퀀스가 관찰되는 빈도를 기초로 하여, 시퀀스데이터에서 주기적으로 검출되는 정보의 특성을 예측하는, 시퀀스데이터의 분석 방법.
  5. 제1항에 있어서,
    상기 방법은,
    상기 시퀀스데이터에 포함되는 정보 중 일정한 범위를 초과하는 정보의 수를 검출하고, 상기 검출된 수를 기초로 시퀀스데이터의 전체품질지수를 산출하는 품질지수산출단계를 더 포함하는, 시퀀스데이터의 분석 방법.
  6. 제1항에 있어서,
    상기 시퀀스데이터는, 복수의 사람의 인적사항에 대한 정보인, 시퀀스데이터의 분석 방법.
  7. 삭제
  8. 제1항 내지 제6항 중 어느 한 항에 따른 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체.
  9. 적어도 둘 이상의 정보를 포함하고 있는 시퀀스데이터(sequence data)를 수신하는 데이터수신부; 및 데이터처리부를 포함하는 시퀀스데이터의 분석 장치로서,
    상기 데이터처리부는,
    상기 포함된 정보들의 수에 따라 다르게 설정된 데이터분리표시를 참조하여, 상기 시퀀스데이터를 적어도 둘 이상의 시퀀스로 분리하고,
    상기 분리된 시퀀스(divided sequence)들의 개별적인 길이를 기초로 하여, 분리된 시퀀스들의 각각에 포함된 정보들의 특성을 예측하고,
    상기 예측된 특성을 기초로 데이터베이스에서 변환정보를 검색하고, 상기 검색된 변환정보로 상기 분리된 시퀀스들을 변환시키고,
    상기 예측된 정보특성의 수에 따라서 시퀀스데이터를 적어도 두 개 이상의 클러스터로 구분하고, 상기 구분된 클러스터의 수가 기설정된 수보다 더 많은지 여부를 판단하고,
    상기 구분된 클러스터의 수가 기설정된 수보다 더 많으면, 상기 검색된 변환정보를 상기 구분된 클러스터 중 일부에 대해서만 적용시키는, 시퀀스데이터의 분석 장치.
  10. 제9항에 있어서,
    상기 시퀀스데이터는,
    복수의 행과 하나의 열로 구성된 테이블형 데이터(table type data)인, 시퀀스데이터의 분석 장치.
  11. 제9항에 있어서,
    상기 데이터분리표시의 수는,
    상기 시퀀스데이터에 포함되어 있는 정보들의 수보다 하나 더 적은 수인, 시퀀스데이터의 분석 장치.
  12. 제9항에 있어서,
    상기 데이터처리부는,
    상기 시퀀스데이터에서 동일한 데이터길이를 갖는 분리된 시퀀스가 관찰되는 빈도를 기초로 하여, 시퀀스데이터에서 주기적으로 검출되는 정보의 특성을 예측하는, 시퀀스데이터의 분석 장치.
  13. 제9항에 있어서,
    상기 데이터처리부는,
    상기 시퀀스데이터에 포함되는 정보 중 일정한 범위를 초과하는 정보의 수를 검출하고, 상기 검출된 수를 기초로 시퀀스데이터의 전체품질지수를 산출하는, 시퀀스데이터의 분석 장치.
  14. 제9항에 있어서,
    상기 시퀀스데이터는, 복수의 사람의 인적사항에 대한 정보인, 시퀀스데이터의 분석 장치.
  15. 삭제
KR1020200179928A 2020-12-21 2020-12-21 시퀀스데이터의 분석 방법 및 그 장치 KR102265937B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200179928A KR102265937B1 (ko) 2020-12-21 2020-12-21 시퀀스데이터의 분석 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200179928A KR102265937B1 (ko) 2020-12-21 2020-12-21 시퀀스데이터의 분석 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR102265937B1 true KR102265937B1 (ko) 2021-06-17

Family

ID=76604003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200179928A KR102265937B1 (ko) 2020-12-21 2020-12-21 시퀀스데이터의 분석 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102265937B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024029659A1 (ko) * 2022-08-01 2024-02-08 한국전자기술연구원 시계열 데이터의 품질 검증을 수행하는 전자장치 및 그 수행 방법

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05135102A (ja) * 1991-11-11 1993-06-01 Ricoh Co Ltd 文書検索方式
KR20000052498A (ko) * 1998-12-18 2000-08-25 가네꼬 히사시 개인 식별 방법, 개인 식별 장치, 및 기록 매체
JP2004206708A (ja) * 2002-12-18 2004-07-22 Ge Medical Systems Information Technologies Inc 二進データを解析する方法、システム及びコンピュータ製品
KR20080016532A (ko) * 2003-09-15 2008-02-21 아브 이니티오 소프트웨어 코포레이션 데이터 프로파일링
KR20080049659A (ko) 2006-11-30 2008-06-04 리서치 인 모션 리미티드 통신 시스템에서 전달되는 데이터의 비트 에러 레이트를추정하기 위한 장치 및 그 연관된 방법
KR20080091345A (ko) * 2006-01-26 2008-10-10 마이크로소프트 코포레이션 이진 코드를 분석하기 위한 방법 및 컴퓨터 시스템
KR20090056622A (ko) * 2007-11-30 2009-06-03 포스데이타 주식회사 바이너리 데이터 파일 분석 방법 및 장치와 그 방법을수행하기 위한 프로그램이 기록된 기록매체
JP2010176237A (ja) * 2009-01-28 2010-08-12 Nec Corp 文字コード自動判別システム、文字コード自動判別方法及び文字コード自動判別プログラム
KR20140064710A (ko) * 2012-09-21 2014-05-28 인텔 코오퍼레이션 이진 번역을 수행하기 위한 방법 및 시스템
JP2015197899A (ja) * 2014-04-03 2015-11-09 株式会社日立ハイテクノロジーズ 配列データ解析装置、dna解析システムおよび配列データ解析方法
JP2017516193A (ja) * 2014-03-21 2017-06-15 ピーティーシー インコーポレイテッド バイナリ動的restメッセージを使用したシステム及び方法
CN107315535A (zh) * 2016-04-27 2017-11-03 北京京东尚科信息技术有限公司 信息处理方法和装置
KR20180060497A (ko) * 2016-11-29 2018-06-07 한국전력공사 바이너리 코드 기반 임베디드 소프트웨어 취약점 분석 장치 및 그 방법

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05135102A (ja) * 1991-11-11 1993-06-01 Ricoh Co Ltd 文書検索方式
KR20000052498A (ko) * 1998-12-18 2000-08-25 가네꼬 히사시 개인 식별 방법, 개인 식별 장치, 및 기록 매체
JP2004206708A (ja) * 2002-12-18 2004-07-22 Ge Medical Systems Information Technologies Inc 二進データを解析する方法、システム及びコンピュータ製品
KR20080016532A (ko) * 2003-09-15 2008-02-21 아브 이니티오 소프트웨어 코포레이션 데이터 프로파일링
KR20080091345A (ko) * 2006-01-26 2008-10-10 마이크로소프트 코포레이션 이진 코드를 분석하기 위한 방법 및 컴퓨터 시스템
KR20080049659A (ko) 2006-11-30 2008-06-04 리서치 인 모션 리미티드 통신 시스템에서 전달되는 데이터의 비트 에러 레이트를추정하기 위한 장치 및 그 연관된 방법
KR20090056622A (ko) * 2007-11-30 2009-06-03 포스데이타 주식회사 바이너리 데이터 파일 분석 방법 및 장치와 그 방법을수행하기 위한 프로그램이 기록된 기록매체
JP2010176237A (ja) * 2009-01-28 2010-08-12 Nec Corp 文字コード自動判別システム、文字コード自動判別方法及び文字コード自動判別プログラム
KR20140064710A (ko) * 2012-09-21 2014-05-28 인텔 코오퍼레이션 이진 번역을 수행하기 위한 방법 및 시스템
JP2017516193A (ja) * 2014-03-21 2017-06-15 ピーティーシー インコーポレイテッド バイナリ動的restメッセージを使用したシステム及び方法
JP2015197899A (ja) * 2014-04-03 2015-11-09 株式会社日立ハイテクノロジーズ 配列データ解析装置、dna解析システムおよび配列データ解析方法
CN107315535A (zh) * 2016-04-27 2017-11-03 北京京东尚科信息技术有限公司 信息处理方法和装置
KR20180060497A (ko) * 2016-11-29 2018-06-07 한국전력공사 바이너리 코드 기반 임베디드 소프트웨어 취약점 분석 장치 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024029659A1 (ko) * 2022-08-01 2024-02-08 한국전자기술연구원 시계열 데이터의 품질 검증을 수행하는 전자장치 및 그 수행 방법

Similar Documents

Publication Publication Date Title
Deng et al. An improved fuzzy clustering method for text mining
CN108877880B (zh) 基于病历文本的病人相似性度量装置及方法
CN112541077B (zh) 一种用于电网用户服务评价的处理方法及系统
CN109933502B (zh) 电子装置、用户操作记录的处理方法和存储介质
US10877989B2 (en) Data conversion system and method of converting data
KR102265937B1 (ko) 시퀀스데이터의 분석 방법 및 그 장치
CN114398891B (zh) 基于日志关键词生成kpi曲线并标记波段特征的方法
CN114398898B (zh) 基于日志事件关系生成kpi曲线并标记波段特征的方法
CN115953123A (zh) 机器人自动化流程的生成方法、装置、设备及存储介质
CN112395881B (zh) 物料标签的构建方法、装置、可读存储介质及电子设备
CN112416732B (zh) 一种基于隐马尔可夫模型的数据采集运行异常检测方法
CN112632000A (zh) 日志文件聚类方法、装置、电子设备和可读存储介质
CN116842330A (zh) 一种可对比历史记录的保健信息处理方法及装置
CN106557668A (zh) 基于lf熵的dna序列相似性检验方法
CN115470034A (zh) 一种日志分析方法、设备及存储介质
CN113535458B (zh) 异常误报的处理方法及装置、存储介质、终端
CN115130455A (zh) 文章处理方法、装置、电子设备以及存储介质
CN115270790A (zh) 一种基于大数据的样本标识方法、设备及介质
CN112101468A (zh) 一种在序列组合中判定异常序列的方法
CN113760918A (zh) 一种确定数据血缘关系的方法、装置、计算机设备和介质
CN113261975A (zh) 一种基于深度学习的心电分类方法
CN117077598B (zh) 一种基于Mini-batch梯度下降法的3D寄生参数的优化方法
CN104978416B (zh) 一种基于Redis的对象智能检索方法
CN115237739B (zh) 板卡运行环境的分析方法、装置、设备及可读存储介质
JPS6315383A (ja) パタン照合装置

Legal Events

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