KR102523412B1 - 민감 데이터 검출 및 대체 - Google Patents

민감 데이터 검출 및 대체 Download PDF

Info

Publication number
KR102523412B1
KR102523412B1 KR1020217015769A KR20217015769A KR102523412B1 KR 102523412 B1 KR102523412 B1 KR 102523412B1 KR 1020217015769 A KR1020217015769 A KR 1020217015769A KR 20217015769 A KR20217015769 A KR 20217015769A KR 102523412 B1 KR102523412 B1 KR 102523412B1
Authority
KR
South Korea
Prior art keywords
data
image
document
sensitive
replacement
Prior art date
Application number
KR1020217015769A
Other languages
English (en)
Other versions
KR20210095875A (ko
Inventor
엘레나 부실라
제롬 파스케로
패트릭 라자루스
Original Assignee
서비스나우 캐나다 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서비스나우 캐나다 인크. filed Critical 서비스나우 캐나다 인크.
Publication of KR20210095875A publication Critical patent/KR20210095875A/ko
Application granted granted Critical
Publication of KR102523412B1 publication Critical patent/KR102523412B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/242Division of the character sequences into groups prior to recognition; Selection of dictionaries
    • G06V30/244Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
    • G06V30/245Font recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/416Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing

Abstract

프라이버시 및 민감 데이터 보호를 위한 시스템 및 방법. 문서의 이미지가 전처리 스테이지에서 수신되고 이미지에 이미지 전처리가 적용되어 결과적인 이미지가 추가 처리에 충분하게끔 한다. 전처리는 이미지 품질 및 이미지 배향에 관한 처리를 수반할 수 있다. 이후에 이미지는 초기 처리 스테이지로 넘겨진다. 초기 처리 스테이지에서, 문서 내의 관련 데이터의 위치가 파악되고 경계 박스가 데이터 주위에 두어진다. 결과적인 이미지는 이후에 처리 스테이지로 넘겨진다. 이 스테이지에서, 경계 박스 내의 데이터의 타입이 판정되고 적절한 대체 데이터가 생성된다. 이후에 대체 데이터는 이미지 내에 삽입되어 이로써 이미지 내의 민감 데이터를 제거하고 대체한다.

Description

민감 데이터 검출 및 대체
본 발명은 문서 처리(document processing)에 관한 것이다. 보다 구체적으로, 본 발명은 문서 내의 민감 정보(sensitive information)를 대체하기 위한 시스템 및 방법에 관한 것이다.
21세기 초반은 여러 산업에서의 머신 러닝(machine learning)의 발흥과 늘어나는 편재화로 특징지어졌다. 그러나, 머신 러닝이 비즈니스(business) 세계에서 다음 수준의 진입(next level penetration)을 달성하기 위해, 머신 러닝은 비즈니스가 영위되게 하는 수천 가지의 다채로운 과제를 다룰 수가 있어야 한다. 이를 할 수 있기 위해, 머신 러닝 시스템은 그러한 과제를 학습하고, 정제하고, 최종적으로, 실행해야 할 것이다. 그리고, 이를 적절히 할 수 있기 위해, 머신 러닝 시스템은 대량의 데이터에의 액세스(access)를 필요로 할 것이다. 그러면 이런 대량의 데이터는 다양한 비즈니스 프로세스를 구현하기 위해 그러한 머신 러닝 시스템을 적절히 훈련하는(train) 데에 사용될 수 있다.
그러한 대량의 데이터가 이용가능함은 명확할 것이다. 비즈니스에서 자동화의 사용이 늘어남에도 불구하고, 비즈니스 세계는 여전히 종이와 그것의 해당물(representation) 위주로 전개된다. 예로서, 비즈니스는 여전히 (종이 위의) 서신(letter)으로써, (종이 위에 인쇄된) 송장(invoice)으로써, 그리고 (종이 위에 인쇄된) 영수증(receipt)으로써 수행된다. 종이를 쓰지 않는(paperless) 사회가 많이 거론되어 왔으나, 종이가 여전히 널리 사용된다는 사실은 여전하며, 비록 종이를 단계적으로 철폐하려는(phase out) 시도가 진행 중이더라도, 그런 종이 위의 데이터의 형태는 좀체 바뀔 것 같지 않다. 이것의 예로서, 종이를 쓰지 않는 송장 및 영수증조차 여전히 마치 종이 위에 인쇄된 것과 똑같이 보인다.
그러한 종이 기록, 송장 및 문서는 그러한 비즈니스 프로세스를 수행하도록 머신 러닝 시스템을 훈련하는 데에 사용될 수 있다. 그러나, 이 길은 정보 기술 혁명의 다른 주된 우려인 프라이버시(privacy)로부터 생겨나는 이슈로 가득하다. 송장, 신용 카드 영수증, 진료 보고서 등과 같은 실세계 문서는 모두 사람들이 타인이 이용할 수 있기를 원하지 않을 정보를 갖는다. 따라서, 이런 취지로, 여전히 실세계 문서로 하여금 머신 러닝 시스템을 위해 데이터 세트를 훈련하는 데에서 사용될 수 있도록 하면서 사용자의 프라이버시 및 데이터를 지킬 수 있는 시스템 및 방법에 대한 필요성이 있다. 바람직하게, 그러한 시스템 및 방법은 일단 그것이 적절하게 론칭되었다면(launched) 인간의 개입을 거의 내지 전혀 요구하지 않을 것이다.
본 발명은 프라이버시 및 민감 데이터 보호를 위한 시스템 및 방법에 관련된다. 문서의 이미지(image)가 전처리 스테이지(pre-processing stage)에서 수신되고 이미지에 이미지 전처리가 적용되어 결과적인 이미지가 추가 처리에 충분하게끔 한다. 전처리는 이미지 품질 및 이미지 배향(orientation)에 관한 처리를 수반할 수 있다. 이후에 이미지는 초기 처리 스테이지(initial processing stage)로 넘겨진다. 초기 처리 스테이지에서, 문서 내의 관련 데이터의 위치가 파악되고(located) 경계 박스(bounding box)가 데이터 주위에 두어진다. 결과적인 이미지는 이후에 처리 스테이지(processing stage)로 넘겨진다. 이 스테이지에서, 경계 박스 내의 데이터의 타입(type)이 판정되고 적절한 대체 데이터(replacement data)가 생성된다. 이후에 대체 데이터는 이미지 내에 삽입되어 이로써 이미지 내의 민감 데이터를 제거하고 대체한다.
제1 양상에서, 본 발명은 문서 내의 민감 데이터를 대체하기 위한 시스템을 제공하는데, 시스템은:
적어도 하나의 문서의 이미지를 수신하기 위한 전처리 모듈(pre-processing module);
상기 적어도 하나의 문서 각각의 상기 이미지를 상이한 필드로 세분하기 위한 클러스터링 모듈(clustering module)(각각의 필드는 데이터를 포함함);
상기 상이한 필드 내의 데이터의 특정 타입을 인식하여 이로써 상기 상이한 필드 내의 상기 데이터가 민감 데이터를 포함하는지를 판정하기 위한 데이터 타입 판정 모듈(data type determination module); 및
상기 상이한 필드 내의 데이터의 적어도 하나의 특정 타입의 민감 데이터를 대체 데이터로써 대체하기 위한 데이터 대체 모듈(data replacement module)을 포함한다.
제2 양상에서, 본 발명은 문서의 이미지를 상기 이미지가 데이터 세트(data set) 내의 데이터 포인트(data point)로서 사용되기 전에 조정하기 위한 방법을 제공하는데, 방법은:
a) 상기 이미지를 수신하는 것;
b) 상기 이미지 내의 상기 문서 상의 민감 데이터의 위치를 판정하는 것;
c) 단계 b)에서 판정된 상기 민감 데이터의 타입을 판정하는 것;
d) 단계 c)에서 판정된 상기 민감 데이터의 타입에 기반하여 대체 데이터를 판정하는 것;
e) 상기 대체 데이터를 상기 위치에서 상기 이미지 내에 삽입하여 이로써 상기 민감 데이터를 상기 대체 데이터로써 대체하는 것을 포함한다.
이제 하기 도면을 참조하여 본 발명의 실시예를 기술하는데, 상이한 도면 내의 동일한 참조 번호는 동일한 요소를 나타낸다.
도 1은 본 발명의 하나의 양상에 따른 시스템의 블록도(block diagram)이다.
도 2는 본 발명의 다른 양상에 따른 시스템의 구성의 블록도이다.
도 3은 도 2 내의 시스템의 변형이다.
도 4는 도 2 및 도 3의 시스템 내의 컴포넌트 중 하나 내의 서브모듈을 상세화하는 블록도이다.
도 1을 참조하면, 발명의 하나의 양상에 따른 블록도가 예시된다. 발명의 이 양상은 전처리 스테이지(20), 초기 처리 스테이지(30) 및 처리 스테이지(40)를 갖는 시스템(10)을 포함한다.
전처리 스테이지(20)는 적어도 하나의 문서를 포함하는 이미지를 수신한다. 전처리 스테이지(20)는 이미지가 추가 처리를 위한 충분한 이미지 품질의 것인지를 판정한다. 이를 위해, 전처리 스테이지는 이미지의 대비(contrast), 색상(color), 이미지 크기(size), 배향 및 선예도(sharpness)를, 또 이미지의 명확도(clarity)에 영향을 끼칠 수 있는 임의의 아티팩트(artefact)의 존재 또는 부존재도 분석할 수 있다. 만일 이들 이미지 품질 파라미터가 추가 처리에 불충분한 경우(가령 색상 균형(balance) 및/또는 대비가 OCR이 기호(character)를 판정할 수 없는 정도임), 전처리 스테이지는 필요에 따라 이들 파라미터를 조정한다. 이미지의 대비, 색상, 기하(geometry) 및 선예도를 조정하는 것에 더하여, 전처리 스테이지는 또한 이미지의 명확도(clarity)에 영향을 끼칠 수 있는 아티팩트를 제거하고/거나 이미지를 크롭할(crop) 수 있다.
이상에 더하여, 전처리 스테이지는 또한 이미지의 배향을 조정하여 내부의 데이터의 더 용이한 처리를 보장할 수 있다. 구체적으로, 전처리 스테이지는 이미지가 스크린 상에서 정사각형이게끔 하기 위해 이미지를 회전시킬 수 있다. 이 회전은 (가령 만일 문서가 이미지 내에 뒤집혀 있으면) 온전한 180도 회전이거나 필요에 따라 (가령 만일 문서가 이미지 내에서 비스듬히 있으면) 부분적인 회전일 수 있다. 게다가, 이미지는 역시, 이미지가 스크린 상에서 정사각형이게끔 하기 위해 기하학적으로 변환될(translated)(즉, 필요에 따라 좌측/우측으로 이동되거나 조정될) 수 있다. 이는 결과적인 이미지가 처리하기 더 용이하게끔 한다.
이미지의 다양한 파라미터의 조정은 사전결정된 한도 및/또는 규격에 따라 다양한 적절한 이미지 조정 모듈에 의해 실행될 수 있음은 명확할 것이다. 그러한 모듈은 이미지 처리 및/또는 이미지 품질 조정의 업계의 숙련자에게 잘 알려져 있다.
구현에 따라서, 전처리 스테이지는 또한 이미지가 단일 문서를 보여줄/나타낼 뿐이게끔 하기 위해 이미지를 처리할 수 있음이 또한 명확할 것이다. 만일 이미지가 여러 문서의 이미지의 모음(collection)인 경우, 전처리 스테이지는 원래의 이미지를, 각각의 이미지가 오직 단일 문서를 보여주는 여러 이미지로 나눌 수 있다.
전처리 스테이지 후에, 조정된 이미지는 이후에 초기 처리 스테이지로 전해진다. 초기 처리 스테이지는 이미지 내의 관련 데이터의 위치를 파악하기 위해, 그리고 적절한 경계 박스를 그 데이터 주위에 두기 위해 문서의 조정된 이미지를 분석한다. 추가로, 초기 처리 스테이지는 경계 박스 내의 데이터의 타입을 판정한다.
초기 처리 스테이지는 문서 내의 데이터의 클러스터를 판정한다. 데이터 추출 스테이지는 문서 내의 데이터의 클러스터(cluster)를 판정하고, 데이터의 클러스터 각각 내의 데이터의 타입을 판정하며, 데이터의 다양한 개별 클러스터 주위에 (필요한 경우에) 경계 박스를 둔다. 데이터의 각각의 클러스터의 (문서 내에서의) 위치가 또한 판정되고, 필요한 경우에, 데이터의 인접한 클러스터가 연접되어(concatenated) 더 큰 클러스터를 형성한다. 이는 만일 하나의 클러스터 내의 데이터가 데이터 세트의 일부인 경우 필요할 수 있다(가령 하나의 클러스터가 주소(address)의 제1 부분을 갖고 그것의 인접한 클러스터가 주소의 제2 부분을 가짐 -- 이들 두 클러스터는 주소를 포함하는 데이터의 단일 클러스터를 형성하기 위해 연접됨).
명확성을 위해, 클러스터화(clustering) 알고리즘 또는 프로세스가 문서에 적용되어서 픽셀은 논리적으로 일관된 텍스트적(textual)/개념적(conceptual) 데이터의 블록으로 분절된다(segmented). 예로서, 환자의 명칭(name)을 포함하는 픽셀은 함께 그룹화되며 그 환자의 주소를 포함하는 (환자의 명칭 아래의 라인(line) 내의) 픽셀의 클러스터와는 별개로 클러스터화된다.
초기 처리 스테이지가 문서 내의 데이터의 각각의 클러스터 내의 데이터의 타입을 판정함이 명확할 것이다. 이것은 클러스터 내의 데이터가 이미지, 텍스트(즉 문자숫자(alphanumeric) 기호), 표(table), 서명(signature), 또는 비즈니스 문서에서 마주쳐질 수 있는 임의의 다른 타입의 데이터인지를 판정하는 것을 포함한다. 이를 판정하는 것에 더하여, 초기 처리 스테이지는 또한 클러스터의 파라미터뿐만 아니라 클러스터 내의 데이터의 파라미터도 판정한다. 이와 같이, 초기 처리 스테이지는 클러스터의 크기를 (픽셀 단위로) 판정할 수 있다. 이는 픽셀 단위로 또는 임의의 다른 적절한 측정 단위로 클러스터의 길이, 폭 및 높이를 판정하는 것을 의미할 수 있다. 텍스트 데이터를 포함하는 데이터의 클러스터에 대해, 초기 처리 스테이지는 텍스트 데이터의 폰트(font) 크기는 물론 폰트 타입을 판정할 수 있다. 이미지 데이터에 대해, 이미지의 크기, 이미지 내의 라인, 이미지 내의 형상(shape)뿐만 아니라, 이미지 내의 텍스트의 존재 또는 부존재가 또한 판정될 수 있다. 표 데이터에 대해(즉 클러스터 데이터는 표를 포함함), 초기 처리 스테이지는 표 내의 데이터의 파라미터를 판정할 수 있다. 이상에 더하여, 초기 처리 스테이지는 또한 데이터(특히 텍스트 데이터)의 폰트, 크기, 스타일(style), 간격(spacing) 등을 인식한다.
초기 처리 스테이지는 클러스터를 판정할 뿐만 아니라 다양한 클러스터를 획정하기(delimit) 위해, 필요한 경우에, 경계 박스를 둠이 명확할 것이다. 물론, 용어 "경계 박스"는 또한, 데이터의 클러스터를 획정하거나, 묘사하거나, 다른 식으로 나타내는, 그리고 이미지 상에서 머신 판독가능한(machine readable) 수단 및 방법을 위한 상이한 형상, 크기 및 구성을 포함한다. 그러한 경계 박스는 또한 형상, 크기 또는 배향에 있어서 정규적이지 않은(non-regular)(가령 비스듬한) 박스 또는 형상을 포함한다.
초기 처리 스테이지는 또한 이미지를 포함하는 클러스터 데이터 내의 내용(content)의 타입을 판정할 수 있음이 명확할 것이다. 초기 처리 스테이지는 또한 클러스터가 로고(logo), 서명 또는 어떤 종류의 픽처(picture)를 포함함을 이미지 데이터가 나타내는지를 판정하도록 구성될 수 있다. 위에서 언급된 바와 같이, 이미지 내의 임의의 텍스트가 판정되고, 필요한 경우에, 대체/제거를 위해 추출되고/거나 태그될(tagged) 수 있다.
이상으로부터, 초기 처리 스테이지는 클러스터 내의 텍스트를 판정하기 위해 다양한 클러스터에 대해 OCR 기능을 수행할 필요가 있을 것이다. 이 기능을 위해, 적절한 OCR 모듈이 사용될 수 있다. 게다가, 위에서 언급된 과제에 특별히 적당한 다른 모듈이 사용될 수 있다. 이와 같이, 클러스터 판정, 클러스터 연접, 이미지 인식, 텍스트 파라미터 판정, 이미지 파라미터 판정 및 다른 기능을 위한 전용 모듈이 사용될 수 있다. 물론, 시스템의 구성에 따라서, 여러 기능이 하나 이상의 모듈에 의해 수행될 수 있다. OCR, 데이터 분석, 텍스트 및 이미지 분석 및 판정의 업계의 숙련자는, 본 발명의 다양한 스테이지 및 모듈을 구현하기 위해 어느 모듈 및 어느 기능이 필요한지를 판정할 수 있다.
초기 처리 스테이지 후에, 관련 경계 박스를 가진 이미지는 이후에 처리 스테이지로 넘겨진다. 민감 데이터(가령 명칭 및 주소)라고 간주되는 데이터 타입에 대해, 처리 스테이지는 동일한 타입의 유사한 데이터를 생성하고 민감 데이터를 적절한 대체 데이터로 대체한다.
처리 스테이지는 먼저 경계 블록 내의 데이터 중 어느 것이 민감 데이터로 이루어지는지를 판정한다. 초기 처리 스테이지가 어느 데이터 타입이 어느 경계 블록 내에 있는지를 이미 판정하였기에, 처리 스테이지는 이와 같이 관련 데이터 타입을 찾아낼 뿐이다. 이와 같이, 하나의 구현에서, 명칭 데이터(가령 고유 명칭(proper name) 및 기업 명칭(corporate name)) 및 주소 데이터(가령 적어도 번호와 도로로 이루어진 데이터)가 판정된다. 그러면, 민감 데이터 각각을 위한 적절한 대체 데이터가 생성된다. 이것은 적절한 명칭 및/또는 명칭/주소 요소(이는 이후에 적절한 대체 데이터를 무작위로(randomly) 생성하기 위해 사용될 수 있음)의 데이터베이스를 참조하여 행해질 수 있다. 일단 대체 데이터가 민감 데이터의 각각의 인스턴스(instance)에 대해 생성되었다면, 대체 데이터는 이후에 적절한 방식으로 이미지 내에 삽입되어 이로써 원래의 민감 데이터를 대체 데이터로써 차폐(mask)하고/거나 덮어쓰거나(overwrite) 불명료하게 한다(obscure). 대체 데이터는 대체 데이터가 민감 데이터의 폰트, 크기, 스타일, 간격 등과 매칭되도록(match) 조정된다. 이는 대체 데이터의 대체 텍스트가 문서 내에 이음매 없이(seamlessly) 혼합되게끔 한다.
대체 데이터를 무작위로 생성하는 것은 명칭/주소 요소의 데이터베이스의 사용(요소가 데이터베이스로부터 무작위로 선택되고 이후에 연접되어 대체 데이터를 생성함)을 포함할 수 있음이 명확할 것이다. 예로서, 알려진/흔한, 성 아닌 이름(first name)(가령 빌(Bill), 윌리엄(William), 제인(Jane), 조(Joe), 톰(Tom), 스테이시(Stacey) 기타 등등)의 데이터베이스로부터, 성 아닌 이름을 먼저 선택함으로써 무작위 명칭이 생성될 수 있다. 이후에, 알려진/흔한 성(last name)(가령 스미스(Smith), 킴(Kim), 파크(Park), 싱(Singh), 플레처(Fletcher), 쿠퍼(Cooper) 기타 등등)을 무작위로 선택하기 위해 알려진/흔한 성의 데이터베이스가 액세스된다. 이후에 이들 두 무작위 요소는 연접되어 무작위의 대체 명칭을 생성할 수 있는데 이는 문서의 이미지 내의 명칭 데이터의 하나 이상의 인스턴스를 대체하는 데에 사용될 수 있다. 주소에 대해, 도로 명칭(가령 파크, 1번(1st), 2번(2nd), 메인(Main), 월(Wall), 리버(River) 기타 등등)을 무작위로 선택하기 위해 알려진/흔한 도로 명칭의 데이터베이스가 액세스된다. 무작위의 도로 확장자(extension)(가령 스트리트(Street), 애버뉴(Avenue), 플레이스(Place), 웨이(Way), 크레센트(Crescent), 기타 등등)를 찾기 위해 흔한 도로 명칭 확장자를 가진 다른 데이터베이스가 이후에 액세스된다. 이후에 이들 주소 요소는 연접되어 도로 명칭을 만들어낼 수 있다. 도로 번호에 대해, 적절한 무작위 번호 생성기가 도로 명칭과 사용될 도로 번호를 생성할 수 있다. 무작위 도시 명칭이 또한 주소를 생성하기 위한 위에서 언급된 방법과 함께 사용될 수 있다. 다른 무작위로 생성된 대체 데이터가 다른 민감 데이터를 대체하는 데에 사용될 수 있다. 예로서, 무작위로 생성된 번호가 사회 보험 번호(social insurance number) 또는 사회 보장 번호(social security number)의 인스턴스를 대신해서 사용될 수 있다. 회사 신원(company identity)에 관해서, 데이터베이스로부터 하나 이상의 회사 명칭 요소를 무작위로 선택하고 이후에 이들 요소를 연접하여 무작위의 대체 회사 명칭을 형성함으로써 무작위의 회사 명칭이 또한 생성될 수 있다. 전화 번호가 또한 무작위로 생성될 수 있거나 알려진 모조 번호(fake number)가 문서 내에 삽입될 수 있다. 예로서, 지역 번호(area code)를 무작위로 생성하고 555 국번(exchange)을 무작위로 생성된 4자리 숫자와 함께 사용하여 알려진 모조 번호, 가령 (212) 555-4243을 생성할 수 있다.
위에서 언급된 데이터베이스의 내용은 모조 또는 무작위의 데이터일 필요는 없음이, 물론, 명백할 것이다. 현실적 데이터를 문서 내에, 그 문서 내에 원래 존재하는 민감 데이터 대신에, 삽입하기를 바라는 사례가 있을 수 있다. 그러한 사례를 위해, 문서 내에 삽입될 현실적 데이터 포인트를 포함하는 적절한 데이터베이스가 사용될 수 있다.
이상에 대한 대안으로서, 민감 데이터의 각각의 단편(piece)에 대해 새로운 대체 데이터 포인트를 생성하는 것 대신에, 특정한 대체 명칭/주소가 주소 또는 명칭의 각각의 사례를 위해 사용될 수 있다. 이와 같이, 이 대안을 위한 예로서, 명칭의 각각의 인스턴스는 존 도우(John Doe)와 같은 특정 명칭으로써 대체될 것인 한편 주소의 각각의 인스턴스는 스프링필드 에버그린 테라스 742(742, Evergreen Terrace, Springfield)와 같은 특정 대체 주소에 의해 대체될 것이다. 특정한 모조 전화 번호가 또한 문서 내의 전화 번호의 모든 인스턴스를 대체하는 데에 사용될 수 있다.
명확성을 위해, 다음 중 임의의 것은 문서 내의 민감 데이터로서 간주될 수 있고 위에서 언급된 바와 같이 적절한 대체 데이터에 의해 대체될 수 있다: 명칭, 주소, 전화 번호, 사회 보험/사회 보장 번호, 건강 보험 번호, 자동차 등록 번호(license plate number), 회사 명칭, 웹사이트 주소, 이메일 주소, 차량 식별 번호, IP 주소, 보험 증서 번호(insurance policy number), 신용 카드 번호, 식별 카드 번호(identification card number), 생년월일, 혈액형, 은행 계좌 데이터 및 의료 처방 데이터. 추가의 명확성을 위해, 용어 "민감 데이터"는 그저 텍스트 데이터뿐 아니라 이미지 데이터, 오디오 데이터, 또는 사용자, 기업체 또는 조직이 그 자신 또는 그 자체가 아닌 어떤 자도 이용할 수 있게 되기를 원하지 않을 수 있는 임의의 타입의 데이터를 포함할 수 있다. 이와 같이, 용어 "민감 데이터"는 맥락적(contextual) 방식으로 정의될 수 있어서 하나의 맥락에서 민감 데이터로 간주될 수 있는 것이 다른 맥락에서 민감 데이터로 간주되지 않을 수 있다. 게다가, "민감 데이터"는 또한 로고, 기업 로고, 또는 문서의 이미지 내에 존재할 수 있는 임의의 다른 이미지를 망라할 수 있다. 이와 같이, 만일 로고가 민감 데이터인 경우, 그런 로고는 적절한 대체 데이터에 의해 태그되고/거나 대체될 수 있다. 로고에 대해, 적절한 대체 데이터는 통칭적 로고(generic image), 통칭적 이미지, 적절한 생성된 이미지, 그리고/또는 문서의 이미지로부터 민감 데이터를 실효적으로(effectively) 차단하고/거나 제거하는 블록을 포함할 수 있다.
보다 명확하게 하기 위해, 몇몇 구현에서, 개인적 데이터(personal data)로 여겨질 수 있는 임의의 데이터는 용어 "민감 데이터"에 의해 망라될 수 있다. 이와 같이 "개인적 데이터" 또는 "민감 데이터"는 식별된 또는 식별가능한 자연인에 관한 임의의 정보를 포함할 수 있음 및 식별가능한 자연인은, 직접적으로 또는 간접적으로, 특히 명칭, 식별 번호, 위치 데이터, 온라인 식별자와 같은 식별자를 참조하여 또는 그 자연인의 육체적(physical), 생리적(physiological), 유전적(genetic), 정신적(mental), 경제적(economic), 문화적(cultural) 또는 사회적(social) 신원에 특정적인 하나 이상의 인자(factor)를 참조하여 식별될 수 있는 자임이 명확할 것이다. "민감 데이터"는 또한, 자연인의 생리 또는 건강에 대한 고유한 정보를 주는 것이고 특히 당해 자연인으로부터의 생물학적 샘플(biological sample)의 분석으로부터 기인하는 것인, 그 자연인의 선천적(inherited) 또는 후천적(acquired) 유전적 특성(characteristic)에 관한 개인적 데이터를 망라할 수 있다. 유사하게, "민감 데이터"는 또한, 안면 이미지 또는 지문 데이터와 같은, 자연인의 고유한 식별을 가능케 하거나 확증하는 것인, 그 자연인의 물리적, 생리적 또는 거동적(behavioural) 특성에 관한 특정한 기술적 처리로부터 기인하는 '생체측정 데이터'(biometric data) 또는 개인적 데이터를 포함할 수 있다. "민감 데이터"는 또한, 자연인의 육체적 또는 정신적 건강에 관련된 개인적 데이터(건강 관리 서비스의 제공을 포함하는데, 이는 그 사람의 건강 상태에 대한 정보를 드러냄)를 포함할 수 있다. 추가로, "민감 데이터"는 자연인의 업무에서의 성과, 경제적 상황, 건강, 개인적 선호, 관심, 신빙성, 거동, 위치 또는 움직임의 분석이나 식별 또는 예측에서 쓸모 있을 수 있는 데이터를 포함할 수 있다.
본 발명의 하나의 구현에서, 시스템의 출력은 문서 내의 데이터의 다양한 클러스터의 목록(listing)이다. 각각의 클러스터의 파라미터, 내용, 위치(location)/포지션(position), 그리고 클러스터의 내용의 파라미터는 각각의 클러스터와 연관된다. 이와 같이 이 출력은 문서의 요망되는 및/또는 관련 내용을 판정하기 위해 머신 러닝 시스템에 의해 사용될 수 있다.
위의 구현을 위해, 문서 내의 데이터의 다양한 클러스터 내의 민감 데이터는 클러스터 내에서, 그리고 데이터가 머신 러닝 시스템에 의해 처리되기 전에 대체될 수 있다. 이와 같이, 본 발명의 시스템은 문서의 이미지 내의 민감 데이터를 처리하고 판정하고 위치파악할 것이며, 문서 내의 데이터를 사용할 머신 러닝 시스템에 의해 문서가 처리되기 전에, 시스템은 그 민감 데이터를 적절한 대체 데이터로 대체할 것이다. 그리하여, 민감 데이터는 머신 러닝 시스템을 훈련하기 위한 데이터 세트의 일부를 형성하지 않을 것이다. 그러나, 비록 민감 데이터 그 자체가 훈련을 위한 데이터 세트의 일부를 형성하지 않더라도, 원래의 민감 데이터의 맥락 또는 특성은, 특히 민감 데이터가 대체 데이터에 의해 대체된 후에, 보존되고 훈련 데이터 세트의 일부를 형성함이 명확할 것이다. 민감 데이터의 배치(placement), 포지셔닝(positioning) 및 본질(nature)은 훈련 데이터 세트의 일부를 형성할 것이나 실제의 민감 데이터 그 자체는 훈련 데이터 세트의 일부를 형성하지 않을 것이다.
본 발명의 또 다른 구현에서, 문서의 이미지, 클러스터 각각 내의 또는 경계 박스 각각 내의 데이터는 데이터 타입에 의해 분류된다. 분류 구현을 위해, 문서 내의 데이터의 다양한 클러스터는 데이터 클러스터의 다수의 특정 부류로 분류된다. 예로서, 클러스터는 주소 클러스터(가령 송장 또는 전표(statement) 내의 주소 블록), 문서 제목/타입 클러스터(가령 송장 또는 전표를 나타내는 블록), 데이터 클러스터, 항목 서술 클러스터(가령 송장, 영수증 또는 전표 내에 항목화된(itemized) 항목의 서술), 서명 클러스터, 명칭 클러스터(가령 서신 내의 인사말(salutation) 블록 또는 전표/송장 내의 "특정인 지정"(attention) 블록), 로고 클러스터, 표기 클러스터(가령 주석 달린 문서 내의 육필(handwritten) 쪽지 블록) 및 이메일 주소 클러스터(즉 이메일 주소를 포함하는 클러스터), 기타 등등으로서 분류될 수 있다. 이 분류는 클러스터 내의 및/또는 경계 박스 내의 데이터의 데이터 타입을 판정하는 것의 용이함을 가능케 한다. 그러한 조치는 또한 클러스터 내의 및/또는 경계 박스 내의 민감 데이터를 대체하는 데에서 사용될 적절한 대체 데이터 포인트를 생성하는 부담을 덜어줄 것이다.
하나의 대안에서, 본 발명은 위에서 언급된 모듈 또는 스테이지와 다르지 않은 다수의 모듈을 사용하여 구현될 수 있다. 이 구현에서, 문서의 이미지가 입력 모듈에서 수신된다. 문서의 내용은 이후에 클러스터(문서 내에서의 그것의 포지션/위치 및 다른 클러스터에 상대적인 그것의 포지션/위치가 판정됨)로 나뉜다. 문서 내의 특정 클러스터의 포지셔닝/위치 및/또는 클러스터의 내용에 기반하여, 이들 클러스터는 명칭, 주소 및 금전 총계와 같은, 데이터의 특정 타입을 갖는 것으로서 분류된다. 클러스터 포지션에 더하여, 클러스터 내에 포함된 데이터의 타입을 판정하는 데에 다른 고려사항이 사용될 수 있다. 이들 고려사항은 다른 클러스터에 대한 클러스터의 위치, 클러스터의 크기 및 클러스터 내의 특정 텍스트의 존재 또는 부존재를 포함할 수 있다. 일단 클러스터 내의 데이터의 타입이 판정되었다면, 관련 데이터는 민감 데이터이거나 아닌 것으로서 태그될 수 있다. 일단 클러스터가 판정되었고 그것의 내용이 또한 판정되었다면, 이후에 데이터의 본질이 발견된다. 만일 민감 데이터가 다양한 클러스터 내에서 발견되면, 적절한 대체 데이터가 이후에 생성되고 이후에 민감 데이터 대신 문서 내에 삽입된다. 만일 문서가 이전에 알려진 경우, 그 문서 상의 특정 데이터의 상이한 타입의 위치 및/또는 포지셔닝은 시스템이 데이터의 이들 단편의 위치를 판정하기 위해 이미지 및/또는 문서를 분석할 필요가 없을 것이도록 시스템 내에 사전구성될 수 있음이, 물론, 명확할 것이다.
도 2를 참조하면, 본 발명의 하나의 양상에 따른 시스템의 블록도가 예시된다. 시스템(110)은 이미지 수신 모듈(120), 클러스터 판정 모듈(130), 포지션 판정 모듈(140), 데이터 타입 판정 모듈(150), 대체 데이터 생성 모듈(160) 및 데이터 대체 모듈(170)을 포함한다. 시스템은 문서의 이미지를 수신하고, 이미지를 사용하여 문서 내의 데이터의 클러스터를 판정하고, 이후에 문서 내의 다양한 클러스터의 포지션/위치를 판정한다. 게다가, 시스템은 다른 클러스터에 대한 클러스터의 포지션/위치를 판정한다. 이후에 시스템은 문서 내의 하나 이상의 클러스터 내에 존재하는 데이터의 타입을 그 클러스터의 포지션/위치 및/또는 클러스터의 내용에 기반하여 판정한다. 추가로, 하나 이상의 클러스터 내의 데이터의 본질(즉, 데이터가 민감 데이터인지 여부)이 판정된다. 하나 이상의 클러스터 내에 존재하는 데이터의 타입에 기반하여, 적절한 대체 데이터가 생성되고 이 대체 데이터는 문서의 이미지 내에 삽입된다.
도 2의 시스템에서, 이미지 수신 모듈(120)은 문서의 이미지를 수신하며, 이미지를 처리하기가 더 용이하게 또는 적어도 덜 어렵게 렌더링하기(render) 위해 대비, 선예도, 색상 등과 같은 이미지의 파라미터를 조정하는 것과 같은 전처리 단계를 수행할 수 있다. 이후에 클러스터 판정 모듈(130)은 이미지 내의 데이터의 그룹을 취하며 어느 데이터가 어느 클러스터를 형성하는지를 판정한다. 이후에 포지션 판정 모듈(140)은 문서 내에서의 각각의 클러스터의 절대적 포지션(또는 위치)을, 그리고 또한 다른 클러스터에 대한 각각의 클러스터의 포지션을 판정한다. 이후에 데이터 타입 판정 모듈(150)은 하나 이상의 클러스터를 분석하여 클러스터 내의 데이터의 타입을 그 클러스터의 포지션/위치를 포함할 수 있는 다수의 인자에 기반하여 판정한다. 클러스터 내의 데이터를 판정하는 데에 사용되는 이 포지션은 문서 내의 (픽셀 거리 또는 크기의 측면에서의) 클러스터의 절대적 포지션 또는 (픽셀 거리 또는 크기의 측면에서의) 다른 클러스터에 대한 클러스터의 포지션일 수 있다.
일단 클러스터 내의 데이터의 타입이 판정되면, 데이터가 민감한지 여부를 판정하기 위한 데이터의 분석이 행해진다. 이 분석의 결과에 기반하여, 적절한 대체 데이터가 이후에 생성되고 이후에 문서 내에 삽입될 수 있다. 데이터의 민감성은 또한 단순히 데이터의 본질에 좌우될 수 있음이 명확할 것이다. 예로서, 모든 주소는 민감 데이터로서 취급될 수 있고, 유사하게, 모든 고유 명칭은 또한 민감 데이터로서 취급될 수 있다. 데이터의 단편이 민감한지 여부에 대한 판정은 반드시 이분법적 문제(binary matter)인 것은 아니며 확률에 기반하고/거나 신뢰 수준에 기반할 수 있음이 또한 명확할 것이다. 이와 같이, 시스템은 데이터의 특정 단편을 식별할 수 있고 데이터의 그 단편이 특정 데이터 타입의 것이라는 확률 또는 신뢰 수준(가령 데이터의 단편이 사람의 이름 또는 주소인 신뢰 수준)을 할당할 수 있다. 추가로, 시스템은 잠재적으로 식별된 데이터가 민감한 본질의 것이라는 확률(가령 (사람의 고유 명칭일 수 있는) 데이터가 그것이 문서의 주제를 식별하므로 민감하다는 신뢰 수준)을 할당할 수 있다. 신뢰 수준의 임의의 적절한 조합에 기반하여, 시스템은 이와 같이 (만일 신뢰 수준이 사전정의된 임계를 넘는 경우) 데이터의 단편을 계속해서 제거/대체하되, (만일 신뢰 수준이 사전정의된 임계 아래인 경우) 데이터에 대해 아무것도 하지 않을 수 있거나, (만일 신뢰 수준이 사전정의된 임계에 가까운 경우) 사용자에 의한 검토를 위해 데이터를 플래그할(flag) 수 있다. 다른 구성이 물론 가능하며, 시스템을 위한 요망되는 허용치(tolerance) 및 최종 결과에 달려 있을 수 있다.
민감 데이터가 판정되면서, 이후에 대체 데이터 생성기(160)는 문서에서 발견된 민감 데이터를 위한 적절한 대체 데이터를 생성한다. 생성된 대체 데이터는 이후에, 데이터 대체 모듈(170)에 의해, 민감 데이터를 대체하기 위해 문서의 이미지 내에 삽입된다. 몇몇 구현에서, 대체 데이터는 대체되는 민감 데이터의 동일한 특성을 가질 수 있다. 그러한 구현을 위해, 대체 데이터는 대체되는 민감 데이터와 동일한 색상, 폰트, 크기 및/또는 음영(shade)을 가질 수 있다. 이와 같이 그러한 구현은, 시각적 특성의 측면에서, 대체되는 민감 데이터와 구별불가능한 대체 데이터를 산출할 수 있다. 그러한 구현을 위해, 민감 데이터의 분석은 민감 데이터의 데이터의 타입뿐 아니라 민감 데이터의 시각적 및/또는 텍스트적 특성(가령 폰트, 폰트 크기, 기호 크기, 기호 간격, 색상, 기호 피치(pitch), 배경 색상, 전경 색상, 기타 등등)도 식별할 것이다. 이와 같이 민감 데이터의 그러한 특성은 원래의 민감 데이터와 시각적으로 구별불가능한 대체 데이터를 생성하기 위해 대체 데이터를 형식화(format)하고/거나 처리하는 데에 사용될 수 있다.
이 문서의 목적을 위해, "포지션"은 클러스터가 발견되는 이미지에서의 자리를 의미하도록 취해질 수 있고 이 "포지션"은 픽셀, 픽셀 거리, 또는 이미지 또는 문서 내의 하나 이상의 고정된 포인트로부터의 거리 측정의 어떤 다른 형태의 측면에서 정량화가능하다. 유사하게, 용어 "위치"는 이미지 또는 문서 내에서 클러스터가 발견될 수 있는 영역 또는 구역을 의미하도록 취해질 수 있다. 이와 같이, 예로서, 클러스터는 이미지의 상부 우측 사분면 내에 또는 이미지의 하부 절반 내에 있는 위치를 가질 수 있다. 유사하게, 다른 예로서, 클러스터는 이미지의 우측 에지(edge)로부터 x 픽셀이고 이미지의 최상 에지로부터 y 픽셀인 포지션을 가질 수 있다. 시스템의 구현에 따라서, 용어 "포지션" 및 "위치"는 상호교환가능하게 사용될 수 있음은 업계에서 숙련된 자에게 명확할 것이다.
도 2에 예시된 시스템은 그저 본 발명의 시스템의 하나의 가능한 구현을 나타냄이 명확할 것이다. 다른 구현이 물론 가능하다. 다른 가능한 구현으로서, 도 3은 이미지 수신 모듈(120) 및 데이터 타입 판정 모듈(150)이 도 2에서와 동일한 변형을 도시한다. 이 변형에서, 데이터 대체 생성기 모듈(160) 및 데이터 대체 모듈(170)의 기능은 단일 모듈인 대체 모듈(180) 내에 조합된다. 도 3의 변형에서, 모듈(130 및 140)의 기능은 단일의 클러스터 처리 모듈(160) 내에 조합되는데 그것의 출력은 데이터 타입 판정 모듈(150)에 의해 처리된다. 하나의 구현에서, 클러스터 처리 모듈(160)의 출력은 각각의 클러스터를 위한 포지션 지시자(indicator)와 더불어 (각각의 클러스터 내의 임의의 연접된 텍스트를 포함하는) 클러스터의 목록을 포함한다. 이후에 이 클러스터 및 클러스터 포지션 목록은 클러스터 중 하나 이상 내의 데이터를 판정하기 위해 데이터 타입 판정 모듈(150)에 의해 분석될 수 있다. 또한 이 변형에서, 모듈(160 및 170)의 기능은 모듈(180) 내에 조합된다. 이와 같이 모듈(180)은 대체 데이터를 생성하고 이 대체 데이터를 문서 내의 관련 클러스터 내에 삽입한다.
데이터 타입 판정 모듈(150)은 여러 구현을 가질 수 있음이 명확할 것이다. 하나의 구현에서, 문서 내의 클러스터 중 하나 이상 내의 데이터를 판정하는 데에 규칙 기반 모듈이 사용된다. 모듈에 의해 구현된 규칙은 클러스터의 절대적 포지션, 하나 이상의 다른 클러스터에 대한 그것의 상대적 포지션, 클러스터의 길이, 또 그 클러스터의 내용을 고려하여 그 클러스터 내의 데이터를 판정할 수 있다. 예로서, 만일 클러스터의 포지션이 문서의 최상부에 가깝고, 두 개의 더 작은 클러스터에 인접하며, 클러스터 내의 글자 또는 단어의 폰트 크기의 측면에서 중간 크기의 것이면, 그 클러스터는 그것 내에 주소를 가질 수 있다. 전술한 바를 설명하기 위해, 비즈니스 서신에서, 서신의 수취인을 위한 주소 블록은 문서의 최상부에 가깝고 날짜 및 참조 라인 사이에 있다. 날짜 라인은 작은 클러스터이고 참조 라인(즉 RE: 라인)은 또한 비교적 작은 클러스터이므로, 그러면 이들 두 작은 클러스터 사이의 클러스터는 통상적으로 주소 블록이다.
만일 요망되는 결과가 문서로부터 주소, 날짜 및 총 달러(dollar) 액수를 식별하는 것인 경우, 머신 러닝 시스템에서, 다수의 유사점 및 패턴이 샘플로부터 시스템에 의해 추론될(extrapolated) 수 있음이 명확할 것이다. 규칙 기반 시스템에서, 추론은 미리 판정되고 이후에 시스템 내의 규칙 내에 하드 코딩될(hard coded) 필요가 있을 수 있다. 통상적인 비즈니스 문서에서, 일반적으로, 주소 블록은 문서의 최상부에 근접해 있다. 게다가, 송장 및 영수증에 대해, 송장 또는 영수증을 위한 총계는 통상적으로 문서의 최하부에 근접해 따로 놓인다. 날짜는 통상적으로 문서의 최상부에 근접해 있고 통상적으로 주소 클러스터 다음에 또는 이에 인접하여 있다. 전형적인 비즈니스 문서의 샘플로부터, 규칙 기반 데이터 판정 모듈이 구축될 수 있다. 물론, 이들 비즈니스 문서의 구조의 가변성이 주어지면, 그러한 규칙 기반 모듈은 예상대로 작동하지 않을 수도 있다.
다른 구현에서, 데이터 타입 판정 모듈에서 신경망(neural network)이 사용될 수 있다. 신경망은 다양한 클러스터를 날짜 클러스터, 주소 클러스터, 또는 총액 클러스터로서 분류하는 과제를 맡을 수 있다. 소정의 크기보다 더 큰 클러스터(즉 사전결정된 양보다 더 많은 기호를 가진 클러스터)는 그것이 본문(body) 클러스터를 구성할 것이고 날짜, 주소 또는 총액 클러스터가 아닐 것인바 불용될(discarded) 수 있다. 신경망은 상이한 비즈니스 서신, 송장, 영수증, 구매 주문서(purchase order), 지급 청구서(claim form), 급여 명세서(pay slip) 및 다른 비즈니스 타입 문서(그것의 클러스터가 이미 날짜, 주소 및 총액 클러스터로서 분류되었음)를 포함하는 데이터 세트로써 훈련될 수 있다. 그러한 데이터 세트를 사용함으로써, 신경망은 비즈니스 문서 내의 클러스터 중 어느 것이 이들 데이터 포인트(즉 주소, 날자 및 총액)를 포함하는지를 판정하기 위해 훈련될 수 있다.
도 3을 도로 참조하면, 클러스터 처리 모듈(160)은 또한 문서 내의 다양한 클러스터를 판정하기 위해, 그리고 문서 내의 각각의 클러스터의 포지션을 판정하기 위해 신경망을 사용할 수 있음이 또한 명확할 것이다. 이후에 결과는 날짜, 주소 및 총계 클러스터(또는 다른 클러스터)를 찾기 위해 신경망 구비형(neural network equipped) 데이터 타입 판정 모듈(150) 내에 공급될 수 있다. 발견된 이들 클러스터 내의 데이터는 이후에 식별되고, 만일 필요한 경우, 적절한 대체 데이터에 의해 대체될 수 있다.
요망되는 클러스터가 발견되었음을 보장하기 위해 문서 내의 다양한 클러스터의 추가 처리가 수행될 수 있음이 또한 명확할 것이다. 예로서, 날짜 클러스터에 대해, 클러스터 내의 텍스트는 월(month)의 명칭 또는 축약에 대응하는 텍스트에 대해 스캔하기(scan) 위해 분석될 수 있다. 유사하게, 주소에서 통상적으로 나타나는 텍스트(가령 "street", "st.", "avenue", "ave." 등)에 대해 탐색하기 위해 잠재적인 주소 클러스터가 분석될 수 있다. 클러스터의 상대적인 포지셔닝은 그 클러스터 내의 데이터의 타입을 판정하는 경우에 또한 고려될 수 있다. 예로서, 문서의 최상부에 근접하고 두 개의 더 작은 크기의 클러스터 사이에 있는 중간 크기의 클러스터는 서신에서의 주소 클러스터일 수 있다. 유사하게, 문서의 다름 아닌 최상부에 (있고 하나 또는 두 개의 더 작은 클러스터에 인접하거나 위에) 있는 중간 크기의 클러스터는 영수증에서의 주소 클러스터일 수 있다. 다른 예로서, 가장 큰 클러스터 바로 위에 있는 중간 크기의 클러스터는 주소 클러스터일 수 있다. 클러스터의 절대적인 포지셔닝은 또한 그것 내의 데이터를 결정하는 것일 수 있다. 예로서, 모든 영수증의 최상부에 있는 클러스터는 그것 내에 주소를 갖는다. 게다가, 임의의 송장 또는 영수증 상의 총액은 문서의 최하부에 (또는 최하부에 매우 근접하여) 있다. 물론, 이 분석 및 처리는 규칙 기반 데이터 판정 모듈 내에 코딩될 수 있거나 그것은 적절한 신경망을 훈련하는 경우에 고려사항으로서 도입될 수 있다.
또 다른 변형에서, 도 1 내의 시스템의 출력은 위에서 언급된 바와 같은 데이터 타입 판정을 위한 신경망에의 적절한 입력으로서 사용될 수 있다. 이후에 신경망은 어느 클러스터가 어느 데이터를 포함하는지, 그리고, 이에 따라, 어느 데이터가 처리되고/거나 대체될 필요가 있을 것인지를 판정할 수 있다.
대체 데이터 생성 모듈(160)은 도 4에 예시된 바와 같은 구성을 가질 수 있음이 명확할 것이다. 도 4로부터, 모듈은 대체 데이터에 대한 요청을 수신하는 집성 서브모듈(aggregation submodule)(190)을 가질 수 있음을 알 수 있다. 요청은 요청되는 대체 데이터의 타입(가령 주소, 명칭, 전화 번호, 기타 등등)을 포함할 것이다. 이 요청에 기반하여, 적절한 대체 데이터 요소가 데이터베이스 서브모듈(200)로부터 수집될 수 있고 적절한 번호 요소가 난수(random number) 생성기 서브모듈(210)로부터 생성될 수 있다. 이후에 다양한 대체 데이터 요소는 다양한 요소를 적절한 대체 데이터 포인트 내에 이후에 조립하는 집성 서브모듈(190)에 도로 전해진다. 이 생성된 대체 데이터는 이후에 모듈(160)의 출력으로서 발신될 수 있다.
위의 논의는 OCR에 대해 언급하나, 본 발명은 또한 육필 텍스트 및/또는 육필 데이터에 적용가능할 수 있음이 명확할 것이다. 이와 같이, 육필 텍스트가 인식되고 이후에 적합하게 태그되고 적절한 대체 데이터에 의해 대체될 수 있다. 그러한 대체 데이터는 또한 이미지 내에 삽입된 대체 데이터가 육필 텍스트의 특성을 갖거나 비슷하게 보이도록 처리되거나 생성될 수 있다. 물론, 대체 데이터는 또한, 필요에 따라 또는 요망되는 대로, 타이핑된(typed) 텍스트 또는 다른 적절한 타입의 텍스트 데이터일 수 있다.
본 발명의 다른 대안적인 구현은 데이터베이스에 대한 참조 없이 데이터를 생성하는 데이터 생성 모듈을 사용할 수 있다. 적절한 명칭/데이터 생성 모듈이 그러한 구현을 위해 사용될 수 있다. 예로서, 적절한 명칭, 주소 및 다른 데이터를 생성하는 생성적 적대적 망(generative adversarial network)을 갖는 모듈이 사용될 수 있다.
대안으로서, 위의 논의는 민감 데이터를 민감 데이터와 동일한 타입의 것인 대체 데이터로 대체하는 것을 상세화하나, 민감 데이터는 또한 단순히 문서의 이미지로부터 제거될 수 있다. 그러한 대안을 위해, 민감 데이터는 문서로부터 민감 데이터를 실효적으로 삭제하기 위해 단색(solid color)의 이미지 블록에 의해 차폐될 수 있다. 그러한 대안을 위해, 대체 데이터는 단순히 민감 데이터를 실효적으로 제거하고/거나 차폐하는 디지털 이미지 블록일 것이다.
본 발명의 다양한 양상은 전반적인 소프트웨어 시스템 내의 소프트웨어 모듈로서 구현될 수 있음이 명확할 것이다. 그리하여, 본 발명은 이와 같이, 실행되는 경우에, 사전정의된 기능을 가진 다양한 소프트웨어 모듈을 구현하는 컴퓨터 실행가능 명령어의 형태를 취할 수 있다.
추가적으로, 달리 명시되지 않는 한, '이미지' 또는 '이미지들'에 대한 여기에서의 임의의 참조는 픽셀 또는 픽처 셀(picture cell)을 포함하는 디지털 이미지 또는 디지털 이미지들을 지칭함이 명확할 것이다. 마찬가지로, '오디오 파일' 또는 '오디오 파일들'에 대한 임의의 참조는, 달리 명시되지 않는 한, 디지털 오디오 파일을 지칭한다. '비디오', '비디오 파일', '데이터 객체', '데이터 파일' 및 모든 다른 그러한 용어는, 달리 명시되지 않는 한, 디지털 파일 및/또는 데이터 객체를 의미하도록 취해져야 한다.
발명의 실시예는 방법 단계의 방식으로 프로그래밍된(programmed) 컴퓨터 프로세서 또는 유사한 디바이스에 의해 실행될 수 있거나, 이들 단계를 실행하기 위한 수단이 제공된 전자 시스템에 의해 실행될 수 있다. 유사하게, 컴퓨터 디스켓, CD-ROM, 랜덤 액세스 메모리(Random Access Memory: RAM), 판독 전용 메모리(Read Only Memory: ROM) 또는 업계에 알려진 유사한 컴퓨터 소프트웨어 저장 매체와 같은 전자 메모리 수단은 그러한 방법 단계를 실행하도록 프로그래밍될 수 있다. 게다가, 이들 방법 단계를 나타내는 전자 신호는 또한 통신 네트워크를 통해 송신될 수 있다.
발명의 실시예는 임의의 종래의 컴퓨터 프로그래밍 언어로 구현될 수 있다. 예를 들어, 바람직한 실시예는 절차적(procedural) 프로그래밍 언어(가령, "C" 또는 "Go") 또는 객체 지향(object-oriented) 언어(가령, "C++", "java", "PHP", "PYTHON" 또는 "C#")로 구현될 수 있다. 발명의 대안적인 실시예는 사전프로그래밍된 하드웨어 요소로서, 다른 관련된 컴포넌트로서, 또는 하드웨어 및 소프트웨어 컴포넌트의 조합으로서 구현될 수 있다.
실시예는 컴퓨터 시스템과의 사용을 위한 컴퓨터 프로그램 제품으로서 구현될 수 있다. 그러한 구현은 컴퓨터 판독가능 매체(computer readable medium)(가령, 디스켓, CD-ROM, ROM, 또는 고정된 디스크(fixed disk))와 같은 유형적(tangible) 매체 상에 마련되거나 아니면 모뎀 또는 다른 인터페이스 디바이스, 예컨대 매체를 통하여 네트워크에 연결된 통신 어댑터를 통해, 컴퓨터 시스템에 송신가능한 일련의 컴퓨터 명령어를 포함할 수 있다. 매체는 유형적 매체(가령, 광학적 또는 전기적 통신 라인)이거나 아니면 무선 기법으로써 구현된 매체(가령, 마이크로파, 적외선 또는 다른 송신 기법)일 수 있다. 일련의 컴퓨터 명령어는 여기에서 앞서 기술된 기능의 전부 또는 일부를 체현한다. 업계에서 숙련된 자는 그러한 컴퓨터 명령어가 많은 컴퓨터 아키텍처 또는 운영 체제와의 사용을 위한 다수의 프로그래밍 언어로 작성될 수 있음을 인식할 것이다. 나아가, 그러한 명령어는 임의의 메모리 디바이스, 예컨대 반도체, 자기적, 광학적 또는 다른 메모리 디바이스 내에 저장될 수 있고, 임의의 통신 기술, 예컨대 광학적, 적외선, 마이크로파 또는 다른 송신 기술을 사용하여 송신될 수 있다. 그러한 컴퓨터 프로그램 제품은 동반되는 인쇄된 또는 전자적 서류(가령, 수축 포장된(shrink-wrapped) 소프트웨어)를 가진 탈거가능(removable) 매체로서 배포되거나, (가령, 시스템 ROM 또는 고정된 디스크 상에) 컴퓨터 시스템과 함께 사전적재되거나, 네트워크(가령, 인터넷 또는 월드 와이드 웹(World Wide Web))를 통하여 서버로부터 배포될 수 있음이 예상된다. 물론, 발명의 몇몇 실시예는 소프트웨어(가령, 컴퓨터 프로그램 제품) 및 하드웨어 양자 모두의 조합으로서 구현될 수 있다. 발명의 또 다른 실시예는 전적으로 하드웨어, 또는 전적으로 소프트웨어(가령, 컴퓨터 프로그램 제품)로서 구현될 수 있다.
본 발명을 이해하는 자는 이제 상기의 것의 대안적인 구조 및 실시예 또는 변화를 안출할 수 있는데 이들 모두는 뒤따르는 청구항에서 정의된 바와 같은 발명의 범위 내에 속하도록 의도된다.

Claims (21)

  1. 문서 내의 민감 데이터(sensitive data)를 대체하기 위한 시스템으로서,
    적어도 하나의 문서의 이미지를 수신하기 위한 전처리 모듈(pre-processing module)과,
    상기 적어도 하나의 문서 각각의 상기 이미지를 상이한 필드로 세분하기 위한 클러스터링 모듈(clustering module) - 각각의 필드는 데이터를 포함함 - 과,
    상기 상이한 필드 내의 데이터의 특정 타입을 인식함으로써 상기 상이한 필드 내의 상기 데이터가 민감 데이터를 포함하는지를 판정하기 위한 데이터 타입 판정 모듈과,
    상기 상이한 필드 내의 데이터의 적어도 하나의 특정 타입의 민감 데이터를 대체 데이터로 대체하기 위한 데이터 대체 모듈을 포함하는,
    시스템.
  2. 제1항에 있어서,
    데이터의 적어도 하나의 특정 타입의 상기 민감 데이터는,
    사람의 이름,
    사람의 주소,
    사람의 전화 번호,
    성별(gender),
    기밀 정보(confidential information),
    신체 특징,
    재정 정보,
    건강 관련 정보,
    비즈니스 관련 정보,
    기업체의 명칭,
    기업체의 주소,
    날짜,
    신용 카드 번호,
    은행 계좌 데이터,
    사회 보장/사회 보험 번호,
    개인 식별 데이터 및
    혈액형
    중 적어도 하나를 포함하는,
    시스템.
  3. 제1항에 있어서,
    상기 클러스터링 모듈은 상기 상이한 필드 각각 주위에 경계 박스를 두는,
    시스템.
  4. 제1항에 있어서,
    상기 대체 데이터의 요소는 데이터베이스로부터 무작위로 선택되는,
    시스템.
  5. 제1항에 있어서,
    상기 대체 데이터는 데이터베이스로부터 선택된 데이터 요소를 연접함(concatenating)으로써 생성되는,
    시스템.
  6. 제1항에 있어서,
    비민감 데이터의 일부분이 무작위로 생성되는,
    시스템.
  7. 제1항에 있어서,
    상기 대체 데이터의 적어도 일부분은 데이터베이스로부터 선택된 데이터 요소를 연접함으로써 생성되는,
    시스템.
  8. 제1항에 있어서,
    특정 타입의 민감 데이터의 각각의 인스턴스(instance)는 대체 데이터의 특정 단편(piece)에 의해 대체되는,
    시스템.
  9. 제1항에 있어서,
    상기 데이터 타입 판정 모듈은, 상기 문서 상의 상기 데이터의 위치, 또는 상기 데이터 내의 특정 단어의 존재 또는 부존재에 기반하여 데이터의 특정 타입을 인식하는,
    시스템.
  10. 삭제
  11. 제1항에 있어서,
    상기 민감 데이터 및 상기 민감 데이터를 대체하는 상기 대체 데이터는 데이터의 동일한 타입의 것인,
    시스템.
  12. 제1항에 있어서,
    상기 대체 데이터는 상기 이미지로부터 상기 민감 데이터를 제거하는 블록인,
    시스템.
  13. 제1항에 있어서,
    상기 대체 데이터는 상기 시스템에 의해 생성되는,
    시스템.
  14. 제1항에 있어서,
    상기 시스템은 상기 민감 데이터의 시각적 외양(visual appearance)을 인식하는,
    시스템.
  15. 제14항에 있어서,
    상기 시각적 외양은 상기 민감 데이터의 폰트(font), 크기(size), 스타일(style) 및 간격(spacing) 중 적어도 하나를 포함하는,
    시스템.
  16. 제14항에 있어서,
    상기 대체 데이터는 대체될 민감 데이터의 상기 시각적 외양과 매칭되는,
    시스템.
  17. 제16항에 있어서,
    상기 대체 데이터는 상기 문서 내에 이음매 없이(seamlessly) 혼합되는,
    시스템.
  18. 문서의 이미지를 상기 이미지가 데이터 세트(data set) 내의 데이터 포인트(data point)로서 사용되기 전에 조정하기 위한 방법으로서,
    a) 상기 이미지를 수신하는 단계와,
    b) 상기 이미지 내의 상기 문서 상의 민감 데이터의 위치를 판정하는 단계와,
    c) 단계 b)에서 판정된 상기 민감 데이터의 타입을 판정하는 단계와,
    d) 단계 c)에서 판정된 상기 민감 데이터의 타입에 기반하여 대체 데이터를 결정하는 단계와,
    e) 상기 대체 데이터를 상기 위치에서 상기 이미지 내에 삽입함으로써 상기 민감 데이터를 상기 대체 데이터로 대체하는 단계를 포함하는,
    방법.
  19. 제18항에 있어서,
    상기 문서는 비즈니스 문서(business document)인,
    방법.
  20. 제19항에 있어서,
    상기 민감 데이터는,
    사람의 이름,
    사람의 주소,
    사람의 전화 번호,
    성별,
    기밀 정보,
    신체 특징,
    재정 정보,
    건강 관련 정보,
    비즈니스 관련 정보,
    기업체의 명칭,
    기업체의 주소,
    날짜,
    신용 카드 번호,
    은행 계좌 데이터,
    사회 보장/사회 보험 번호,
    개인 식별 데이터 및
    혈액형
    중 적어도 하나인,
    방법.
  21. 제18항에 있어서,
    상기 대체 데이터는 상기 이미지로부터 상기 민감 데이터를 제거하는 블록인,
    방법.
KR1020217015769A 2018-10-26 2019-10-25 민감 데이터 검출 및 대체 KR102523412B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862751159P 2018-10-26 2018-10-26
US62/751,159 2018-10-26
PCT/CA2019/051515 WO2020082187A1 (en) 2018-10-26 2019-10-25 Sensitive data detection and replacement

Publications (2)

Publication Number Publication Date
KR20210095875A KR20210095875A (ko) 2021-08-03
KR102523412B1 true KR102523412B1 (ko) 2023-04-18

Family

ID=70330881

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217015769A KR102523412B1 (ko) 2018-10-26 2019-10-25 민감 데이터 검출 및 대체

Country Status (8)

Country Link
US (1) US20210357512A1 (ko)
EP (1) EP3871125A4 (ko)
JP (1) JP7418423B2 (ko)
KR (1) KR102523412B1 (ko)
CN (1) CN113228019A (ko)
AU (1) AU2019366169B2 (ko)
CA (1) CA3117374C (ko)
WO (1) WO2020082187A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11562134B2 (en) * 2019-04-02 2023-01-24 Genpact Luxembourg S.à r.l. II Method and system for advanced document redaction
US11822599B2 (en) * 2020-12-16 2023-11-21 International Business Machines Corporation Visualization resonance for collaborative discourse
US11423597B2 (en) * 2020-12-16 2022-08-23 Palo Alto Research Center Incorporated Method and system for removing scene text from images
CN113486392B (zh) * 2021-06-07 2023-06-06 四川新网银行股份有限公司 一种基于大数据平台的敏感数据识别与脱敏方法
EP4131047A1 (en) * 2021-08-05 2023-02-08 Blue Prism Limited Data obfuscation
CN113987590A (zh) * 2021-12-28 2022-01-28 北京安华金和科技有限公司 一种基于码表映射的数据脱敏处理方法和系统
CN114358171A (zh) * 2021-12-29 2022-04-15 中国建设银行股份有限公司 一种模型训练方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100042583A1 (en) * 2008-08-13 2010-02-18 Gervais Thomas J Systems and methods for de-identification of personal data
JP2014238642A (ja) * 2013-06-06 2014-12-18 沖電気工業株式会社 個人情報保護装置および個人情報保護システム並びに個人情報保護方法およびプログラム
DE102014207439A1 (de) * 2014-04-17 2015-10-22 IDnow GmbH Maskierung von sensiblen Daten bei der Benutzer-Identifikation
KR101585029B1 (ko) * 2015-05-13 2016-01-13 (주)코드원시스템 문서 인식 분류 시스템
US20160239668A1 (en) * 2015-02-13 2016-08-18 Konica Minolta Laboratory U.S.A., Inc. Document redaction with data retention

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289182A1 (en) * 2004-06-15 2005-12-29 Sand Hill Systems Inc. Document management system with enhanced intelligent document recognition capabilities
US7770220B2 (en) * 2005-08-16 2010-08-03 Xerox Corp System and method for securing documents using an attached electronic data storage device
WO2007075573A2 (en) * 2005-12-16 2007-07-05 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US7724918B2 (en) * 2006-11-22 2010-05-25 International Business Machines Corporation Data obfuscation of text data using entity detection and replacement
US8156159B2 (en) * 2009-02-11 2012-04-10 Verizon Patent And Licensing, Inc. Data masking and unmasking of sensitive data
US20110255794A1 (en) * 2010-01-15 2011-10-20 Copanion, Inc. Systems and methods for automatically extracting data by narrowing data search scope using contour matching
JP2011170509A (ja) 2010-02-17 2011-09-01 Nec Corp 機密度学習装置、機密度学習システム、機密度学習方法および機密度学習プログラム
US20110239113A1 (en) * 2010-03-25 2011-09-29 Colin Hung Systems and methods for redacting sensitive data entries
US8688601B2 (en) * 2011-05-23 2014-04-01 Symantec Corporation Systems and methods for generating machine learning-based classifiers for detecting specific categories of sensitive information
JP2013137740A (ja) 2011-11-28 2013-07-11 Internatl Business Mach Corp <Ibm> 機密情報識別方法、情報処理装置、およびプログラム
RU2549515C2 (ru) * 2013-08-29 2015-04-27 Общество с ограниченной ответственностью "Медиалогия" Способ выявления персональных данных открытых источников неструктурированной информации
US9390282B2 (en) * 2014-09-03 2016-07-12 Microsoft Technology Licensing, Llc Outsourcing document-transformation tasks while protecting sensitive information
CN105991670B (zh) * 2015-01-28 2020-02-14 中兴通讯股份有限公司 数据分享方法、数据分享装置及终端
US10007863B1 (en) * 2015-06-05 2018-06-26 Gracenote, Inc. Logo recognition in images and videos
JP6690170B2 (ja) * 2015-09-28 2020-04-28 富士ゼロックス株式会社 画像処理装置及びプログラム
US9922206B2 (en) * 2015-10-02 2018-03-20 Blackberry Limited Private data exchange
US9961082B2 (en) * 2016-02-08 2018-05-01 Blackberry Limited Access control for digital data
US10496831B2 (en) * 2016-09-20 2019-12-03 Intel Corporation Dynamic electronic display privacy filter
US10671753B2 (en) * 2017-03-23 2020-06-02 Microsoft Technology Licensing, Llc Sensitive data loss protection for structured user content viewed in user applications
US9965648B1 (en) * 2017-04-06 2018-05-08 International Business Machines Corporation Automatic masking of sensitive data
CN107169329B (zh) * 2017-05-24 2021-01-08 维沃移动通信有限公司 一种隐私信息保护方法、移动终端及计算机可读存储介质
CN107679418A (zh) * 2017-09-30 2018-02-09 武汉汉思信息技术有限责任公司 数据脱敏方法、服务器及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100042583A1 (en) * 2008-08-13 2010-02-18 Gervais Thomas J Systems and methods for de-identification of personal data
JP2014238642A (ja) * 2013-06-06 2014-12-18 沖電気工業株式会社 個人情報保護装置および個人情報保護システム並びに個人情報保護方法およびプログラム
DE102014207439A1 (de) * 2014-04-17 2015-10-22 IDnow GmbH Maskierung von sensiblen Daten bei der Benutzer-Identifikation
US20160239668A1 (en) * 2015-02-13 2016-08-18 Konica Minolta Laboratory U.S.A., Inc. Document redaction with data retention
KR101585029B1 (ko) * 2015-05-13 2016-01-13 (주)코드원시스템 문서 인식 분류 시스템

Also Published As

Publication number Publication date
US20210357512A1 (en) 2021-11-18
EP3871125A4 (en) 2021-12-15
CA3117374A1 (en) 2020-04-30
EP3871125A1 (en) 2021-09-01
KR20210095875A (ko) 2021-08-03
CA3117374C (en) 2024-03-26
JP7418423B2 (ja) 2024-01-19
CN113228019A (zh) 2021-08-06
AU2019366169B2 (en) 2023-03-30
JP2022505908A (ja) 2022-01-14
AU2019366169A1 (en) 2021-06-10
WO2020082187A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
KR102523412B1 (ko) 민감 데이터 검출 및 대체
JP7353366B2 (ja) トレーニングセットとして用いる文書からの機密データの除去
US8897563B1 (en) Systems and methods for automatically processing electronic documents
EP3567840B1 (en) Methods and apparatus for securely displaying digital images
EP4052177A1 (en) System and methods for authentication of documents
US20110249905A1 (en) Systems and methods for automatically extracting data from electronic documents including tables
CN112231484B (zh) 一种新闻评论审核方法、系统、装置和存储介质
US20180122498A1 (en) Methods for securely processing information having handwritten data
WO2022103564A1 (en) Fraud detection via automated handwriting clustering
Nguyen et al. Features selection in microscopic printing analysis for source printer identification with machine learning
Elhussein et al. A Client-Side App Model for Classifying and Storing Documents
US20230161903A1 (en) Methods and systems for secure processing of personal identifiable information
Upadhayay et al. Fake Image Detection: A Comprehensive Review
Raghavendra et al. Detection of Fraudulent Alteration of Bank Cheques Using Image Processing Techniques
CN117576702A (zh) 一种图片检测方法及系统
Mabuto et al. ISeCure
Mabuto et al. Analyzing Registry, Log Files, and Prefetch Files in Finding Digital Evidence in Graphic Design Applications

Legal Events

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