KR20220045035A - 다수의 분류 모듈로부터 집성된 정보를 사용하는 데이터의 분류 - Google Patents

다수의 분류 모듈로부터 집성된 정보를 사용하는 데이터의 분류 Download PDF

Info

Publication number
KR20220045035A
KR20220045035A KR1020227008608A KR20227008608A KR20220045035A KR 20220045035 A KR20220045035 A KR 20220045035A KR 1020227008608 A KR1020227008608 A KR 1020227008608A KR 20227008608 A KR20227008608 A KR 20227008608A KR 20220045035 A KR20220045035 A KR 20220045035A
Authority
KR
South Korea
Prior art keywords
classification
data
classifications
module
final
Prior art date
Application number
KR1020227008608A
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 콜리브라 엔브이
Publication of KR20220045035A publication Critical patent/KR20220045035A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • 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/221Column-oriented storage; 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • G06K9/6227
    • G06K9/6256
    • G06K9/6267
    • 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

Landscapes

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

Abstract

본 개시는 데이터를 분류하는 방법들 및 시스템들에 관한 것이다. 분류 모듈들의 세트는 수신된 데이터를 검사하고 수신된 데이터에 대한 신뢰 값들에 대해 제안된 분류들을 식별할 수 있다. 집성 모듈은 제안된 분류들 및 신뢰 값들을 수신하고 집성할 수 있다. 집성된 제안된 분류들 및 신뢰 값들에 기초하여, 집성 모듈은 수신된 데이터에 대한 최종 분류를 발생시킬 수 있다. 외부 디바이스는 데이터와 연관된 최종 분류에 기초하여 수신된 데이터에 대해 액션을 수행할 수 있다. 수행되는 액션은 데이터가 데이터에 대한 요청의 수신 시에 검색될 수 있도록 데이터를 유지하는 것을 포함할 수 있다. 분류 모듈들 및 집성 모듈 중 어느 것은 분류 정확도를 증가시키기 위해 데이터를 분류하는 후속 반복들에 이용될 수 있는 훈련 데이터에 기초할 수 있다.

Description

다수의 분류 모듈로부터 집성된 정보를 사용하는 데이터의 분류
관련 출원들에 대한 상호참조
본 출원은 2019년 8월 15일에 출원된 미국 특허 출원 제16/542,016호에 대한 우선권을 주장하며, 이 미국 특허 출원은 본원에 전체적으로 참조로 포함된다.
기술분야
본 개시는 데이터 분류에 관한 것으로, 특히 다수의 분류 모듈로부터 발생되는 집성된 분류 정보를 사용하여 데이터를 분류하는 것에 관한 것이다.
컴퓨팅 시스템들은 다양한 유형들의 데이터를 수신하고 처리할 수 있다. 예를 들어, 컴퓨팅 디바이스는 디지털 문서들의 다양한 특성들을 표현하는 데이터 스트림을 처리할 수 있다. 컴퓨팅 시스템은 데이터 스트림에 포함되는 특성들(예를 들어, 이름들, 주소들, 사업 관련 정보, 개인 정보)을 식별하기 위해 데이터 스트림을 처리할 수 있다.
많은 경우들에서, 컴퓨팅 시스템들은 데이터의 성질을 식별하기 위해 데이터 스트림에 포함되는 데이터의 부분들을 분류할 수 있다. 일 예로서, 데이터 스트림의 제1 부분은 개인의 이름으로서 분류될 수 있고 데이터 스트림의 제2 부분은 개인의 개인 식별자(예를 들어, 정부 발행 식별 번호)로서 분류될 수 있다.
컴퓨팅 시스템은 데이터의 일부분의 분류에 기초하여 액션(예를 들어, 데이터의 부분을 저장하는 것, 데이터의 부분을 삭제하는 것, 데이터의 부분을 외부 디바이스에 송신하는 것)을 취할 수 있다. 일부 경우들에서, 일부 분류들은 개인 또는 민감 데이터를 표현할 수 있다. 데이터의 일부분에 대한 분류가 개인/민감 데이터를 포함하는 것을 결정할 시에, 데이터의 부분에 대해 취해지는 액션은 데이터의 개인/민감 성질에 기초할 수 있다. 예를 들어, 민감 데이터로서 분류되는 데이터는 메모리의 특정 부분(들)에 저장되거나 데이터의 민감 성질을 보호하기 위해 삭제될 수 있다.
기술의 다양한 특징들 및 특성들은 도면들과 함께 상세한 설명의 연구로부터 본 기술분야의 통상의 기술자들에게 더 분명해질 것이다. 기술의 실시예들은 비슷한 참조들이 유사한 요소들을 표시할 수 있는 도면들에서의 제한이 아닌 예로서 예시된다.
도 1은 다양한 실시예들에 따라, 데이터를 분류하기 위한 생성 아키텍처의 블록도를 예시한다.
도 2는 다양한 실시예들에 따라, 분류 모듈들의 세트의 블록도를 예시한다.
도 3은 다양한 실시예들에 따라, 기계 학습 모듈의 블록도를 예시한다.
도 4는 다양한 실시예들에 따라, 훈련된 분류 데이터 클러스터들의 그래픽 표현의 예시이다.
도 5는 다양한 실시예들에 따라, 잠재적인 데이터 분류들의 테이블의 블록도를 예시한다.
도 6은 다양한 실시예들에 따라, 집성기에 의해 최종 분류를 결정하기 위한 흐름도를 예시한다.
도 7은 다양한 실시예들에 따라, 데이터에 대한 분류를 발생시키는 방법의 블록도를 예시한다.
도 8은 본원에 설명된 적어도 일부 동작들이 구현될 수 있는 처리 시스템의 일 예를 예시하는 블록도이다.
도면들은 예시의 목적만을 위해 다양한 실시예들을 도시한다. 본 기술분야의 통상의 기술자들은 기술의 원리들로부터 벗어나지 않고 대안 실시예들이 이용될 수 있는 것을 인식할 것이다. 따라서, 특정 실시예들이 도면들에 도시되지만, 기술은 다양한 수정들을 처리할 수 있다.
아래에 제시되는 실시예들은 본 기술분야의 통상의 기술자들이 실시예들을 실시하고 실시예들을 실시하는 최상의 모드를 예시할 수 있게 하는데 필요한 정보를 표현한다. 첨부 도면들을 고려하여 이하의 설명을 판독하면, 본 기술분야의 통상의 기술자들은 개시의 개념들을 이해할 것이고 본원에서 특별히 처리되지 않는 이들 개념들의 적용들을 인식할 것이다. 이들 개념들 및 적용들은 개시 및 첨부된 청구항들의 범위에 있다.
실시예들은 특정 컴퓨터 프로그램들, 시스템 구성들, 네트워크들 등을 참조하여 설명될 수 있다. 그러나, 본 기술분야의 통상의 기술자들은 이들 특징들이 다른 컴퓨터 프로그램 유형들, 시스템 구성들, 네트워크 유형들 등에 동일하게 적용가능한 것을 인식할 것이다. 예를 들어, 용어 "Wi-Fi 네트워크"가 네트워크를 설명하기 위해 사용될 수 있지만, 관련 실시예는 다른 유형의 네트워크에서 전개될 수 있다.
더욱이, 개시된 기술은 특수 목적 하드웨어(예를 들어, 회로), 소프트웨어 및/또는 펌웨어로 적절히 프로그램된 프로그램가능 회로, 또는 특수 목적 하드웨어 및 프로그램가능 회로의 조합을 사용하여 구체화될 수 있다. 따라서, 실시예들은 컴퓨팅 디바이스(예를 들어, 기지국 또는 네트워크 연결 컴퓨터 서버)를 프로그램하여 전자 디바이스에 의해 발생되는 비디오 콘텐츠를 조사하고, 비디오 콘텐츠에 포함되는 요소들을 식별하고, 분류 모델을 적용하여 적절한 액션을 결정하고, 적절한 액션을 수행하기 위해 사용될 수 있는 명령어들을 갖는 머신 판독가능 매체를 포함할 수 있다.
전문용어
본원에 사용되는 전문용어의 목적은 실시예들만을 설명하기 위한 것이고 개시의 범위를 제한하는 것으로 의도되지 않는다. 맥락이 허용하는 경우, 단수 또는 복수 형태를 사용하는 단어들은 또한 복수 또는 단수 형태를 각각 포함할 수 있다.
본원에 사용되는 바와 같이, 달리 구체적으로 명시되지 않는 한, "처리하는", "컴퓨팅하는", "계산하는", "결정하는", "디스플레이하는", "발생시키는" 등과 같은 용어들은 컴퓨터의 메모리 또는 레지스터들 내의 물리(전자) 양들로 표현되는 데이터를 컴퓨터의 메모리, 레지스터들, 또는 다른 그러한 저장 매체, 송신, 또는 디스플레이 디바이스들 내의 물리 양들로 유사하게 표현되는 다른 데이터로 조작하고 변환하는 컴퓨터 또는 유사한 전자 컴퓨팅 디바이스의 액션들 및 프로세스들을 언급한다.
본원에 사용되는 바와 같이, 용어들 예컨대 "연결된", "결합된" 등은 2개 이상의 요소 사이의, 직접적인 또는 간접적인 임의의 연결 또는 결합을 지칭할 수 있다. 요소들 사이의 결합 또는 연결은 물리적, 논리적, 또는 그것의 조합일 수 있다.
"일 실시예" 또는 "하나의 실시예"에 대한 참조들은 설명되는 특정 특징, 기능, 구조, 또는 특성이 적어도 하나의 실시예에 포함되는 것을 의미한다. 그러한 구들의 발생들은 반드시 동일한 실시예를 지칭하는 것은 아니며, 반드시 서로 상호 배타적인 대안 실시예들을 지칭하는 것도 아니다.
맥락이 달리 분명히 필요하지 않는 한, 단어들 "포함한다" 및 "포함하는"은 배타적 또는 총망라적 의미보다는 포함적 의미(즉, "포함하지만 제한되지 않는"의 의미)로 해석되어야 한다.
용어 "에 기초하여"는 또한 배타적 또는 총망라적 의미보다는 포함적 의미로 해석되어야 한다. 따라서, 달리 언급되지 않는 한, 용어 "에 기초하여"는 "에 적어도 부분적으로 기초하여"를 의미하는 것으로 의도된다.
용어 "모듈"은 소프트웨어 구성요소들, 하드웨어 구성요소들, 및/또는 펌웨어 구성요소들을 광범위하게 지칭한다. 모듈들은 전형적으로 지정된 입력(들)에 기초하여 유용한 데이터 또는 다른 출력(들)을 발생시킬 수 있는 기능적 구성요소들이다. 모듈은 독립적일 수 있다. 컴퓨터 프로그램은 하나 이상의 모듈. 따라서, 컴퓨터 프로그램은 상이한 작업들을 완료할 책임이 있는 다수의 모듈 또는 다수의 작업을 완료할 책임이 있는 단일 모듈을 포함할 수 있다.
다수의 아이템의 리스트를 참조하여 사용될 때, 단어 "또는"은 이하의 해석들의 전부를 망라하는 것으로 의도된다: 리스트 내의 아이템들 중 어느 것, 리스트 내의 아이템들의 전부, 및 리스트 내의 아이템들의 임의의 조합.
본원에 설명된 프로세스들 중 어느 것으로 수행되는 단계들의 시퀀스들은 예시적이다. 그러나, 물리적 가능성에 반하지 않는 한, 단계들은 다양한 시퀀스들 및 조합들로 수행될 수 있다. 예를 들어, 단계들은 본원에 설명된 프로세스들에 추가되거나, 프로세스들로부터 제거될 수 있다. 유사하게, 단계들은 대체되거나 재순서화될 수 있다. 따라서, 임의의 프로세스들의 설명들은 제약이 없는 것으로 의도된다.
개요
컴퓨팅 시스템들은 데이터의 특성들을 식별하고 데이터의 특성들에 기초하여 액션들을 수행하기 위해 데이터(예를 들어, 구조화된 데이터)의 하나 이상의 스트림을 수신하고 처리할 수 있다. 예를 들어, 컴퓨팅 시스템은 데이터베이스를 수집하고 데이터베이스에 포함되는 데이터베이스 열들의 다양한 특성들(예를 들어, 이름들, 주소들, 전화 번호들)을 식별할 수 있다. 데이터베이스의 특성들은 컴퓨팅 시스템에 의해 수집되는 데이터 스트림의 부분들로서 포함될 수 있다.
많은 경우들에서, 컴퓨팅 시스템들은 복수의 데이터 스트림을 수집하고 처리할 수 있으며, 이는 계산 자원 집약적일 수 있다. 데이터의 각각의 부분에 포함되는 데이터의 부분들의 성질을 식별하기 위해, 컴퓨팅 시스템은 데이터의 성질을 표시하는 데이터에 대한 적절한 분류를 식별할 수 있다. 예를 들어, 컴퓨팅 디바이스는 디지털화된 문서의 제1 부분을 개인의 이름에 관련된 텍스트로서 분류하고 디지털화된 문서의 제2 부분을 국가에 관련된 텍스트로서 분류하기 위해 구조화된 데이터의 데이터베이스 열을 검사할 수 있다. 데이터의 일부분과 연관된 분류는 연관된 데이터를 처리하는 것보다는 분류를 검사함으로써 데이터의 성질을 식별하기 위해 이용될 수 있으며, 이는 덜 계산 자원 집약적일 수 있다.
데이터 스트림의 일부분에 대한 액션은 데이터 스트림의 부분의 분류에 기초하여 취해질 수 있다. 데이터 스트림의 일부분에 대해 취해질 수 있는 액션들의 예들은 데이터를 메모리의 특정 위치에 저장하는 것, 데이터를 외부 디바이스에 송신하는 것, 데이터를 삭제하는 것 등 중 어느 것을 포함할 수 있다.
많은 경우들에서, 데이터의 일부분에 대한 분류는 데이터의 부분이 신뢰/민감 데이터를 포함하는 것을 표시할 수 있다. 예를 들어, 분류는 데이터가 개인을 나타낼 수 있는 개인 식별가능 정보(personally-identifiable information)(PII)를 포함하는 것을 표시할 수 있다. 그러한 분류에 기초하여, 컴퓨팅 시스템은 데이터의 신뢰 성질을 보호하기 위해 액션(예를 들어, 메모리의 특정 부분에 데이터를 저장하는 것)을 취할 수 있다.
게다가, 다양한 관할권들은 특정 유형들의 데이터의 취급, 보급, 및 저장에 관련된 특정 규칙들을 포함하는 법들 또는 규정들을 가질 수 있다. 예를 들어, 법은 개인이 PII에 대한 액세스를 요청하거나 그러한 정보의 삭제를 요청할 수 있는 방식으로 개인과 연관된 모든 개인 식별가능 정보(PII)가 식별되고 유지되는 것을 표시하는 규칙들을 포함할 수 있다. 이러한 이벤트에서, 컴퓨팅 시스템은 특정 개인에 대한 PII로서 분류되는 데이터를 식별할 수 있도록 그러한 정보로 적절한 액션을 취할 수 있다. 예를 들어, 제1 개인을 나타내는 PII를 포함하는 모든 분류된 데이터는 메모리의 제1 부분에 저장될 수 있으며, 데이터는 제1 개인에 의한 요청 시에 삭제되거나 외부 디바이스에 송신될 수 있다.
그러나, 많은 경우들에서, 데이터의 일부분과 연관된 분류는 부정확할 수 있다. 예를 들어, 컴퓨팅 시스템은 텍스트 "기독교"를 포함하는 데이터의 일부분을 검사하고, 그것을 "종교"로서 분류할 수 있지만, 정확한 분류는 "이름"이다. 그러한 부적절한 분류들은 데이터의 부적절한 저장 및 취급을 야기할 수 있다. 게다가, 데이터의 부적절한 분류는 일부 관할권들 내의 다양한 법들/규정들을 준수하지 않는 것을 야기할 수 있다. 예를 들어, PII를 표현하는 데이터가 비민감 데이터로서 부적절하게 분류되면, PII를 표현하는 데이터는 메모리의 부적절한 부분에 저장되거나, 비인가된 엔티티들에 의해, 예를 들어, 그 관할권 내의 법들/규정들을 위반하여 액세스가능할 수 있다.
시스템 개요
본 실시예들은 다수의 분류 모듈로부터 수신되는 집성된 분류 정보를 사용하여 데이터의 부분들을 분류하는 것에 관한 것이다. 다수의 분류 모듈은 수신된 데이터를 검사하고 데이터에 대한 제안된 분류(들) 및 각각의 제안된 분류에서의 신뢰 수준을 결정하기 위해 다양한 기술들(예를 들어, 딕셔너리들, 정규 표현(Regex) 패턴 매칭, 신경망)을 사용할 수 있다. 분류 모듈들에 의해 이용되는 가변 기술들은 각각의 제안된 분류에서의 상이한 신뢰들을 하나 이상의 제안된 분류에 제공할 수 있다.
추가적으로, 집성 모듈(또는 "집성기")은 제안된 분류들 및 신뢰들을 수신 및 조합하고 집성된 정보를 검사하여 더 큰 정도의 정확도로 분류를 표현하는 데이터에 대한 최종 분류를 결정할 수 있다. 집성기에 의해 결정되는 최종 분류에 기초하여, 추가 액션(예를 들어, 데이터를 저장하는 것, 데이터를 클라이언트 디바이스에 송신하는 것, 데이터를 암호화하는 것)이 수행될 수 있다.
도 1은 다양한 실시예들에 따라, 데이터를 분류하기 위한 생성 아키텍처(100)의 블록도를 예시한다. 생성 아키텍처(100)는 다양한 유형들의 구조화된 데이터(예를 들어, 데이터베이스에 포함되는 테이블의 열, 이름들 및 주소들)를 수집하고 데이터의 부분들에 대한 분류를 결정할 수 있다.
제어기(102)는 외부 디바이스(104)로부터 가변 유형들의 수집된 정보를 표현하는 구조화된 데이터의 하나 이상의 스트림을 획득하도록 구성된 컴퓨팅 디바이스(예를 들어, 컴퓨터, 서버, 일련의 상호연결된 서버들)를 포함할 수 있다. 예를 들어, 외부 디바이스(104)는 서버와 같은, 구조화된 데이터를 획득하도록 구성된 디바이스를 포함할 수 있다. 일부 실시예들에서, 제어기(102)는 데이터베이스(112)로부터 데이터의 스트림(들)(예를 들어, 구조화된 데이터의 열들)을 수신할 수 있다. 대안 실시예에서, 외부 디바이스(104)는 데이터 스트림을 캡처 또는 수신하도록 구성된 임의의 디바이스(예를 들어, 센서, 이미지 스캐너)를 포함할 수 있다. 일부 실시예들에서, 하나 이상의 외부 디바이스(104)는 게이트웨이를 통해 제어기(102)에 연결될 수 있다.
데이터 스트림들은 다양한 유형들(예를 들어, 주소들, 이름들)의 데이터를 포함할 수 있다. 데이터 스트림들은 예를 들어, 데이터베이스에 포함되는 데이터베이스 열과 같은, 데이터의 다수의 부분을 포함할 수 있다. 일 예로서, 데이터 스트림은 디지털화된 문서와 연관된 정보(예를 들어, 데이터, 메타데이터)를 포함할 수 있으며, 데이터의 제1 부분은 개인의 사회 보장 번호를 포함하고, 데이터의 제2 부분은 문서에 포함되는 계약의 용어들을 포함한다.
제어기(102)는 브로커(106)와 통신할 수 있다. 브로커(106)는 생성 아키텍처(100)의 제어기(102)와 구성요소들(예를 들어, 분류 모듈들(108), 집성기(110) 등) 사이에 정보를 전송하도록 구성된 컴퓨팅 디바이스를 포함할 수 있다. 예를 들어, 브로커(106)는 구조화된 데이터를 제어기(102)로부터 분류 모듈들(108)의 세트로 전송할 수 있다. 브로커(106)는 분류 모듈들(108a 내지 108n)로부터 제안된 분류들을 수신하고 제안된 분류들을 집성기(110)에 전송할 수 있다. 브로커(106)는 집성기(110)로부터 최종 분류들을 수신하고 최종 분류들을 제어기(102)에 전송할 수 있다. 일부 실시예들에서, 생성 아키텍처(100)는 다수의 브로커(106)를 포함할 수 있으며, 각각의 브로커(106)는 제어기(102) 및 분류 모듈들의 세트(예를 들어, 분류 모듈들(108a 내지 108n)) 및 집성기(예를 들어, 집성기(110)) 사이에 정보를 전송한다.
분류 모듈들(108)의 세트는 수신된 데이터를 검사하고 데이터에 대한 제안된 분류를 결정하도록 구성된 다수의 모듈을 포함할 수 있다. 분류 모듈들(108a 내지 108n)은 수신된 데이터를 제안된 분류의 정확도의 신뢰를 나타내는 특정 신뢰 수준으로 제안된 분류와 연관시키기 위해 다양한 기술들(예를 들어, 딕셔너리 매칭, Regex 패턴 매칭)을 이용할 수 있다.
분류 모듈들(108)의 세트 각각으로부터 발생되는 제안된 분류들 및 신뢰 수준들은 브로커(106)를 통해 집성기(110)에 전송될 수 있다. 집성기(110)는 최종 분류를 결정하기 위해 제안된 분류들을 검사하고 집성할 수 있다. 최종 분류는 다수의 분류 기술의 조합에 기초하는 데이터에 대한 식별된 분류를 포함할 수 있다.
제어기(102)는 브로커(106)로부터 최종 분류들을 수신하고 최종 분류들을 외부 디바이스(104)에 전송할 수 있다. 외부 디바이스(104)는 최종 분류에 기초하여 후속 액션(예를 들어, 데이터를 제어기(102) 또는 데이터베이스(112) 중 어느 것의 메모리 내의 제1 위치에 저장하는 것, 데이터를 외부 디바이스(104)에 송신하는 것, 데이터베이스(112)를 업데이트하는 것)을 수행하도록 구성될 수 있다.
분류 모듈들(108), 집성기(110), 데이터베이스(112) 등 중 어느 것은 예를 들어, 일련의 상호연결된 서버들과 같은, 하나 이상의 컴퓨팅 디바이스 상에 실행될 수 있다.
도 2는 다양한 실시예들에 따라, 분류 모듈들(200)의 세트의 블록도를 예시한다. 위에 언급된 바와 같이, 분류 모듈들(200)의 세트에 포함되는 다수의 분류 모듈(예를 들어, 202, 204, 206)은 데이터를 검사하고 데이터의 특성들에 기초하여 제안된 분류를 결정할 수 있다.
도 2에 도시된 바와 같은 실시예에서, 분류 모듈들(200)의 세트는 딕셔너리 모듈(202), 정규 표현(Regex) 모듈(204), 및 기계 학습 모듈(206)을 포함할 수 있다. 일부 실시예들에서, 각각의 분류 모듈(202, 204, 206)은 브로커로부터 데이터를 동시에 수신할 수 있다. 다른 실시예에서, 데이터는 분류 모듈들(202, 204, 206)에 특정 시퀀스로 전송될 수 있다.
도 2에 도시된 바와 같이, 분류 모듈들(200)의 세트 각각은 분류들(208)의 리스팅에 액세스할 수 있다. 분류들(208)의 리스팅은 데이터에 대한 모든 잠재적인 분류들의 리스팅을 포함할 수 있다. 분류들(208)의 리스팅에 리스트되는 잠재적인 분류들의 예들은 개인 정보(예를 들어, 이름, 주소, 사회 보장 번호, 정치적 정보), 위치 정보(예를 들어, 국가, 도시, 주), 기술 정보(예를 들어, 인터넷 프로토콜(internet protocol)(IP) 주소, 매체 액세스 제어(media access control)(MAC) 주소) 등을 포함할 수 있다. 분류들(208)의 리스팅은 도 5에 대해 더 상세히 논의된다. 분류들(208)의 리스팅은 미리 결정될 수 있거나, 일부 실시예들에서, 분류들(208)의 리스팅은 데이터에 대한 더 상세한 분류들을 제공하는 분류 하위유형들의 계층들을 포함할 수 있다.
분류 모듈들(200)의 세트는 딕셔너리 모듈(202)을 포함할 수 있다. 딕셔너리 모듈(202)은 수신된 데이터에 포함되는 텍스트를 하나 이상의 딕셔너리(212a 내지 212b)와 비교할 수 있다. 임의의 딕셔너리(212a, 212b)는 단어들/구들의 리스팅 또는 데이터베이스 및 문장들/단락들 내의 단어들/구들의 연관된 정의(들) 또는 공통 예들을 포함할 수 있다. 딕셔너리 모듈(202)은 데이터에 포함되는 텍스트의 식별된 정의 및 분류들(208)의 리스팅을 비교하는 것에 기초하여 하나 이상의 제안된 분류를 식별할 수 있다.
딕셔너리 모듈(202)은 데이터에 포함되는 텍스트를 식별하기 위해 수신된 데이터의 특성들을 식별할 수 있다. 식별된 특성들은 딕셔너리 내의 리스팅들과 비교될 수 있다. 예를 들어, 단어 "기독교"의 식별된 특성은 딕셔너리(212a) 내의 다수의 리스팅과 매칭할 수 있으며, 하나의 리스팅은 종교에 관련되고, 다른 리스팅은 주어진 이름 또는 별명에 관련된다. 딕셔너리 모듈(202)은 특성과 딕셔너리 리스팅 사이의 각각의 매치에 대한 신뢰 수준을 결정할 시에 사용될 수 있는 유사도들을 식별하기 위해 식별된 특성들을 매칭 딕셔너리 리스팅들과 비교할 수 있다. 매칭 딕셔너리 리스팅들은 딕셔너리 모듈(202)에 의해 제공되는 제안된 분류를 표현하는 분류를 식별하기 위해 분류들(208)의 리스팅에 비교될 수 있다.
딕셔너리 모듈(202)은 제안된 분류에 대한 추정된 정확도 또는 유사도를 표시하는 제안된 분류에 대한 신뢰 수준을 포함할 수 있다. 제1 예에서, 수신된 텍스트에서 식별되는 텍스트가 딕셔너리(212a) 내의 단 하나의 인스턴스와 매칭하면, 딕셔너리 모듈(202)은 높은 신뢰로 그것과 유사한 제안된 분류를 발생시킬 수 있다. 제2 예에서, 텍스트가 다수의 잠재적인 정의(예를 들어, 종교 또는 이름 중 하나와 관련되는 단어 '기독교')를 포함하면, 딕셔너리 모듈(202)은 다수의 매치를 식별하고, 그 결과, 단어에 대한 제안된 분류에서 더 낮은 신뢰 수준을 발생시킬 수 있다. 데이터 내의 제1 라인은 단어를 매치로서 식별하기 위해 수신된 단어와 단어의 딕셔너리 정의(예를 들어, 레벤슈타인 거리) 사이에 단일 문자 편집들의 최소 수를 정의할 수 있다. 일 예로서, 텍스트가 주 이름 코드들을 포함하면, 주 이름 코드에 대한 딕셔너리에서 매치가 있을 수 있지만, 이름들 또는 별명들에 대한 스펠링 차이들이 있을 수 있다.
일부 실시예들에서, 딕셔너리 모듈(202)은 딕셔너리들의 계층을 포함할 수 있다. 딕셔너리들의 계층은 분류체계 또는 계층에서 차지되는 다수의 딕셔너리를 포함할 수 있다. 일 예로서, 딕셔너리들의 계층은 고급 딕셔너리(212a) 및 저급 딕셔너리(212b)를 포함한다. 이 예에서, 수신된 텍스트는 우선 고급 딕셔너리(212a) 내의 엔트리에 매칭될 수 있다(예를 들어, 텍스트를 단어 "국가들"에 매칭시킴). 고급 딕셔너리(212a) 내의 매치에 기초하여, 딕셔너리 모듈(202)은 텍스트의 더 상세한 정의를 식별하기 위해 저급 딕셔너리(212b)(예를 들어, 유럽 국가 특정 딕셔너리)를 검사할 수 있다.
분류 모듈들(200)의 세트는 정규 표현(Regex) 모듈(204)을 포함할 수 있다. Regex 모듈(204)은 일련의 Regex 패턴들(214)(즉, 검색 패턴을 정의하는 문자들의 시퀀스들)을 포함할 수 있다. Regex 모듈(204)은 텍스트를 임계 유사도를 초과하는 유사도와 매칭시키는 Regex 패턴(214)을 식별하기 위해 Regex 패턴들(214)을 수신된 텍스트와 비교할 수 있다. 매칭 Regex 패턴(214)은 제안된 분류 및 신뢰 수준을 식별하기 위해 분류들(208)의 리스팅과 비교될 수 있다.
일부 실시예들에서, 정규 표현들의 세트는 단일 데이터유형에 링크될 수 있다. Regex 모듈(204)은 주어진 유형(즉, 유형에 링크되는 임의의 Regex)과 매칭하는 주어진 엔트리들의 샘플들의 수를 반환할 수 있다. Regex 모듈(204)은 임계 유사도를 초과하는 모든 매칭된 유형들을 신뢰로 반환할 수 있다. 분류 모듈들은 예를 들어, 딕셔너리 검색들 및 regex 매치들의 정확도를 개선하기 위해 재훈련될 수 있다.
분류 모듈들(200)의 세트는 기계 학습 모듈(206)을 포함할 수 있다. 기계 학습 모듈(206)은 수신된 데이터에 대한 제안된 분류를 결정하기 위해 신경망을 구현할 수 있다. 예를 들어, 기계 학습 모듈(206)은 수신된 데이터의 제안된 분류들에 대한 정확도 및 신뢰 수준을 증가시킬 수 있는 다양한 정보와 연관된 규칙들의 세트를 식별할 수 있다. 예시하기 위해, 일 예는 번호들의 특정 배열이 미국을 지정하는 국가 코드를 갖는 전화 번호인 것을 식별하는 기계 학습 모듈(206)을 포함할 수 있다. 기계 학습 모듈(206)은 이 정보를 규칙으로서 통합하고 데이터의 후속 부분들을 검사할 때 정보를 이용할 수 있다. 이 예에서, 기계 학습 모듈(206)은 수신되는 정보의 제2 세트가 기계 학습 모듈(206)에 포함되는 규칙들에 기초하여 미국을 지정하는 국가 코드를 갖는 전화 번호인 것을 식별할 수 있다. 기계 학습 모듈(206)은 도 3과 관련하여 더 상세히 설명된다.
임의의 분류 모듈(200)은 제안된 분류 및 제안된 분류가 수신된 텍스트를 정확히 반영하는 추정된 신뢰를 표현하는 신뢰 수준을 발생시킬 수 있다. 신뢰 수준은 제안된 분류의 정확도의 수량화된 신뢰를 표현하는 값들의 범위 내의 값을 포함할 수 있다. 예를 들어, 신뢰 수준은 0 내지 100의 범위 내의 수일 수 있으며, 100은 최고 신뢰를 표시한다.
신뢰 수준은 수신된 텍스트와 제안된 분류 사이의 유사도들의 수에 적어도 부분적으로 기초할 수 있다. 일부 실시예들에서, 신뢰 수준은 분류 모듈이 수신된 텍스트에 매칭하는 분류들의 수에 적어도 부분적으로 기초할 수 있으며, 수신 텍스트와 매칭하는 더 많은 분류들이 다수의 잠재적으로 정확한 분류를 표시할 수 있으므로 제안된 분류에서 더 낮은 신뢰를 표시할 수 있다. 일부 실시예들에서, 분류 모듈은 다수의 제안된 분류 및 각각의 제안된 분류와 연관된 신뢰 수준을 발생시킬 수 있다.
분류 모델들은 수행되는 이전 분류들에 기초하여 제안된 분류의 확실성을 추정하는 신뢰 수준을 결정할 수 있다. 신뢰 수준(또는 백분율)은 훈련 데이터에 기초할 수 있다. 일부 실시예들에서, 열 데이터의 경우, 분류 모듈들은 데이터 열에서 모든 데이터 엔티티에 대한 제안된 분류를 발생시킬 수 있지만, 이들 제안된 분류들은 전체 열에 대한 전체 분류를 발생시키기 위해 조합될 수 있다.
예를 들어, 딕셔너리 검색은 데이터 엔티티에 대한 90% 신뢰 수준을 발생시킬 수 있으며, 이는 100개의 샘플 중 90개가 수신된 데이터에 대한 제안된 분류를 식별하는 것을 표시한다. 다른 예로서, regex 매처는 데이터가 발생되는 샘플들의 90%에서 Regex 패턴과 매칭하는 것을 표시하는 90% 신뢰 수준을 발생시킬 수 있다.
일부 실시예들에서, 기계 학습 모듈(206)은 다른 분류 모듈들(예를 들어, 딕셔너리 모듈(202), Regex 모듈(204))의 신뢰 수준들과 상이할 수 있는 제안된 분류에 대한 신뢰 수준을 발생시킬 수 있다. 예시로서, 90% 신뢰 수준을 발생시키는 기계 학습 모듈은 기계 학습 모듈이 학습한 정보에 기초하여, 수신된 데이터의 샘플링 시간들의 90%가 제안된 분류와 매칭하는 것을 표시한다.
기계 학습 모듈(206)은 제안된 분류를 결정할 시에 더 큰 통찰력들을 수신된 텍스트에 제공하기 위해 맥락을 이용하도록 훈련 데이터를 사용할 수 있다. 예를 들어, 기계 학습 모듈은 임의의 제안된 분류 및 신뢰 수준들을 수정하기 위해 규칙들의 세트들 및 맥락 정보를 식별하도록 훈련 데이터를 이용할 수 있다. 훈련 데이터는 기계 학습 모듈이 수신된 데이터의 부적절한 분류들인 다수의 잠재적인 분류를 제거하는 것을 허용할 수 있다. 따라서, 잠재적인 분류들을 제거하는 것은 제안된 분류의 신뢰 수준을 증가시킬 수 있다.
도 3은 다양한 실시예들에 따라, 기계 학습 모듈(306)의 블록도를 예시한다. 위에 언급된 바와 같이, 기계 학습 모듈(306)은 제안된 분류를 결정하기 위해 훈련 데이터뿐만 아니라 분류 기술들(예를 들어, 딕셔너리, Regex)을 이용한다.
기계 학습 모듈(306)은 수신된 데이터에 대해 발생되는 제안된 분류의 반복의 샘플 데이터를 표현하는 데이터 샘플들(308)에 기초하여 제안된 분류를 발생시킬 수 있다. 일부 실시예들에서, 기계 학습 모듈(306)은 데이터의 이전에 발생된 분류들에 기초하여 훈련될 수 있다. 데이터 샘플들(308)의 일 예는 복수의 이메일 주소, 공통 제1 이름들, 종교들, 건강 조건들 등에 대한 이전에 발생된 분류들을 포함할 수 있다. 제안된 분류들은 클라이언트 디바이스들에 송신될 수 있고 데이터 샘플들에 관련된 피드백은 클라이언트들로부터 수신될 수 있으며, 피드백은 훈련 데이터에 통합될 수 있다. 일부 실시예들에서, 훈련 세트는 각각의 클라이언트/고객에 대해 발생될 수 있다.
문자 임베딩들은 데이터 메타데이터에 기초하여 특징들을 갖는 샘플 데이터에서 문자들의 유사도들을 학습하기 위해 사용될 수 있다. 기계 학습 모듈(306)은 문자 임베딩들(310)을 생성할 수 있다. 문자 임베딩들(310)은 데이터 샘플들로부터 하나 이상의 숫자형 행렬로 변환될 수 있는 수정된 데이터 샘플들을 포함할 수 있다. 일부 실시예들에서, 무감독 학습 알고리즘은 텍스트의 언어 맥락들을 재구성하도록 훈련된 얕은 신경망을 제공할 수 있다. 일부 실시예들에서, 문자 임베딩들의 다수의 반복을 수행하는 것은 숫자형 행렬들에서 클러스터들의 발생을 용이하게 할 수 있다. 클러스터들은 유사한 특성들을 갖는 분류들 및 데이터 샘플들의 그룹화들을 표현할 수 있으며, 클러스터들은 주어진 분류와 분류들의 이전 반복들 사이의 유사도들을 식별할 시에 이용될 수 있다. 클러스터들을 식별하는 숫자형 행렬의 그래픽 표현의 일 예는 도 4에 대해 도시된다.
기계 학습 모듈(306)은 신경망을 포함할 수 있다. 신경망(312)은 데이터 샘플들(308) 및 맥락 데이터(314) 둘 다를 수신하기 위해 다수의 입력을 가질 수 있다.
맥락 데이터(314)는 데이터의 분류의 정확도를 개선할 시에 이용될 수 있다. 일 예로서, 일련의 샘플들은 ['F', 'M', 'M', 'F', 'F', 'M', 'M', 'F']로 식별될 수 있다. 샘플들로부터, 분류 유형이 무엇인지 결정적이지 않을 수 있다. 샘플들이 '성별'과 관련될 수 있을 가능성이 있지만, 샘플들은 예를 들어, 제품의 상태 필드에 관련될 수 있다. 맥락 데이터는 필드에 2개의 개별 값만이 있도록 다른 정보를 제공할 수 있으며, 테이블 내의 다른 필드들은 'customer_name', 'customer_family_status' 등을 포함할 수 있다. 따라서, 샘플 데이터가 '성별'에 대한 것인 제안된 분류의 신뢰 수준은 맥락 데이터에 기초한다. 역으로, 맥락 데이터가 필드 내의 10개의 개별 값을 포함하고 테이블 내의 다른 필드들이 'product_number', 'product_status_change_date' 등을 포함하면, 제안된 분류가 '성별'이 아니라, 오히려, 프로젝트 상태에 관련된 분류일 가능성이 더 많을 수 있다.
신경망(312)은 컴퓨터 비전 또는 자연 언어 처리(natural language processing)(NLP) 프로세스들 중 어느 것에 이용될 수 있다. 신경망은 컨볼루션 신경망(convolutional neural net)(CNN) 또는 회귀 신경망(recurrent neural net)(RNN) 중 어느 것을 포함할 수 있다. 신경망은 신경망에 의해 통합되는 정보에 기초하여 샘플 데이터 및/또는 문자 임베딩들에 관련된 특성들 또는 통찰력들을 식별하기 위해 이용될 수 있다.
데이터 샘플들 및 맥락 데이터는 병합 층(316)에 병합되고 완전 연결 신경망 층들을 포함하는 드롭아웃(318) 및 밀집(320) 층들에 전송될 수 있다. 드롭아웃(318) 층은 학습 프로세스 동안 일부 특징들을 턴 오프함으로써 과적합을 회피할 수 있으므로, 모델은 훈련 세트에서 현저한 특징들에 너무 큰 가중을 두지 않는다.
완전 연결 신경망 층들(예를 들어, 신경망(312), 병합(316), 드롭아웃(318), 밀집(320))은 훈련 데이터를 이용할 수 있다. 훈련 데이터는 완전 연결 신경망 층들에 의해 샘플 데이터 및 문자 임베딩들로부터 식별되는 특성들/통찰력들을 포함할 수 있다. 일부 실시예들에서, 훈련 데이터는 수신된 데이터에 대한 제안된 분류를 수정하기 위해 기계 학습 모듈(306)에 의해 이용될 수 있는 규칙들의 세트로서 표현될 수 있다.
일부 실시예들에서, 기계 학습 모듈은 맥락 데이터에 포함되는 열 이름에 기초하여 특징들을 식별할 수 있다. 기계 학습 모듈의 학습의 추가 반복들은 클라이언트들로부터 피드백을 수신하면서 특징들을 학습 프로세스에 추가하는 것을 포함할 수 있다.
기계 학습 모듈(306)은 완전 연결 신경망 층들을 평가하고 출력(322)을 발생시킬 수 있다. 신경망을 평가하는 것은 학습 프로세스의 훈련 및 검사 정확도를 식별하기 위해 하나 이상의 정확도 메트릭을 결정하는 것을 포함할 수 있다. 훈련 정확도 메트릭들은 수신된 텍스트에 대한 제안된 분류들을 식별할 시에 데이터 샘플들 및 문자 임베딩들을 정정하는데 훈련 데이터가 이용된 성공의 수준을 표시할 수 있다. 출력은 출력의 정확도에 관한 피드백을 요청하는 외부 디바이스에 송신될 수 있다. 수신되는 임의의 피드백은 훈련 데이터에 통합될 수 있다.
일부 실시예들에서, 기계 학습 모듈(306)은 수신된 데이터에 포함되는 다양한 맥락 데이터를 식별하기 위해 훈련 데이터 및 문자 임베딩들을 이용할 수 있다. 맥락 데이터 특정 데이터 스트림에 관련된 맥락 정보를 표현할 수 있다. 예를 들어, 데이터 스트림에 대한 맥락 데이터는 데이터 스트림이 일반적으로 디지털화된 계약 문서에 관련되는 것을 표시할 수 있다. 게다가, 이 예서의 맥락 데이터는 데이터 스트림 내의 데이터의 분류들에 맥락을 제공하기 위해 이용될 수 있다. 이 예로서, 맥락 데이터는 예를 들어, 계약 문서들이 일반적으로 종교들에 관련된 정보를 포함할 가능성이 더 적기 때문에, "종교"의 분류가 "이름"과 같은 계약 관련 분류보다 가능성이 더 적은 것을 식별할 수 있다.
도 4는 다양한 실시예들에 따라, 훈련된 분류 데이터의 클러스터들의 그래픽 표현의 예시이다. 위에 언급된 바와 같이, 문자 임베딩들은 수신된 데이터 및 제안된 분류들을 하나 이상의 숫자형 행렬들로 변환하기 위해 사용될 수 있다. 일 예로서, 제안된 분류들 및 연관된 데이터의 다수의 반복은 숫자형 행렬들로 변환될 수 있으며, 제안된 분류들 및 데이터의 특성들은 행렬들에서 수치로 표현된다. 데이터는 텍스트로부터 숫자형 행렬들에 통합될 수 있는 벡터들로 변환될 수 있다.
기계 학습 모듈에 의해 생성되는 문자 임베딩들은 기계 학습 서브모듈에 포함될 수 있으며, 문자 임베딩들은 숫자형 벡터들로 변환될 수 있다. 문자 임베딩들은 텍스트의 변환 및 다른 문자들에 대한 텍스트의 관련 둘 다를 포함할 수 있다. 클러스터들은 숫자형 벡터들로 변환될 때 문자 임베딩들의 관련의 그래픽 표현을 표현할 수 있다. 일 예로서, 글자 'a'는 숫자형 벡터로 변환될 수 있다. 클러스터링은 글자 'a'가 다른 문자(예를 들어, 부호 '-')보다 다른 글자(예를 들어, 글자 'b')와 관련하여 더 가까운 것을 결정하기 위해 이용될 수 있다.
게다가, 클러스터링은 전체 데이터 세트들에 대해 이용될 수 있다. 다시 말해, 각각의 클래스(예를 들어, 이름, 주소, IP 주소)에 관련된 데이터는 숫자형 벡터들로 변환되고 검사되어 클러스터링 데이터를 결정할 수 있다. 일 예로서, 클래스들 '이름' 및 '성별'에 관련된 데이터 세트들은 숫자형 벡터들로 변환될 수 있다. 숫자형 벡터들은 데이터 클래스들에 관련된 통찰력들을 결정하기 위해 검사될 수 있다. 이 예에서, 숫자형 벡터들은 '이름' 및 '성별' 분류들이 개인 정보에 관련된 클래스들을 표현하는 '개인 정보' 클러스터에서 서로 관련되는 것을 결정하기 위해 검사될 수 있다.
변환된 분류 데이터의 각각의 인스턴스는 숫자형 행렬들의 그래픽 표현 내의 지점(402)으로서 표현될 수 있다. 그래픽 표현 상의 지점(402)의 위치는 변환된 특성들(예를 들어, 분류 유형, 텍스트 글자들, 텍스트 단어들, 텍스트 문자의 유형(예를 들어, 그리스 문자, 대문자 영문자, 숫자들)에 기초할 수 있으며, 상이한 특성들에는 숫자형 행렬들에 포함되는 벡터들의 다양한 값들이 주어진다.
일부 실시예들에서, 제안된 분류들 및 데이터의 다수의 반복이 숫자형 행렬들로 변환될 때, 다수의 클러스터(예를 들어, 클러스터들(404a 내지 404-e))이 형성될 수 있다. 클러스터는 특성들에서 다수의 유사도를 갖는 숫자형 행렬들의 다수의 지점(402)을 표현할 수 있다. 예를 들어, 문자 임베딩들의 숫자형 행렬은 식별될 수 있는 소문자 영문자들의 클러스터, 숫자들의 클러스터, 대문자 영문자들의 클러스터, 및 그리스 문자들의 클러스터를 포함할 수 있다. 기계 학습 모듈 또는 집성기 중 어느 것은 데이터를 행렬들로 변환하고 행렬들에서 클러스터들을 식별할 수 있다.
일부 실시예들에서, 기계 학습 모듈은 제안된 분류, 수신된 데이터, 샘플 데이터, 문자 임베딩들, 및 훈련 데이터 중 어느 것을 숫자형 행렬들로 변환할 수 있다. 숫자형 행렬들은 기계 학습 모듈 및 연관된 데이터에 의해 발생되는 제안된 분류들의 다수의 반복을 포함할 수 있다. 일부 실시예들에서, 제안된 분류들 및 연관된 데이터 각각은 숫자형 행렬들에 통합되는 벡터들로 변환될 수 있으며, 벡터들은 숫자형 행렬들의 그래픽 표현 내의 지점으로서 표현될 수 있다. 기계 학습 모듈은 다양한 제안된 분류들 및/또는 수신된 데이터에서 공통 특징들을 표현하는 클러스터들을 식별할 수 있다.
일 예로서, 제1 클러스터는 숫자형 문자들을 포함하는 데이터를 표현하는 숫자형 행렬 및 숫자형 문자들(예를 들어, 정부 발행 식별자들, 전화 번호들)과 통상 연관되는 제안된 분류들에서 식별될 수 있다. 이 정보를 사용하면, 기계 학습 모듈은 정보를 숫자형 행렬로 변환할 때 특정 제안된 분류 및 데이터가 제1 클러스터에 포함되는지를 식별할 수 있다. 기계 학습 모듈은 특정 제안된 분류 및 데이터가 제1 클러스터에 포함되는 것을 식별할 수 있으며, 이는 정확한 제안된 분류가 숫자형 문자들과 통상 연관된 분류일 가능성이 더 많은 것을 식별하기 위해 사용될 수 있다. 이것은 수신된 데이터에 대한 제안된 분류를 식별할 시에 정확도 및 신뢰 수준을 증가시킬 수 있다.
도 5는 다양한 실시예들에 따라, 잠재적인 데이터 분류들(500)의 테이블의 블록도를 예시한다. 위에 언급된 바와 같이, 분류들(500)의 리스팅은 하나의 데이터와 연관될 수 있는 다수의 유형의 분류들(502)을 포함하는 데이터베이스 또는 리스팅을 포함할 수 있다. 분류들의 예들은 이름, 주, 국가, 도시, 성별, 인종, 직업, 직위, 일, 주일, 월, 년, 언어, 이메일, 전화 번호, 주소, 국제 은행 계좌 번호(international bank account number)(IBAN), 전세계적 고유 식별자(globally unique identifier)(GUID)/보편적 고유 식별자(universally unique identifier)(UUID), 인터넷 프로토콜(IP) 주소, 국가 의약품 코드(national drug code)(NDC) 코드, 매체 액세스 제어(MAC) 주소, 사회 보장 번호(social security number)(SSN), 건강 조건, 정치적 배경, 종교, 신용 카드 번호 등 중 어느 것을 포함할 수 있다.
일부 실시예들에서, 분류들의 리스팅은 각각의 분류와 연관된 공통 용어들 또는 특성들을 포함할 수 있다. 예를 들어, '주'의 분류는 분류 및 수신된 텍스트와 더 용이하게 매칭하기 위해 분류와 연관된 주들(예를 들어, 캘리포니아)을 가질 수 있다.
일부 실시예들에서, 분류는 분류들의 계층 또는 하위유형들(504)을 포함할 수 있다. 예를 들어, '국가'의 분류는 국가들(예를 들어, 국가 전체 이름들, 국가 코드들, 유럽 국가들)의 서브리스팅을 지시할 수 있으며, 각각의 서브-서브 리스팅(예를 들어, 이탈리아, 독일)은 상세한 분류들을 제공할 수 있다. 분류들의 계층은 분류들의 계층이 각각의 분류에 대한 더 적절한 서브클래스들을 포함하므로, 수신된 텍스트의 성질을 더 정확하게 식별할 수 있다.
일부 실시예들에서, 각각의 분류는 그 분류를 갖는 정보가 법 또는 규정(506)으로 인해 특정 방식으로 취급되어야 하는지를 표시할 수 있다. 예를 들어, 규정(506)은 그 정보에서 식별되는 개인의 비밀을 보호하기 위해 특정 유형들의 데이터의 취급 및 유지에 관련될 수 있다. 이 예에서, 일부 유형들의 정보(예를 들어, 이름, 이메일, 성별, 종교)는 그러한 규정을 받을 수 있으며, 규정은 모든 관련 데이터가 정보를 검색하는 요청에 기초하여 식별되고 검색될 수 있도록 그러한 데이터의 저장을 필요로 할 수 있다.
일부 실시예들에서, 각각의 분류는 분류가 개인 식별가능 정보(PII)(508)를 포함하는지를 표시할 수 있다. PII(508)는 테이블(500) 내의 'x'에 의해 표현되는 바와 같이, 개인을 나타낼 수 있는 정보를 포함할 수 있다. PII를 포함하는 정보의 예들은 이름, 이메일 주소, IP 주소 등일 수 있다.
일부 실시예들에서, 각각의 분류는 분류가 유럽 연합에서의 일반 데이터 보호 규정과 같은 규정(510)을 받는지를 표시할 수 있다.
PII의 프라이버시를 보호하기 위해, 예를 들어, 데이터를 적어도 하나의 메모리의 특정 부분에 저장하는 것, 데이터를 삭제하는 것, 적절한 접근 권한들을 갖는 사용자들이 데이터에 액세스가능하게 하는 것, 데이터를 마스킹하는 것, 특정 프로세스들에 사용될 수 없도록 데이터를 태깅하는 것 등과 같은 특정 액션은 PII를 포함하거나 GDPR을 받는 분류로 분류되는 데이터에 대해 외부 디바이스에 의해 수행될 수 있다.
각각의 분류는 테이블(500) 내의 'x'에 의해 표현되는 바와 같이, 분류 유형이 규정을 받는지를 표시하는 태그 또는 식별자를 포함할 수 있다. 태그들은 라벨 마스터에서 유지될 수 있다. 라벨 마스터에서, PII 또는 GDPR에 관련되는 라벨들의 세트를 표시할 수 있는 라벨들의 계층이 유지될 수 있다. 라벨 마스터는 라벨들 또는 데이터 클래스들 주위에 메타데이터 관리를 이용할 수 있다.
일부 실시예들에서, 분류들의 리스팅은 언어에 의해 연관될 수 있다. 일 예로서, '주' 분류에 대해, 하위유형은 '뉴욕' 및 뉴욕의 프랑스어 번역을 포함한다.
데이터가 민감 데이터로서 분류되면, 외부 디바이스는 다양한 규칙들 또는 규정들에 따라 민감 데이터의 테이블들을 라우팅하고 유지하기 위해 작업흐름들을 이용할 수 있다.
집성기 개요
도 6은 다양한 실시예들에 따라, 집성기에 의해 최종 분류를 결정하기 위한 흐름도를 예시한다. 집성기는 분류 모듈들의 세트 내의 각각의 분류 모듈로부터 제안된 분류들 및 신뢰 수준을 수신할 수 있다(블록 602). 제안된 분류들 및 신뢰 값들에 기초하여, 집성기는 수신된 데이터의 정확한 분류를 표현하는 최종 분류를 결정할 수 있다.
집성기는 분류 모듈들의 세트로부터 수신되는 제안된 분류들 및 신뢰 값들을 집성할 수 있다(블록 604). 일부 실시예들에서, 제안된 분류들은 분류 유형에 의해 집성될 수 있다. 일 예로서, 텍스트의 수신된 부분이 단어 "기독교"를 포함하면, 분류 모듈들은 다수의 제안된 분류를 발생시킬 수 있다. 이 예에서, 제1 제안된 분류는 "종교"의 분류를 포함할 수 있고, 제2 제안된 분류는 "이름"의 분류를 포함할 수 있다. 집성기는 예를 들어, "종교"에 대한 모든 제안된 분류들 및 "이름"에 대한 모든 제안된 분류들 및 그들의 연관된 신뢰 수준들을 집성하는 것과 같이, 각각의 제안된 분류 유형을 집성할 수 있다.
집성기는 최종 분류를 발생시키기 위해 기계 학습을 이용할 수 있다. 다시 말해, 집성기는 데이터의 최종 분류들을 발생시키는 이전 반복들로부터 유지되는 정보에 기초하여 최종 분류들의 정확도를 증가시킬 수 있다.
집성기는 최종 분류를 결정하기 위해 집성된 제안된 분류들 및 신뢰 수준들을 검사할 수 있다(블록 606). 최종 분류를 결정하기 위해 다수의 제안된 분류를 이용하는 집성기는 수신된 데이터의 분류에서 정확도를 증가시킬 수 있다.
일 예로서, 텍스트의 수신된 부분이 단어 "캘리포니아"를 포함하면, 각각의 분류 모듈은 높은 신뢰 수준으로 "주"의 제안된 분류를 식별할 수 있다. 집성기는 이들 제안된 분류들을 검사하고 최종 분류가 "주"인 것을 결정할 수 있다.
다른 예로서, 집성기는 단어 "기독교"를 포함하는 텍스트의 수신된 부분에 대한 다수의 제안된 분류를 집성할 수 있다. 제1 집성된 분류 유형은 40% 신뢰를 갖는 "종교"의 제안된 분류를 포함할 수 있고, 제2 분류 유형은 60% 신뢰 및 50% 신뢰 둘 다를 갖는 "이름"의 제안된 분류의 다수의 인스턴스를 포함할 수 있다. 각각의 제안된 분류 유형의 신뢰 수준들은 분류 유형에 의해 평균화될 수 있다. 이 예에서, 제1 유형 "종교"는 40% 전체 신뢰를 갖고, 제2 유형 "이름"은 평균화된 55% 전체 신뢰를 포함할 수 있다. 집성기는 각각의 분류 유형에 대한 가장 큰 평균화된 집성 신뢰 수준을 결정하는 것에 기초하여 "이름"의 최종 분류를 결정할 수 있다.
일부 실시예들에서, 집성기는 데이터의 일부분에 대한 최종 분류를 결정하는 것을 원조하기 위해 훈련 데이터를 이용할 수 있다. 훈련 데이터는 후속 최종 분류들을 결정할 시에 정확도를 증가시키기 위해 사용될 수 있는 최종 분류들을 결정하는 이전 반복들 동안 식별되는 정보 또는 통찰력들을 포함할 수 있다. 일부 실시예들에서, 훈련 데이터는 최종 분류들을 결정하는 이전 반복들과 최종 분류의 현재 결정 사이의 공통점들을 나타내는 규칙들 또는 패턴들의 세트를 포함할 수 있다. 집성기는 최종 분류를 결정할 때 훈련 데이터에 포함되는 규칙들/패턴들을 이용할 수 있다.
예를 들어, 훈련 데이터는 수신된 텍스트의 패턴이 일련의 번호들 다음에 하나 이상의 단어를 포함하면, 분류는 주소일 가능성이 더 많은 것을 표시할 수 있다. 다른 예로서, 훈련 데이터는 주어진 이름 및 별명이 서로 자주 인접하므로, 데이터 스트림의 이전 최종 분류가 "이름"이면, 데이터 스트림으로부터의 데이터의 인접 부분이 또한 "이름"으로서 분류되는 더 큰 가능성을 갖는 것을 표시할 수 있다.
위에 언급된 바와 같이, 데이터에 대한 최종 분류를 결정하는 각각의 반복에 대해, 집성기는 수신된 데이터의 최종 분류, 신뢰 수준, 및 특성들 중 어느 것을 하나 이상의 숫자형 행렬들로 변환할 수 있다. 숫자형 행렬들은 데이터의 최종 분류들의 반복들의 특성들의 숫자형 표현들을 포함할 수 있다. 각각 변환된 최종 분류는 숫자형 행렬의 그래픽 표현 내의 지점에 의해 표현될 수 있고, 지점들 사이의 거리는 최종 분류들의 반복들의 특성들 사이의 상대 유사도를 표현할 수 있다. 예를 들어, 가까운 거리 내에 있는 지점들은 최종 분류 유형 또는 데이터의 부분들의 특성들 중 어느 것에서 다수의 유사도를 포함할 수 있다. 집성기는 예를 들어, 도 4에 도시된 바와 같이, 유사한 특성들로 숫자형 행렬 내의 지점들의 클러스터들을 식별할 수 있다.
일부 실시예들에서, 집성기는 다양한 분류들에 관련된 통찰력들을 식별하기 위해 클러스터링 정보를 이용할 수 있다. 예를 들어, 다양한 분류들(예를 들어, '이름들', '주소', 'IP 주소')의 다수의 반복은 숫자형 벡터들로 변환될 수 있다. 이 예에서, 클러스터링 정보는 숫자형 벡터들에 기초하여 더 높은 신뢰 값으로 데이터의 최종 분류를 식별할 시에 이용될 수 있다.
집성기에 의해 결정되는 최종 분류는 후속 액션을 위해 출력될 수 있다(블록 608). 일부 실시예들에서, 최종 분류는 브로커에 송신되고 제어기에 전송되며, 제어기는 최종 분류에 기초하여 데이터에 후속 액션을 수행하는 외부 디바이스에 최종 분류를 전송한다. 수행될 수 있는 하나의 그러한 액션은 분류에 기초하여 적어도 하나의 메모리의 특정 부분에 수신된 데이터를 저장하고 있다. 예를 들어, 수신된 데이터는 데이터의 분류가 비민감 분류 유형인 것을 식별하는 것에 기초하여 메모리의 제1 부분에 저장될 수 있다.
일부 실시예들에서, 수신된 데이터는 수신된 텍스트가 본질적으로 민감한 것을 수신된 데이터의 최종 분류가 표시하는 것을 결정하는 것에 기초하여 메모리의 특정 부분에 저장될 수 있다. 이 데이터는 PII를 포함하거나 특정 관할권 내의 법/규정의 한계 내에 있는 데이터를 포함할 수 있다. 예를 들어, 수신된 데이터가 개인의 사회 보장 번호를 포함하는 것을 표시하는 분류는 개인을 나타내고 본질적으로 민감하다. 그러한 결정화에 기초하여, 수신된 데이터는 개인에 관련된 모든 민감 데이터를 포함하는 메모리의 일부분에 저장될 수 있다. 따라서, 요청에 기초하여, 개인에 대한 민감 데이터는 검색, 삭제, 개인에 송신 등 될 수 있다. 일부 실시예들에서, 분류 및 수신된 텍스트는 데이터베이스와 연관될 수 있으며, 데이터는 데이터베이스를 사용하여 식별될 수 있다.
일부 실시예들에서, 최종 분류 및 수신된 데이터는 최종 분류에 관련된 피드백에 대한 요청으로 외부 디바이스에 송신될 수 있다(블록 610). 피드백 요청은 분류가 분류하고 있는 데이터의 연관된 부분에 대한 정확도에 관해 최종 분류가 검사되게 하는 요청을 표시할 수 있다. 제어기는 외부 디바이스로부터 피드백 정보를 수신할 수 있다. 예를 들어, 피드백 정보는 최종 분류가 데이터의 부분의 정확한 또는 부정확한 표현인지의 표시를 포함할 수 있다. 수신되는 피드백에 기초하여, 외부 디바이스는 최종 분류를 저장하는 것, 집성기에게 최종 분류를 수정하도록 요청하는 것, 집성기에 대한 훈련 데이터를 업데이트하는 것 등과 같은 액션을 수행할 수 있다.
일부 실시예들에서, 최종 분류를 결정하기 위해 집성기에 의해 이용되는 훈련 데이터는 업데이트될 수 있다(블록 612). 훈련 데이터는 최종 분류들의 숫자형 행렬로부터 클러스터링 정보를 결정하는 것 또는 최종 분류의 정확도에 관련된 외부 디바이스로부터의 피드백을 수신하는 것 중 어느 것에 기초하여 업데이트될 수 있다.
예를 들어, 단어 "기독교"에 대한 최종 분류가 "종교"의 분류이고, 적절한 분류가 "이름"인 것을 표시하는 피드백이 수신되면, 최종 분류는 수정될 수 있고, 훈련 데이터는 이 변경을 포함하기 위해 집성기에 의해 업데이트될 수 있다. 이 예에서, 훈련 데이터는 수신된 데이터의 적절한 분류 및 피드백을 포함하기 위해 업데이트될 수 있다. 이 예에 더하여, 제1 부분과 유사한 "기독교"를 포함하는 텍스트의 제2 인스턴스가 식별되면, 훈련 데이터는 최종 분류가 업데이트된 훈련 데이터에 기초하여 "종교"보다는 "이름"일 가능성이 더 많은 것을 식별하기 위해 이용될 수 있다.
일부 실시예들에서, 제안된 분류들은 집성 테이블들에 의해 표현될 수 있다. 집성 테이블은 집성기에 의해 집성되는 집성된 제안된 분류들의 표현일 수 있다. 집성기는 예시적인 집성 테이블들 중 어느 것에 포함되는 콘텐츠에 기초하여 최종 분류를 결정할 수 있다.
일부 실시예들에서, 집성기는 제안된 분류를 집성하고 최종 분류를 결정하기 위해 재훈련 집성을 구현할 수 있다. 많은 경우들에서, 분류기들은 사용되는 라벨들의 서브세트에 기초하여 더 좋거나 더 나쁜 성능을 가질 수 있다. 집성기는 분류가 더 좋은 성능을 가질 수 있고 분류에 관한 결정들을 할 수 있도록 라벨들에 사용되는 계수들을 다양화할 수 있으며, 이는 각각의 분류기에 대한 라벨당 계수들의 테이블로서 시각화될 수 있다.
집성 테이블에 예시된 신뢰들은 최종 분류를 결정할 시에 이용될 수 있다. 예를 들어, 데이터의 제1 부분은 다양한 분류들(예를 들어, "이름들", "메일", "날짜", "국가")과 연관될 수 있으며, 각각의 분류 모듈은 그 분류에서 신뢰 수준을 제공한다. 각각의 분류에 대한 신뢰 수준들은 잠재적인 분류들을 감소시키거나 최종 분류를 식별하기 위해 조합되고 검사될 수 있다.
각각의 열은 상이한 클래스를 표현할 수 있다. 예상된 벡터는 피드백으로서 반환될 수 있다. 일부 실시예들에서, 예상된 벡터는 수락된 분류에 대해 '1' 또는 거부된 분류에 대해 '0'을 포함할 수 있다. 분류 결과 벡터는 각각의 분류 출력으로부터 생성되는 벡터를 포함할 수 있다. 학습을 위한 이 입력 데이터 포맷은 희소 벡터로서 표현될 수 있다(사용에 따라, 사용되는 분류기는 카테고리 값(1) 또는 참-거짓 서브벡터(2)로서 표현될 수 있음).
집성 테이블은 집성을 재훈련하기 위해 다수의 잠재적인 접근법을 식별할 수 있다. 제1 접근법은 계수들을 사용하여 상이한 분류기들로부터 결과들의 간단한 컨볼루션을 구성하기 위한 것일 수 있다. 다른 접근법은 결과 데이터를 구성하기 위해 상이한 접근법들을 사용할 수 있다.
다수의 접근법을 이용하는 것은 계수들을 사용하여 각각의 분류당 에러를 최소화할 수 있다. 임계치가 선택될 수 있고, 계수들은 혼돈 행렬에 기초할 수 있다. 롱 벡터(long vector)는 신경망이 에러를 최소화하도록 입력으로서 포함될 수 있다. 각각의 분류에 대해, 학습 세트는 분류기 벡터 및 예상된 벡터를 변환하고 투영함으로써 발생될 수 있다.
예를 들어, "이름"의 분류에 대해, 제1 열은 식별자 ID일 수 있으며, 제2 열 ML 결과는 기계 학습 분류 모듈로부터 "이름" 클래스에 대해 반환되는 값을 표시할 수 있다. 제3 열은 딕셔너리 분류 모듈로부터 "이름" 클래스에 대해 반환되는 값을 표시하는 딕셔너리 결과를 포함할 수 있다. 제4 열은 예상되었는가?(WAS EXPECTED?)를 포함할 수 있으며, 이는 수신된 데이터가 "이름" 클래스로서 라벨링된 것을 표시하는 '1' 값 및 그렇지 않으면 '0' 값을 반환할 수 있다.
일부 실시예들에서, 집성기는 집성을 원조하고 최종 분류를 결정하기 위해 신경망을 이용할 수 있다. 신경망은 주어진 결과들의 컨볼루션을 구성하기 위해 사용될 수 있다. 입력은 분류 모듈들에 의해 수신되는 수신된 분류 벡터들로부터 생성되는 롱 벡터를 포함할 수 있다. 출력은 각각의 분류에 대한 확률들의 벡터를 포함할 수 있다. 집성기는 각각의 분류에 대한 출력 벡터를 검사함으로써 최종 분류를 결정할 수 있다.
일부 실시예들에서, 요청들에 의해 수신되는 데이터는 저장되지 않을 수 있다. 이것에 기초하여, 시스템은 외부 디바이스로부터 수신되는 피드백 정보를 수신하고, 파싱할 수 있다. 제어기는 데이터베이스로부터 데이터를 수신할 수 있다. 분류기가 변경되면, 결과들은 업데이트될 수 있다. 피드백은 중단될 수 있으며, 시스템은 식별자에 대한 모든 주어진 피드백을 체크하고 피드백을 집성할 수 있고, 마지막 피드백은 초기 입력들을 중단시킬 수 있다. 수집된 데이터는 분류 벡터들 및 예상된 벡터들을 포함하는 후처리에서 압축된 표현을 생성하기 위해 사용될 수 있다.
평가 메트릭들
평가 메트릭들은 생성 아키텍처에 포함되는 구성요소들을 훈련 또는 재훈련하기 위해 사용될 수 있다. 훈련 프로세스에서, 평가 메트릭들은 발생되는 분류들의 수량을 수량화하기 위해 이용될 수 있다. 다시 말해, 평가 메트릭들은 발생되는 분류들의 전체 정확도를 식별하기 위해 이용될 수 있다.
평가 메트릭들은 분류들의 정확도 또는 성능 중 어느 것에 기초할 수 있다. 예를 들어, 평가 메트릭들은 분류 모듈의 속도(예를 들어, 제안된 분류들이 주어진 시간 기간 내에 얼마나 많이 발생될 수 있는지)를 표현할 수 있다.
평가 메트릭들은 집성기가 그의 최종 분류에서 정확한 및 부정확한 분류를 얼마나 자주 식별하는지를 나타내는 혼돈 행렬을 포함할 수 있다. 혼돈 행렬은 결과를 4개의 유형으로 분할하는 부린 값들(참-거짓)을 포함할 수 있다: 참 긍정(True Positive)(TP) - 적절히 분류된 "참" 클래스, 참 부정(True Negative)(TN) - 적절히 분류된 "거짓" 클래스, 거짓 부정(False Negative)(FN) - "거짓"으로서 분류된 "참" 클래스, 및 거짓 긍정(False Positive)(FP) - "참"으로서 분류된 "거짓" 클래스.
정확도는 집성기가 적절한 선택을 얼마나 자주 하는지를 설명하는 메트릭일 수 있으며, 참을 긍정으로서 하고 거짓을 부정으로서 한다. 혼돈 행렬의 용어들에서, 정확도는 혼돈 행렬의 함수로서 정의될 수 있다.
거짓 긍정은 거짓 부정과 상이할 수 있다. 일부 실시예들에서, 시스템은 특정 임계치를 초과하는 일부 값들만을 반환하는 것으로 끝날 수 있으며, 이는 가장 적절한 것으로 간주되는 것들만을 반환할 수 있다. 시스템이 매칭 클래스들을 반환하지 않는 것으로 끝날지라도 시스템은 가능한 한 낮은 거짓 긍정 비율을 선호할 수 있다.
분류 결과들은 정밀도, 재호출, 및 F1 점수 중 어느 것을 사용하여 설명될 수 있다. 정밀도는 집성기가 정확한(또는 긍정으로 반환된) 분류를 얼마나 자주 결정하는지를 표시할 수 있다. 재호출은 집성기가 반환되어야 하는 전부 중에서 긍정 분류를 얼마나 자주 반환하는지를 표시할 수 있다. 일부 경우들에서, 정밀도는 상승할 수 있고 재호출은 하강할 수 있다. 이것은 "참" 분류들에 관한 더 적은 실수들을 야기하는 결과일 수 있지만, 결국 그것은 "참" 분류를 덜 자주 반환할 수 있다. 다른 한편, 시스템은 더 많은 결과들을 반환할 수 있지만 또한 그들 중에서 더 부적절한 분류들을 갖는다. 따라서, 재호출은 상승할 수 있고 정밀도는 하강할 수 있다.
F1 점수로서는 픽처를 완성하고 적절한 분류들만을 반환하는 것과 모든 적절한 분류들을 반환하는 것 사이의 "균형된" 지점을 선택하기 위해 을 선택하기 위해 정밀도 및 재호출의 조화 평균을 포함할 수 있다.
일부 실시예들에서, 집중이 낮은 거짓 긍정 비율에 있으면, 기초 메트릭은 정밀도일 수 있다. 그러나, 결정은 시스템이 정확한 대답을 제공할 수 있으므로, 정밀도에만 기초하지 않을 수 있고, 재호출은 결정을 할 시에 적어도 부분적으로 이용될 수 있다.
일부 실시예들에서, 2개의 접근법 중 하나는 집성기에 의해 수행될 수 있다. 제1 접근법은 재호출이 특정 임계치 아래로 떨어지지 않고 정밀도를 최대화하는 것을 포함할 수 있다. 제2 접근법은 가중된 메트릭을 계산하는 것을 포함할 수 있으며, 이는 정밀도를 촉진할 수 있다.
일부 실시예들에서, 다수의 입력은 결과들을 주어진 순서로 분류하는 방식으로서 사용될 수 있는 제안된 확률들로 송신될 수 있다. 제안된 확률들은 또한 어떤 모델이 더 가능성이 있다고 예측했는지를 표시하는 정보를 제공할 수 있다. 주어진 예를 할당받아야 하는 분류들은 예상된 결과와 비교될 수 있다. 평가 스크립트에서, N개의 상위 결과가 긍정이고 나머지가 부정일 수 있는 것으로 가정될 수 있다. 유일한 예외는 N개보다 많은 결과가 동일한 확률을 가지면 긍정들로 모두 간주된 것일 수 있다. 각각의 모델 및 확률에 대해, 각각의 라벨은 그 초과 시에 라벨이 "긍정"인 것으로 가정되는 임계치를 정의할 수 있다.
일부 실시예들에서, 집성기는 결과들에 기초하여 유연한 결정을 할 수 있다. 결과들의 전부로부터 "선두 그룹"을 분리하는 것이 가능할 수 있다. 선두 그룹은 서로 상대적으로 가깝고 결과들의 나머지로부터 상대적으로 먼 상위 결과들의 그룹일 수 있다. 따라서, "선두 그룹"을 결정하고 발견하는 것은 클러스터링, 그룹들에 대한 표준 편차 및 그룹들 사이의 표준 편차를 계산하는 것 등을 포함할 수 있다.
시스템은 데이터 흐름을 포함할 수 있다. 데이터 흐름은 2개의 클러스터, 즉 모델들이 호스팅될 수 있는 생성 클러스터 및 데이터 클러스터를 포함할 수 있다. 고객 디바이스는 샘플/프로파일링 데이터를 보안 연결을 통해 ML 플랫폼에 송신할 수 있다. ML 플랫폼 게이트웨이는 요청을 데이터 분류 모델의 제어기에 전송할 수 있다. 요청에 관한 정보는 적어도 하나의 메모리에 저장될 수 있다. 제어기는 데이터를 메시지 브로커에 송신할 수 있으며, 그것은 서브구성요소들에 의해 처리될 수 있다. 데이터베이스는 처리되는 요청들/열들의 리스트를 유지할 수 있다. 고객 디바이스는 결과들을 폴링할 수 있으며, 결과들이 검색될 때 요청으로 추적되는 전부는 또한 데이터베이스로부터 제거된다.
일부 실시예들에서, 피드백은 고객이 집성기에 의해 제공되는 최종 분류를 수락하거나 거부하는 것을 포함할 수 있다. 피드백은 고객과 연관된 외부 디바이스를 통해 시스템에 다시 송신될 수 있다. 샘플 데이터/프로파일링은 고객으로부터의 추가 피드백과 함께 ML 플랫폼에 송신될 수 있다. 제어기는 피드백 데이터를 데이터베이스에 전송할 수 있다. 시스템은 데이터를 데이터베이스에서 적어도 하나의 저장 모듈까지 주기적으로 오프로딩할 수 있으며, 이는 데이터 클러스터 상의 저장 모듈(들)에 카피될 수 있다. 일부 실시예들에서, 피드백 데이터를 재훈련하는 것은 고객당, 저장 모듈들 상에 저장되는 피드백에 기초하여, 데이터 클러스터 상에 발생할 수 있다. 시스템은 또한 분류 모델들의 전체 추적가능성을 유지할 수 있고, 고객 피드백은 훈련 데이터에서 사용되도록 수집되고 처리될 수 있다.
도 7은 다양한 실시예들에 따라, 데이터에 대한 분류를 발생시키는 방법의 블록도를 예시한다.
분류 모듈들의 세트에 포함되는 각각의 분류 모듈은 데이터의 제1 부분의 특성들의 세트를 식별하기 위해 데이터 스트림에 포함되는 데이터의 제1 부분을 검사할 수 있다(블록 702). 특성들의 세트는 예를 들어, 텍스트, 객체들, 디지털화된 문서 내의 데이터의 제1 부분의 위치 등과 같은, 데이터의 제1 부분의 특징들을 포함할 수 있다. 특성들의 세트는 딕셔너리 매칭, 정규 표현(Regex) 패턴 매칭, 훈련 데이터 사용 등과 같은, 하나 이상의 기술을 사용하여 결정될 수 있다.
일부 실시예들에서, 분류의 세트는 학습 모듈을 포함한다. 학습 모듈은 딕셔너리 및 정규 표현 리스팅 중 적어도 하나 및 훈련 모듈을 포함할 수 있다. 훈련 모듈은 제안된 분류, 신뢰 값, 및 최종 분류를 검사하도록 구성될 수 있다. 훈련 모듈은 데이터의 제1 부분에 대한 제안된 분류의 정확도 및 제안된 분류와 최종 분류 사이의 차이들의 수를 결정할 수 있다. 결정된 정확도 및 차이들의 수는 훈련 데이터에 포함될 수 있으며, 훈련 데이터는 데이터의 후속 제안된 분류들을 결정하기 위해 데이터를 분류하는 후속 반복들에 이용될 수 있다.
일부 실시예들에서, 특성들의 세트를 식별하기 위해 데이터의 제1 부분을 검사하는 것은 임계 유사도를 초과하는 데이터의 제1 부분과 적어도 하나의 엔트리 사이의 유사도를 포함하는 분류 모듈들의 세트에 포함되는 임의의 분류 모듈과 연관된 딕셔너리에 리스트되는 적어도 하나의 엔트리를 식별하는 것을 포함하며, 특성들의 세트는 임계 유사도를 초과하는 유사도를 포함하는 딕셔너리에 리스트되는 적어도 하나의 엔트리를 포함한다.
일부 실시예들에서, 특성들의 세트를 식별하기 위해 데이터의 제1 부분을 검사하는 것은 임계치 차이 미만인 데이터의 제1 부분과 적어도 하나의 패턴 사이의 차이들의 수를 포함하는 분류 모듈들의 세트에 포함되는 임의의 분류 모듈과 연관된 정규 표현 리스팅에 포함되는 적어도 하나의 패턴을 식별하는 것을 포함하며, 특성들의 세트는 임계치 차이 미만인 차이들의 수를 포함하는 정규 표현 리스팅에 포함되는 적어도 하나의 패턴을 포함한다.
특성들의 식별된 세트는 제안된 분류 및 신뢰 값을 결정하기 위해 분류들의 리스팅과 비교될 수 있다(블록 704). 제안된 분류는 임계 유사도를 초과하는 데이터의 제1 부분의 특성들의 세트와의 유사도를 포함하는 분류들의 리스팅에 리스트되는 분류를 식별할 수 있다. 신뢰 값은 데이터의 제1 부분을 정확히 설명하는 제안된 분류의 추정을 나타내는 값을 포함할 수 있다. 제안된 분류 및 신뢰 값은 집성 모듈에 송신될 수 있다.
집성 모듈은 분류 모듈들의 세트 내의 각각의 분류 모듈에 의해 결정되는 제안된 분류 및 신뢰 값들을 집성할 수 있다(블록 706).
집성 모듈은 분류 모듈들의 세트 내의 분류 모듈들의 집성된 제안된 분류들 및 신뢰 값들에 기초하여 최종 분류를 발생시킬 수 있다(블록 708).
일부 실시예들에서, 최종 분류를 발생시키는 것은 수신된 제안된 분류들에 포함되는 각각의 분류 유형을 식별하는 것을 포함하며, 각각의 분류 유형은 분류들의 리스팅에 포함된다. 집성 모듈은 각각의 분류 유형에 대한 전체 신뢰를 식별하기 위해 각각 식별된 분류 유형 및 신뢰 값들을 비교할 수 있다. 집성기는 가장 큰 전체 신뢰를 포함하는 식별된 분류 유형을 식별함으로써 최종 분류를 결정할 수 있다.
일부 실시예들에서, 방법은 데이터의 제1 부분과 최종 분류 사이의 정확도를 표시하는 최종 분류 정확도를 결정하는 단계를 포함할 수 있다. 집성기는 데이터의 최종 분류들을 결정할 시에 후속 반복들에 이용되도록 구성된 집성기 훈련 데이터의 세트에 최종 분류 정확도를 추가할 수 있다.
일부 실시예들에서, 방법은 피드백에 대한 요청을 외부 디바이스에 송신하는 단계를 포함할 수 있으며, 피드백에 대한 요청은 최종 분류, 데이터의 제1 부분, 및 최종 분류 정확도 중 어느 것을 포함할 수 있다. 피드백 정보를 포함하는 외부 디바이스로부터의 응답이 수신될 수 있으며, 피드백 정보는 집성기 훈련 데이터의 세트에 추가된다.
일부 실시예들에서, 방법은 최종 분류 및 데이터의 제1 부분을 최종 분류 및 데이터의 제1 부분의 수량화된 특성들을 식별하는 숫자형 행렬로 통합되는 적어도 하나의 벡터로 변환하는 단계를 포함할 수 있다. 클러스터는 숫자형 행렬에서 식별될 수 있다. 클러스터는 공통 특성들을 갖는 최종 분류들 및 데이터의 반복들을 나타낼 수 있으며, 클러스터에 관련된 정보는 집성기 훈련 데이터의 세트에 추가된다.
집성 모듈은 데이터의 제1 부분의 최종 분류에 기초하여 후속 액션을 수행하기 위해 최종 분류를 외부 디바이스에 송신할 수 있다(블록 710). 일부 실시예들에서, 집성 모듈은 최종 분류를 브로커에 송신할 수 있고, 브로커는 최종 분류들을 제어기에 전송할 수 있고, 제어기는 최종 분류를 외부 디바이스에 전송할 수 있다. 후속 액션은 데이터의 제1 부분을 최종 분류를 포함하는 데이터와 연관되는 적어도 하나의 메모리 내의 제1 위치에 저장하는 것, 데이터의 제1 부분을 외부 디바이스에 송신하는 것, 데이터의 제1 부분을 삭제하는 것, 및 데이터의 제1 부분을 개인을 나타내는 데이터를 포함하는 데이터와 연관되는 적어도 하나의 메모리 내의 제2 위치에 저장하는 것 중 어느 것을 포함할 수 있다.
일부 실시예들에서, 최종 분류는 최종 분류가 개인을 나타내는 정보를 포함하는 것을 표시하는 식별자를 최종 분류가 포함하는지를 결정하기 위해 검사될 수 있다. 개인을 나타내는 정보는 관할권에 의해 부과되는 법/규정에 의해 식별되는 PII, GDPR, 또는 임의의 정보를 포함할 수 있다. 외부 디바이스는 개인을 나타내는 정보를 유지하는 데이터의 제1 부분에 액션들을 표현하는 액션들의 서브세트를 식별하도록 구성될 수 있다. 액션들의 서브세트는 예를 들어, 데이터의 제1 부분을 개인을 나타내는 다른 정보를 포함하는 메모리의 특정 부분에 저장하는 것, 데이터의 제1 부분을 식별하기 위해 데이터베이스를 업데이트하는 것, 데이터의 제1 부분을 삭제하는 것, 데이터의 제1 부분을 외부 디바이스에 송신하는 것 등을 포함할 수 있다. 외부 디바이스는 최종 분류가 식별자를 포함하는 것을 결정하는 것에 기초하여 액션들의 서브세트들 중 하나를 포함하는 후속 액션을 수행할 수 있다.
예시적인 처리 시스템
도 8은 본원에 설명된 적어도 일부 동작들이 구현될 수 있는 처리 시스템(800)의 일 예를 예시하는 블록도이다. 도 8에 도시된 바와 같이, 처리 시스템(800)은 하나 이상의 중앙 처리 유닛("프로세서")(802), 메인 메모리(806), 비휘발성 메모리(810), 네트워크 어댑터(812)(예를 들어, 네트워크 인터페이스들), 비디오 디스플레이(818), 입력/출력 디바이스들(820), 제어 디바이스(822)(예를 들어, 키보드 및 포인팅 디바이스들), 저장 매체(826)를 포함하는 구동 유닛(824), 및 버스(816)에 통신 연결되는 신호 발생 디바이스(830)를 포함할 수 있다. 버스(816)는 적절한 브리지들, 어댑터들, 또는 제어기들에 의해 연결된 임의의 하나 이상의 개별 물리적 버스, 점 대 점 연결들, 또는 둘 다를 표현하는 추상화로서 예시된다. 따라서, 버스(816)는 예를 들어, 시스템 버스, 주변 구성요소 상호연결(Peripheral Component Interconnect)(PCI) 버스 또는 PCI 익스프레스 버스, 하이퍼트랜스포트 또는 산업 표준 구조(industry standard architecture)(ISA) 버스, 소형 컴퓨터 시스템 인터페이스(small computer system interface)(SCSI) 버스, 범용 직렬 버스(universal serial bus)(USB), IIC(I2C) 버스, 또는 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers)(IEEE) 표준 1394 버스를 포함할 수 있으며, 또한 "파이어와이어"로 칭해진다.
다양한 실시예들에서, 처리 시스템(800)은 사용자 디바이스의 일부로서 동작하지만, 처리 시스템(800)은 또한 사용자 디바이스에 (예를 들어, 유선 또는 무선으로) 연결될 수 있다. 네트워킹된 전개에서, 처리 시스템(800)은 클라이언트-서버 네트워크 환경 내의 서버 또는 클라이언트 머신으로서, 또는 피어 투 피어(또는 분산) 네트워크 환경 내의 피어 머신으로서 동작할 수 있다.
처리 시스템(800)은 처리 시스템(800)에 의해 취해질 액션들을 지정하는 명령어들의 세트를 (순차적 또는 다른 방법으로) 실행할 수 있는 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터, 태블릿, 랩톱 컴퓨터, 개인 정보 단말기(personal digital assistant)(PDA), 휴대 전화, 프로세서, 웹 기기, 네트워크 라우터, 스위치 또는 브리지, 콘솔, 핸드헬드 콘솔, 게임 디바이스, 뮤직 플레이어, 네트워크 연결("스마트") 텔레비전들, 텔레비전 연결 디바이스들, 또는 임의의 휴대용 디바이스 또는 머신일 수 있다.
메인 메모리(806), 비휘발성 메모리(810), 및 저장 매체(826)(또한 "머신 판독가능 매체로 칭해짐)가 단일 매체인 것으로 도시되지만, 용어 "머신 판독가능 매체" 및 "저장 매체"는 명령어들(828)의 하나 이상의 세트를 저장하는 단일 매체 또는 다수의 매체(예를 들어, 집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들)를 포함하는 것으로 취해져야 한다. 용어 "머신 판독가능 매체" 및 "저장 매체"는 또한 컴퓨팅 시스템에 의한 실행을 위해 명령어들의 세트를 저장, 인코딩, 또는 운반할 수 있고 컴퓨팅 시스템으로 하여금 현재 개시된 실시예들의 방법들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 취해질 것이다.
일반적으로, 개시의 실시예들을 구현하기 위해 실행되는 루틴들은 운영 시스템 또는 "컴퓨터 프로그램들"로서 지칭되는 특정 애플리케이션, 구성요소, 프로그램, 객체, 모듈 또는 명령어들의 시퀀스의 일부로서 구현될 수 있다. 컴퓨터 프로그램들은 전형적으로 컴퓨터 내의 다양한 메모리 및 저장 디바이스들에 다양한 시간에 설정되고, 하나 이상의 처리 유닛 또는 프로세서(802)에 의해 판독되고 실행될 때, 처리 시스템(800)으로 하여금 개시의 다양한 양태들을 수반하는 요소들을 실행하는 동작들을 수행하게 하는 하나 이상의 명령어(예를 들어, 명령어들(804, 808, 828))를 포함한다.
더욱이, 실시예들이 완전히 기능하는 컴퓨터들 및 컴퓨터 시스템들의 맥락에서 설명되었지만, 본 기술분야의 통상의 기술자들은 다양한 실시예들이 프로그램 제품으로서 다양한 형태들로 분배될 수 있는 것, 및 분배를 실제로 달성하기 위해 사용되는 특정 유형의 머신 또는 컴퓨터 판독가능 매체들에 관계없이 개시가 동일하게 적용되는 것을 이해할 것이다. 예를 들어, 본원에 설명된 기술은 가상 머신들 또는 클라우드 컴퓨팅 서비스들을 사용하여 구현될 수 있다.
머신 판독가능 저장 매체들, 머신 판독가능 매체들, 또는 컴퓨터 판독가능(저장) 매체들의 추가 예들은 기록가능 유형 매체들 예컨대 휘발성 및 비휘발성 메모리 디바이스들(810), 플로피 및 다른 제거가능 디스크들, 하드 디스크 드라이브들, 광 디스크들(예를 들어, 콤팩트 디스크 판독 전용 메모리(Compact Disk Read-Only Memory)(CD ROMS), 디지털 다목적 디스크들(Digital Versatile Disks)(DVDs)), 및 전송 유형 매체들, 예컨대 디지털 및 아날로그 통신 링크들을 포함하지만, 이들에 제한되지 않는다.
네트워크 어댑터(812)는 처리 시스템(800)이 처리 시스템(800) 및 외부 엔티티에 의해 지원되는 임의의 공지된 및/또는 편리한 통신 프로토콜을 통해 처리 시스템(800) 외부에 있는 엔티티와 네트워크(814) 내의 데이터를 중재할 수 있게 한다. 네트워크 어댑터(812)는 네트워크 어댑터 카드, 무선 네트워크 인터페이스 카드, 라우터, 액세스 포인트, 무선 라우터, 스위치, 다중층 스위치, 프로토콜 변환기, 게이트웨이, 브리지, 브리지 라우터, 허브, 디지털 미디어 수신기, 및/또는 리피터 중 하나 이상을 포함할 수 있다.
네트워크 어댑터(812)는 일부 실시예들에서, 컴퓨터 네트워크 내의 액세스/프록시 데이터에 대한 허가를 지배 및/또는 관리하고, 상이한 머신들 및/또는 애플리케이션들 사이의 가변 신뢰 수준들을 추적할 수 있는 방화벽을 포함할 수 있다. 방화벽은 특정 세트의 머신들과 애플리케이션들, 머신들과 머신들, 및/또는 애플리케이션들과 애플리케이션들 사이에 접근 권한들의 미리 결정된 세트를 집행하는, 예를 들어, 가변 엔티티들 사이의 트래픽 및 자원 공유의 흐름을 조절할 수 있는 하드웨어 및/또는 소프트웨어 구성요소들의 임의의 조합을 갖는 임의의 수의 모듈들일 수 있다. 방화벽은 예를 들어, 개인, 머신, 및/또는 애플리케이션에 의한 객체의 액세스 및 운영 권리들, 및 허가 권리들이 있는 상황들을 포함하는 허가들을 상세화하는 액세스 제어 리스트에 대한 액세스를 추가적으로 관리 및/또는 가질 수 있다.
위에 표시된 바와 같이, 여기에 도입된 기술들 예를 들어, 소프트웨어 및/또는 펌웨어로 프로그램된 프로그램가능 회로(예를 들어, 하나 이상의 마이크로프로세서)에 의해, 전체적으로 특수 목적 하드와이어드(즉, 비프로그램가능) 회로로, 또는 조합 또는 그러한 형태들로 구현된다. 특수 목적 회로는 예를 들어, 하나 이상의 주문형 집적 회로(application-specific integrated circuit)(ASIC), 프로그램가능 로직 디바이스(programmable logic device)(PLD), 필드 프로그램가능 게이트 어레이(field-programmable gate array)(FPGA) 등의 형태일 수 있다.
상술한 것으로부터, 발명의 특정 실시예들이 예시의 목적들을 위해 본원에 설명되었으나, 다양한 수정들이 발명의 범위로부터 벗어나지 않고 이루어질 수 있다는 점이 이해될 것이다. 따라서, 발명은 첨부된 청구항들에 의한 경우를 제외하고 제한되지 않는다.

Claims (20)

  1. 데이터를 분류하기 위해 시스템에 의해 수행되는 방법으로서,
    분류 모듈들의 세트에 포함되는 각각의 분류 모듈에 의해, 데이터 스트림을 획득하는 단계;
    데이터의 제1 부분의 특성들을 식별하기 위해 상기 데이터 스트림에 포함되는 데이터의 제1 부분을 검사하는 단계;
    제안된 분류 및 신뢰 값을 결정하도록 상기 분류 모듈들의 세트 내의 각각의 분류 모듈에 의해, 상기 식별된 특성들을 분류들의 리스팅과 비교하는 단계 - 각각의 제안된 분류는 상기 데이터의 제1 부분의 특성들을 제1 임계 유사도를 초과하는 제1 유사도와 매칭시키는 분류들의 리스팅에 포함되는 분류 유형을 식별함 - ;
    집성 모듈에 의해, 상기 제안된 분류들 및 상기 신뢰 값들을 각각의 분류 유형에 의해 집성하는 단계;
    상기 집성 모듈에 의해, 상기 집성된 제안된 분류들 및 상기 신뢰 값들에 기초하여 최종 분류를 발생시키는 단계; 및
    후속 액션을 수행하는 외부 디바이스에 상기 최종 분류를 송신하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 데이터 스트림은 데이터베이스에 포함되는 테이블에 구조화된 데이터를 포함하며, 상기 데이터 스트림의 각각의 부분은 상기 데이터베이스에 포함되는 테이블의 열을 표현하는, 방법.
  3. 제1항에 있어서, 상기 분류 모듈들의 세트는,
    상기 데이터의 제1 부분의 식별된 특성들을 적어도 하나의 딕셔너리에 포함되는 엔트리들과 비교하도록 구성된 딕셔너리 모듈;
    상기 데이터의 제1 부분의 식별된 특성들을 적어도 하나의 정규 표현 패턴 리스팅에 포함되는 정규 표현 패턴들과 비교하도록 구성된 정규 표현 모듈; 및
    상기 데이터의 제1 부분의 식별된 특성들을 훈련 데이터의 세트와 비교하도록 구성된 학습 모듈을 포함하는, 방법.
  4. 제2항에 있어서,
    데이터의 각각의 열 및 상기 제안된 분류들을 데이터의 각각의 열 및 각각의 제안된 분류의 수량화된 특성들을 식별하는 적어도 하나의 숫자형 벡터로 변환하는 단계를 추가로 포함하는, 방법.
  5. 제2항에 있어서, 상기 학습 모듈은,
    상기 데이터의 제1 부분의 특성들 및 상기 분류들의 리스팅을 상기 훈련 데이터의 세트와 비교하는 것에 기초하여 제1 제안된 분류 및 제1 신뢰 값을 발생시키고;
    상기 데이터의 제1 부분의 특성들 및 상기 발생된 제1 제안된 분류에 대응하는 적어도 하나의 규칙을 결정하고;
    적어도 하나의 규칙을 상기 훈련 데이터의 세트에 통합하도록 구성되는, 방법.
  6. 제1항에 있어서, 상기 최종 분류를 발생시키는 단계는,
    상기 최종 분류를 결정하기 위해 각각의 분류 유형에 대한 집성된 제안된 분류들 및 집성된 신뢰 값들을 상기 집성 모듈에 의해 이용되는 규칙들의 세트와 비교하는 단계;
    상기 집성된 제안된 분류들과 상기 최종 분류 사이의 공통 특성에 대응하는 적어도 하나의 규칙을 결정하는 단계; 및
    적어도 하나의 규칙을 상기 규칙들의 세트에 통합하는 단계를 추가로 포함하는, 방법.
  7. 제1항에 있어서,
    상기 최종 분류가 개인을 나타내는 정보를 포함하는지를 결정하기 위해 상기 최종 분류를 검사하는 단계; 및
    상기 최종 분류가 개인을 나타내는 정보를 포함하는 것을 결정하는 것에 기초하여 태그를 상기 데이터의 제1 부분에 첨부하는 단계를 추가로 포함하는, 방법.
  8. 제1항에 있어서, 상기 분류 모듈들의 세트 및 상기 집성 모듈은 정보를 브로커를 통해 상기 외부 디바이스에 전송하는, 방법.
  9. 제1항에 있어서, 상기 외부 디바이스에 의해 수행되는 후속 액션은 상기 데이터의 제1 부분을 적어도 하나의 메모리 내의 제1 위치에 저장하는 것, 상기 데이터의 제1 부분을 외부 디바이스에 송신하는 것, 상기 데이터의 제1 부분을 삭제하는 것, 및 상기 데이터의 제1 부분을 개인을 나타내는 것으로서 식별되는 데이터와 연관된 적어도 하나의 메모리 내의 제2 위치에 저장하는 것 중 어느 것을 포함하는, 방법.
  10. 제1항에 있어서,
    피드백에 대한 요청을 외부 디바이스에 송신하는 단계 - 상기 피드백에 대한 요청은 상기 최종 분류 및 상기 데이터의 제1 부분 중 어느 것을 포함함 - ; 및
    피드백 정보를 포함하는 외부 디바이스로부터의 응답을 수신하는 단계를 추가로 포함하며, 상기 피드백 정보는 후속 최종 분류들의 발생을 위해 상기 집성 모듈에 의해 이용되는 집성기 훈련 데이터의 세트에 추가되는, 방법.
  11. 제1항에 있어서,
    상기 최종 분류 및 상기 데이터의 제1 부분을 상기 최종 분류 및 상기 데이터의 제1 부분의 수량화된 특성들을 표현하는 적어도 하나의 숫자형 벡터로 변환하는 단계를 추가로 포함하는, 방법.
  12. 시스템으로서,
    딕셔너리 모듈, 정규 표현 모듈, 및 학습 모듈을 포함하는 분류 모듈들의 세트 - 각각의 분류 모듈은,
    데이터베이스에서 데이터의 열들로 구조화된 데이터의 제1 세트를 획득하고;
    상기 데이터의 제1 세트에 포함되는 데이터베이스의 데이터의 제1 열의 특성들을 식별하고;
    분류들의 리스팅 및 제1 신뢰 값으로부터 제1 제안된 분류를 결정하도록 구성되고, 상기 제1 제안된 분류는 상기 제1 열의 식별된 특성들과 매칭하는 분류들의 리스팅에서 분류를 식별함 - ; 및
    집성 모듈 - 상기 집성 모듈은,
    상기 분류 모듈들의 세트 각각에 의해 결정되는 제안된 분류들 및 신뢰 값들을 수신하고;
    상기 제안된 분류들 및 상기 신뢰 값들을 분류 유형에 의해 집성하고;
    상기 집성된 제안된 분류들 및 상기 신뢰 값들에 기초하여 최종 분류를 결정하고;
    상기 최종 분류에 기초하여 상기 데이터의 제1 세트에 후속 액션을 수행하도록 구성된 외부 디바이스에 상기 최종 분류를 송신하도록 구성됨 -
    을 포함하는, 시스템.
  13. 제12항에 있어서,
    상기 분류 모듈들의 세트 및 상기 집성 모듈에 연결된 브로커 - 상기 브로커는,
    상기 데이터의 제1 세트를 상기 분류 모듈들의 세트 각각에 송신하고;
    상기 제안된 분류들을 상기 분류 모듈들의 세트로부터 상기 집성 모듈로 전송하고;
    상기 집성 모듈로부터 상기 최종 분류를 수신하도록 구성됨 - ; 및
    상기 브로커 및 상기 외부 디바이스에 연결된 제어기를 추가로 포함하며, 상기 제어기는 상기 최종 분류를 상기 브로커로부터 상기 외부 디바이스로 전송하도록 구성되는, 시스템.
  14. 제12항에 있어서, 상기 딕셔너리 모듈은,
    상기 데이터의 제1 열의 특성들과 매칭하는 상기 딕셔너리 모듈에 포함되는 적어도 하나의 딕셔너리에 리스트되는 엔트리를 식별하고;
    임계 유사도를 초과하는 엔트리와의 유사도를 포함하는 제1 분류를 결정하기 위해 상기 분류들의 리스팅에 리스트되는 각각의 분류와 상기 식별된 엔트리를 비교하도록 구성되며, 상기 딕셔너리 모듈의 제안된 분류는 상기 제1 분류를 포함하고; 상기 정규 표현 모듈은,
    상기 데이터의 제1 열의 특성들과 매칭하는 정규 표현 모듈에 포함되는 적어도 하나의 정규 표현 패턴 리스팅에 리스트되는 패턴을 식별하고;
    상기 임계 유사도를 초과하는 패턴과의 유사도를 포함하는 제2 분류를 결정하기 위해 상기 분류들의 리스팅에 리스트되는 각각의 분류와 상기 식별된 패턴을 비교하도록 구성되며, 상기 정규 표현 모듈의 제안된 분류는 상기 제2 분류를 포함하는, 시스템.
  15. 제12항에 있어서, 상기 학습 모듈은,
    상기 데이터의 제1 열의 특성들 및 상기 분류들의 리스팅을 상기 학습 모듈과 연관된 훈련 데이터의 세트와 비교하는 것에 기초하여 상기 제안된 분류 및 상기 신뢰 값을 발생시키고;
    상기 데이터의 제1 열의 특성들 및 상기 발생된 제안된 분류에 대응하는 적어도 하나의 규칙을 결정하고;
    적어도 하나의 규칙을 상기 훈련 데이터의 세트에 통합하도록 구성되는, 시스템.
  16. 제12항에 있어서, 상기 집성 모듈은,
    상기 최종 분류가 개인을 나타내는 정보를 포함하는 분류에 관련되는지를 결정하기 위해 상기 최종 분류를 검사하고;
    태그를 상기 최종 분류에 첨부하도록 추가로 구성되며, 상기 외부 디바이스는 상기 태그와 함께 상기 최종 분류를 수신하는 것에 기초하여 상기 데이터의 제1 세트로 후속 액션들의 서브세트 중 어느 것을 수행하도록 구성되는, 시스템.
  17. 데이터를 분류하기 위해 집성 모듈에 의해 수행되는 방법으로서,
    분류 모듈들의 세트 각각으로부터 구조화된 데이터의 제1 세트에 포함되는 데이터의 열에 대한 제안된 분류 및 신뢰 값을 수신하는 단계 - 각각의 제안된 분류는 분류들의 리스팅에 포함되는 분류를 표시하고 각각의 신뢰 값들은 상기 데이터의 열의 특성들에 관련되는 상기 제안된 분류의 정확도를 표시함 - ;
    상기 분류들의 리스팅에 리스트되는 각각의 분류 유형에 기초하여 상기 수신된 제안된 분류들 및 신뢰 값들을 집성하는 단계;
    최종 분류를 식별하기 위해 상기 집성된 제안된 분류들을 비교하는 단계; 및
    상기 최종 분류에 기초하여 상기 데이터의 열에 후속 액션을 수행하도록 구성된 외부 디바이스에 상기 최종 분류를 송신하는 단계
    를 포함하는, 방법.
  18. 제17항에 있어서, 상기 분류 모듈들의 세트는,
    딕셔너리 모듈 - 상기 딕셔너리 모듈은,
    상기 데이터의 열의 특성들과 매칭하는 딕셔너리 모듈에 포함되는 적어도 하나의 딕셔너리에 리스트되는 엔트리를 식별하고;
    임계 유사도를 초과하는 엔트리와의 유사도를 포함하는 제1 분류를 결정하기 위해 상기 분류들의 리스팅에 리스트되는 각각의 분류와 상기 식별된 엔트리를 비교하도록 구성되며, 상기 딕셔너리 모듈의 제안된 분류는 상기 제1 분류를 포함함 - ;
    정규 표현 모듈 - 상기 정규 표현 모듈은,
    상기 데이터의 열의 특성들과 매칭하는 정규 표현 모듈에 포함되는 적어도 하나의 정규 표현 패턴 리스팅에 리스트되는 패턴을 식별하고;
    상기 임계 유사도를 초과하는 패턴과의 유사도를 포함하는 제2 분류를 결정하기 위해 상기 분류들의 리스팅에 리스트되는 각각의 분류와 상기 식별된 패턴을 비교하도록 구성되며, 상기 정규 표현 모듈의 제안된 분류는 상기 제2 분류를 포함함 - ; 및
    학습 모듈 - 상기 학습 모듈은,
    상기 데이터의 열의 특성들 및 상기 분류들의 리스팅을 상기 학습 모듈과 연관된 훈련 데이터의 세트와 비교하는 것에 기초하여 제3 제안된 분류를 발생시키고;
    상기 데이터의 열의 특성들 및 상기 발생된 제안된 분류에 대응하는 적어도 하나의 규칙을 결정하고;
    상기 적어도 하나의 규칙을 상기 훈련 데이터의 세트에 통합하도록 구성됨 - 을 포함하는, 방법.
  19. 제17항에 있어서,
    피드백에 대한 요청을 상기 외부 디바이스에 송신하는 단계 - 상기 피드백에 대한 요청은 상기 최종 분류 및 상기 데이터의 열을 포함함 - ; 및
    피드백 정보를 포함하는 외부 디바이스로부터의 응답을 수신하는 단계를 추가로 포함하는, 방법.
  20. 제19항에 있어서,
    데이터의 다른 부분들의 후속 제안된 분류들을 개선하기 위해 재훈련 프로세스를 통해 상기 분류 모듈들의 세트에 의해 이용되도록 구성된 훈련 데이터의 세트 중 어느 것에 상기 수신된 피드백 정보를 통합하는 단계를 추가로 포함하는, 방법.
KR1020227008608A 2019-08-15 2020-08-12 다수의 분류 모듈로부터 집성된 정보를 사용하는 데이터의 분류 KR20220045035A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/542,016 US11138477B2 (en) 2019-08-15 2019-08-15 Classification of data using aggregated information from multiple classification modules
US16/542,016 2019-08-15
PCT/IB2020/057603 WO2021028855A1 (en) 2019-08-15 2020-08-12 Classification of data using aggregated information from multiple classification modules

Publications (1)

Publication Number Publication Date
KR20220045035A true KR20220045035A (ko) 2022-04-12

Family

ID=72178845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227008608A KR20220045035A (ko) 2019-08-15 2020-08-12 다수의 분류 모듈로부터 집성된 정보를 사용하는 데이터의 분류

Country Status (11)

Country Link
US (1) US11138477B2 (ko)
EP (1) EP4014133A1 (ko)
JP (1) JP2022535165A (ko)
KR (1) KR20220045035A (ko)
CN (1) CN114930318B (ko)
AU (1) AU2020327704B2 (ko)
BR (1) BR112022002855A2 (ko)
CA (1) CA3148191A1 (ko)
IL (1) IL290642B (ko)
MX (1) MX2022001970A (ko)
WO (1) WO2021028855A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7058941B2 (ja) * 2017-01-16 2022-04-25 キヤノン株式会社 辞書生成装置、辞書生成方法、及びプログラム
US11961046B2 (en) * 2018-05-22 2024-04-16 Micro Focus Llc Automatic selection of request handler using trained classification model
GB201916801D0 (en) 2019-11-19 2020-01-01 Ibm Identifying data relationships from a spreadsheet
GB201916804D0 (en) 2019-11-19 2020-01-01 Ibm Generating an OLAP model from a spreadsheet
GB201916803D0 (en) 2019-11-19 2020-01-01 Ibm Identifying content and structure of olap dimensions from a spreadsheet
GB201916800D0 (en) * 2019-11-19 2020-01-01 Ibm Detecting errors in spreadsheets
CN114064350A (zh) * 2020-08-07 2022-02-18 伊姆西Ip控股有限责任公司 数据保护方法、电子设备和计算机程序产品
US12079311B2 (en) * 2021-01-08 2024-09-03 Salesforce, Inc. AI-enhanced data labeling
TWI817106B (zh) * 2021-04-14 2023-10-01 台達電子工業股份有限公司 查詢回饋裝置以及方法
EP4254216A1 (en) * 2022-03-31 2023-10-04 Feedzai - Consultadoria e Inovação Tecnológica, S.A. Method and system for obtaining a datasource schema comprising column-specific data-types and/or semantic-types from received tabular data records
US20230334169A1 (en) 2022-04-15 2023-10-19 Collibra Belgium Bv Systems and methods for generating synthetic data
WO2024059801A2 (en) * 2022-09-15 2024-03-21 Covid Cough, Inc. Systems and methods for machine learning-based classification of signal data signatures featuring using a multi-modal oracle
CN115801483B (zh) * 2023-02-10 2023-05-19 北京京能高安屯燃气热电有限责任公司 一种信息共享处理方法及系统

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251131A (en) * 1991-07-31 1993-10-05 Thinking Machines Corporation Classification of data records by comparison of records to a training database using probability weights
JPH0785277A (ja) * 1993-09-13 1995-03-31 Nippon Telegr & Teleph Corp <Ntt> データ分類方式
US5537488A (en) * 1993-09-16 1996-07-16 Massachusetts Institute Of Technology Pattern recognition system with statistical classification
US6324531B1 (en) * 1997-12-12 2001-11-27 Florida Department Of Citrus System and method for identifying the geographic origin of a fresh commodity
US6341369B1 (en) * 1998-12-03 2002-01-22 International Business Machines Corporation Method and data processing system for specifying and applying rules to classification-based decision points in an application system
US6697799B1 (en) * 1999-09-10 2004-02-24 Requisite Technology, Inc. Automated classification of items using cascade searches
US6751600B1 (en) * 2000-05-30 2004-06-15 Commerce One Operations, Inc. Method for automatic categorization of items
AU2001277932A1 (en) * 2000-07-21 2002-02-05 Ohio University System and method for identifying an object
US7043492B1 (en) * 2001-07-05 2006-05-09 Requisite Technology, Inc. Automated classification of items using classification mappings
US7715591B2 (en) * 2002-04-24 2010-05-11 Hrl Laboratories, Llc High-performance sensor fusion architecture
US7454331B2 (en) * 2002-08-30 2008-11-18 Dolby Laboratories Licensing Corporation Controlling loudness of speech in signals that contain speech and other types of audio material
US7912246B1 (en) * 2002-10-28 2011-03-22 Videomining Corporation Method and system for determining the age category of people based on facial images
US7711174B2 (en) * 2004-05-13 2010-05-04 The Charles Stark Draper Laboratory, Inc. Methods and systems for imaging cells
JP2008520391A (ja) * 2004-11-23 2008-06-19 ケアストリーム ヘルス インク 解剖的情報を用いて自動化された放射線写真の分類
US7648460B2 (en) * 2005-08-31 2010-01-19 Siemens Medical Solutions Usa, Inc. Medical diagnostic imaging optimization based on anatomy recognition
US10089287B2 (en) * 2005-10-06 2018-10-02 TeraDact Solutions, Inc. Redaction with classification and archiving for format independence
US20080249764A1 (en) * 2007-03-01 2008-10-09 Microsoft Corporation Smart Sentiment Classifier for Product Reviews
IL188726A (en) * 2008-01-10 2013-05-30 Deutsche Telekom Ag A stacking scheme for tasks was classified
US8160975B2 (en) * 2008-01-25 2012-04-17 Mcafee, Inc. Granular support vector machine with random granularity
US8131118B1 (en) * 2008-01-31 2012-03-06 Google Inc. Inferring locations from an image
GB2471036B (en) * 2008-03-03 2012-08-22 Videoiq Inc Object matching for tracking, indexing, and search
JP5241370B2 (ja) * 2008-08-01 2013-07-17 三菱電機株式会社 テーブル分類装置、テーブル分類方法及びテーブル分類プログラム
US8611677B2 (en) * 2008-11-19 2013-12-17 Intellectual Ventures Fund 83 Llc Method for event-based semantic classification
US20110099199A1 (en) * 2009-10-27 2011-04-28 Thijs Stalenhoef Method and System of Detecting Events in Image Collections
US9317613B2 (en) * 2010-04-21 2016-04-19 Yahoo! Inc. Large scale entity-specific resource classification
US8315453B2 (en) * 2010-07-27 2012-11-20 Applied Materials Israel, Ltd. Defect classification with optimized purity
US20120106854A1 (en) * 2010-10-28 2012-05-03 Feng Tang Event classification of images from fusion of classifier classifications
US8468111B1 (en) * 2010-11-30 2013-06-18 Raytheon Company Determining confidence of object identification
US9147129B2 (en) * 2011-11-18 2015-09-29 Honeywell International Inc. Score fusion and training data recycling for video classification
US8990327B2 (en) * 2012-06-04 2015-03-24 International Business Machines Corporation Location estimation of social network users
US9158970B2 (en) * 2012-11-16 2015-10-13 Canon Kabushiki Kaisha Devices, systems, and methods for visual-attribute refinement
CA2891930C (en) * 2012-11-19 2016-08-02 Imds America Inc. Method and system for the spotting of arbitrary words in handwritten documents
US9098552B2 (en) * 2013-02-05 2015-08-04 Google Inc. Scoring images related to entities
US9268399B2 (en) * 2013-03-01 2016-02-23 Qualcomm Incorporated Adaptive sensor sampling for power efficient context aware inferences
US9760803B2 (en) * 2013-05-15 2017-09-12 Google Inc. Associating classifications with images
JP6188147B2 (ja) * 2013-10-15 2017-08-30 国立大学法人広島大学 認識システム
US9317785B1 (en) * 2014-04-21 2016-04-19 Video Mining Corporation Method and system for determining ethnicity category of facial images based on multi-level primary and auxiliary classifiers
US20160189055A1 (en) * 2014-12-31 2016-06-30 Applied Materials Israel Ltd. Tuning of parameters for automatic classification
US9530082B2 (en) * 2015-04-24 2016-12-27 Facebook, Inc. Objectionable content detector
US9603123B1 (en) * 2015-06-04 2017-03-21 Apple Inc. Sending smart alerts on a device at opportune moments using sensors
CN106294520B (zh) 2015-06-12 2019-11-12 微软技术许可有限责任公司 使用从文档提取的信息来标识关系
US10528889B2 (en) * 2016-03-25 2020-01-07 Futurewei Technologies, Inc. Stereoscopic learning for classification
US10585121B2 (en) * 2016-09-12 2020-03-10 Tektronix, Inc. Recommending measurements based on detected waveform type
US10313348B2 (en) * 2016-09-19 2019-06-04 Fortinet, Inc. Document classification by a hybrid classifier
US11017272B2 (en) * 2017-11-30 2021-05-25 Facebook, Inc. Random and active learning for classifier training
CN108764292B (zh) * 2018-04-27 2022-03-18 北京大学 基于弱监督信息的深度学习图像目标映射及定位方法
CA3100642A1 (en) * 2018-05-21 2019-11-28 Corista, LLC Multi-sample whole slide image processing in digital pathology via multi-resolution registration and machine learning

Also Published As

Publication number Publication date
IL290642A (en) 2022-04-01
US20210049421A1 (en) 2021-02-18
MX2022001970A (es) 2022-06-09
JP2022535165A (ja) 2022-08-04
BR112022002855A2 (pt) 2022-08-09
CA3148191A1 (en) 2021-02-18
IL290642B (en) 2022-09-01
US11138477B2 (en) 2021-10-05
AU2020327704B2 (en) 2022-11-10
CN114930318B (zh) 2023-09-01
EP4014133A1 (en) 2022-06-22
WO2021028855A1 (en) 2021-02-18
AU2020327704A1 (en) 2022-04-07
CN114930318A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
AU2020327704B2 (en) Classification of data using aggregated information from multiple classification modules
US10565498B1 (en) Deep neural network-based relationship analysis with multi-feature token model
Petralia et al. Unveiling the geography of historical patents in the United States from 1836 to 1975
US10637826B1 (en) Policy compliance verification using semantic distance and nearest neighbor search of labeled content
Ertugrul et al. Movie genre classification from plot summaries using bidirectional LSTM
EP2973038A1 (en) Classifying resources using a deep network
US11620283B2 (en) Method and system for analytic based connections among user types in an online platform
CN111507350A (zh) 一种文本识别方法和装置
CN113656699B (zh) 用户特征向量确定方法、相关设备及介质
US20220269663A1 (en) Semantic data type classification in rectangular datasets
US20220414523A1 (en) Information Matching Using Automatically Generated Matching Algorithms
US11551121B2 (en) Methods and systems for privacy preserving inference generation in a distributed computing environment
Alterkavı et al. Novel authorship verification model for social media accounts compromised by a human
CN113961666A (zh) 关键词识别方法、装置、设备、介质及计算机程序产品
CN115698977A (zh) 上下文驱动的数据剖析
CN110597977B (zh) 数据处理方法、装置、计算机设备和存储介质
Assegaff et al. Experimental of vectorizer and classifier for scrapped social media data
US11714637B1 (en) User support content generation
Siddiqui et al. An ensemble approach for the identification and classification of crime tweets in the English language
Mann et al. Identification of Racial Propaganda in Tweets Using Sentimental Analysis Models: A Comparative Study
Wang et al. A novel feature-based text classification improving the accuracy of twitter sentiment analysis
Kowsik et al. Sentiment analysis of twitter data to detect and predict political leniency using natural language processing
CN118093881B (zh) 一种基于知识图谱的审计对象画像建模方法和系统
Sureshkumar et al. AN EFFICIENT PRIVACY MANAGEMENT SYSTEM INONLINE SOCIAL NETWORKS
AU2020343118A1 (en) A text classification method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal