KR102134893B1 - 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법 - Google Patents

사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법 Download PDF

Info

Publication number
KR102134893B1
KR102134893B1 KR1020190141898A KR20190141898A KR102134893B1 KR 102134893 B1 KR102134893 B1 KR 102134893B1 KR 1020190141898 A KR1020190141898 A KR 1020190141898A KR 20190141898 A KR20190141898 A KR 20190141898A KR 102134893 B1 KR102134893 B1 KR 102134893B1
Authority
KR
South Korea
Prior art keywords
text data
extracting
feature
feature vector
input
Prior art date
Application number
KR1020190141898A
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 KR1020190141898A priority Critical patent/KR102134893B1/ko
Application granted granted Critical
Publication of KR102134893B1 publication Critical patent/KR102134893B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/55Compression Theory, e.g. compression of random number, repeated compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법을 제공한다.
본 발명에서는 사전 압축 방식으로 압축된 텍스트 데이터에 대해 CNN을 기반으로 하여 전역적 특징을 추출하고, 전역적 특징에 대해 SPP를 기반으로 하여 지역적 특징들을 추출하여 하나의 특징벡터로 정합하고, 특징벡터에 대해 연산을 수행함으로써 텍스트 데이터에 대한 압축 방식을 식별할 수 있다.
본 발명에서는 입력된 텍스트 데이터의 크기에 무관하게 미리 설정된 개수의 지역적 특징들을 추출하고, 미리 설정된 길이의 특징벡터를 추출함으로써 압축 방식을 식별할 수 있다.

Description

사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법{SYSTEM AND METHOD FOR CLASSIFYING ENCODING TYPE OF DICTIONARY ENCODED TEXT DATA}
본 개시는 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법을 제공한다.
데이터 압축은 큰 용량의 데이터들을 효율적으로 저장하거나 전송하기 위해 필수적인 기술이다. 데이터 압축은 데이터를 일정한 규칙에 의해 작은 용량의 데이터로 만드는 인코딩과 압축된 데이터를 원래의 데이터 형태로 다시 복원시키는 디코딩으로 이루어진다. 데이터 압축은 데이터의 내용을 온전히 보전할 수 있는 무손실 압축과 데이터의 내용은 온전히 보전할 수 없지만 압축률이 크기 때문에 보다 더 효율적으로 데이터를 보관 및 전송할 수 있는 손실 압축으로 나뉜다.
무손실 압축은 데이터의 패턴을 일정 인덱스로 저장하여 사용하는 사전 압축(Dictionary encoding)과 연속적인 문자를 짧게 만들어 데이터를 작게 만드는 엔트로피 압축(Entropy Encoding)으로 구분할 수 있다. 사전 압축은 ‘LZ 알고리즘’(Lempel-Ziv algorithm)을 기반으로 하는 압축 방식들이 주된 압축 방식들이고, 이외에도 압축하는 방식에 따라 Btye Pair Encoding(BPE), DEFLATE, Run-Length Encoding(RLE), SNAPPY, Zstandard 등의 압축 방식들이 존재한다.
이와 같이 다양한 압축 방식으로 압축된 데이터들은 기본적으로 어떤 방식으로 압축되었는지에 대해 데이터의 확장자명을 통해 알 수 있다. 하지만, 확장자명을 확인할 수 없거나 헤더 파일이 손상되어 정확한 압축 방식에 대한 정보를 알 수 없는 데이터들의 경우, 원래의 데이터로 디코딩하기 위해서는 어떤 압축 방식으로 압축을 하였는지 예측하는 과정이 필요하다.
기존에는 이진화 형태의 데이터로부터 비트 0과 비트 1의 비율이 나타날 확률 등을 통해 데이터에 대한 특징을 파악하고, 그 특징들을 이용하여 SVM(Support Vector Machine) 등과 같은 분류 알고리즘을 학습시켜 압축 방식에 대해 예측하였다. 하지만 원 데이터의 정보에 따라 압축된 데이터의 비트 구성도 달라지기 때문에 비트 정보를 토대로 데이터의 특징을 표현하여 분류 알고리즘을 학습하는 방법은 데이터의 의존도가 높아 압축 방식에 대한 정확한 예측을 하기에는 역부족이다.
본 발명이 해결하고자 하는 기술적 과제는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법을 제공하는 데에 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은 사전 압축(Dictionary Encoding)된 텍스트 데이터의 압축 방식을 식별하는 방법에 있어서, 입력부가 사전 압축 방식으로 압축된 텍스트 데이터를 입력 받는 데이터입력단계; 전역적 특징 추출부가 CNN(Convolutional Neural Network)을 기반으로 상기 입력된 텍스트 데이터의 전역적 특징을 추출하는 전역적특징추출단계; 지역적 특징 추출부가 상기 전역적 특징으로부터 상기 입력된 텍스트 데이터의 지역적 특징들을 적어도 두 가지 이상 추출하는 지역적특징추출단계; 특징벡터 추출부가 상기 추출된 지역적 특징들로부터 특징벡터를 추출하고, 상기 특징벡터에 대해 풀리커넥티드 레이어를 통해 결과벡터를 추출하는 특징벡터추출단계; 및 연산부가 상기 추출된 결과벡터를 기반으로 상기 텍스트 데이터의 압축 방식을 식별하는 연산을 수행하는 연산단계를 포함하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 방법을 제공할 수 있다.
또한, 일련의 ASCII(American Standard Code for Information Interchange) 코드로 표현된 상기 압축된 텍스트 데이터를 미리 설정된 규칙에 따라 숫자열로 변환하고, 상기 변환된 숫자열을 구성하는 각각의 숫자를 미리 설정된 범위의 숫자로 변환하는 데이터입력단계를 포함하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 방법을 제공할 수 있다.
또한, 적어도 두 가지 이상의 컨볼루션 필터들을 이용하여 상기 전역적 특징에 대해 상기 적어도 두 가지 이상의 컨볼루션 필터들에 대응되는 지역적 특징들을 추출하고, 상기 입력된 텍스트 데이터의 크기에 무관하게 미리 설정된 개수의 상기 지역적 특징들을 추출하는 지역적특징추출단계를 포함하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 방법을 제공할 수 있다.
또한, 상기 입력된 텍스트 데이터의 크기에 무관하게 미리 설정된 길이의 상기 특징벡터를 추출하는 특징벡터추출단계를 포함하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 방법을 제공할 수 있다.
본 개시의 제2 측면은, 상기 제1 측면에 따른 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독 가능한 기록매체를 제공할 수 있다.
본 개시의 제3 측면은 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템에 있어서, 사전 압축 방식으로 압축된 텍스트 데이터를 입력 받는 입력부; CNN을 기반으로 상기 입력된 텍스트 데이터의 전역적 특징을 추출하는 전역적 특징 추출부; 상기 전역적 특징으로부터 상기 입력된 텍스트 데이터의 지역적 특징들을 적어도 두 가지 이상 추출하는 지역적 특징 추출부; 상기 추출된 지역적 특징들로부터 특징벡터를 추출하고, 상기 특징벡터에 대해 풀리커넥티드 레이어를 통해 결과벡터를 추출하는 특징벡터 추출부; 및 상기 추출된 결과벡터를 기반으로 상기 텍스트 데이터의 압축 방식을 식별하는 연산을 수행하는 연산부를 포함하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템을 제공할 수 있다.
본 발명에 따르면, 사전 압축 방식으로 압축된 임의의 텍스트 데이터에 대한 압축 방식 정보를 식별할 수 있다. 압축 방식 정보의 식별로 인해, 압축된 텍스트 데이터를 원본 데이터로 디코딩할 수 있다.
도 1은 일 실시예에 따른 사전 압축 방식 식별 시스템의 블록도를 나타내는 도면이다.
도 2는 도 1의 일 실시예에 따른 사전 압축 방식 식별 시스템의 블록도를 구체화한 도면이다.
도 3은 일 실시예에 따른 전역적 특징 추출부 내에서 이루어지는 CNN 과정을 나타내는 도면이다.
도 4는 일 실시예에 따른 지역적 특징 추출부 내에서 이루어지는 SPP(Spatial Pyramid Pooling) 과정을 나타내는 도면이다.
도 5는 일 실시예에 따른 사전 압축 방식 식별 방법을 설명하기 위한 흐름도이다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 또한, 명세서에 기재된 "??부", "??모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.
도 1은 일 실시예에 따른 사전 압축 방식 식별 시스템의 블록도를 나타내는 도면이다.
도 1을 참조하면, 사전 압축 방식 식별 시스템(100) 내의 각 구성은 텍스트 데이터(110)가 입력되고 결과가 출력되기까지 순차적으로 배치되어 있다. 사전 압축 방식 식별 시스템(100)은 입력부(120), 전역적 특징 추출부(130), 지역적 특징 추출부(140), 특징벡터 추출부(150) 및 연산부(160)로 구성될 수 있다.
입력되는 텍스트 데이터(110)는 압축된 텍스트 데이터(110)로서 압축 방식들 중 무손실 압축의 한 방식인 사전 압축 방식으로 압축된 텍스트 데이터(110)일 수 있다. 텍스트 데이터(110)는 입력부(120)를 통해 사전 압축 방식 식별 시스템(100)에 입력될 수 있다.
전역적 특징 추출부(130)는 입력부(120)를 통해 텍스트 데이터(110)를 전송 받아 CNN을 기반으로 하여 텍스트 데이터(110)에 대해 전역적 특징을 추출할 수 있다.
지역적 특징 추출부(140)는 전역적 특징 추출부(130)로부터 전역적 특징을 전송 받아 SPP를 기반으로 하여 전역적 특징에 대해 적어도 두 가지 이상의 지역적 특징들을 추출할 수 있다.
특징벡터 추출부(150)는 지역적 특징 추출부(140)로부터 지역적 특징들을 전송 받고, 지역적 특징들을 정합하여 하나의 특징벡터를 추출할 수 있다. 특징벡터 추출부(150)는 특징벡터를 풀리커넥티드 레이어에 입력하여 풀리커넥티드 레이어를 통해, 압축 방식 식별에 적합한 결과벡터를 추출할 수 있다. 특징벡터 추출부(150)는 풀리커넥티드 레이어를 통해 추출된 결과벡터를 연산부(160)에 전송할 수 있다.
연산부(160)는 특징벡터 추출부(150)로부터 결과벡터를 전송 받을 수 있다. 연산부(160)는 전송 받은 결과벡터를 기반으로 텍스트 데이터(110)의 압축 방식을 식별하는 연산을 수행할 수 있다.
도 2는 도 1의 일 실시예에 따른 사전 압축 방식 식별 시스템의 블록도를 구체화한 도면이다.
도 2에 따른 방법은 도 1에서 설명한 시스템(100)에 의해 구현될 수 있으므로, 이하에서는, 도 1을 참조하여 설명하기로 하고, 도 1에서 설명한 것과 중복된 설명은 생략하기로 한다.
텍스트 데이터는 사전 압축된 텍스트 데이터로서 일련의 ASCII(American Standard Code for Information Interchange)코드로 표현될 수 있다. 입력부는 텍스트 데이터를 미리 설정된 규칙에 따라 숫자열로 변환할 수 있다. 입력부는 숫자열을 구성하는 각각의 숫자를 미리 설정된 범위의 숫자로 한 번 더 변환하여 텍스트 데이터에 대한 CNN 연산을 용이하게 할 수 있다. 텍스트 데이터에 대한 미리 설정된 규칙에 따른 변환은 10진수로의 변환으로, 텍스트 데이터는 0이상 255이하의 값들의 숫자열로 변환될 수 있다. 미리 설정된 범위는 0이상 1이하로서, 숫자열의 0이상 255이하의 값들을 각각 255로 나눔으로써 0이상 1이하의 값들로 변환할 수 있다.
전역적 특징 추출부는 CNN을 기반으로 텍스트 데이터에 대해 전역적 특징을 추출할 수 있다. 전역적 특징 추출부는 텍스트 데이터에 대해 컨볼루션 연산을 반복하여 수행함으로써 전역적 특징을 추출할 수 있다.
일 실시예에 따른 도 2를 참조하면, 전역적 특징 추출부는 채널 수가 1인 텍스트 데이터에 대해 컨볼루션 연산을 수행함에 따라 채널 수가 256인 전역적 특징을 추출할 수 있다.
지역적 특징 추출부는 SPP를 기반으로 하여 전역적 특징에 대해 적어도 두 가지 이상의 필터들을 이용하여 각 필터에 대응되는 적어도 두 가지 이상의 지역적 특징들을 추출할 수 있다. 지역적 특징 추출부는 미리 설정된 크기의 필터들을 이용하여 텍스트 데이터의 크기에 무관하게 인해 미리 설정된 개수의 지역적 특징들을 추출할 수 있다.
일 실시예에 따른 도 2를 참조하면, 지역적 특징 추출부는 채널 수가 256인 전역적 특징에 대해 크기가 6, 4 및 2인 필터들을 이용하여 연산을 수행할 수 있다. 크기가 6, 4 및 2인 필터를 거친 전역적 특징은 각각 6, 4 및 2개의 지역적 특징들로 추출되어 총 12개의 지역적 특징들로 추출될 수 있다. 지역적 특징 추출부는 텍스트 데이터의 크기에 무관하게 총 12개의 지역적 특징들을 추출할 수 있다. 다만, 지역적 특징 추출부에서 이용되는 필터들의 개수와 크기는 이에 한하지 않고, 사전 압축 방식 식별 시스템의 설정에 따라 다를 수 있다.
특징벡터 추출부는 지역적 특징 추출부로부터 추출된 지역적 특징들을 정합하여 하나의 특징벡터를 추출할 수 있다. 특징벡터 추출부는 지역적 특징들을 일렬로 정합함으로써 지역적 특징들의 개수의 총합에 대응되는 길이를 갖는 특징벡터를 추출할 수 있다. 지역적 특징들의 개수는 텍스트 데이터의 크기에 무관하게 미리 설정된 필터들의 크기에 의해 결정되므로, 특징벡터 추출부는 텍스트 데이터의 크기에 무관하게 미리 설정된 길이의 특징벡터를 추출할 수 있다.
특징벡터 추출부는 미리 설정된 길이로 정합된 특징벡터를 풀리커넥티드 레이어에 입력할 수 있다. 특징벡터 추출부는 정합된 특징벡터에 대해 풀리커넥티드 레이어를 통하여 사전 압축 방식 식별에 적합한 결과벡터를 추출할 수 있다. 특징벡터 추출부는 풀리커넥티드 레이어를 통해 추출된 결과벡터를 연산부에 전송할 수 있다.
일 실시예에 따른 도 2를 참조하면, 특징벡터 추출부는 총 12개의 지역적 특징들을 일렬로 정합하여 하나의 특징벡터를 추출한다. 특징벡터 추출부는 텍스트 데이터의 크기에 무관하게 지역적 특징들의 총 개수인 12에 대응되는 길이를 갖는 특징벡터를 추출할 수 있다. 특징벡터 추출부는 특징벡터를 풀리커넥티드 레이어에 입력하여 16개의 값을 가지는 채널 수가 1인 결과벡터를 출력하여 연산부에 전송할 수 있다.
연산부는 특징벡터 추출부로부터 전송 받은 결과벡터를 기반으로 텍스트 데이터의 압축 방식을 식별할 수 있다. 결과벡터에는 각 사전 압축 방식들로 식별될 수 있는 확률에 대한 값들이 나타날 수 있다. 연산부는 결과벡터의 값들에 대해 회귀 분석을 통하여 압축 방식을 식별할 수 있다. 연산부는 결과벡터의 값들 중 가장 큰 값에 대응되는 사전 압축 방식을 텍스트 데이터의 압축 방식으로 결정할 수 있다.
연산부는 다양한 사전 압축 방식들에 대한 식별이 가능하다. 연산부에서 식별할 수 있는 사전 압축 방식들로는 예를 들어, Byte Pair Encoding(BPE), DEFLATE, Lempel-Ziv 4(LZ4), Lempel-Ziv 77(LZ77), Lempel-Ziv 78(LZ78), Lempel-Ziv Jeff-Bonwick(LZJB), Lempel-Ziv MArkov chain(LZMA), Lempel-Ziv Oberhumer(LZO), Lempel-Ziv Ross Wiliam(LZRW), Lempel-Ziv Stac(LZS), Lempel-Ziv Storer-Szymanski(LZSS), Lempel-Ziv W(LZW), Lempel-Ziv X(LZX), Run-Length Encoding(RLE), SNAPPY, Zstandard 등이 있을 수 있다.
일 실시예에 따른 도 2를 참조하면, 연산부는 특징벡터 추출부로부터 16개의 값들을 가지는 채널 수가 1인 결과벡터를 전송 받을 수 있다. 결과벡터의 16개의 값들은 16가지의 사전 압축 방식들 각각에 대해, 각 방식들로 식별될 수 있는 확률을 나타낸다. 예를 들어, 결과벡터가 [0.95, 0.02, 0.01, ??]와 같은 값들을 가지고, 각 값들은 순서대로 사전 압축 방식들 [Byte Pair Encoding, DEFLATE, Lempel-Ziv 4, ??]에 대응될 수 있다. 이러한 경우, 텍스트 데이터의 압축 방식이 Byte Pair Encoding 방식으로 식별될 확률은 0.95, DEFLATE 방식으로 식별될 확률은 0.02, Lempel-Ziv 4 방식으로 식별될 확률은 0.01일 수 있다. 연산부는 결과벡터의 가장 큰 값인 0.95에 대응되는 Byte Pair Encoding 을 텍스트 데이터의 압축 방식에 대한 식별 결과로 출력할 수 있다.
도 3은 일 실시예에 따른 전역적 특징 추출부 내에서 이루어지는 CNN 과정을 나타내는 도면이다.
도 3에 따른 방법은 도 1에서 설명한 시스템(100)에 의해 구현될 수 있으므로, 이하에서는, 도 1을 참조하여 설명하기로 하고, 도 1에서 설명한 것과 중복된 설명은 생략하기로 한다.
CNN을 기반으로한 전역적 특징 추출부는 텍스트 데이터에 대해 컨볼루션 연산을 수행할 수 있다. 다만, 사전 압축 방식 식별 시스템의 설정에 따라 CNN에서는 컨볼루션 레이어 외에도 서브샘플링 레이어(subsampling layer, 또는 풀링 레이어(pooling layer)) 등이 더 포함될 수 있다. CNN은 입력 데이터 및 출력을 포함하는 복수 레이어들을 갖는 구조로 구현될 수 있다. 각 레이어들은 1차원의 레이어들일 수 있다.
CNN에서 입력 데이터는 웨이트맵(weight map)과의 컨볼루션 연산이 수행되고, 그 입력 데이터에 대응되는 출력 데이터가 출력된다. 웨이트맵은 입력 데이터의 특징을 찾아내기 위한 파라미터들로, 커널(kernel) 또는 필터라고도 불린다. 이때 출력된 데이터는 다음 레이어에서 다시 웨이트맵과의 컨볼루션 연산이 수행되고, 새로운 출력 데이터가 출력된다. 이와 같은 컨볼루션 연산이 다양한 크기의 컨볼루션 필터들을 통해 반복적으로 수행된 결과, 최종적으로는 CNN을 통한 입력 데이터에 대한 전역적 특징이 추출될 수 있다. CNN은 컨볼루션 연산에서 원하는 값이 출력되도록 출력 데이터를 통해 학습하는 방법인 역전파(backpropagation)를 사용하여 개개의 웨이트맵을 조정한다. 역전파의 사용으로 CNN을 통해 보다 정확한 결과를 출력할 수 있다.
CNN의 여러 레이어들에서 컨볼루션 연산 및 서브샘플링(또는 풀링) 연산이 반복적으로 수행됨으로써 텍스트 데이터로부터 데이터 전체를 대표할 수 있는 전역적 특징이 추출되고, 전역적 특징은 지역적 특징 추출부로 전송된다. 사전 압축 방식 식별 시스템은 CNN 과정을 통해 추출된 전역적 특징으로 텍스트 데이터에 대한 전체적인 비트 스트림 패턴을 파악할 수 있다.
도 4는 일 실시예에 따른 지역적 특징 추출부 내에서 이루어지는 SPP 과정을 나타내는 도면이다.
도 4에 따른 방법은 도 1에서 설명한 시스템(100)에 의해 구현될 수 있으므로, 이하에서는, 도 1을 참조하여 설명하기로 하고, 도 1에서 설명한 것과 중복된 설명은 생략하기로 한다.
SPP 과정은 일정한 길이의 데이터가 입력되어야 하는 풀리커넥티드 레이어에, 입력 데이터의 크기에 무관하게 풀리커넥티드 레이어에 데이터가 입력될 수 있도록 하는 과정이다. SPP 과정에서의 풀링 방식으로는 최대-풀링이 사용될 수 있다.
지역적 특징 추출부에서 사용되는 필터는 적어도 두 가지 이상의 필터들로서 각 필터의 크기는 사전 압축 방식 식별 시스템의 설정에 따라서 다양하게 결정될 수 있다. 다양한 크기의 필터들을 사용하여 생성한 지역적 특징들은 텍스트 데이터에 대한 구체적인 특징들을 내재한다. 지역적 특징 추출부에서 사용되는 필터는 컨볼루션 필터일 수 있다.
특징벡터 추출부는 풀리커넥티드 레이어를 사용하여 텍스트 데이터에 대해 분류를 수행할 수 있다. 특징벡터 추출부는 텍스트 데이터의 크기에 무관하게 지역적 특징들을 미리 설정된 길이의 특징벡터로 정합한다. 특징벡터 추출부는 지역적 특징들에 대해 정합을 수행하여 미리 설정된 길이의 특징벡터를 추출할 수 있다. 특징벡터 추출부는 특징벡터를 풀리커넥티드 레이어에 입력할 수 있다.
도 5는 일 실시예에 따른 사전 압축 방식 식별 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 단계 510에서 입력부는 사전 압축 방식으로 압축된 텍스트 데이터를 입력 받을 수 있다. 입력부에 입력된 텍스트 데이터는 ASCII 코드로 표현되며 10진수로 0이상 255이하의 값들을 가질 수 있다. 입력부는 각 값들을 255로 나누어 0이상 1이하의 값들로 변환할 수 있다.
단계 520에서 전역적 특징 추출부는 입력부를 통해 텍스트 데이터를 전송 받아 CNN을 기반으로 텍스트 데이터에 대해 전역적 특징을 추출할 수 있다. 전역적 특징 추출부는 텍스트 데이터에 대해 컨볼루션 연산을 수행함으로써 텍스트 데이터 전체를 대표할 수 있는 전역적 특징을 추출할 수 있다.
단계 530에서 지역적 특징 추출부는 SPP를 기반으로 하여 전역적 특징으로부터 텍스트 데이터에 대한 적어도 두 가지 이상의 지역적 특징들을 추출할 수 있다. 지역적 특징 추출부는 미리 설정된 다양한 크기의 필터들을 이용하여 텍스트 데이터에 대한 구체적인 특징들을 추출할 수 있다. 지역적 특징 추출부는 상기 입력된 텍스트 데이터의 크기에 무관하게 미리 설정된 개수의 지역적 특징들을 추출할 수 있다.
단계 540에서 특징벡터 추출부는 지역적 특징들로부터 특징벡터를 추출하고, 특징벡터에 대해 풀리커넥티드 레이어를 통해 결과벡터를 추출할 수 있다. 특징벡터 추출부는 텍스트 데이터의 크기에 무관하게 미리 설정된 길이의 특징벡터를 추출할 수 있다. 특징벡터 추출부는 미리 설정된 길이의 특징벡터를 추출함으로써 풀리커넥티드 레이어에서의 연산을 용이하게 할 수 있다.
단계 550에서, 연산부는 결과벡터를 특징벡터 추출부로부터 전송 받고, 회귀 분석을 통하여 결과벡터를 기반으로 텍스트 데이터의 압축 방식을 식별하는 연산을 수행할 수 있다. 연산부는 결과벡터의 값들 중 가장 큰 값에 대응되는 사전 압축 방식을 텍스트 데이터의 압축 방식으로 결정할 수 있다.
본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 명세서의 설명은 예시를 위한 것이며, 본 명세서의 내용이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 실시예의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 포함되는 것으로 해석되어야 한다.

Claims (9)

  1. 사전 압축(Dictionary Encoding)된 텍스트 데이터의 압축 방식을 식별하는 방법에 있어서,
    입력부가 사전 압축 방식으로 압축된 텍스트 데이터를 입력 받는 데이터입력단계;
    전역적 특징 추출부가 CNN(Convolutional Neural Network)을 기반으로 상기 입력된 텍스트 데이터의 전역적 특징을 추출하는 전역적특징추출단계;
    지역적 특징 추출부가 상기 전역적 특징으로부터 상기 입력된 텍스트 데이터의 지역적 특징들을 적어도 두 가지 이상 추출하는 지역적특징추출단계;
    특징벡터 추출부가 상기 추출된 지역적 특징들로부터 특징벡터를 추출하고, 상기 특징벡터에 대해 풀리커넥티드 레이어를 통해 결과벡터를 추출하는 특징벡터추출단계; 및
    연산부가 상기 추출된 결과벡터를 기반으로 상기 텍스트 데이터의 압축 방식을 식별하는 연산을 수행하는 연산단계를 포함하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 방법.
  2. 제 1항에 있어서,
    상기 데이터입력단계는,
    일련의 ASCII(American Standard Code for Information Interchange) 코드로 표현된 상기 압축된 텍스트 데이터를 미리 설정된 규칙에 따라 숫자열로 변환하고, 상기 변환된 숫자열을 구성하는 각각의 숫자를 미리 설정된 범위의 숫자로 변환하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 방법.
  3. 제 1항에 있어서,
    상기 지역적특징추출단계는,
    적어도 두 가지 이상의 컨볼루션 필터들을 이용하여 상기 전역적 특징에 대해 상기 적어도 두 가지 이상의 컨볼루션 필터들에 대응되는 지역적 특징들을 추출하고,
    상기 입력된 텍스트 데이터의 크기에 무관하게 미리 설정된 개수의 상기 지역적 특징들을 추출하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 방법.
  4. 제 1항에 있어서,
    상기 특징벡터추출단계는,
    상기 입력된 텍스트 데이터의 크기에 무관하게 미리 설정된 길이의 상기 특징벡터를 추출하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 방법.
  5. 제 1항 내지 제 4항 중 어느 한 항에 따른 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독 가능한 기록매체.
  6. 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템에 있어서,
    사전 압축 방식으로 압축된 텍스트 데이터를 입력 받는 입력부;
    CNN을 기반으로 상기 입력된 텍스트 데이터의 전역적 특징을 추출하는 전역적 특징 추출부;
    상기 전역적 특징으로부터 상기 입력된 텍스트 데이터의 지역적 특징들을 적어도 두 가지 이상 추출하는 지역적 특징 추출부;
    상기 추출된 지역적 특징들로부터 특징벡터를 추출하고, 상기 특징벡터에 대해 풀리커넥티드 레이어를 통해 결과벡터를 추출하는 특징벡터 추출부; 및
    상기 추출된 결과벡터를 기반으로 상기 텍스트 데이터의 압축 방식을 식별하는 연산을 수행하는 연산부를 포함하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템.
  7. 제 6항에 있어서,
    상기 입력부는,
    일련의 ASCII 코드로 표현된 상기 압축된 텍스트 데이터를 미리 설정된 규칙에 따라 숫자열로 변환하고, 상기 변환된 숫자열을 구성하는 각각의 숫자를 미리 설정된 범위의 숫자로 변환하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템.
  8. 제 6항에 있어서,
    상기 지역적 특징 추출부는,
    적어도 두 가지 이상의 컨볼루션 필터들을 이용하여 상기 전역적 특징에 대해 상기 적어도 두 가지 이상의 컨볼루션 필터들에 대응되는 지역적 특징들을 추출하고,
    상기 입력된 텍스트 데이터의 크기에 무관하게 미리 설정된 개수의 상기 지역적 특징들을 추출하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템.
  9. 제 6항에 있어서,
    상기 특징벡터 추출부는,
    상기 입력된 텍스트 데이터의 크기에 무관하게 미리 설정된 길이의 상기 특징벡터를 추출하는, 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템.
KR1020190141898A 2019-11-07 2019-11-07 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법 KR102134893B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190141898A KR102134893B1 (ko) 2019-11-07 2019-11-07 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190141898A KR102134893B1 (ko) 2019-11-07 2019-11-07 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102134893B1 true KR102134893B1 (ko) 2020-07-16

Family

ID=71839555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190141898A KR102134893B1 (ko) 2019-11-07 2019-11-07 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102134893B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019047971A1 (zh) * 2017-09-11 2019-03-14 腾讯科技(深圳)有限公司 图像识别方法、终端及存储介质
KR20190111643A (ko) * 2018-03-23 2019-10-02 삼성에스디에스 주식회사 텍스트 데이터 복호화를 위한 데이터 처리 방법 및 그 데이터 처리 장치
KR20190117352A (ko) * 2018-04-06 2019-10-16 에스케이텔레콤 주식회사 영상 부호화 또는 복호화 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019047971A1 (zh) * 2017-09-11 2019-03-14 腾讯科技(深圳)有限公司 图像识别方法、终端及存储介质
KR20190111643A (ko) * 2018-03-23 2019-10-02 삼성에스디에스 주식회사 텍스트 데이터 복호화를 위한 데이터 처리 방법 및 그 데이터 처리 장치
KR20190117352A (ko) * 2018-04-06 2019-10-16 에스케이텔레콤 주식회사 영상 부호화 또는 복호화 장치 및 방법

Similar Documents

Publication Publication Date Title
CN101989443B (zh) 用于数据压缩的多模式编码
JP3278297B2 (ja) データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
US10902937B2 (en) Lossless compression of DNA sequences
CN101783788B (zh) 文件压缩、解压缩方法、装置及压缩文件搜索方法、装置
WO2019153700A1 (zh) 编解码方法、装置及编解码设备
CN116388767B (zh) 用于软件开发数据的安全管理方法
JPH09162748A (ja) データ符号化方法、データ復号方法、データ圧縮装置、データ復元装置、及びデータ圧縮・復元システム
EP2455853A2 (en) Data compression method
US10164654B2 (en) Data compressing device, data decompressing device, and data compressing/decompressing apparatus
US20200304779A1 (en) Encoding apparatus and encoding method
Carus et al. Fast text compression using multiple static dictionaries
KR102134893B1 (ko) 사전 압축된 텍스트 데이터의 압축 방식을 식별하는 시스템 및 방법
Song et al. Dictionary based compression type classification using a CNN architecture
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
CN111274950B (zh) 特征向量数据编解码方法及服务器和终端
Belodedov et al. Development of an algorithm for optimal encoding of WAV files using genetic algorithms
CN108573069A (zh) 一种加速压缩流量正则表达式匹配的Twins方法
Shen et al. Golomb-Rice coding parameter learning using deep belief network for hyperspectral image compression
JP3241787B2 (ja) データ圧縮方式
Zahir et al. A fast lossless compression scheme for digital map images using color separation
Borusyak et al. Context-based method for lossless compression of RGB and multispectral images
Rani et al. A survey on lossless text data compression techniques
Mamun et al. Hardware Approach of Lempel-Ziv-Welch Algorithm for Binary Data Compression
Hanis et al. A Language-Independent Approach to Classification of Textual File Fragments: Case Study of Persian, English, and Chinese Languages
JPH03209923A (ja) データ圧縮方式

Legal Events

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