텍스트 위생 처리, 지우는 대신 '덜 구체적으로 바꾸기'는 가능할까 — INTACT 논문 해설
한 문장 요약: 이 글을 읽으면 추론 공격(inference attack)으로 대체 후보를 검증하는 두 단계 방식 텍스트 위생 처리 방법 INTACT의 작동 원리, 성립 조건, 실험 결과를 이해할 수 있습니다.
1. 왜 이 주제를 알아야 하는가
의료·법률·행정 문서에는 개인 정보가 들어 있지만, GDPR 같은 규제는 적절한 법적 근거 없이 제3자에게 개인 정보를 공유하지 못하도록 제한합니다(01_R02_INTACT.pdf Page1). 익명화는 이 제약을 우회하는 전략이지만, 기존 텍스트 위생 처리(text sanitization)는 대부분 (i) PII 스팬 탐지 → (ii) 마스킹의 2단계에서 1단계에만 힘을 쏟았다고 논문은 지적합니다. 제거하거나 PERSON·LOCATION 같은 범주 라벨로 치환하는 방식은 "downstream utility를 훼손"할 수 있습니다.
저자들은 "there is currently no principled method for generating truthful and utility-preserving replacements of sensitive text spans"라고 상황을 진단하며, 그 공백을 메우는 방법으로 INTACT를 제안합니다(01_R02_INTACT.pdf Page1).
2. INTACT란 무엇인가
INTACT = INference-guided Truthful sAnitization for Clear Text — instruction-tuned 오픈 웨이트 LLM을 사용해 개인 정보를 "덜 구체적이지만 진실을 보존하는 일반화(generalization)"로 대체하는 방법입니다.
핵심 특징
- 두 단계 전략: ① 추상화 수준이 다른 대체 후보 생성·정렬 → ② 추론 공격으로 최적 후보 선택
- 진실성(truthfulness) 보장: 대체어가 원문 스팬의 의미를 포괄(subsume)해야 함
- 오픈 웨이트 LLM 사용: 민감 데이터를 클라우드로 전송하지 않고 로컬 실행 가능
- 파인튜닝 불필요: 추론 공격도 원샷 프롬프트로 수행
3. 핵심 메시지 3가지
① "가장 구체적이면서 위험하지 않은 것"이 최선이다
2단계 선택 과정의 목적은 세 조건을 동시에 만족하는 후보를 고르는 것입니다(01_R02_INTACT.pdf Page10).
| 조건 | 내용 |
|---|---|
| 1. Privacy-preserving | 대체어와 맥락으로부터 원래 스팬 내용을 적에게도 은폐할 것 |
| 2. Truthful | 원래 스팬의 의미 내용을 포괄(subsume)할 것 |
| 3. Informative | 위 두 조건이 충족되는 한에서 최대한 정보량을 유지할 것 |
② 추론 공격이 곧 검증 장치다
후보가 안전한지는 "LLM이 대체어 + 문서 전체 맥락으로 원문을 되찾을 수 있는지"로 판정합니다. 저자는 "the best replacement is here defined as the most specific candidate that does not reveal, directly or indirectly, the original content"라고 정의합니다(01_R02_INTACT.pdf Page12).
③ 평가도 지표부터 새로 만들었다
기존 precision/recall은 탐지 단계 품질만 측정할 뿐 대체어의 적절성을 평가할 수 없고, 정답 지정도 "여러 유효한 대체 조합"이 존재해 사실상 불가능하다고 논문은 봅니다. 그래서 TPS(유틸리티)와 TRIR(프라이버시)를 참조 주석 없이 자동 계산하도록 제안합니다.
4. 방법: 두 단계 파이프라인의 작동 방식
전체 흐름
① PII 스팬 탐지 (범위 외) → ② 후보 생성·정렬 → ③ 추론 공격으로 추측 생성 → ④ 매칭 판정 → ⑤ 첫 안전 후보 선택 → ⑥ 전부 위험하면 엔티티 라벨 폴백
4-1. 1단계: 대체 후보 생성 (Eq. 1)
LLM에 프롬프트 $p_C$, 원샷 예시 $e_C$, 대상 스팬 $t_i$, 해당 문장 $s_i$를 넣어 추상화 순으로 정렬된 m개 후보를 생성합니다.
$$C_i = LLM_{instr}(p_C, e_C, t_i, s_i)$$
실제 사용 설정(원문 그대로):
- 모델: 4-bit 양자화 Mistral 7B Instruct v0.2, multinomial sampling, temperature 0.3, 최대 512 new tokens
- 후보 개수 m = 5, 문장 분리는 spaCy, 대상 스팬은 이중 대괄호로 표시
- 원샷 프롬프트가 가장 일관된 출력 포맷을 냈고, 제로샷·JSON 출력 변형도 시험했으나 "notable differences in performance or error patterns"는 없었다고 논문은 기술합니다
- 같은 엔티티가 문서에 여러 번 나오면 첫 언급에만 후보를 생성하고 이후에는 선택된 대체어를 재사용
성립 조건이자 중요한 예외 — LLM이 전부 처리하지는 않는다:
| 범주 | 처리 방식 | 이유 |
|---|---|---|
| CODE, PERSON (직접 식별자) | 히스틱 규칙으로 엔티티 라벨 + 순번 (예: CODE_1) |
통계적 공개 통제(SDC)의 직접 식별자 처리 관행과 일치, 코어퍼런스 체인 보존 |
| DATE (표준 날짜 형식) | 규칙 기반 일반화 (예: 일+월+년 → 월+년, 월+년 → 계절+년) | LLM 불필요로 계산 비용 절감 + 진실 보존 보장 |
| 그 외 시맨틱 범주 | LLM 후보 생성 (Eq. 1) | — |
즉 "LLM으로 대체어를 생성한다"는 주장의 적용 범위는 CODE·PERSON·표준 DATE를 제외한 범주이며, 논문은 이 휴리스틱이 "globally more readable and cohesive texts"를 낳았다고 설명합니다(01_R02_INTACT.pdf Page21).
4-2. 2단계: 추론 공격 기반 선택 (Eq. 2)
각 후보 $c_{i,j}$에 대해 LLM이 p개의 추측을 생성합니다.
$$G_{i,j} = LLM_{instr}(p_G, e_G, c_{i,j}, D')$$
- $D'$는 편집된 문서 전체 — 이미 선택된 스팬은 최종 대체어로, 미선택 스팬은 가장 구체적인 후보 $c_{i,1}$로 치환된 상태
- 추측 개수 p = 5, 파인튜닝 없이 원샷 프롬프트만 사용
- 추측은 후보 하나가 아니라 문서 전체를 맥락으로 삼음으로써, 문서의 다른 정보를 이용한 재식별까지 시뮬레이션
매칭 함수(MATCH) — 단순 문자열 일치는 "가깝지만 정확히 같지 않은 추측"을 놓치므로 두 기준을 씁니다:
- Lemma Overlap: 원문과 추측의 어근 집합이 겹칠 때 (비알파벳 토큰·불용어·대상 고빈도 어근 제외, 소문자 정규화, 약어는 대문자 단어 첫 글자 병합으로 확장)
- N-gram Overlap: 대상이 named entity일 때 문자 n-gram 겹침 — 실험에서는 4-grams를 사용 (Turkey–Turkish 같은 어간 공유 단어 대응)
예외 조건 — DATETIME은 더 엄격합니다. 규칙 기반 일반화가 원문 어근의 부분집합을 포함하는 대체어를 만들기 때문에(예: 3 August 2003 → August 2003), LLM에게 정확한 날짜를 추측하게 하고 원문과 추측의 어근이 전부 일치할 때만 DATETIME을 추측 성공으로 봅니다.
선택 규칙: 생성 순서대로 후보를 검토해 RISKY_REPLACE가 false인 첫 후보를 $c_i^$로 선택. 전 후보가 위험하면 엔티티 타입 라벨 + 순번*(예: ORG_2)으로 폴백합니다.
5. 평가 지표: TPS와 TRIR
5-1. TPS (Text Preserved Similarity) — 유틸리티
$$TPS(D, D') = \sum_i RIC(t_i, D) \times SIMILARITY(t_i, c_i^*)$$
- IC(정보량): Shannon 정보이론에 따른 $IC(t) = -\log(Pr(t))$. 확률은 BERT (bert-base-uncased)의 컨텍스트 예측 확률로 추정하며, 다중 토큰 스팬은 최소 확률을 채택
- RIC: 해당 스팬의 IC를 문서 전체 TIC로 나눈 상대 정보량
- SIMILARITY: paraphrase-albert-base-v2 임베딩의 코사인 유사도를 [0, 1]로 제한
- 하이퍼파라미터 N = 6 ([MASK] 간격)을 N ∈ [2, 4, 6, 8] 시험 후 런타임·컨텍스트 크기의 절충으로 선택
- 해석: 0 = 원문 내용 전부 손실, 1 = 의미 동일. 미편집 스팬은 유사도 1이므로 손실 없음
5-2. TRIR (Text Re-identification Risk) — 프라이버시
구조화 데이터의 record linkage 공격을 텍스트에 이식한 지표입니다. 배경 지식(공개 문서 코퍼스)으로 재식별 분류기(distilbert-base-uncased)를 학습시킨 뒤, 익명화 문서에 대해 재식별 정확도를 TRIR로 계산합니다.
배경 지식 설정도 실제 실험 조건이 명시돼 있습니다: TAB 전체 코퍼스(13,759건)를 그대로 주면 "이미 원문을 가진 공격자"가 되고, 보호 대상 개인만으로는 공격자가 데이터셋 집단을 정확히 알 수 없다는 논리로, TAB의 2배 크기(1,268 × 2 = 2,536 문서·개인)의 무작위 상위 집합 + 각 판결문의 Procedure가 아닌 텍스트 처음 10%만 사용했습니다.
TRIR 수치 해석 주의(원문 명시): ≈10% 수치는 "문서의 10%가 확실히 재식별됐다"는 뜻이 아니라, "공격자가 보호 대상을 정확히 추측할 확률이 10%"이며 예측의 정확성을 검증할 수 없다는 의미입니다.
6. 실험 결과
6-1. 실험 조건
- 데이터셋: Text Anonymization Benchmark (TAB) — ECHR 판결문 1,268건, 12명의 법대생이 주석, 평균 11%의 스팬이 PII로 표시
- 하드웨어: 단일 NVIDIA RTX 4000 SFF Ada GPU (20GB)
- 비용: 후보 생성은 TAB 테스트셋 127문서·7,300+ 엔티티 언급에 약 3시간, 추론 공격은 약 15~20배 더 오래 걸림 (생성은 고유 엔티티당 1회, 선택은 엔티티 언급별·문서 전체 컨텍스트로 호출)
6-2. 후보 선택 분포
- 전체 TAB 스팬의 53%에서 가장 구체적인(첫 번째) 후보가 선택됨
- 약 22%에서는 5개 후보 전부가 추론 공격에 간파되어 엔티티 라벨 폴백이 발생 — 특히 ORG와 MISC 범주에서는 거의 절반이 이 기본 대체로 귀결
6-3. 유틸리티: TPS (전체 TAB)
| 전략 | TPS (%) |
|---|---|
| Suppression (완전 제거) | 78.1 |
| Entity type | 85.2 |
| Presidio | 85.7 |
| Dou et al. | 88.9 |
| INTACT | 88.9 |
| Least-specific | 88.8 |
| Most-specific | 91.6 |
- PII 스팬은 11%인데 제거하면 TPS가 22% 하락 — 해당 스팬이 평균적으로 비보호 스팬의 약 2배 정보량을 가진다는 시사점
- 평균 의미 유사도는 각각 0.33, 0.38, 0.49, 0.49, 0.51, 0.62 순으로 상승
- 저자는 대체 기반 방법들 간 TPS 차이가 5% 미만인 이유를 "가장 넓은 일반화(엔티티 타입)만으로도 TPS=85%"에 이미 도달한 데서 찾습니다
6-4. 외재적 평가: 클러스터링 NMI
BERT 임베딩 + K-means++ (K=4), 각 세트마다 50회 × 5회 반복으로 무작위 초기화 영향을 최소화하고 NMI로 원문 클러스터링과 비교했습니다.
- TPS–NMI 상관: Pearson r = 0.864 (p-value = 0.012) — 저자는 이를 TPS의 "a priori estimator"로서의 유효성 근거로 제시합니다
- INTACT가 NMI 최고 — TPS가 더 높은 most-specific보다도 높음
- 반대로 entity type의 NMI는 least-specific보다 높음(TPS는 반대). 저자의 해석: "일부 대체어는 개별로는 원문과 유사하지만(TPS 높음) 문서 전체 내용을 더 왜곡"하며, "언어 모델이 프라이버시를 충분히 보호하는 대체어 생성에 실패하면 유틸리티를 보존하는 옵션도 만들기 어려운 경향"이 있다고 주장합니다
- Dou et al.·least-specific는 TPS가 INTACT와 거의 같으나 NMI는 훨씬 낮음 — 긴 문장형 대체어가 개별 유사도는 높지만 문서 전반에 간섭
6-5. 프라이버시: TRIR
- 최악(most-specific)과 최선(suppression)의 TRIR 격차는 2.2퍼센트포인트에 그침 — 즉 정보성 있는 대체로 유틸리티를 크게 끌어올려도 프라이버시는 크게 훼손되지 않는다
- INTACT는 생성 기반 후보 중 TRIR 두 번째로 낮음, TPS는 두 번째로 높고 NMI는 최고
- Presidio·entity type의 TRIR이 더 낮은 이유는 진실성이 없기 때문 — 원문 의미가 보존되지 않아 배경 지식과 연결될 단서가 없음. 다만 저자는 "진실성 없는 대체는 공격자에게 보호된 항목과 비보호 항목을 구분하는 단서를 줄 수 있다"는 점, 그리고 위생 처리 흔적이 문서의 민감성을 노출해 주의를 끌 수 있다는 점을 함께 경고합니다
- Dou et al.의 TRIR은 second-highest로, TPS·NMI·TRIR 세 지표 모두 least-specific와 근접 — 저자는 이 방법이 "우리 방법의 least-specific 후보 선택과 유사한 것"으로 보인다고 해석합니다
6-6. 수동 평가: 진실성·추상화 수준
600개 인스턴스(6개 엔티티 타입별 100개, PERSON·CODE 제외), NLP 배경의 평가자 1명 + 신뢰도 검증용 추가 평가자(148개 무작위 샘플).
| 방법 | 비진실·동일 수준 | 비진실·더 추상 | 진실·동일 수준 | 진실·더 추상 |
|---|---|---|---|---|
| Presidio | 61.8% | 18.5% | 2% | 17.7% |
| Dou et al. | 1.5% | 3.3% | 20.2% | 75% |
| INTACT | 3.5% | 3.3% | 15.2% | 78% |
- INTACT: 81.3%가 더 추상적, 93.2%가 진실 / Presidio: 36.2%·단 19.7%
- Dou et al.는 진실 95.2%·더 추상 78.3%로 우수하나, "진실이지만 추상적이지 않은" 비율이 20.2%로 INTACT보다 5%p 높음 — 저자는 추론 공격이 "지나치게 구체적인 후보 사용을 차단"하는 INTACT의 설계 의도와 일치하며 TRIR 결과도 이를 뒷받침한다고 주장합니다
- 평가자 간 일치도: 추상화 판단 일치 90% (Cohen's κ = 0.76, substantial), 진실성 판단 일치 93% (κ = 0.84, almost perfect)
6-7. 다른 LLM으로의 일반화 (TAB 테스트셋, 127문서)
| Method | TPS↑ | NMI↑ | TRIR↓ |
|---|---|---|---|
| Suppression | 77.7% | 30.2% | 11.0% |
| Entity type | 84.8% | 64.2% | 13.4% |
| Presidio | 85.8% | 66.0% | 11.8% |
| Dou et al. | 88.4% | 58.7% | 15.0% |
| Mistral INTACT | 88.5% | 80.0% | 12.6% |
| Mistral most-specific | 91.3% | 89.9% | 14.2% |
| Llama INTACT | 88.7% | 86.6% | 13.4% |
- Llama 3.1 8B는 NMI가 Mistral 대비 6% 높고, TPS를 유지하면서 TRIR은 1%p 상승 — 127개 개인 기준으로 "정확히 한 명 더 재식별된 것"에 해당
- 프롬프트·파라미터·인프라는 Mistral 실험과 동일하게 유지, TRIR 배경 지식은 테스트+dev 세트(각 127건)로 2배 상위 집합을 재현
- 흥미로운 점: Llama는 least/most-specific 후보 목록 품질이 Mistral보다 약 1%p 낮았으나, 선택 단계가 그 격차를 만회해 NMI에서는 오히려 우위 — 저자는 선택 단계의 기여를 강조합니다
7. 선행 연구와의 관계 — 균형 잡힌 비교
논문 Table 1이 제시하는 위치:
| 방법 | 접근 | 진실? | 모델 | 특징/한계 |
|---|---|---|---|---|
| MAPA toolkit / Albanese (2023) | 마스킹 + 상위 토큰 예측 샘플링 | ✗ | BERT (선택적 파인튜닝) | 동일 길이 대체로 제한, 추론 공격에 취약 |
| Presidio synthetic | NE 라벨 치환 후 프롬프팅 | ✗ | GPT-3.5-turbo | 폐쇄 웨이트, 의미 보존 보장 없음 |
| Dou et al. (2024) | 추상화용 파인튜닝 + 프롬프팅 | ✓ | 파인튜닝 LLaMA-2-7B | 자기공개(self-disclosure) 대상, 학습 데이터가 GPT-3.5/4 기반, 오픈 웨이트 |
| INTACT (본 연구) | 진실 보존 대체 + 추론 공격 | ✓ | Mistral-7B-Instruct-v0.2 | 파인튜닝 없음, 추론 공격으로 프라이버시 평가, 오픈 웨이트 |
선행 연구의 기여도 인정:
- 지식베이스 기반(WordNet·YAGO·ODP): 하이퍼님 검색이라는 아이디어를 제공했으나, "static knowledge bases"는 디스클로시브 용어 커버리지가 좁고, 최대 규모 지식베이스조차 위키피디아 카테고리 등 임의적 분류에서 비롯되어 subsumption property(일반화된 용어가 원 스팬의 모든 사례를 논리적으로 포괄해야 한다는 요건)를 체계적으로 만족시키지 못한다고 논문은 비판합니다
- BERT 기반(MAPA 등): 소형 모델로 저렴하나 토큰 길이 제약이 "적에게 원문 내용을 추론할 틈을 주며", 진실성 보장 장치가 없음
- Dou et al. (2024): 유일하게 진실 대체에 집중한 선행 LLM 연구. 다만 자기공개라는 근접 과제이고, BERT 파인튜닝 탐지 + GPT-3.5/4로 자동 생성한 데이터에 Llama-2-7B를 파인튜닝하는 방식. INTACT는 파인튜닝 없이 오픈 웨이트 instruct LLM만으로 동작하며 추론 공격으로 대체어의 은폐 효과를 직접 시험한다는 점에서 차별화됩니다
- 차분 프라이버시 기반: 텍스트를 bags-of-words로 취급해 지수 메커니즘·라플라스 노이즈를 쓰지만 "often degrade utility and readability, failing to preserve truthfulness and document structure"
후속/동시 연구에 대한 균형: 저자는 LLM이 익명화의 효과적인 적대자라는 사실을 자체 발견이 아니라 선행 연구([45] 단독, [12] 검색 컴포넌트 강화)에 근거한다고 명시하며, TRIR 지표 자체도 [38]의 기존 제안을 그대로 활용합니다. TRIR의 재식별 모델이 "사전 학습 LLM 대비 경쟁력 있는 결과"를 내면서도 "extensive computational resources"가 필요 없다는 점도 원문이 인용한 결과입니다.
8. 관점 포인트 — 실무자가 짚어야 할 것
- 적용 범위 확인: PII 탐지는 논문 범위 밖입니다. "DETECT_DISCLOSIVE_SPANS는 이 논문의 범위 외"이며, 탐지 실패 시 Presidio와 같은 파이프라인에서처럼 큰 프라이버시 함의가 발생할 수 있습니다
- 직접 식별자는 LLM 밖: CODE·PERSON·표준 DATE는 휴리스틱 처리 — "LLM이 대체어를 생성한다"는 서술에 이 예외가 포함돼야 합니다
- 비용 비대칭: 선택(추론 공격)이 생성보다 15~20배 비쌉니다. 후보당·언급당·문서 전체 컨텍스트로 LLM을 호출하기 때문입니다
- 폴백 비율이 곧 한계 지표: 22%가 엔티티 라벨로 폴백(ORG·MISC는 약 절반) — 유틸리티 손실의 상당 부분이 이 구간에서 나옵니다
- DEM·MISC 범주의 어려움: 의료·법률 전문 용어나 외국어에 대해 LLM이 정의·설명·의역을 생성하는 경향 (예: 스웨덴어
epikris→ 의료기관의 건강 상태 보고).unemployed의 경우 5개 후보가 전부 동의어 수준(Out of work, Jobless 등)이라 일반화가 실패한 사례도 원문에 제시됩니다 - 진실성 없는 대체의 부작용: Presidio는 TRIR이 낮지만 피고 국적이 Turkish·Polish·British에서 Brazilian·Canadian·Mexican으로 바뀌는 미국 편향적 치환이 관찰됐고, 이는 문서 의미를 왜곡해 2차 분석의 결론 자체를 무효화할 수 있습니다
- TRIR은 사후 지표: 실제 재식별이 아니라 재식별 위험의 측정이며, 배경 지식 정의(본 실험: 보호 데이터의 2배)에 따라 값이 달라집니다
9. 최종 핵심 정리
확인해야 할 핵심 질문:
- 대체어의 3조건(은폐·진실·정보량) 중 어느 것에 우선순위를 둘 것인가? — INTACT는 "가장 구체적이면서 위험하지 않은 것"이라는 사전식 규칙으로 결정합니다
- 내 데이터의 직접 식별자 비율은? — CODE·PERSON이 많으면 LLM 생성보다 휴리스틱·폴백이 지배적이 되어 유틸리티 이득이 줄어듭니다
- 탐지 단계는 별도로 검증했는가? — 이 방법은 탐지 품질을 보정하지 않습니다
- 배경 지식 모델은 현실적인가? — TRIR 값은 공격자에게 부여한 지식 범위에 직접 의존합니다
- 비용 예산은? — 추론 공격이 생성보다 15~20배 소요됩니다
한 줄 요약: "지우는 것"과 "지어내는 것" 사이의 세 번째 길은, LLM에게 덜 구체적인 후보를 모아 두고 추론 공격으로 가장 구체적이면서 되찾을 수 없는 하나를 고르는 것 — 그것이 INTACT가 실험으로 보여준 프라이버시–유틸리티 균형의 조건입니다.
댓글 0
아직 댓글이 없습니다 — 첫 댓글을 남겨보세요.