1. AI기반 공문서 내
민감 콘텐츠 마스킹
시스템 구현
김수경 문정석 엄예진 이동민 전상민
진훈 정명희
감성과학회 2023 춘계학술대회
2. CONTENTS
감성과학회 2023 춘계학술대회 AI 기반 공문서 내 민감 콘텐츠 마스킹 시스템 구현
1. 서론
4. 결론
-1 연구의 필요성과 목적
-2 연구 개요
-1 연구 의의
2. 연구 방법
-1 연구 설계
-2 활용 데이터
-3 전처리
-4 절차
3. 연구 결과
5. 참고 문헌
-1 요약
-2 연구 결과
-1 참고 문헌
4. 1-1 연구의 필요성과 목적
현대 사회에서 개인정보 유출의 위험성은 크게 증가하고
있다. 특히 인터넷을 통해 개인적인 정보가 포함되어 있는
문서를 주고받거나 활용할 경우 정보 유출 위험성이 더욱
커진다.
개인정보보호위원회의 조사[1]에 의하면 지난 2022년
개인정보 유출을 통지 받은 경험이 있는 일반국민은
30.6%에 달한다. 주된 문제는 공공기관 공무원이 문서를
관리하며 고의 혹은 실수로 민원인들의 개인정보를
유출한다는 점이다.
공공 개인정보처리자가 꼽은 업무 수행 시 가장 어려운
점으로는 ‘인력 부족’(78.7%)’을 꼽았으며, 예산부족과
개인정보 보호 절차의 복잡성이 뒤를 이었다.
이와 같이 인력 부족 및 부주의로 인한 공공문서 정보
유출이 빈번하게 발생하고 있으므로, 공공문서에서 정보
유출을 예방할 수 있는 시스템이 필요하다.
이러한 현실에 맞춰 오픈소스 OCR 라이브러리를 이용하여
AI-Hub에서 제공하는 공공 행정문서들을 대상으로 개인
정보 내용에 대한 모자이크 서비스 시스템을 구현하였다.
개인정보보호위원회, 2022, “개인정보 보호 및 활용조사 보고서”[1]
5. 1-2 연구 개요 - 선행 연구
▪ 서식화 되어 있지 않은 문자 인식의 난해성[2]
▪ 노이즈, 왜곡, 저해상도 등 다양한 간섭 요인에 따른
식별 오류의 위험성[3]
▪ 한글 – 손글씨 문서의 부정확한 인식률
▪ 기본 라이브러리의 파라미터 값 설정
▪ 미세 조정을 통한 정확도 향상
▪ 인식 영역에 대한 시각화 처리를 통한 사용자 선택 입력
처리로 방안 제시
AS-IS TO-BE
6. 1-2 연구 개요 - EasyOCR
한글은 글자
하나당 자음과
모음이 결합된
복잡한 구조를
지니고 있지만,
학습용 데이터가
적어 영문
인식에 비해
정확도가 낮다[6].
EasyOCR
"텍스트 영역 인식”
연구 목적에 더욱
부합하는 기술이다.
Tesseract OCR과
EasyOCR을 모두
활용하고 성능을
비교한 사례에서,
EasyOCR의
정확도가 더
높았다[7].
EasyOCR은 80개
이상의 다국어
OCR을 지원
텍스트 내용
인식과
텍스트 영역
탐지를 구별하여
세부 조정이 가능
하다.
8. 2-1 연구 설계
Detection 1. Bounding Box Merging
텍스트 영역 인식에 필요한 Reader Class - readtext method의
‘height_ths’, ‘width_ths’ 파라미터를 조정하여 문자 영역 인식 범위를 설정한다.
2. Contrast
이미지 해상도 조정을 위해 Reader Class - readtext method의
‘contrast_ths’ 파라미터를 조정하여 기본 텍스트 영역 인식의 정확도를 향상시킨다.
Recognition 1. EasyOCR 라이브러리의 기본 신경망 모델 사용을 사전 학습 모델로 사용하고
커스텀 학습 데이터를 이용해서 미세 조정을 수행한다.
Masking 1. 사용자 선택 입력을 받기 위해 별도의 시각화 과정을 포함한다.
2. 선택 영역을 문서 이미지 내에서 좌표 값으로 전환하고 해당 영역을 완전한 블랙박스 형태로 구현한다.
9. 1-
1
바운딩 박스
2-2 활용 데이터
공공행정문서 OCR 학습용 데이터
공공 행정 문서에 특화된 문자 인식 AI 모델을 개발하기 위한 공공 행정 문서 이미지 데이터
경상남도 김해시의 인.허가, 주민자치, 도시개발 등의 지방자치단체 고유 업무 문서
총 900,000장의 이미지 데이터가 구축
다양한 글자 형태가 포함된 공공행정 이미지와 국민생활과 밀접한 관련 자료로
개인 정보가 다수 포함
10. 2-3 전처리
학습 데이터
구분 원본 이미지(장) 학습 이미지(장)
train 120 14,730
test 40 5,015
validation 40 4,822
1. ‘샘플 이미지 - 라벨 데이터’ 200개 임의 선정
2. 바운딩 박스 좌표 값에 따라 이미지 영역 추출
3. ‘이미지 파일명 - 라벨 데이터’ 매핑
11. 2-4 절차
1. 모델 네트워크 구조
Pre-Trained Model
: EasyOCR 기본 모델 korean_g2 사용
Feature Extraction: VGG
Sequence Modeling: BiLSTM
Prediction: CTC
사전 학습 모델과 동일한 네트워크 구조인
‘VGG-BiLSTM-CTC’구조의 모델 생성
VGG
BiLSTM
CTC
12. 2-4 절차
2. 한국어 분류 클래스 삽입
한국어 분류를 위해 한국어 데이터를 클래스로 삽입한다. 모델 네트워크 구조 및 채널 개수 설정을 옵션 값으로
넣어주고 학습을 진행한다.
GPU 사용에 따른 워커 개수 : 4
훈련 반복 횟수 : 300,000회
전체 배치 사이즈 : 192
14. 1-
1
바운딩 박스
3-1 요약
런타임 : GPU-T4
프레임워크 : PyTorch 2.0.1
모델 개발 환경
정확도
Best Accuracy Model : 94.185
Language : Python 3.10.12
GUI : tkinter
OCR : EasyOCR 1.6.2
Masking : OpenCV 4.5.5
프로그램 기술 스택
15. 1-
1
바운딩 박스
3-1 요약
A 파일선택 B PDF파일에서이미지추출 C 이미지선택
D 텍스트영역시각화 E 마스킹영역선택 F 마스킹이미지및문서저장
동작 흐름도 수행 화면
16. 1-
1
실험 환경
[데이터셋]
공공행정문서 OCR - 샘플 데이터
지방자치단체 고유 인허가 분야 문서 이미지 200개
[실험 내용]
EasyOCR 문자 검출 시 매개변수별 인식 정확도 및 인식 소요 시간 비교
[실험 방식]
1. 매개변수별 문서 이미지의 OCR 문자 검출 실행
2. 검출 결과를 라벨링 데이터의 값과 비교
3. 평균 인식 정확도 및 소요 시간 계산
GPU 환경에서 실행 실험 매개 변수
바운딩 박스
3-2 연구 결과
CASE A
reader.detect
[문자 영역 검출만 진행]
CASE B
reader.readtext
width_ths = 0.1
adjust_contrast = 0.1
CASE C
reader.readtext
text_threshold = 0.1
width_ths = 0.1
CASE D
reader.readtext
text_threshold = 0.1
width_ths = 0.5
height_ths = 0.5
low_text = 0.1
18. 1-
1
CASE B
reader.readtext
width_ths = 0.1
adjust_contrast = 0.1
CASE C
reader.readtext
text_threshold = 0.1
width_ths = 0.1
CASE D
reader.readtext
text_threshold = 0.1
width_ths = 0.5
height_ths = 0.5
low_text = 0.1
바운딩 박스
3-2 연구 결과
19. 1-
1
실험 결과
CASE B
reader.readtext
width_ths = 0.1
adjust_contrast = 0.1
CASE C
reader.readtext
● text_threshold = 0.1
● width_ths = 0.1
CASE D
reader.readtext
● text_threshold = 0.1
● width_ths = 0.5
● height_ths = 0.5
● low_text = 0.1
총 소요 시간
(데이터셋 200개)
평균 인식 시간 평균 인식 정확도
8m 14s 2.47s 91.13%
6m 8s 1.84s 90.74%
4m 16s 1.28s 83.54%
인식률 모두 80-90% 안팎으로
준수한 성능 유지
인식 시간 2초 안팎
목적에 따라 영역 인식 레이어를
2개로 분리하여 진행
영역 인식 정확도와 인식 속도가 준수한
CASE C
인식 속도가 빠른
CASE D
기본 문자 영역 검출
손글씨 영역 검출
바운딩 박스
3-2 연구 결과
21. 연구 의의
공공 행정 문서 내 개인정보 인식과 인식된 정보의
모자이크화를 위한 응용 프로그램을 개발하였다.
개인정보 내용 선별 및 모자이크 처리 방식, 사용자 지정
선택에 대한 유무, 바운딩박스 정확도 개선을 통해
서비스의 방향성을 확립하고 이에 맞는 서비스 모델을
OCR 기술을 활용해 구축하였다. 구현 과정에서 발생한
문제점을 해결하기 위해 머신러닝 모델 알고리즘을
설계하였으며, 모델 미세 조정 과정을 통해 개인 정보
글자 인식률을 향상시켰다. 또한 인식된 정보를 보다
안전하게 보호하기 위해 마스킹 방법을 채택하였다.
이를 통해 공공문서 속에서 미처 인지하지 못한
개인정보에 대한 마스킹 처리가 가능하게 되었으며,
공공문서 속 개인정보 보호 수준을 높이고 정보
보안 처리의 효율성과 편의성을 증대시켰다.
본 연구를 바탕으로 추후 접근성이 높은 웹 기반 서비스를
구축해 제공한다면 공공기관 내 개인정보 보호 담당자들의
인력 부족 문제에도 도움이 될 것으로 예상된다.
[1] 개인정보보호위원회, 2022, “개인정보 보호 및 활용조사
보고서”
4-1
23. 5-1 참고 문헌
[1] Personal Information Protection Commission, Korea Internet &
Security Agency. (2022). "Survey on the Personal Information
Protection & Usage"
.
[3] Yingying ZHU, Cong YAO, & Xiang BAI. (2016). "Scene
Text Detection and Recognition: Recent Advances and
Future Trends.", pp. 1-2.
[2] Park. H. J., Lee. S. H., & Lee. Y. H., (2022). “An OCR-based Mobile
Vehicle License Plate Recognition System.”, pp. 430-434.
[5] Ham. D. S., Lee. D. Y., & Jung. I. S., (2008). "Construction of
Printed Hangul Character Database PHD08", 8(11), pp. 33-40.
[4] Park. S. W., (2022). "A Study on the OCR of Korean Sentence
Using Deep Learning." Annual Conference on Human and Language
Technology, pp. 470-474.
[8] Kim. J. J., & Kim. C. B., (2021). "Implementation of Robust
License Plate Recognition System using YOLO and CNN", pp. 1-9.
[9] AI-Hub, (2021). "Public Administration Document OCR Data
Set"
[7] Kang. G. H., Go. J. H., & Kwon. Y. J., (2018). "A Study on
Improvement of Korean OCR Accuracy Using Deep Learning", pp.
693-695.
[6] Kim. D. H., & Bang. S. Y., (1992). "An Overview of Hangul
Handwritten Image Database PE92", pp. 567-575
[10] Baek. J. H., Kim. G. W., & Lee. J. Y., (2019). "What Is Wrong
With Scene Text Recognition Model Comparisons? Dataset and
Model Analysis"