KR102662784B1 - 인공지능을 이용한 자동 가명처리기법 추천 방법 - Google Patents

인공지능을 이용한 자동 가명처리기법 추천 방법 Download PDF

Info

Publication number
KR102662784B1
KR102662784B1 KR1020230111703A KR20230111703A KR102662784B1 KR 102662784 B1 KR102662784 B1 KR 102662784B1 KR 1020230111703 A KR1020230111703 A KR 1020230111703A KR 20230111703 A KR20230111703 A KR 20230111703A KR 102662784 B1 KR102662784 B1 KR 102662784B1
Authority
KR
South Korea
Prior art keywords
pseudonymization
column
data
vector
learning
Prior art date
Application number
KR1020230111703A
Other languages
English (en)
Inventor
심기창
박용규
Original Assignee
(주)이지서티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)이지서티 filed Critical (주)이지서티
Priority to KR1020230111703A priority Critical patent/KR102662784B1/ko
Application granted granted Critical
Publication of KR102662784B1 publication Critical patent/KR102662784B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 인공지능을 이용한 자동 가명처리기법 추천 방법에 관한 것으로, 본 발명에 따른 방법은, 컬럼명, 데이터 타입, 추천 가명처리기법을 포함하는 복수 개의 데이터를 포함하는 학습용 데이터셋을 입력받는 단계; 복수 개의 데이터 각각에 대해서, 컬럼명에 대응하여 구해지는 워드 벡터에 데이터 타입으로 부터 구해지는 데이터 타입 벡터를 추가하여 수치형 벡터를 구하고 수치형 벡터에 추천 가명처리기법을 라벨링하여 복수 개의 학습 데이터를 생성하는 단계, 복수 개의 학습 데이터를 이용하여, 수치형 벡터가 입력되면 추천 가명처리기법을 출력하도록 제1 학습 모델을 학습시키는 단계; 가명처리 대상 데이터셋의 각 컬럼에 대응하는 수치형 벡터를 구하는 단계; 및 가명처리 대상 데이터셋의 각 컬럼에 대응하여 구해진 수치형 벡터를 학습된 제1 학습 모델에 입력하여 가명처리기법 대상 데이터셋의 각 컬럼에 대한 추천 가명처리기법을 획득하는 단계를 포함한다.

Description

인공지능을 이용한 자동 가명처리기법 추천 방법{Automatic Pseudonymization Technique Recommendation Method Using Artificial Intelligence}
본 발명은 가명처리기법 추천 방법에 관한 것으로, 보다 자세하게는 인공지능을 이용한 자동 가명처리기법 추천 방법에 관한 것이다.
종래에는 사용자 개인의 상식과 학습 또는 취향에 따라 가명기법을 선택하여 사용하였다. 가령 "이름"이라는 컬럼에 대해 어떤 사용자는 마스킹을, 다른 사용자는 양방향 암호화를, 또 다른 사용자는 휴리스틱 가명화 기법을 선택하는 등, 가명기법을 선택하는 사용자의 개인적 경험과 취향에 따라 서로 다른 가명기법이 선택되어 사용되었다.
종래 가명기법 선택 방식의 문제점은 사용자 개개인의 경험과 취향에 편향된 기법 선택이 주로 이뤄지므로, 업무 담당자가 바뀌었을 때마다 인수인계를 해야 하는 번거로움과 인적, 시간적 소모가 지속적으로 발생하였다. 또한, 특정 컬럼의 과거에 진행한 기법을 참고하기 위해 지난 처리 이력을 모두 찾아봐야 하는 번거로움이 발생하였다.
본 발명이 해결하고자 하는 기술적 과제는 인공지능을 이용한 자동 가명처리기법 추천 방법을 제공하는 것이다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 컴퓨팅 장치에서 구현되는 인공지능을 이용한 자동 가명처리기법 추천 방법은, 컬럼명, 데이터 타입 및 추천 가명처리기법을 포함하는 복수 개의 데이터를 포함하는 학습용 데이터셋을 입력받는 단계, 상기 복수 개의 데이터 각각에 대해서, 상기 컬럼명에 대응하여 구해지는 워드 벡터에 상기 데이터 타입으로부터 구해지는 데이터 타입 벡터를 추가하여 수치형 벡터를 구하고 상기 수치형 벡터에 상기 추천 가명처리기법을 라벨링하여 복수 개의 학습 데이터를 생성하는 단계, 상기 복수 개의 학습 데이터를 이용하여, 수치형 벡터가 입력되면 추천 가명처리기법을 출력하도록 제1 학습 모델을 학습시키는 단계, 가명처리 대상 데이터셋의 각 컬럼에 대응하는 수치형 벡터를 구하는 단계 및 상기 가명처리 대상 데이터셋의 각 컬럼에 대응하여 구해진 수치형 벡터를 학습된 상기 제1 학습 모델에 입력하여 상기 가명처리기법 대상 데이터셋의 각 컬럼에 대한 추천 가명처리기법을 획득하는 단계를 포함한다.
상기 가명처리 대상 데이터셋의 각 컬럼에 대응하는 수치형 벡터를 구하는 단계는, 상기 가명처리 대상 데이터셋의 각 컬럼에 대응하는 컬럼명을 제2 학습 모델에 입력하여 상기 가명처리 대상 데이터셋의 각 컬럼의 워드 벡터를 구하는 단계, 상기 가명처리 대상 데이터셋의 각 컬럼의 데이터 타입에 대응하는 데이터 타입 벡터를 구하는 단계, 및 상기 가명처리 대상 데이터셋의 각 컬럼에 대해서 구해진 워드 벡터에 데이터 타입 벡터를 추가하여 상기 가명처리 대상 데이터셋의 각 컬럼에 대응하는 수치형 벡터를 구하는 단계를 포함할 수 있다.
상기 학습용 데이터셋에 포함된 복수 개의 데이터는 산업 분류 정보를 더 포함할 수 있다.
상기 학습 데이터를 생성하는 단계에서 구해지는 수치형 벡터는 상기 산업 분류 정보로부터 구해지는 산업 분류 벡터가 더 추가될 수 있다.
상기 가명처리 대상 데이터셋의 각 컬럼에 대응하는 수치형 벡터를 구하는 단계는, 상기 가명처리 대상 데이터셋의 각 컬럼에 대응하는 컬럼명을 제2 학습 모델에 입력하여 상기 가명처리 대상 데이터셋의 각 컬럼의 워드 벡터를 구하는 단계, 상기 가명처리 대상 데이터셋의 각 컬럼의 데이터 타입에 대응하는 데이터 타입 벡터를 구하는 단계, 상기 가명처리 대상 데이터셋에 대해 미리 설정된 산업 분류 정보에 대응하는 산업 분류 벡터를 구하는 단계, 및 상기 가명처리 대상 데이터셋의 각 컬럼에 대해서 구해진 워드 벡터에 데이터 타입 벡터 및 산업 분류 벡터를 추가하여 상기 가명처리 대상 데이터셋의 각 컬럼에 대응하는 수치형 벡터를 구하는 단계를 포함할 수 있다.
상기 방법은, 상기 학습용 데이터셋에서 구해진 복수 개의 컬럼명을 이용하여 상기 제2 학습 모델을 학습시키거나 또는 재학습시키는 단계를 더 포함할 수 있다.
상기 제1 학습 모델은 의사 결정 트리 모델일 수 있다.
상기 제2 학습 모델은 워드 임베딩 모델일 수 있다.
상기 워드 임베딩 모델은 FastText 모델일 수 있다.
상기 의사 결정 트리 모델은 그래디언트 부스팅 트리(Gradient Boosting Trees) 모델일 수 있다.
상기 방법은, 상기 가명처리기법 대상 데이터셋의 각 컬럼에 대해 획득된 추천 가명처리기법에 따라 상기 가명처리기법 대상 데이터셋에 대한 가명처리를 수행하는 단계를 더 포함할 수 있다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 컴퓨터로 읽을 수 있는 기록매체는, 상기 방법을 실행시키기 위한 프로그램이 기록될 수 있다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 컴퓨팅 장치는, 프로세서; 및 상기 프로세서에 의해 실행 가능한 인스트럭션 또는 프로그램을 저장하는 메모리; 를 포함하고, 상기 인스트럭션 또는 프로그램이 상기 프로세서에 의해 실행되면, 상기 방법이 실행될 수 있다.
본 발명에 의하면 가명처리 업무에 익숙하지 않은 사용자들에게 과거 가명처리 기법 적용 이력을 바탕으로 가명처리 기법을 자동으로 추천할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 인공지능을 이용한 자동 가명처리기법 추천 시스템을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 제1 컴퓨팅 장치의 구성을 개략적으로 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 제2 컴퓨팅 장치의 구성을 개략적으로 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 인공지능 기반 학습 모델의 학습 과정을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 인공지능 기반 학습 모델의 학습 과정에서 처리되는 데이터를 개념적으로 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 인공지능을 이용한 가명처리기법 추천 과정을 나타낸 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 인공지능을 이용한 가명처리기법 추천 과정에서 처리되는 데이터를 개념적으로 나타낸 것이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
본 명세서에서 "컴퓨팅 장치"는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 컴퓨팅 장치는 데스크 탑 PC, 노트북(Note Book) 컴퓨터, 서버 컴퓨터뿐만 아니라 스마트폰(Smart phone), 태블릿 PC, 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone; Personal Communication Service phone), 동기식/비동기식 IMT-2000(International Mobile Telecommunication-2000)의 이동 단말기, 팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA; Personal Digital Assistant) 등도 해당될 수 있다.
도 1은 본 발명의 일 실시예에 따른 인공지능을 이용한 자동 가명처리기법 추천 시스템을 개략적으로 나타낸 구성도이다.
도 1을 참고하면, 본 발명에 따른 인공지능을 이용한 자동 가명처리기법 추천 시스템은 제1 컴퓨팅 장치(100) 및 제2 컴퓨팅 장치(200)를 포함할 수 있다.
제1 컴퓨팅 장치(100) 및 제2 컴퓨팅 장치(200)는 통신망을 통해 각종 정보 및 데이터를 교환할 수 있다.
통신망은 구내 정보 통신망(local area network, LAN), 도시권 통신망(metropolitan area network, MAN), 광역 통신망(wide area network, WAN), 인터넷, 2G, 3G, 4G, LTE 이동 통신망, 블루투스, 와이파이(Wi-Fi), 와이브로(Wibro), 위성 통신망, LoRa, Sigfox 등의 LPWA(Low Power Wide Area) 네트워크 등을 포함할 수 있으며, 통신 방식도 유선, 무선을 가리지 않으며 어떠한 통신 방식이라도 상관없다.
제1 컴퓨팅 장치(100)는 제2 컴퓨팅 장치(200)로부터 가명처리 대상 데이터셋에 대한 가명처리기법 추천을 요청받으면, 해당 데이터셋의 각 컬럼에 대한 추천 가명처리기법에 대한 정보(이하 '가명처리기법 추천 정보'라 함)를 생성하여 제공할 수 있다.
제2 컴퓨팅 장치(200)는 제1 컴퓨팅 장치(100)로부터 해당 데이터셋에 대한 가명처리기법 추천 정보를 제공받고, 그에 따라 해당 데이터셋에 대한 가명처리 작업을 실행할 수 있다.
도 2는 본 발명의 일 실시예에 따른 제1 컴퓨팅 장치의 구성을 개략적으로 나타낸 블록도이다.
도 2를 참고하면, 제1 컴퓨팅 장치(100)는 적어도 하나의 프로세서(110) 및 적어도 하나의 메모리(120)를 포함할 수 있다. 그 외에도 제1 컴퓨팅 장치(100)는 통신 장치 및 사용자 입출력 장치 등을 더 포함할 수 있다.
프로세서(110)는 메모리(120)에 저장된 인스트럭션 및/또는 컴퓨터 프로그램을 실행하여 제1 컴퓨팅 장치(100)에서 인공지능을 이용한 자동 가명처리기법 추천 방법을 실행할 수 있다.
메모리(120)는 프로세서(110)가 판독할 수 있는 기록매체로서 운영체제와 적어도 하나 이상의 인스트럭션(Instruction) 및/또는 프로그램 등을 저장할 수 있다. 또한 메모리(120)는 제1 컴퓨팅 장치(100)에서 인공지능을 이용한 자동 가명처리기법 추천 방법을 실행하는 것과 관련된 각종 정보 및 데이터를 저장할 수 있다.
도 3은 본 발명의 일 실시예에 따른 제2 컴퓨팅 장치의 구성을 개략적으로 나타낸 블록도이다.
도 3을 참고하면, 제2 컴퓨팅 장치(200)는 적어도 하나의 프로세서(210) 및 적어도 하나의 메모리(220)를 포함할 수 있다. 그 외에도 제2 컴퓨팅 장치(200)는 통신 장치 및 사용자 입출력 장치 등을 더 포함할 수 있다.
프로세서(210)는 메모리(220)에 저장된 인스트럭션 및/또는 컴퓨터 프로그램을 실행하여, 제2 컴퓨팅 장치(200)가 제1 컴퓨팅 장치(100)에 가명처리 대상 데이터셋에 대한 가명처리기법 추천 요청을 한 후, 제1 컴퓨팅 장치(100)에서 제공되는 가명처리기법 추천 정보에 따라 가명처리 대상 데이터셋에 대한 가명처리를 수행할 수 있다.
메모리(220)는 프로세서(210)가 판독할 수 있는 기록매체로서 운영체제와 적어도 하나 이상의 인스트럭션(Instruction) 및/또는 프로그램 등을 저장할 수 있다. 또한 메모리(220)는 제2 컴퓨팅 장치(200)에서 가명처리 대상 데이터셋에 대한 가명처리를 실행하는 것과 관련된 각종 정보 및 데이터를 저장할 수 있다.
도 4는 본 발명의 일 실시예에 따른 인공지능 기반 학습 모델의 학습 과정을 설명하기 위한 흐름도이고, 도 5는 본 발명의 일 실시예에 따른 인공지능 기반 학습 모델의 학습 과정에서 처리되는 데이터를 개념적으로 나타낸 것이다.
도 4 및 도 5를 참고하면, 먼저 제1 컴퓨팅 장치(100)는 제1 학습 모델 및/또는 제2 학습 모델을 학습시키기 위한 학습용 데이터셋(500)을 입력받을 수 있다(S410). 여기서 제1 학습 모델 및 제2 학습 모델은 인공지능 기반 신경망 모델일 수 있다. 이하에서는 제1 학습 모델을 가명처리기법 추천 모델이라고 부르고, 제2 학습 모델을 워드 임베딩 모델이라고 부르기로 한다.
단계(S410)에서 입력되는 데이터셋(500)은 예를 들어 표 1과 같이 컬럼명, 데이터 타입, 추천 가명처리기법이 대응되어 있는 복수 개의 데이터를 포함할 수 있다.
NO 컬럼명 데이터 타입 추천 가명처리기법
1 이름 문자 마스킹
2 나이 숫자 범주화
n 교육비 숫자 총계처리
표 1에서는 컬럼명, 데이터 타입, 추천 가명처리기법을 포함하는 n개의 데이터를 예시하고 있다. 이러한 복수 개의 데이터는 데이터 가명처리 전문가 등에 의해 만들어지거나, 기존에 가명처리된 데이터에 기반하여 만들어질 수 있다. 예를 들어, 컬럼명-데이터 타입 쌍에 전문가가 추천 가명처리기법을 대응시키는 방식을 이용하거나, 또는 가명처리된 데이터셋에 대해서 각 컬럼에 대해서 컬럼명, 데이터 타입, 그리고 해당 컬럼에 적용된 가명처리기법을 분석하여 표 1에 예시한 것과 같은 복수 개의 데이터를 마련하는 것도 가능하다. 물론 여기서 설명한 것 외에 다양한 방법으로 만들어진 학습용 데이터셋을 가명처리기법 추천 모델 및/또는 워드 임베딩 모델을 학습시키는데 사용할 수 있다.
이후 제1 컴퓨팅 장치(100)는 단계(S410)에서 입력된 데이터셋(500)으로부터 컬럼명, 데이터 타입 및 추천 가명처리기법(510, 520, 530)을 분리하고(S420), 복수 개의 데이터로부터 분리된 복수 개의 컬럼명(510)을 이용하여 워드 임베딩 모델(111)을 학습시킬 수 있다(S430). 단계(S430)에서 워드 임베딩 모델(111)은 컬럼명이 입력되면 그에 대응하여 수치화된 벡터(워드 벡터)를 출력하도록 학습될 수 있으며, 워드 임베딩 모델(111)이 이미 학습되어 있는 경우는 단계(S430)에서 재학습시킬 수 있다.
여기서 워드 임베딩(Word Embedding)은 단어를 수치화된 벡터로 표현하는 방법으로 Word2Vec, FastText, Glove (Global Vectors for Word Representation) 등의 워드 임베딩 모델을 사용하여 구현할 수 있다. 워드 임베딩 모델 중에서 한글 문자열로 이루어진 컬럼명을 수치형 데이터로 변환하기 위해 단어 자체의 인식에 강한 FastText 모델을 사용할 수 있다.
FastText 모델은 단어를 문자 하나하나로 나누어서 각 문자의 정보를 만들 때 주변 문자들의 정보를 토대로 만들어낸다. 이와 같이 FastText 모델은 문자들 간의 관계를 기반으로 벡터 데이터를 만들기 때문에 서로 다른 두 단어에 사용된 문자가 유사하면 벡터 데이터 역시 유사하다는 특징이 있다.
워드 임베딩 모델(111)에 대한 학습이 완료된 후, 제1 컴퓨팅 장치(100)는 앞서 복수 개의 데이터로부터 분리된 복수 개의 컬럼명(510) 각각을 입력 데이터로 워드 임베딩 모델(111)에 입력하여, 각 컬럼명(510)에 대한 워드 벡터(530)를 복수 개 구할 수 있다(S440).
이후 제1 컴퓨팅 장치(100)는 단계(S440)에서 각각의 컬럼명에 대해 구해진 워드 벡터(540)에 각 컬럼명에 대응하는 데이터 타입(520)에 대응하는 데이터 타입 벡터를 추가하여 복수 개의 수치형 벡터(550)를 만들 수 있다(S450). 예를 들어 데이터 타입이 숫자면 '0', 문자면 '1'을 각 워드 벡터(530)에 추가하는 방식으로 수치형 벡터(550)를 생성할 수 있다. 구체적으로 표 1에서 컬럼명 '이름'에 대해 구해진 워드 벡터에 데이터 타입이 '문자'이므로 '1'을 추가하여 수치형 벡터를 만들 수 있다.
다음으로 제1 컴퓨팅 장치(100)는 단계(S450)에서 만들어진 복수 개의 수치형 벡터(550) 각각에 대해서 추천 가명처리기법(530)을 라벨링하여 복수 개의 학습 데이터(560)를 생성할 수 있다(S460). 예를 들어 n 개의 추천 가명처리기법이 있는 경우, 원-핫 인코딩(One-Hot Encoding) 기법을 이용해서, 해당 추천 가명처리기법에 대응하는 위치 값을 '1'로 하고, 나머지 위치 값은 '0'으로 하는 n 차원 벡터인 원-핫 벡터로 라벨링 데이터를 만들 수 있다.
마지막으로 제1 컴퓨팅 장치(100)는 단계(S460)에서 생성된 복수 개의 학습 데이터(560)를 이용하여 가명처리기법 추천 모델을 학습시킬 수 있다(S470). 단계(S470)에서 가명처리기법 추천 모델은 컬럼명과 데이터 타입에 대응하여 구해지는 수치형 벡터가 입력되면 그에 대응하여 추천 가명처리기법이 출력하도록 학습될 수 있다. 여기서 가명처리기법 추천 모델은 지도학습 기반 인공지능 신경망 모델을 이용할 수 있다. 예를 들어 의사결정트리, Random Forest, Gradient Boosting Trees, CART (Classification and Regression Trees), ID3 (Iterative Dichotomiser 3), C5.0 (Successor of ID3, C4.5) 등의 지도 학습 모델이 이용될 수 있다. 특히 본 실시예에서는 보다 정확도가 높은 의사결정트리 모델을 구현하기 위해 앙상블 기법인 Gradient Boosting 기술을 적용한 그래디언트 부스팅 트리(Gradient Boosting Trees) 모델을 이용할 수 있다.
도 6은 본 발명의 일 실시예에 따른 인공지능을 이용한 가명처리기법 추천 과정을 나타낸 흐름도이고, 도 7은 본 발명의 일 실시예에 따른 인공지능을 이용한 가명처리기법 추천 과정에서 처리되는 데이터를 개념적으로 나타낸 것이다.
도 6을 참고하면, 먼저 제1 컴퓨팅 장치(100)는 제2 컴퓨팅 장치(200)로부터 가명처리기법 추천 요청을 받을 수 있다(S610). 단계(S610)에서 제2 컴퓨팅 장치(200)는 가명처리 대상 데이터셋의 각 컬럼에 대한 컬럼명 및 데이터 타입을 구하고, 각 컬럼에 대응하는 컬럼명 및 데이터 타입을 포함하는 데이터(700)를 제1 컴퓨팅 장치(100)에 전달할 수 있다. 물론 실시예에 따라서 제2 컴퓨팅 장치(200)에서 바로 가명처리 대상 데이터셋을 제1 컴퓨팅 장치(100)에 전달하고, 제1 컴퓨팅 장치(100)에서 가명처리 대상 데이터셋의 각 컬럼에 대응하는 컬럼명 및 데이터 타입으로 이루어진 데이터(700)를 직접 구하도록 구현하는 것도 가능하다.
가명처리 대상 데이터셋에서 데이터(700)를 구하는 것은 다음과 같은 방법이 이용될 수 있다. 예를 들어 표 2와 같은 엑셀 데이터셋의 경우 첫 번째 행에 있는 각 셀의 내용을 확인하여 컬럼명을 파악하고, 각 컬럼별로 두 번째 행부터 미리 정해진 행까지의 데이터 값을 확인하여 데이터 타입을 판단하도록 구현될 수 있다.
ID 이름 나이 성별 이메일
1 홍길동 30 hong@example.com
2 김영희 27 kim@example.com
3 이철수 49 lee@example.com
표 2를 참고하면, 첫 번째 행에서 각 컬럼의 컬럼명 'ID', '이름', '나이', '성별', '이메일'을 구할 수 있다. 그리고, 각 컬럼별 데이터 값을 확인하여, 첫 번째 및 세 번째 컬럼의 데이터 타입은 '숫자'이고, 두 번째, 네 번째 및 다섯 번째 컬럼의 데이터 타입은 '문자'인 것을 파악할 수 있다.
다음으로 제1 컴퓨팅 장치(100)는 가명처리 대상 데이터셋의 각 컬럼에 대응하여 구해진 컬럼명(710)을 워드 임베딩 모델(111)에 입력하여 각 컬럼에 대응하는 워드 벡터(730)를 구할 수 있다(S620).
그리고 제1 컴퓨팅 장치(100)는 가명처리 대상 데이터셋의 각 컬럼에 대해서 구해진 워드 벡터(730)에 데이터 타입(720)에 해당하는 데이터 타입 벡터를 추가하여, 가명처리 대상 데이터셋의 각 컬럼별로 수치형 벡터(740)를 만들 수 있다(S630).
다음으로 제1 컴퓨팅 장치(100)는 가명처리 대상 데이터셋의 각 컬럼에 대응하여 구해진 복수 개의 수치형 벡터(740)를 앞서 학습된 가명처리기법 추천 모델(1130)에 입력하여 가명처리 대상 데이터셋의 각 컬럼에 대한 추천 가명처리기법(750)을 획득할 수 있다(S640).
이후 제1 컴퓨팅 장치(100)는 가명처리 대상 데이터셋의 각 컬럼에 대해 획득된 추천 가명처리기법을 제2 컴퓨팅 장치(200)에 제공할 수 있다(S650).
다음으로 제2 컴퓨팅 장치(200)는 제1 컴퓨팅 장치(100)에서 제공된 추천 가명처리기법에 따라 가명처리 대상 데이터셋의 각 컬럼에 대한 가명처리를 수행할 수 있다(S660). 실시예에 따라서 단계(S660) 이전에 제2 컴퓨팅 장치(200)가 가명처리기법 추천 정보를 사용자에게 제공하여, 사용자로부터 각 컬럼별로 해당하는 추천 가명처리기법의 적용 여부를 선택받도록 구현하는 것도 가능하다.
한편 앞서 제1 컴퓨팅 장치(100)와 제2 컴퓨팅 장치(200)가 분리된 실시예를 설명하였으나, 제1 컴퓨팅 장치(100)와 제2 컴퓨팅 장치(200)를 하나의 장치로 통합하고, 워드 임베딩 모델, 가명처리기법 추천 모델에 대한 학습, 학습된 모델을 이용하여 가명처리 대상 데이터셋에 대한 가명처리기법 추천 정보 생성, 및 가명처리 대상 데이터셋에 대한 가명처리 작업을 하나의 컴퓨팅 장치에서 실행하도록 구현하는 것도 가능하다.
한편 데이터를 사용하는 산업 분야에 따라 가명 처리가 필요한 데이터 항목이 다를 수 있으며, 가명처리 기법이 다르게 적용될 필요가 있을 수 있다. 이를 고려하여 실시예에 따라서 학습용 데이터셋에 포함된 복수의 데이터 각각에 교육, 건강/의료, 금융, 통신 등의 산업 분류 정보를 더 포함시키는 것도 가능하다.
학습용 데이터셋에 포함된 복수의 데이터 각각에 대해서 워드 벡터, 데이터 타입 벡터 및 산업 분류 벡터를 구하여 워드 벡터, 데이터 타입 벡터, 산업 분류 벡터를 연결하여 수치형 벡터를 구할 수 있다. 산업 분류 벡터는, 예를 들어 n 개의 산업 분류 정보 있는 경우, 원-핫 인코딩 기법을 이용해서, 해당 산업 분류 정보에 대응하는 위치 값을 '1'로 하고, 나머지 위치 값은 '0'으로 하는 n 차원 벡터인 원-핫 벡터로 만들 수 있다.
산업 분류 벡터가 포함된 수치형 벡터에 대해서 추천 가명처리기법에 해당하는 벡터를 라벨링하여 학습 데이터를 생성하고, 이렇게 생성된 학습 데이터를 이용하여 가명처리기법 추천 모델을 학습하는 것은 앞에서 설명한 것과 동일하다.
그리고 제2 컴퓨팅 장치(200)로부터 제1 컴퓨팅 장치(100)가 가명처리기법 추천 요청을 받을 때, 가명처리 대상 데이터셋이 활용될 산업 분야에 해당하는 산업 분류 정보를 함께 전달받을 수 있다. 이 경우 제2 컴퓨팅 장치(200)는 가명처리 대상 데이터셋의 각 컬럼별로 수치형 벡터를 만들 때 산업 분류 벡터를 추가시킬 수 있다. 이에 의해 해당 가명처리 대상 데이터셋이 활용되는 산업 분야에 맞추어 가명처리기법 추천이 이루어질 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 인스트럭션(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨팅 장치 또는 특수 목적 컴퓨팅 장치를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 인스트럭션(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (9)

  1. 컴퓨팅 장치에서 구현되는 인공지능을 이용한 자동 가명처리기법 추천 방법에서,
    복수 개의 데이터를 포함하는 학습용 데이터셋을 입력받는 단계 - 상기 복수 개의 데이터는 각각 컬럼명, 데이터 타입 및 추천 가명처리기법을 포함함 - ;
    상기 복수 개의 데이터 각각에 대해서, 상기 컬럼명에 대응하여 구해지는 워드 벡터에 상기 데이터 타입으로부터 구해지는 데이터 타입 벡터를 추가하여 수치형 벡터를 구하고 상기 수치형 벡터에 상기 추천 가명처리기법을 라벨링하여 복수 개의 학습 데이터를 생성하는 단계;
    상기 복수 개의 학습 데이터를 이용하여, 수치형 벡터가 입력되면 추천 가명처리기법을 출력하도록 제1 학습 모델을 학습시키는 단계;
    가명처리 대상 데이터셋의 각 컬럼에 대응하는 수치형 벡터를 구하는 단계; 및
    상기 가명처리 대상 데이터셋의 각 컬럼에 대응하여 구해진 수치형 벡터를 학습된 상기 제1 학습 모델에 입력하여 상기 가명처리 대상 데이터셋의 각 컬럼에 대한 추천 가명처리기법을 획득하는 단계를 포함하고,
    상기 학습용 데이터셋에 포함된 복수 개의 데이터는 산업 분류 정보를 더 포함하고,
    상기 학습 데이터를 생성하는 단계에서 구해지는 수치형 벡터는 상기 산업 분류 정보로부터 구해지는 산업 분류 벡터가 더 추가되며,
    상기 가명처리 대상 데이터셋의 각 컬럼에 대응하는 수치형 벡터를 구하는 단계는,
    상기 가명처리 대상 데이터셋의 각 컬럼에 대응하는 컬럼명을 제2 학습 모델에 입력하여 상기 가명처리 대상 데이터셋의 각 컬럼의 워드 벡터를 구하는 단계,
    상기 가명처리 대상 데이터셋의 각 컬럼의 데이터 타입에 대응하는 데이터 타입 벡터를 구하는 단계,
    상기 가명처리 대상 데이터셋에 대해 미리 설정된 산업 분류 정보에 대응하는 산업 분류 벡터를 구하는 단계, 및
    상기 가명처리 대상 데이터셋의 각 컬럼에 대해서 구해진 워드 벡터에 데이터 타입 벡터 및 산업 분류 벡터를 추가하여 상기 가명처리 대상 데이터셋의 각 컬럼에 대응하는 수치형 벡터를 구하는 단계를 포함하는 인공지능을 이용한 자동 가명처리기법 추천 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에서,
    상기 제1 학습 모델은 의사 결정 트리 모델이고,
    상기 제2 학습 모델은 워드 임베딩 모델인 인공지능을 이용한 자동 가명처리기법 추천 방법.
  6. 제 5 항에서,
    상기 워드 임베딩 모델은 FastText 모델이고,
    상기 의사 결정 트리 모델은 그래디언트 부스팅 트리(Gradient Boosting Trees) 모델인 인공지능을 이용한 자동 가명처리기법 추천 방법.
  7. 제 1 항에서,
    상기 가명처리 대상 데이터셋의 각 컬럼에 대해 획득된 추천 가명처리기법에 따라 상기 가명처리 대상 데이터셋에 대한 가명처리를 수행하는 단계
    를 더 포함하는 인공지능을 이용한 자동 가명처리기법 추천 방법.
  8. 제 1 항, 제 5 항 내지 제 7 항 중 어느 한 항의 인공지능을 이용한 자동 가명처리기법 추천 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  9. 컴퓨팅 장치로서,
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 인스트럭션 또는 프로그램을 저장하는 메모리; 를 포함하고,
    상기 인스트럭션 또는 프로그램이 상기 프로세서에 의해 실행되면, 제 1 항, 제 5 항 내지 제 7 항 중 어느 한 항의 인공지능을 이용한 자동 가명처리기법 추천 방법이 실행되는 컴퓨팅 장치.
KR1020230111703A 2023-08-25 2023-08-25 인공지능을 이용한 자동 가명처리기법 추천 방법 KR102662784B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230111703A KR102662784B1 (ko) 2023-08-25 2023-08-25 인공지능을 이용한 자동 가명처리기법 추천 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230111703A KR102662784B1 (ko) 2023-08-25 2023-08-25 인공지능을 이용한 자동 가명처리기법 추천 방법

Publications (1)

Publication Number Publication Date
KR102662784B1 true KR102662784B1 (ko) 2024-05-03

Family

ID=91077014

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230111703A KR102662784B1 (ko) 2023-08-25 2023-08-25 인공지능을 이용한 자동 가명처리기법 추천 방법

Country Status (1)

Country Link
KR (1) KR102662784B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013495A1 (ja) * 2009-07-31 2011-02-03 日本電気株式会社 情報管理装置、情報管理方法、及び情報管理プログラム
US20160254911A1 (en) * 2015-02-27 2016-09-01 Microsoft Technology Licensing, Llc Code analysis tool for recommending encryption of data without affecting program semantics
KR20160122471A (ko) * 2015-04-14 2016-10-24 삼성에스디에스 주식회사 암호화 데이터 관리 방법 및 장치
JP2017516194A (ja) * 2014-03-26 2017-06-15 アルカテル−ルーセント ストリーミングデータの匿名化
US20220382906A1 (en) * 2021-05-26 2022-12-01 Business Objects Software Ltd. Data anonymization for cloud analytics

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013495A1 (ja) * 2009-07-31 2011-02-03 日本電気株式会社 情報管理装置、情報管理方法、及び情報管理プログラム
JP2017516194A (ja) * 2014-03-26 2017-06-15 アルカテル−ルーセント ストリーミングデータの匿名化
US20160254911A1 (en) * 2015-02-27 2016-09-01 Microsoft Technology Licensing, Llc Code analysis tool for recommending encryption of data without affecting program semantics
KR20160122471A (ko) * 2015-04-14 2016-10-24 삼성에스디에스 주식회사 암호화 데이터 관리 방법 및 장치
US20220382906A1 (en) * 2021-05-26 2022-12-01 Business Objects Software Ltd. Data anonymization for cloud analytics

Similar Documents

Publication Publication Date Title
US11887010B2 (en) Data classification for data lake catalog
US10650311B2 (en) Suggesting resources using context hashing
US9690772B2 (en) Category and term polarity mutual annotation for aspect-based sentiment analysis
Qi et al. Compatibility-aware web API recommendation for mashup creation via textual description mining
US11720757B2 (en) Example based entity extraction, slot filling and value recommendation
JP2020520492A (ja) 文書要約自動抽出方法、装置、コンピュータ機器及び記憶媒体
WO2019242144A1 (zh) 电子装置、偏好倾向预测方法和计算机可读存储介质
JP6848091B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7070653B2 (ja) 学習装置、音声認識順位推定装置、それらの方法、およびプログラム
JP2020144421A (ja) 情報処理システム及び情報処理方法
WO2021223882A1 (en) Prediction explanation in machine learning classifiers
Zhang An improved immune algorithm for simple assembly line balancing problem of type 1
US11270085B2 (en) Generating method, generating device, and recording medium
US20220083871A1 (en) Generating realistic counterfactuals with residual generative adversarial nets
US20140188881A1 (en) System and Method To Label Unlabeled Data
KR102662784B1 (ko) 인공지능을 이용한 자동 가명처리기법 추천 방법
CN110851600A (zh) 基于深度学习的文本数据处理方法及装置
US20230177277A1 (en) Contextual dialogue framework over dynamic tables
CN115080039A (zh) 前端代码生成方法、装置、计算机设备、存储介质和产品
US20220269686A1 (en) Interpretation of results of a semantic query over a structured database
KR20230174503A (ko) 신경망 기반 질의 자동 생성 시스템 및 방법
MacDonald Software defect prediction from code quality measurements via machine learning
Das et al. An improvement of Bengali factoid question answering system using unsupervised statistical methods
CN116681408B (zh) 系统管理方法、装置、计算机设备和存储介质
US11663251B2 (en) Question answering approach to semantic parsing of mathematical formulas

Legal Events

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