KR101402808B1 - 익명화를 위한 시드 선택 방법, 익명화 방법 및 이를 이용하는 정보 보호 장치 - Google Patents
익명화를 위한 시드 선택 방법, 익명화 방법 및 이를 이용하는 정보 보호 장치 Download PDFInfo
- Publication number
- KR101402808B1 KR101402808B1 KR1020120103155A KR20120103155A KR101402808B1 KR 101402808 B1 KR101402808 B1 KR 101402808B1 KR 1020120103155 A KR1020120103155 A KR 1020120103155A KR 20120103155 A KR20120103155 A KR 20120103155A KR 101402808 B1 KR101402808 B1 KR 101402808B1
- Authority
- KR
- South Korea
- Prior art keywords
- records
- seed
- clusters
- record
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
Landscapes
- Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Epidemiology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
k-멤버 군집화 시드 선택 방법은 N 개의 기록들을 포함하는 데이터 셋에서, 상기 N 개의 기록들에 각각에 대한 상대 거리를 구하는 단계(N은 4 이상의 자연수); 상기 N 개의 기록들 각각에 대한 상대 거리에 기초하여, 상기 데이터 셋에서 상기 N 개의 기록들 각각의 중심성을 나타내는 근접 중심성을 구하는 단계; 상기 N 개의 기록들 각각의 근접 중심성들 중 가장 작은 값을 갖는 기록을 시드로 선택하는 단계; 상기 시드로 선택된 기록과 가까운 상대 거리를 갖는 k-1 개의 기록들과 상기 시드로 선택된 기록을 k 개의 인스턴스를 갖는 하나의 클러스터로 생성하는 단계(k는 2이상 N 미만의 자연수); 상기 하나의 클러스터에 포함되지 않은 나머지 기록들에 대하여 다른 클러스터들을 생성하는 단계; 및 상기 생성된 클러스터들에 기초하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하는 단계를 포함한다.
Description
본 발명은 익명화 방법 및 장치에 관한 것으로, 보다 상세하게는 k-익명성을 사용하여 전자의무기록을 익명화하는 방법 및 장치에 관한 것이다.
전자의무기록(Electronic medical record)은 임상현장에서 생성된 의료기록으로서 진료행위를 지원하는 원래의 목적은 물론, 최근에는 의료정보를 분석하여 새로운 의료기술을 만들고, 환자 추천 시스템을 구축하는 등 중요한 도구로 인정되고 있다. 하지만 환자개인의 사적인 정보를 포함하고 있기 때문에 연구자에게 공개되는데 제약이 있다. 따라서 의료정보 자체는 손상하지 않으면서 사적인 정보는 보호하는 익명화 기술에 대한 요구가 많다. 하지만 기존의 연구들은 주로 보호대상 정보항목의 삭제나 은닉에만 초점을 맞추고 있어서 추후 예상치 않은 경로로 사적인 정보가 노출될 수 있는 위험이 있다. 이와 같은 노출 위험을 줄이기 위해서 재식별 방지(Anonymization) 익명화 기법이 지속적으로 연구되어 왔으며, 현재 k-재식별 방지(k-anonymity)조건을 기반으로 많은 연구가 되고 있다.
기존 k-요소 군집화 방식에서는 시드(seed)를 랜덤하게 선발하여 정보 손실량이 최소화 되도록 환자 데이터 군집화를 진행한다. 하지만 랜덤하게 시드를 선택할 경우 군집화 과정에 영향을 주게 되며 그로 인해 어떤 시드가 선택이 됐는지에 따라 정보 손실량이 변하게 된다.
본 발명이 일 목적은 근접 중심성 분석(closness centrality)을 이용해 정해진 기준에 의해서 시드를 선발하여 한번의 계산을 통해 일정한 정보 손실량을 도출하고 동시에 정보 손실량의 감소를 고려한 k-멤버 군집화 시드 선택 방법을 제공하는데 있다.
본 발명의 일 목적은 상기 k-멤버 군집화 시드 선택 방법을 이용하는 익명화 방법을 제공하는데 있다.
본 발명의 일 목적은 상기 익명화 방법을 이용하는 정보 보호 장치를 제공하는데 있다.
본 발명의 일 목적은 상기 정보 보호 장치를 포함하는 정보 보호 시스템을 제공하는데 있다.
본 발명의 일 실시예에 따른 k-멤버 군집화 시드 선택 방법은 N 개의 기록들을 포함하는 데이터 셋에서, 상기 N 개의 기록들에 각각에 대한 상대 거리를 구하는 단계(N은 4 이상의 자연수); 상기 N 개의 기록들 각각에 대한 상대 거리에 기초하여, 상기 데이터 셋에서 상기 N 개의 기록들 각각의 중심성을 나타내는 근접 중심성을 구하는 단계; 상기 N 개의 기록들 각각의 근접 중심성들 중 가장 작은 값을 갖는 기록을 시드로 선택하는 단계; 상기 시드로 선택된 기록과 가까운 상대 거리를 갖는 k-1 개의 기록들과 상기 시드로 선택된 기록을 k 개의 인스턴스를 갖는 하나의 클러스터로 생성하는 단계(k는 2이상 N 미만의 자연수); 상기 하나의 클러스터에 포함되지 않은 나머지 기록들에 대하여 다른 클러스터들을 생성하는 단계; 및 상기 생성된 클러스터들에 기초하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하는 단계를 포함한다.
실시예에 있어서, 상기 N 개의 기록들 각각의 근접 중심성은 상기 N 개의 기록들 중 하나의 기록과 나머지 기록들 사이의 상대 거리의 합의 역수일 수 있다.
실시예에 있어서, 상기 근접 중심성에 의하여 N 개의 기록들 각각의 상기 데이터 세트에서의 위치가 결정될 수 있다.
실시예에 있어서, 상기 다른 클러스터들을 생성하는 단계는 상기 나머지 기록들 각각의 근접 중심성들 값들 중 가장 작은 값을 갖는 기록을 시드로 선택하여 수행될 수 있다.
실시예에 있어서, 상기 정보 손실량은 상기 각 기록들의 항목들의 정보 손실량의 합일 수 있다.
본 발명의 일 실시예에 따른 k-멤버 군집화 익명화 방법은 N 개의 기록들을 포함하는 데이터 셋에서, 상기 N 개의 기록들에 각각에 대한 중심성을 나타내는 근접 중심성에 기초하여 k 개의 인스턴스를 갖는 복수의 클러스터들을 생성하는 단계(N은 4이상의 자연수이고 k는 2이상 N 미만의 자연수); 상기 생성된 클러스터들에 기초하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하는 단계; 및 상기 복수의 클러스터들 각각에서 k 개의 인스턴스의 준식별자 정보를 일반화하는 단계를 포함한다.
실시예에 있어서, 상기 복수의 클러스터들을 생성하는 단계는 상기 N 개의 기록들에 각각에 대한 상대 거리를 구하는 단계; 상기 N 개의 기록들 각각에 대한 상대 거리에 기초하여, 상기 데이터 셋에서 상기 N 개의 기록들 각각의 중심성을 나타내는 근접 중심성을 구하는 단계; 상기 N 개의 기록들 각각의 근접 중심성들 중 가장 작은 값을 갖는 기록을 시드로 선택하는 단계; 상기 시드로 선택된 기록과 가까운 상대 거리를 갖는 k-1 개의 기록들과 상기 시드로 선택된 기록을 k 개의 인스턴스를 갖는 하나의 클러스터로 생성하는 단계; 및 상기 하나의 클러스터에 포함되지 않은 나머지 기록들에 대하여 다른 클러스터들을 생성하는 단계를 포함할 수 있다.
상기 N 개의 기록들 각각의 근접 중심성은 상기 N 개의 기록들 중 하나의 기록과 나머지 기록들 사이의 상대 거리의 합의 역수일 수 있다.
상기 정보 손실량은 상기 각 기록들의 항목들의 정보 손실량의 합일 수 있다.
본 발명의 일 실시예에 따른 N 개의 기록들을 포함하는 데이터 셋을 k-익명성을 사용하여 보호하는 정보 보호 장치는 상기 N 개의 기록들을 포함하는 데이터 셋을 저장하는 저장부; 상기 데이터 셋에 기초하여 k-멤버 군집화 익명화 테이블을 생성하는 제어부; 및 상기 생성된 k-멤버 군집화 익명화 테이블을 제공하는 인터페이스부를 포함하고, 상기 제어부는 상기 N 개의 기록들에 각각에 대한 중심성을 나타내는 근접 중심성에 기초하여 k 개의 인스턴스를 갖는 복수의 클러스터들을 생성(N은 4이상의 자연수이고 k는 2이상 N 미만의 자연수), 상기 생성된 클러스터들에 기초하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하고, 상기 복수의 클러스터들 각각에서 k 개의 인스턴스들의 준식별자 정보를 일반화한다.
실시예에 있어서, 상기 제어부는 상기 N 개의 기록들 각각의 근접 중심성들 중 가장 작은 값을 갖는 기록을 시드로 선택하여 상기 클러스터들 생성할 수 있다.
실시예에 있어서, 상기 N 개의 기록들 각각의 근접 중심성은 상기 N 개의 기록들 중 하나의 기록과 나머지 기록들 사이의 상대 거리의 합의 역수일 수 있다.
본 발명의 실시예에 따른 정보 보호 시스템은 서버 및 상기 서버를 관리하는 호스트를 포함하고, 상기 서버는 N 개의 기록들을 포함하는 데이터 셋을 저장하는 저장부; 상기 데이터 셋에 기초하여 k-멤버 군집화 익명화 테이블을 생성하는 제어부; 및 상기 생성된 k-멤버 군집화 익명화 테이블을 제공하는 인터페이스부를 포함하고, 상기 제어부는 상기 N 개의 기록들에 각각에 대한 중심성을 나타내는 근접 중심성에 기초하여 k 개의 인스턴스를 갖는 복수의 클러스터들을 생성(N은 4이상의 자연수이고 k는 2이상 N 미만의 자연수), 상기 생성된 클러스터들에 기초하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하고, 상기 복수의 클러스터들 각각에서 k 개의 인스턴스들의 준식별자 정보를 일반화하고, 상기 제어부는 상기 k-멤버 군집화 테이블을 상기 저장부에 저장하고, 상기 호스트로부터의 요구에 따라 상기 k-멤버 군집화 테이블 또는 N 개의 기록들의 원본 데이터를 상기 인터페이스부에 제공한다.
실시예에 있어서, 상기 제어부는 상기 N 개의 기록들 각각의 근접 중심성들 중 가장 작은 값을 갖는 기록을 시드로 선택하여 상기 클러스터들 생성할 수 있다.
전자의무기록을 익명화하는데 근접 중심성을 기초로 하여 클러스터링함으로써 정보 손실량을 감소시킬 수 있다.
도 1은 개인식별정보 익명화기법을 나타낸다.
도 2는 개인식별정보 익명화기법을 수행하더라도 개인을 재식별할수 있는 것을 나타낸다.
도 3은 재식별 방지 기법을 나타낸다.
도 4는 준식별자 정보의 일예를 나타낸다.
도 5는 k-재식별방지 기법의 일예를 나타낸다.
도 6은 k-member clustering Anonymization의 일 예를 나타낸다.
도 7은 greedy k-member clustering 기법을 나타낸다.
도 8은 one-pass k-member clustering 기법을 나타낸다.
도 9는 랜덤하게 시드를 선택하는 경우 정보 손실량이 달라지는 것을 나타낸다.
도 10은 명목형 데이터의 트리 구성을 나타낸다.
도 11은 수치형 데이터의 트리 구성을 나타낸다.
도 12는 두 속성 값 사이의 유사성을 구하는 것을 나타낸다.
도 13은 두 기록 사이의 거리를 구하는 것을 나타낸다.
도 14는 정보 손실량을 계산하는 방법을 나타낸다.
도 15는 중심성을 계산하는 것을 나타낸다.
도 16은 근접 중심성을 계산하는 것을 나타낸다.
도 17 및 도 18은 근접 중심성 값에 기초하여 클러스터를 형성하는 것을 나타낸다.
도 19는 본 발명의 일 실시예에 따른 k-멤버 군집화 시드 선택 방법을 나타내는 흐름도이다.
도 20은 도 19에서 단계들(S110, S120)을 보다 상세히 나타낸다.
도 21은 도 20에서 단계(S140)를 보다 상세히 나타낸다.
도 22는 본 발명의 일 실시예에 따른 k-멤버 군집화 익명화 방법을 나타낸다.
도 23은 본 발명의 일 실시예에 따른 정보 보호 장치를 나타낸다.
도 24는 본 발명의 일 실시예에 따른 정보 보호 시스템의 구성을 나타내는 블록도이다.
도 25는 본 발명의 성능을 나타내기 위한 k 값에 따른 정보 손실을 나타낸다.
도 26은 본 발명의 성능을 나타내기 위한 종래 기술과의 비교를 나타낸다.
도 2는 개인식별정보 익명화기법을 수행하더라도 개인을 재식별할수 있는 것을 나타낸다.
도 3은 재식별 방지 기법을 나타낸다.
도 4는 준식별자 정보의 일예를 나타낸다.
도 5는 k-재식별방지 기법의 일예를 나타낸다.
도 6은 k-member clustering Anonymization의 일 예를 나타낸다.
도 7은 greedy k-member clustering 기법을 나타낸다.
도 8은 one-pass k-member clustering 기법을 나타낸다.
도 9는 랜덤하게 시드를 선택하는 경우 정보 손실량이 달라지는 것을 나타낸다.
도 10은 명목형 데이터의 트리 구성을 나타낸다.
도 11은 수치형 데이터의 트리 구성을 나타낸다.
도 12는 두 속성 값 사이의 유사성을 구하는 것을 나타낸다.
도 13은 두 기록 사이의 거리를 구하는 것을 나타낸다.
도 14는 정보 손실량을 계산하는 방법을 나타낸다.
도 15는 중심성을 계산하는 것을 나타낸다.
도 16은 근접 중심성을 계산하는 것을 나타낸다.
도 17 및 도 18은 근접 중심성 값에 기초하여 클러스터를 형성하는 것을 나타낸다.
도 19는 본 발명의 일 실시예에 따른 k-멤버 군집화 시드 선택 방법을 나타내는 흐름도이다.
도 20은 도 19에서 단계들(S110, S120)을 보다 상세히 나타낸다.
도 21은 도 20에서 단계(S140)를 보다 상세히 나타낸다.
도 22는 본 발명의 일 실시예에 따른 k-멤버 군집화 익명화 방법을 나타낸다.
도 23은 본 발명의 일 실시예에 따른 정보 보호 장치를 나타낸다.
도 24는 본 발명의 일 실시예에 따른 정보 보호 시스템의 구성을 나타내는 블록도이다.
도 25는 본 발명의 성능을 나타내기 위한 k 값에 따른 정보 손실을 나타낸다.
도 26은 본 발명의 성능을 나타내기 위한 종래 기술과의 비교를 나타낸다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명을 상술하기에 앞서, 종래의 익명화수행 기법을 먼저 설명한다.
종래의 익명화수행기법에는 개인식별정보 익명화기법(De-identification)과 재식별 방지 기법(Aonymization)의 두 가지 방법이 있다.
도 1은 개인식별정보 익명화기법을 나타낸다.
도 1을 참조하면, 개인식별정보 익명화기법은 개인 식별정보를 삭제하거나 은닉하여 익명화를 수행하는 기법이다. 이 때, 이름, 주민번호, 전화번호 등과 같이개인을 식별하는데 직관적인 정보들이 개인식별정보에 해당한다. 도 1에서 이름(Name)과 주민번호(SSN)를 삭제하여 익명화를 수행한다.
도 2는 개인식별정보 익명화기법을 수행하더라도 개인을 재식별할수 있는 것을 나타낸다.
도 2를 참조하면, 개인식별정보를 삭제하여 어느 정도의 익명화를 시행 하더라도 남아 있는 정보들의 조합으로 개인을 재식별할 수 있는 상황이 발생한다. 이를 방지하기 위하여 위해 De-identification된 정보를 토대로 익명화를 수행해주는 것이 Anonymization 기법이다.
도 3은 재식별 방지 기법을 나타낸다.
도 3을 참조하면, 재식별 방지 기법은 개인식별정보 익명화(De-identification) 이후 얻어진 table로부터 일정 부분의 정보를 generalization(일반화)하여 재식별 발생확률을 낮추는 것으로 정의될 수 있다. 개인식별정보 익명화가 수행 됐다고 하더라도, 남아있는 몇 가지 정보들을 조합하여 도 2의 오른쪽의 table과 같이 어느 누가 무슨 병에 걸렸는지에 대한 정보를 추출 할수 있게 된다. 이러한 정보들이 잘못 사용될 경우 보험회사, 정치, 취업 등 다 방면에서 개인에게 불이익이 발생할 수 있다.
3개의 table중 가운데 table(de-identified table)중 우편 번호 정보의 일정부분을 지워줌으로서 generalization을 수행한다. 이를 통해 도 2에서 발생하던 재식별 위험성을 없앨 수 있다.
Anoymization을 수행하기 위해서 가장 핵심이 되는 기술은 k-anonymization(k-재식별방지)기법이다. 이 기법에 대해서 설명하기 위해서는 우선 세 가지 종류의 데이터(Explicit ID, Sensitive Data, 그리고 Quasi-ID)에 대해서 알아야 한다.
Explicit ID(개인식별정보)는 개인 식별 정보로서 이름, 주민등록번호, 전화번호와 같이 개인을 식별하는데 직접적으로 사용될 수 있는 정보를 의미한다.
민감정보 ID(민감정보)는 특정 기관에서 만들어낸 데이터로, 개인에게 밀접한 정보로 보호되어야 하는 민감한 속성, 예를 들어, 병원에서 제공하는 처방기록 또는 진단 기록들이 이에 해당한다.
Quasi-identifier or Quasi-ID(준식별자): 개인 식별자 정보(Explicit ID)와 민감정보(Sensitive Data)를 제외한 항목들 중에서, 외부 테이블의 항목과의 연결을 통해 재식별을 발생시킬 가능성이 있거나, 또는 항목간의 조합을 통해 재식별을 발생 시킬 가능성이 있는 항목들을 의미한다.
도 4는 준식별자 정보의 일예를 나타낸다.
도 4를 참조하면, 나이(age)나 우편번호(zip) 등과 같은 준식별자 정보를 조합함으로써 재식별을 발생시킬 수 있다.
k-anonymization은 anonymization기법을 수행하는데 가장 핵심이 되는 기술이다. k-재식별방지 기법은 다음과 같이 한 문장으로 정리 할 수 있다.
"앞서 언급된 세 가지 데이터 중에서, 준식별자(Quasi-ID)로 구분된 항목들을 대상으로 같은 기록의 형태가 최소 k개 이상 되도록 Data를 일반화 하는 프로세스, 다시 말해 적어도 k개의 기록이 같은 준식별자 값을 갖도록 데이터를 일반화 하는 과정이다."
도 5는 k-재식별방지 기법의 일예를 나타낸다.
도 5에서, 왼쪽에 원본 테이블이 있고, Quasi- ID를 {우편번호, 나이 그리고 국적}이라고 가정한다. 이때 k가 4를 만족하는 재식별 방지 기법을 시행하고자 한다면, 적어도 4개의 기록이 같은 준식별자(quasi-id)값을 갖도록 데이터를 일반화하여 오른쪽 테이블과 같이 만드는 과정이 k-anonymzation(k-재식별방지기법)이다.
재식별 방지의 경우 개인이 재식별되는 확률적 위험요소를 줄이기는 하지만, 데이터 일반화를 통해 익명화를 수행하기 때문에 어느 정도의 정보손실(information loss)이 발생하게 된다. 때문에 k-재식별방지 익명화 기법(k-anonymization)분야에서는 정보손실(information loss)을 최소화 하는 방향으로 재식별 위험 수준을 낮추는 방법(Method, algorithm)을 찾는 것이 중요하다.
k-anonymization 기법에 여러 가지 method들이 있지만 본 발명에서는 그중에 k-member clustering method라는 재식별 방지 기법을 기본 틀로 하고 있다. k-재식별방지 기법에서는 data 일반화 과정에서 발생하는 정보의 손실을 줄이기 위해, 최대한 유사한 기록, 데이터를 묶는 방법을 모색한다. 이와 같이 유사한 기록, 데이터를 묶는 것을 군집화(clustering)한다고 볼 수 있는데, k-재식별 방지 기법에서는 적어도 k개의 레코드가 같아야 하기 때문에 적어도 k개의 레코드를 묶어주게 되며 이러한 개념을 재식별 방지의 관점에서 k-member clustering Anonymization이라고 부른다.
도 6은 k-member clustering Anonymization의 일 예를 나타낸다.
k-member clustering anonymization기법을 이용해 익명화 기법을 개발한 대표적인 종례의 기술은 2개가 있다. 하나는 L. Sweeney에 의해서 착안된 greedy k-member clustering이라는 기법이고 다른 하나는 Lin, J.L, Wei, M.C에 의해 개발된 one-pass k-member clustering이라는 기법이다.
도 7은 greedy k-member clustering 기법을 나타낸다.
도 7을 참조하면, greedy k-member clustering 기법은 다음과 같다.
a) cluster(군집)를 형성하기 위한 seed record(씨앗, 중심이 되는 기록), Rc를 랜덤하게 선정한다.
b) 선택된 Rc를 중심으로 가장 유사한 기록 k-1개를 선정해, 환자 기록 k개로 이루어진 cluster를 만든다.
c) 처음 선정했던 Rc로부터 가장 멀리 떨어진, 즉 데이터 값의 차이가 가장 많이 나는 기록을 다음 seed record로 선정해 b) 과정을 수행한다.
d) 모든 기록이 군집(cluster)에 속할 때까지 b), c) 과정을 반복한다.
하지만, greedy k-member clustering 기법에서는 처음 seed record가 되는 기록을 랜덤하게 뽑기 때문에 어떤 기록이 뽑히는지에 따라서 구성되는 cluster의 형태가 다르다. case1과 case2가 처음에 다른 seed record가 선정됐을 때 다른 형태의 군집화가 일어나는 것을 보여주는 예이다.
도 8은 one-pass k-member clustering 기법을 나타낸다.
도 8을 참조하면, one-pass k-member clustering 기법은 다음과 같다.
a) p가 형성하고자 하는 cluster의 개수이고 N이 기록의 전체 개수일 때, 첫 단게에서 p=N/k개의 record seed를 랜덤하게 선정한다.
b) 선정된 p개의 seed record를 중심으로 차례대로 가까운(유사한) 기록을 k-1개씩 선정하여 cluster를 형성한다.
c) 모든 기록이 군집(cluster)에 속할 때까지 b) 과정을 반복한다.
하지만, one-pass k-member clustering 기법에서는 처음 seed record가 되는 기록 p개를 랜덤하게 뽑기 때문에 어떤 기록이 뽑히는지에 따라서 구성되는 cluster의 형태가 다르다. case1과 case2가 처음에 다른 seed record가 선정됐을 때 다른 형태의 군집화가 일어나는 것을 보여주는 예이다.
greedy k-member clustering 기법과 one-pass k-member clustering 기법에서는 랜덤하게 seed를 선택하는 경우, 그에 따라서 생성되는 cluster의 형태가 매번 바뀌게 되며, 이는 Data 일반화 과정에서 각기 다른 정보 손실을 발생 시키는 것과 연관된다.
도 9는 랜덤하게 시드를 선택하는 경우 정보 손실량이 달라지는 것을 나타낸다.
도 9를 참조하면, Case1)과 Case2)를 통해 볼 수 있듯이, 같은 데이터를 대상으로도 다르게 cluster가 형성되는 것을 보실 수 있으면, 그로 인해 경우에 따라 매번 다른 정보 손실량(Information loss)이 발생되는 것을 알 수 있다.
정보손실량(Information Loss)는 k-anonymization 성능평가에 매우 중요한 척도인데 기존의 연구에서는 보통은 랜덤하게 seed를 뽑고 반복적인 계산을 통해 가장 작은 정보 손실량을 구하는 과정을 거친다. 이러한 사항들을 해결하고 불규칙적인 정보 손실량 발생을 방지하기 위해서는 랜덤하게 뽑는 seed를 정해진 기준에 의해 뽑는 알고리즘이 필요하게 되었다. 따라서 본 발명에서는 일정한 결과를 제공하고, 동시에 정보 손실 정도도 줄일 수 있는 Seed 선택 method(방법, 알고리즘)를 제공한다.
이하에서는 본 발명의 실시예에 따른 k-멤버 군집화 시드 선택 방법에 대하여 설명한다.
먼저 본 발명에 필요한 두 가지 함수를 상술한다. 첫 번째는 두 기록 사이의 유사성을 측정하는 거리함수 두 번째는 정보손실량(Information loss)함수다. 두 개의 함수를 정의하기 위해서 먼저 해줘야 하는 것은 속성마다의 의미를 분류해주는 트리(Taxonomy tree)를 만들어야 한다. 명목형(Categorical) 데이터의 경우, 도 10과 같이 의미론적으로 분류를 해주고 수치형(numeric)데이터의 경우, 도 11과 같이, 이후 일반화 과정에서 발생할 수 있는 범주 값의 모든 경우의 수로 분류를 해준다.
도 10은 명목형 데이터의 트리 구성을 나타낸다.
도 11은 수치형 데이터의 트리 구성을 나타낸다.
도 10 및 도 11과 같이 트리가 구성되면, 다음에는 데이터의 분포(전체 데이터의 수중에 해당 값의 숫자를 보여주는 분포)를 고려하여, 각 node가 갖는 정보량(information content)을 계산 해주어야 한다. Shannon에 의해 소개된 정보량은 [수학식 1]에서와 같이, 확률이 p인 사건이 일어났을 때 그 값의 마이너스 로그 값을 취해서 구할 수 있다.
[수학식 1]
예를 들어 설명하자면, [예시 1]에서와 같이, 도 10에서 North 와 같은 경우 USA와 Canada를 포함하고 있기 때문에 두 분포의 값을 더하고, 그 값에 마이너스 로그 값을 취함으로 정보량을 구할 수 있게 된다. 또한 수치형 데이터의 경우{예시 2], 도 11에서 [17-19]의 분포는 17,18,19각각의 분포의 합을 통해 구해줄 수 있으면, 이 때 이 구간의 정보량 또한 마이너스 로그 값을 취해 구해줄 수 있다. 이를 이용해 트리의 노드 분포값과 정보량을 구할 수 있다.
[예시 1]
[예시 2]
P([17-19])= P(17)+ P(18)+(P19)
= 2/80 + 7/80 + 6/80
IE(v) = -log(P([17-19])) = 0.727
다음에는 앞서 구한 분류트리를 기반으로 두 속성 값(attribute value) 사이의 유사성과, 두 기록 사이의 유사성을 구한다. 우선 두 속성값이 갖는 유사성 또는 거리를 구할 때는, 수치형 속성의 경우 두 값의 차이를 전체 속성의 범위로 나눠줌으로 구해준다. 명목형 데이터의 경우는 앞서 구한 트리를 이용해 구한다. Resnik Semantic Similarity는 식을 이용하면 두 노드에 가장 가까운 부모 노드의 분포값, 퍼센테이지 값에 ??log값을 취해줌으로 두 노드가 갖는 유사성을 측정할 수 있다. Resnik Similarity는 두 값이 얼마나 유사한지는 나타낸 것이기 때문에 두 사이의 거리 값을 구해주기 위해서는 1에서 유사성을 빼게 된다. 예를 들어 설명하면, 도 10과 같은 트리에서, 미국과 캐나다의 경우 사위 부모 노드의 분포값에 마이너스 로그를 취하게 되면, 유사성 값을 도출하게 되고, 1에서 유사성을 빼주면, 두 기록사이의 차이를 구하게 된다.
도 12는 두 속성 값 사이의 유사성을 구하는 것을 나타낸다.
도 12에서와 같이 두 가지 종류의 속성값에 대한 거리식이 정의 됐기 때문에 이를 이용해 두 기록 사이의 거리 값을 구할 수 있다. 두 개의 기록이 있을 때 각 속성간의 거리를 구하고 이를 더해주면 두 기록 사이의 거리를 계산하게 된다. 나이, 국가, 교육수준, 결혼 여부 등의 속성들이 있는데 각각의 거리를 구하고 더해줌으로써 두 기록 사이의 거리를 계산하게 된다.
도 13은 두 기록 사이의 거리를 구하는 것을 나타낸다.
도 13에서 R은 수치형 데이터 속성값의 총 개수를 나타낸다.
다음은 정보 손실량에 대한 계산 방법에 대한 설명이다. 재식별 방지 기법에서 정보 손실은 환자 기록이 일반화 과정을 거칠 때 발생하는 정보의 손실 정도를 이야기 한다. 정보 손실량은 앞서 구한 분류 트리를 이용해 구할 수 있다. 각 node마다의 정보량을 정의 내려놨기 때문에 각 속성값이 일반화 됐을 때 손실 되는 정보량을 각 속성마다 더해주면 된다.
도 14는 정보 손실량을 계산하는 방법을 나타낸다.
도 14를 참조하면, original data와 같이 구성된 cluster를 일반화 했을 경우 발생하는 정보 손실량은 그림 14의 공식에서와 같이, 각 항목마다의 정보 손실량을 계산 후 기록마다 더해 줌으로 총 손실된 정보량을 구할 수 있다.
이제 본 발명의 실시예에 따른 k-멤버 클러스터 시드 선택 방법에 대하여 설명한다.
종래 기술에서는 시드를 랜덤하게 선택하였기 때문에, 시드 선택을 위한 기준이 없었다. 본 발명에서는 시드 선택 기준을 위하여 중심성(centrality) 개념을 도입하였다. 중심성은 네트워크 이론에서 하나의 노드가 전체 네트워크에 상에서 얼마만큼의 중심성을 나타내는지를 보여주는 개념이다. 이중에서 근접 중심성(closeness centrality)은 한 노드와 다른 모드 노드 사이의 가장 짧은 거리의 합을 이용하여 노드의 중심성을 표현하는 수치이다.
도 15는 중심성을 계산하는 것을 나타낸다.
도 16은 근접 중심성을 계산하는 것을 나타낸다.
도 16을 참조하면, 하나의 node를 기록이라고 생각한다면, 하나의 기록으로 부터 다른 모든 기록들의 거리의 합을 이용해 해당 기록의 중심성을 표현할 수 있게 된다. 근접 중심성은 총 거리합의 역수 값이기 때문에, 도 16에서와 같이, 값이 클수록 기록 A와 같이 네트워크 중심에 위치 해있다고 볼 수 있고, 값이 작을 수록 기록 B와 같이 네트워크 바깥쪽에 위치해있다고 볼 수 있다.
이처럼 근접 중심성을 이용해 해당 기록이 네트워크의 바깥쪽에 위치해 있는지, 안쪽에 위치해 있는지 알 수 있다. 이를 기반으로 cluster형성 할 때 네트워크 안쪽부터 클러스터를 만들어 나가야할지, 바깥쪽 부터 클러스터를 만들어 갈지 결정해야한다.
도 17 및 도 18은 근접 중심성 값에 기초하여 클러스터를 형성하는 것을 나타낸다.
도 17 및 도 18을 참조하며, 사실 데이터 크기가 k보다 월등히 크다면, 어느 쪽에서부터 클러스터를 만들어 가든 상관없겠지만, 7에서 보는 바와 같이, k-값(하나의 cluster에 들어가는 기록의 개수)이 점점 증가하는 상황에서 안쪽에서 부터 군집화를 진행할 경우, 그림 18에서 나타나듯이, 큰 정보 손실을 일으키는 경우가 발생할 수 있다. 때문에 본 발명의 실시예에서는 바깥쪽부터, 즉 근접 중심성이 작은 record부터 seed로 선택해 Cluster를 만들어가기 시작한다.
도 19는 본 발명의 일 실시예에 따른 k-멤버 군집화 시드 선택 방법을 나타내는 흐름도이다.
도 19를 참조하면, 본 발명의 일 실시예에 따른 k-멤버 군집화 시드 선택 방법은 N 개의 기록들을 포함하는 데이터 셋에서, 상기 N 개의 기록들에 각각에 대한 상대 거리를 구하는 단계(N은 이상의 자연수, S110), 상기 N 개의 기록들 각각에 대한 상대 거리에 기초하여, 상기 데이터 셋에서 상기 N 개의 기록들 각각의 중심성을 나타내는 근접 중심성을 구하는 단계(S120), 상기 N 개의 기록들 각각의 근접 중심성들 중 가장 작은 값을 갖는 기록을 시드로 선택하는 단계(S130), 상기 시드로 선택된 기록과 가까운 상대 거리를 갖는 k-1 개의 기록들과 상기 시드로 선택된 기록을 k 개의 인스턴스를 갖는 하나의 클러스터로 생성하는 단계(k는 2이상 N 미만의 자연수, S140), 상기 하나의 클러스터에 포함되지 않은 나머지 기록들에 대하여 다른 클러스터들을 생성하는 단계(S150) 및 상기 생성된 클러스터들에 기초하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하는 단계를 포함(S160)한다.
도 20은 도 19에서 단계들(S110, S120)을 보다 상세히 나타낸다.
도 21은 도 20에서 단계(S140)를 보다 상세히 나타낸다.
도 22는 본 발명의 일 실시예에 따른 k-멤버 군집화 익명화 방법을 나타낸다.
도 22를 참조하면, 본 발명의 일 실시예에 따른 k-멤버 군집화 익명화 방법은 N 개의 기록들을 포함하는 데이터 셋에서, 상기 N 개의 기록들에 각각에 대한 중심성을 나타내는 근접 중심성에 기초하여 k 개의 인스턴스를 갖는 복수의 클러스터들을 생성하는 단계(N은 4이상의 자연수이고 k는 2이상 N 미만의 자연수, S210), 상기 생성된 클러스터들에 기초하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하는 단계(S220) 및 상기 복수의 클러스터들 각각에서 k 개의 인스턴스의 준식별자 정보를 일반화하는 단계를 포함(S230)를 포함한다. 또한 단계(S210)은 도 19의 단계들(S110~S150)을 포함할 수 있다.
도 23은 본 발명의 일 실시예에 따른 정보 보호 장치를 나타낸다.
도 23을 참조하면, 본 발명의 일 실시예에 따른 정보 보호 장치(300)는 인터페이스부(310), 제어부(320) 및 저장부(330)를 포함할 수 있다.
저장부(330)는 N 개의 기록들을 포함하는 데이터 셋을 저장할 수 있다. 제어부(320)는 데이터 셋에 기초하여 k-멤버 군집화 익명화 테이블을 생성할 수 있다. 보다 상세하게 제어부(320)는 상기 N 개의 기록들에 각각에 대한 중심성을 나타내는 근접 중심성에 기초하여 k 개의 인스턴스를 갖는 복수의 클러스터들을 생성(N은 4이상의 자연수이고 k는 2이상 N 미만의 자연수), 상기 생성된 클러스터들에 기초하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하고, 상기 복수의 클러스터들 각각에서 k 개의 인스턴스들의 준식별자 정보를 일반화하여 상기 k-멤버 군집화 익명화 테이블을 생성하여 인터페이스부(310)에 제공할 수 있다. 즉 제어부(320)는 도 22의 k-멤버 군집화 익명화 방법을 수행할 수 있다. 인터페이스부(310)는 상기 k-멤버 군집화 익명화 테이블을 외부로 제공할 수 있다.
도 24는 본 발명의 일 실시예에 따른 정보 보호 시스템의 구성을 나타내는 블록도이다.
도 24를 참조하면, 본 발명의 일 실시예에 따른 정보 보호 시스템(400)은 호스트(410)와 서버(420)를 포함한다.
호스트(410)는 서버(420)를 관리하고, 서버(410)에 기록들을 제공하거나 서버(410)로부터 기록들을 요구할 수 있다. 서버(410)는 인터페이스부(421), 제어부(422) 및 저장부(423)를 포함하여 저장부(423)는 제공되는 전자의무기록인 기록들을 저장하고, 제어부(422)는 호스트(410)로부터의 요구에 따라 저장부(423)에 저장되는 N 개의 기록들을 포함하는 데이터 셋에 기초하여 k-멤버 군집화 익명화 테이블을 생성하여 저장부(423)에 저장하거나 인터페이스부(421)에 제공할 수 있다. 보다 상세하게는 제어부(422)는 상기 N 개의 기록들에 각각에 대한 중심성을 나타내는 근접 중심성에 기초하여 k 개의 인스턴스를 갖는 복수의 클러스터들을 생성(N은 4이상의 자연수이고 k는 2이상 N 미만의 자연수), 상기 생성된 클러스터들에 기초하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하고, 상기 복수의 클러스터들 각각에서 k 개의 인스턴스들의 준식별자 정보를 일반화하여 상기 k-멤버 군집화 익명화 테이블을 생성하여 저장부(423)에 저장하거나 인터페이스부(421)에 제공할 수 있다. 제어부(422)는 호스트(410)로부터의 요구에 따라 상기 k-멤버 군집화 익명화 테이블을 인터페이스부(421)에 제공하거나 원본 기록들을 인터페이스부(421)에 제공할 수 있다.
도 25는 본 발명의 성능을 나타내기 위한 k 값에 따른 정보 손실을 나타낸다.
도 25에서는 UC Irvine의 기계학습 데이터 저장소에서 "Adault data"라는 테스트 데이터를 사용했다. 도 24의 시뮬레이션에서는 10,000개의 기록과 8개의 quasi-id(준식별자)를 이용했다. 우선은 앞서 언급한, 중심성이 작은 것부터 클러스터를 만드는 것과, 중심성이 큰 것부터 클러스터를 만들어 가을 때의 정보 손실량을 비교했다. 도 24에서 알 수 있듯이, k-값이 작을 경우 발생하는 정보 손실은 비슷하지만 k값이 증가할수록 중심성이 작은 것부터 클러스터링 하는 것이 더 좋은 퍼포먼스를 보인다는 것을 확인 할 수 있다.
도 26은 본 발명의 성능을 나타내기 위한 종래 기술과의 비교를 나타낸다.
도 26을 참조하면, 본 발명의 실시예에 따른 근접 중심성을 기초로 한 군집화 방법이 보다 좋은 성능을 나타내는 것을 알 수 있다.
따라서 본 발명의 실시예들에 따르면 전자의무기록을 익명화하는데 근접 중심성을 기초로 하여 클러스터링함으로써 정보 손실량을 감소시킬 수 있다.
본 발명의 실시예들은 전자의무기록을 익명화하는 다양한 분야들에 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
Claims (14)
- N 개의 기록들을 포함하는 데이터 셋에서, 상기 N 개의 기록들에 각각에 대한 상대 거리를 구하는 단계(N은 4 이상의 자연수);
상기 N 개의 기록들 각각에 대한 상대 거리에 기초하여, 상기 데이터 셋에서 상기 N 개의 기록들 각각의 중심성을 나타내는 근접 중심성을 구하는 단계;
상기 N 개의 기록들 각각의 근접 중심성들 중 가장 작은 값을 갖는 기록을 시드로 선택하는 단계;
상기 시드로 선택된 기록과 가까운 상대 거리를 갖는 k-1 개의 기록들과 상기 시드로 선택된 기록을 k 개의 인스턴스를 갖는 하나의 클러스터로 생성하는 단계(k는 2이상 N 미만의 자연수);
상기 하나의 클러스터에 포함되지 않은 나머지 기록들에 대하여 다른 클러스터들을 생성하는 단계; 및
상기 생성된 클러스터들 각각에 포함된 기록들의 정보 손실량을 계산하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하는 단계를 포함하는 k-멤버 군집화 시드 선택 방법. - 제1항에 있어서, 상기 N 개의 기록들 각각의 근접 중심성은 상기 N 개의 기록들 중 하나의 기록과 나머지 기록들 사이의 상대 거리의 합의 역수인 것을 특징으로 하는 k-멤버 군집화 시드 선택 방법.
- 제1항에 있어서, 상기 근접 중심성에 의하여 N 개의 기록들 각각의 상기 데이터 세트에서의 위치가 결정되는 것을 특징으로 하는 k-멤버 군집화 시드 선택 방법.
- 제1항에 있어서, 상기 다른 클러스터들을 생성하는 단계는 상기 나머지 기록들 각각의 근접 중심성들 값들 중 가장 작은 값을 갖는 기록을 시드로 선택하여 수행되는 것을 특징으로 하는 k-멤버 군집화 시드 선택 방법.
- 제1항에 있어서, 상기 정보 손실량은 상기 각 기록들의 항목들의 정보 손실량의 합인 것을 특징으로 하는 k-멤버 군집화 시드 선택 방법.
- N 개의 기록들을 포함하는 데이터 셋에서, 상기 N 개의 기록들에 각각에 대한 중심성을 나타내는 근접 중심성들 중 최소값을 갖는 기록을 시드로 선택하여 k 개의 인스턴스를 갖는 복수의 클러스터들을 생성하는 단계(N은 4이상의 자연수이고 k는 2이상 N 미만의 자연수);
상기 생성된 클러스터들 각각에 포함된 기록들의 정보 손실량을 계산하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하는 단계; 및
상기 복수의 클러스터들 각각에서 k 개의 인스턴스의 준식별자 정보를 일반화하는 단계를 포함하는 k-멤버 군집화 익명화 방법. - 제6항에 있어서, 상기 복수의 클러스터들을 생성하는 단계는,
상기 N 개의 기록들에 각각에 대한 상대 거리를 구하는 단계;
상기 N 개의 기록들 각각에 대한 상대 거리에 기초하여, 상기 데이터 셋에서 상기 N 개의 기록들 각각의 중심성을 나타내는 근접 중심성을 구하는 단계;
상기 N 개의 기록들 중 가장 작은 값을 갖는 기록을 상기 시드로 선택하는 단계;
상기 시드로 선택된 기록과 가까운 상대 거리를 갖는 k-1 개의 기록들과 상기 시드로 선택된 기록을 k 개의 인스턴스를 갖는 하나의 클러스터로 생성하는 단계; 및
상기 하나의 클러스터에 포함되지 않은 나머지 기록들에 대하여 다른 클러스터들을 생성하는 단계를 포함하는 k-멤버 군집화 익명화 방법. - 제7항에 있어서, 상기 N 개의 기록들 각각의 근접 중심성은 상기 N 개의 기록들 중 하나의 기록과 나머지 기록들 사이의 상대 거리의 합의 역수인 것을 특징으로 하는 k-멤버 군집화 익명화 방법.
- 제7항에 있어서, 상기 정보 손실량은 상기 각 기록들의 항목들의 정보 손실량의 합인 것을 특징으로 하는 k-멤버 군집화 익명화 방법.
- N 개의 기록들을 포함하는 데이터 셋을 k-익명성을 사용하여 보호하는 정보 보호 장치에 있어서,
상기 N 개의 기록들을 포함하는 데이터 셋을 저장하는 저장부;
상기 데이터 셋에 기초하여 k-멤버 군집화 익명화 테이블을 생성하는 제어부; 및
상기 생성된 k-멤버 군집화 익명화 테이블을 제공하는 인터페이스부를 포함하고,
상기 제어부는 상기 N 개의 기록들에 각각에 대한 중심성을 나타내는 근접 중심성들 중 최소값을 갖는 기록을 시드로 선택하여 k 개의 인스턴스를 갖는 복수의 클러스터들을 생성(N은 4이상의 자연수이고 k는 2이상 N 미만의 자연수)하고, 상기 생성된 클러스터들 각각에 포함된 기록들의 정보 손실량을 계산하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하고, 상기 복수의 클러스터들 각각에서 k 개의 인스턴스들의 준식별자 정보를 일반화하는 정보 보호 장치. - 삭제
- 제10항에 있어서, 상기 N 개의 기록들 각각의 근접 중심성은 상기 N 개의 기록들 중 하나의 기록과 나머지 기록들 사이의 상대 거리의 합의 역수인 것을 특징으로 하는 정보 보호 장치.
- 서버; 및
상기 서버를 관리하는 호스트를 포함하고,
상기 서버는
N 개의 기록들을 포함하는 데이터 셋을 저장하는 저장부;
상기 데이터 셋에 기초하여 k-멤버 군집화 익명화 테이블을 생성하는 제어부; 및
상기 생성된 k-멤버 군집화 익명화 테이블을 제공하는 인터페이스부를 포함하고,
상기 제어부는 상기 N 개의 기록들에 각각에 대한 중심성을 나타내는 근접 중심성들 중 최소값을 갖는 기록을 시드로 선택하여 k 개의 인스턴스를 갖는 복수의 클러스터들을 생성(N은 4이상의 자연수이고 k는 2이상 N 미만의 자연수)하고, 상기 생성된 클러스터들 각각에 포함된 기록들의 정보 손실량을 계산하여 상기 N 개의 기록들 각각에 대한 정보 손실량을 계산하고, 상기 복수의 클러스터들 각각에서 k 개의 인스턴스들의 준식별자 정보를 일반화하고,
상기 제어부는 상기 k-멤버 군집화 테이블을 상기 저장부에 저장하고, 상기 호스트로부터의 요구에 따라 상기 k-멤버 군집화 테이블 또는 N 개의 기록들의 원본 데이터를 상기 인터페이스부에 제공하는 정보 보호 시스템. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120103155A KR101402808B1 (ko) | 2012-09-18 | 2012-09-18 | 익명화를 위한 시드 선택 방법, 익명화 방법 및 이를 이용하는 정보 보호 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120103155A KR101402808B1 (ko) | 2012-09-18 | 2012-09-18 | 익명화를 위한 시드 선택 방법, 익명화 방법 및 이를 이용하는 정보 보호 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140047182A KR20140047182A (ko) | 2014-04-22 |
KR101402808B1 true KR101402808B1 (ko) | 2014-07-08 |
Family
ID=50653812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120103155A KR101402808B1 (ko) | 2012-09-18 | 2012-09-18 | 익명화를 위한 시드 선택 방법, 익명화 방법 및 이를 이용하는 정보 보호 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101402808B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101953479B1 (ko) * | 2017-11-09 | 2019-05-23 | 강원대학교산학협력단 | 거리의 상대적 비율을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템 |
KR102039244B1 (ko) * | 2018-02-19 | 2019-11-26 | 강원대학교산학협력단 | 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템 |
US11983278B2 (en) * | 2021-03-18 | 2024-05-14 | Tata Consultancy Services Limited | System and method for data anonymization using optimization techniques |
KR102379331B1 (ko) * | 2021-07-09 | 2022-03-30 | 대한민국 | 익명성 확보와 정보손실 제어를 위한 빈도표 생성 및 제공방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002026967A (ja) * | 2000-07-07 | 2002-01-25 | Sony Corp | ストリーム通信システム |
JP2003016078A (ja) * | 2001-06-29 | 2003-01-17 | Hitachi Ltd | データの分類、検索および表示方法 |
KR20040078896A (ko) * | 2003-03-05 | 2004-09-13 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘 피 | 문서 클러스터링 장치 및 방법, 컴퓨터 프로그램 장치,컴퓨터 |
KR20110096236A (ko) * | 2010-02-22 | 2011-08-30 | 숭실대학교산학협력단 | 클러스터 간 상호정보를 이용한 클러스터링 장치 및 방법 |
-
2012
- 2012-09-18 KR KR1020120103155A patent/KR101402808B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002026967A (ja) * | 2000-07-07 | 2002-01-25 | Sony Corp | ストリーム通信システム |
JP2003016078A (ja) * | 2001-06-29 | 2003-01-17 | Hitachi Ltd | データの分類、検索および表示方法 |
KR20040078896A (ko) * | 2003-03-05 | 2004-09-13 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘 피 | 문서 클러스터링 장치 및 방법, 컴퓨터 프로그램 장치,컴퓨터 |
KR20110096236A (ko) * | 2010-02-22 | 2011-08-30 | 숭실대학교산학협력단 | 클러스터 간 상호정보를 이용한 클러스터링 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20140047182A (ko) | 2014-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Utility-preserving anonymization for health data publishing | |
US10818383B2 (en) | Hospital matching of de-identified healthcare databases without obvious quasi-identifiers | |
US9230132B2 (en) | Anonymization for data having a relational part and sequential part | |
Gkoulalas-Divanis et al. | Publishing data from electronic health records while preserving privacy: A survey of algorithms | |
Poulis et al. | Anonymizing data with relational and transaction attributes | |
Lakshmanan et al. | Investigating clinical care pathways correlated with outcomes | |
Tamersoy et al. | Anonymization of longitudinal electronic medical records | |
Guo et al. | Fast clustering-based anonymization approaches with time constraints for data streams | |
US10565399B2 (en) | Bottom up data anonymization in an in-memory database | |
US10528761B2 (en) | Data anonymization in an in-memory database | |
US20130138698A1 (en) | Identity information de-identification device | |
US20210334455A1 (en) | Utility-preserving text de-identification with privacy guarantees | |
US20140317756A1 (en) | Anonymization apparatus, anonymization method, and computer program | |
JP2013080375A (ja) | 個人情報匿名化装置及び方法 | |
KR101897080B1 (ko) | 의료 기록 문서에서의 의료 단어의 연관 규칙 생성 방법 및 그 장치 | |
US10565398B2 (en) | K-anonymity and L-diversity data anonymization in an in-memory database | |
KR101402808B1 (ko) | 익명화를 위한 시드 선택 방법, 익명화 방법 및 이를 이용하는 정보 보호 장치 | |
CN102156755A (zh) | 一种k-匿名改进方法 | |
Bonomi et al. | An information-theoretic approach to individual sequential data sanitization | |
Gkoulalas-Divanis et al. | Anonymization of electronic medical records to support clinical analysis | |
WO2014006851A1 (ja) | 匿名化装置、匿名化システム、匿名化方法、及び、プログラム記録媒体 | |
KR102218374B1 (ko) | 비정형 트랜잭션 비식별 데이터의 품질 측정 방법 및 장치 | |
JP5684165B2 (ja) | 個人情報匿名化装置および方法 | |
Shin et al. | Electronic medical records privacy preservation through k-anonymity clustering method | |
Gardner | Privacy Preserving Medical Data Publishing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |