MoAI-Privacy-Filter / label-taxonomy.yaml
becleverksh's picture
Upload MoAI-Privacy-Filter v3 final-bf16
bf05597 verified
Raw
History Blame
12.5 kB
# =============================================================================
# Label Mapping - ai4privacy 1.5m ๋ผ๋ฒจ -> ๋‚ด๋ถ€ ํ•™์Šต ๋ผ๋ฒจ ๋งคํ•‘ ํ…Œ์ด๋ธ”
#
# * ์—ญํ• : ๋ชจ๋ธ ํ•™์Šต ๋ผ๋ฒจ = ๋กœ๊น… ์Šคํ‚ค๋งˆ ํ‚ค = ์ •์ฑ… ํ…Œ์ด๋ธ” ํ‚ค์˜ ๋‹จ์ผ ์†Œ์Šค
# (docs/analysis/2026-07-03-pii-masking-architecture-qna.md [13])
# * ์—ญ์‚ฐ ๊ทผ๊ฑฐ: playbooks/privacy_filter/privacy-filter-policy.md (ํ‘œ 1 ์ •ํ˜• ํŒจํ„ด / ํ‘œ 2 ๋งˆ์Šคํ‚น ๊ธฐ์ค€)
# * ์‹ค์ธก ๊ทผ๊ฑฐ: docs/analysis/2026-07-03-ai4privacy-1p5m-ko-audit.md
# * v1 ์‹ ๊ทœ ๊ธฐ์ค€์„ : ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์…‹ ๋ฒ„์ „์„ ์Šน๊ณ„ํ•˜์ง€ ์•Š๊ณ  29๊ฐœ ๋ชจ๋ธ ๋ผ๋ฒจ๋กœ ์ƒˆ๋กœ ์ƒ์„ฑ
# =============================================================================
version: v1
date: 2026-09-02
basis:
policy: playbooks/privacy_filter/privacy-filter-policy.md
audit: docs/analysis/2026-07-03-ai4privacy-1p5m-ko-audit.md
# -----------------------------------------------------------------------------
# 1. ๋ชจ๋ธ ํ•™์Šต ๋ผ๋ฒจ (N=29 -> BIOES 4N+1 = 117ํด๋ž˜์Šค)
# * data_source: ๋ผ๋ฒจ ํ‘œ๋ณธ์˜ ์ถœ์ฒ˜ ๋ฆฌ์ŠคํŠธ - ko(1.5m-ko ์ •์ œ๋ณธ) / en(1.5m-en ๋ฆฌํ”Œ๋ ˆ์ด) /
# synthesis(ํ•ฉ์„ฑ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋Œ€๊ธฐ - ํ—ค๋“œ๋Š” ์œ ์‚ฌ ๋ผ๋ฒจ ํ–‰ ๋ณต์‚ฌ๋กœ init)
# * RRN์˜ 1.5m ์œ ๋ž˜๋ถ„์€ ko ํ•œ์ • (en TAXNUM์€ GENERIC_ID fallback) - synthesis๋Š” ์ฆ๊ฐ• ๋ฐฉ์‹ B
# * ํฌ์†Œ ๋ผ๋ฒจ์€ koยทen `synthesis`๋กœ ๋ณด๊ฐ•ํ•˜๋ฉฐ 29์ข… ๋ชจ๋‘ ์–‘ ์–ธ์–ด ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ๋ชฉํ‘œ๋กœ ํ•จ
# -----------------------------------------------------------------------------
model_labels:
- name: PERSON
description: ์„ฑ๋ช… (์„ฑ+์ด๋ฆ„ ๋ณ‘ํ•ฉ ๋‹จ์ผ ์ŠคํŒฌ)
policy_ref: "ํ‘œ2 ์„ฑ๋ช… (๊น€*์šฉ - ์ฒซยท๋ ๊ธ€์ž ์ œ์™ธ) / ํ‘œ2 ์„ฑ๋ช…(์˜๋ฌธ) (์•ž 4์ž๋ฆฌ ๋…ธ์ถœ) - ์น˜ํ™˜ ์‹œ ์Šคํฌ๋ฆฝํŠธ(ํ•œ๊ธ€/์˜๋ฌธ)๋กœ ๊ทœ์น™ ๋ถ„๊ธฐ, full-span ๊ฒฝ๊ณ„ ํ•„์ˆ˜"
data_source: [ko, en, synthesis]
head_init_base: private_person
- name: RRN
description: ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ
policy_ref: "ํ‘œ1 ์ฃผ๋ฏผ๋ฒˆํ˜ธ / ํ‘œ2 ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ (๋’ค 7์ž๋ฆฌ ๋งˆ์Šคํ‚น)"
data_source: [ko, synthesis] # synthesis = ์ฆ๊ฐ• ๋ฐฉ์‹ B ์‹ ๊ทœ ์ƒ์„ฑ๋ถ„ (์ „๋žต๋ฌธ ยง3.3.1)
head_init_base: account_number
- name: FRN
description: ์™ธ๊ตญ์ธ๋“ฑ๋ก๋ฒˆํ˜ธ (์‹ ์„ค - 1.5m ์†Œ์Šค 0๊ฑด)
policy_ref: "ํ‘œ1 ์™ธ๊ตญ์ธ๋“ฑ๋ก๋ฒˆํ˜ธ ([5-8] ์‹œ์ž‘) / ํ‘œ2 ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ(์™ธ๊ตญ์ธ๋“ฑ๋ก๋ฒˆํ˜ธ ํฌํ•จ) (๋’ค 7์ž๋ฆฌ)"
data_source: [synthesis]
head_init_from: RRN
- name: SSN
description: ์‚ฌํšŒ๋ณด์žฅ๋ฒˆํ˜ธ ๊ณ„์—ด (ai4privacy koยทen SOCIALNUM - ๋ฏธ๊ตญ 9์ž๋ฆฌ๋กœ ํ•œ์ •ํ•˜์ง€ ์•Š๊ณ  ์›์ฒœ ํ˜•์‹ ๋ณด์กด)
policy_ref: "data-preprocessing-strategy ยง3.2 ๋ฐ ยง3.3.1 - koยทen SOCIALNUM ์ง์ ‘ ๋งคํ•‘, ์ „์ฒด ๋งˆ์Šคํ‚น"
data_source: [ko, en, synthesis]
head_init_base: account_number
- name: GENERIC_ID
description: ํŠน์ • ๊ตญ๊ฐ€๋ณ„ ์„ธ๋ถ€ taxonomy๋กœ ํ™•์ •ํ•˜์ง€ ๋ชปํ•œ ์‹ ๋ถ„์ฆ ๋ฒˆํ˜ธ์™€ ์„ธ๋ฌด ์‹๋ณ„๋ฒˆํ˜ธ๋ฅผ ์ˆ˜์šฉํ•˜๋Š” ๋ฒ”์šฉ ์‹๋ณ„์ž
policy_ref: "audit ยง5 - koยทen IDCARDNUM ๋ฐ en TAXNUM fallback"
data_source: [ko, en, synthesis]
head_init_base: account_number
- name: CARD_NUMBER
description: ์‹ ์šฉ/์ฒดํฌ์นด๋“œ ๋ฒˆํ˜ธ
policy_ref: "ํ‘œ1 ์นด๋“œ๋ฒˆํ˜ธ / ํ‘œ2 ์นด๋“œ๋ฒˆํ˜ธ (7~12๋ฒˆ์งธ ์ž๋ฆฌ, PCI-DSS)"
data_source: [ko, en, synthesis] # synthesis = ์ฆ๊ฐ• ๋ฐฉ์‹ B ์‹ ๊ทœ ์ƒ์„ฑ๋ถ„ (์ „๋žต๋ฌธ ยง3.3.1)
head_init_base: account_number
- name: ACCOUNT_NUMBER
description: ๊ณ„์ขŒ๋ฒˆํ˜ธ
policy_ref: "ํ‘œ1 ๊ณ„์ขŒ๋ฒˆํ˜ธ (์ „ํ™”๋ฒˆํ˜ธ ํก์ˆ˜ ์œ„ํ—˜ - recognizer ์šฐ์„ ์ˆœ์œ„ ํ•„์š”) / ํ‘œ2 ๊ณ„์ขŒ๋ฒˆํ˜ธ (๋’ค 5์ž๋ฆฌ)"
data_source: [ko, en, synthesis] # ko 5ยทen 1๊ฑด ์‹ค์ธก - ํ•ฉ์„ฑ ์ฆ๊ฐ• ํ•„์ˆ˜ (์€ํ–‰๋ณ„ ํฌ๋งท ๊ทœ์น™ ์ƒ์„ฑ ์šฉ์ด)
head_init_base: account_number
- name: SECRET
description: ์ธ์ฆ ์‹œํฌ๋ฆฟ (๋น„๋ฐ€๋ฒˆํ˜ธยทAPI ํ‚คยทํ† ํฐ ํ†ตํ•ฉ - ์นด๋“œ/ํšŒ์›/ISP ๊ตฌ๋ถ„์€ ๋ฌธ๋งฅ ๋ถˆ๊ฐ€ + ์•ก์…˜ ๋™์ผ)
policy_ref: "ํ‘œ2 ์นด๋“œ๋น„๋ฐ€๋ฒˆํ˜ธยท์˜จ๋ผ์ธ ํšŒ์› ํŒจ์Šค์›Œ๋“œยทISP๋น„๋ฐ€๋ฒˆํ˜ธ (์ฒ˜๋ฆฌ ๊ธˆ์ง€ -> ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ๋Š” LLM ๋…ธ์ถœ ๊ธˆ์ง€ = ์ „์ฒด ๋งˆ์Šคํ‚น์œผ๋กœ ํ•ด์„)"
data_source: [ko, synthesis] # PASSWORD ko 5๊ฑด ์‹ค์ธก + ํ•ฉ์„ฑ ์ฆ๊ฐ•
head_init_base: secret # base 8์ข… ์ค‘ secret ํ–‰ ์ •ํ™• ๋ณต์‚ฌ (์ธ์ ‘ ์•„๋‹Œ ์ง๊ณ„ ์ƒ์†)
- name: USER_ID
description: ์˜จ๋ผ์ธ ํšŒ์› ID
policy_ref: "ํ‘œ2 ์˜จ๋ผ์ธ ํšŒ์› ID (์•ž 2์ž๋ฆฌ ์ œ์™ธ)"
data_source: [ko, en, synthesis] # ko 4ยทen 20๊ฑด ์‹ค์ธก - ์ฆ๊ฐ• ํ•„์ˆ˜
head_init_base: account_number
- name: EMAIL
description: ์ด๋ฉ”์ผ ์ฃผ์†Œ
policy_ref: "ํ‘œ1 ์ด๋ฉ”์ผ / ํ‘œ2 ์ด๋ฉ”์ผ์ฃผ์†Œ (ID ์•ž 2์ž๋ฆฌ ์ œ์™ธ ๋งˆ์Šคํ‚น)"
data_source: [ko, en, synthesis]
head_init_base: private_email
- name: PHONE
description: ์ „ํ™”๋ฒˆํ˜ธ (ํœด๋Œ€ํฐ/์ผ๋ฐ˜์ „ํ™” ํ†ตํ•ฉ - ์น˜ํ™˜ ๋‹จ๊ณ„์—์„œ ํ”„๋ฆฌํ”ฝ์Šค๋กœ ์žฌ๋ถ„๋ฅ˜)
policy_ref: "ํ‘œ1 ํœด๋Œ€ํฐ๋ฒˆํ˜ธยท์ „ํ™”๋ฒˆํ˜ธ / ํ‘œ2 ๊ธฐ๋ณธ ๋’ค 6์ž๋ฆฌ ๊ณตํ†ต - ๋‚ด๋ถ€๋ง ์ฑ„๋„ ํ•œ์ • ํœด๋Œ€ํฐ
๋’ค 4์ž๋ฆฌ ์™„ํ™” (์น˜ํ™˜ ์‹œ ๊ฐ’ ํ”„๋ฆฌํ”ฝ์Šค๋กœ ํœด๋Œ€ํฐ ํŒ๋ณ„ + ์ฑ„๋„ ์ถ• ๋ถ„๊ธฐ)"
data_source: [ko, en, synthesis]
head_init_base: private_phone
- name: PASSPORT
description: ์—ฌ๊ถŒ๋ฒˆํ˜ธ (๋ถ„๋ฆฌ ์œ ์ง€ - ๋งˆ์Šคํ‚น ๊ธฐ์ค€ ์ƒ์ด + ko 3,211๊ฑด)
policy_ref: "ํ‘œ1 ์—ฌ๊ถŒ๋ฒˆํ˜ธ / ํ‘œ2 ์—ฌ๊ถŒ๋ฒˆํ˜ธ (๋’ค 4์ž๋ฆฌ)"
data_source: [ko, en, synthesis]
head_init_base: account_number
- name: DRIVER_LICENSE
description: ์šด์ „๋ฉดํ—ˆ๋ฒˆํ˜ธ (๋ถ„๋ฆฌ ์œ ์ง€ - ๋งˆ์Šคํ‚น ๊ธฐ์ค€ ์ƒ์ด + ko 4,092๊ฑด)
policy_ref: "ํ‘œ1 ์šด์ „๋ฉดํ—ˆ๋ฒˆํ˜ธ / ํ‘œ2 ์šด์ „๋ฉดํ—ˆ๋ฒˆํ˜ธ (์ค‘๊ฐ„ 6์ž๋ฆฌ)"
data_source: [ko, en, synthesis]
head_init_base: account_number
- name: ADDRESS
description: ์ฃผ์†Œ (์‹œยท๋„๋กœ๋ช…ยท๊ฑด๋ฌผ๋ฒˆํ˜ธ ํ†ตํ•ฉ ์ŠคํŒฌ - ์น˜ํ™˜ ๋‹จ๊ณ„์—์„œ ์ˆซ์ž ์„œ๋ธŒ๋งˆ์Šคํ‚น)
policy_ref: "ํ‘œ2 ์ฃผ์†Œ (์ง€๋ฒˆ: ์/๋ฉด/๋™ ๋ฏธ๋งŒ ์ˆซ์ž / ๋„๋กœ๋ช…: ๊ฑด๋ฌผ๋ฒˆํ˜ธยท์ƒ์„ธ์ฃผ์†Œ ์ˆซ์ž ๋งˆ์Šคํ‚น -> ์ŠคํŒฌ ๋‚ด ๊ทœ์น™ ์น˜ํ™˜)"
data_source: [ko, en, synthesis]
head_init_base: private_address
- name: ZIPCODE
description: ์šฐํŽธ๋ฒˆํ˜ธ (ADDRESS์™€ ๋ถ„๋ฆฌ๋œ ๋…๋ฆฝ ์ŠคํŒฌ)
policy_ref: "data-preprocessing-strategy ยง3.2 ๋ฐ ยง3.3.1"
data_source: [ko, en, synthesis]
head_init_base: private_address
- name: DATE
description: ๋‚ ์งœยท์‹œ๊ฐ (์ƒ๋…„์›”์ผ ๋ฏธ๋ถ„๋ฆฌ - ko ๋ฐ์ดํ„ฐ DOB 0๊ฑด + ๊ณผ์ž‰ ๋งˆ์Šคํ‚น ์ค€์ˆ˜ ์ธ์ • ์กฐํ•ญ)
policy_ref: "ํ‘œ2 ์ƒ๋…„์›”์ผ (๋…ธ์ถœ ๊ธˆ์ง€ - DATE ์ „์ฒด ๋งˆ์Šคํ‚น์œผ๋กœ ์ดˆ๊ณผ ์ค€์ˆ˜)"
data_source: [ko, en, synthesis]
head_init_base: private_date
- name: CARD_EXPIRY
description: ์นด๋“œ์œ ํšจ๊ธฐํ•œ
policy_ref: "ํ‘œ2 ์นด๋“œ์œ ํšจ๊ธฐํ•œ (**/** ์ „์ฒด ๋งˆ์Šคํ‚น)"
data_source: [synthesis] # 1.5m ์›์ฒœ 0๊ฑด - ์ฆ๊ฐ• ์ „๋‹ด (PAN ๋™๋ฐ˜ ๋ฌธ๋งฅ ์ƒ์„ฑ)
head_init_base: private_date
- name: CVC
description: ์นด๋“œ๊ฒ€์ฆ์ฝ”๋“œ (CVC/CVV/CAV ํ†ตํ•ฉ - ํ‘œ2 ๋ฌธ๋งฅ ํ•ญ๋ชฉ ์Šน๊ฒฉ 2026-07-21)
policy_ref: "ํ‘œ2 ์นด๋“œ๊ฒ€์ฆ์ฝ”๋“œ (์ €์žฅยท์ถœ๋ ฅ ๊ธˆ์ง€ -> ๊ฒŒ์ดํŠธ์›จ์ด ์ „์ฒด ๋งˆ์Šคํ‚น ํ•ด์„)"
data_source: [synthesis] # 1.5m ์›์ฒœ 0๊ฑด - ์ฆ๊ฐ• ์ „๋‹ด (๋‹จ๋… ์ƒ์„ฑ ๊ธˆ์ง€ - PAN ๋™๋ฐ˜ ํ•„์ˆ˜)
head_init_base: account_number
- name: IPIN
description: I-PIN ๋ฒˆํ˜ธ (ํ‘œ2 ๋ฌธ๋งฅ ํ•ญ๋ชฉ ์Šน๊ฒฉ 2026-07-21 - ๊ฐ’ ๊ทœ๊ฒฉ pending)
policy_ref: "ํ‘œ2 I-PIN (๋’ค 5์ž๋ฆฌ - ํ•˜์ดํ”ˆ ๋ฌด๊ด€ ์ˆซ์ž ๊ธฐ์ค€)"
data_source: [synthesis] # 1.5m ์›์ฒœ 0๊ฑด - ๊ทœ๊ฒฉ ํ™•์ • ์ „ ํŒŒ์ผ๋Ÿฟ ์ˆ˜๋Ÿ‰๋งŒ
head_init_base: account_number
- name: TRANSACTION_APPROVAL_ID
description: ์นด๋“œ ๊ฒฐ์ œ ๊ฑฐ๋ž˜ ์Šน์ธ๋ฒˆํ˜ธ (์Šน์ธ๋ฒˆํ˜ธยท๊ฒฐ์ œ ์Šน์ธ๋ฒˆํ˜ธ ๋ฌธ๋งฅ์˜ 8์ž๋ฆฌ ์‹๋ณ„์ž)
policy_ref: "data-preprocessing-supplementation ยง1 ๊ธˆ์œต ๋ฐ VOC/CS ์˜์—ญ (๋งˆ์Šคํ‚น ๊ธฐ์ค€ ์ •์ฑ… ํ…Œ์ด๋ธ” ๋ฐ˜์˜ ํ•„์š”)"
data_source: [synthesis]
head_init_base: account_number
- name: BUSINESS_ID
description: ์‚ฌ์—…์ž๋ฒˆํ˜ธยท๊ฐ€๋งน์ ๋ฒˆํ˜ธ ํ†ตํ•ฉ ์‹๋ณ„์ž (์‚ฌ์—…์ž๋ฒˆํ˜ธ 10์ž๋ฆฌยท๊ฐ€๋งน์ ๋ฒˆํ˜ธ 9์ž๋ฆฌ)
policy_ref: "data-preprocessing-supplementation ยง1 ๊ธˆ์œต ๋ฐ VOC/CS ์˜์—ญ (๋งˆ์Šคํ‚น ๊ธฐ์ค€ ์ •์ฑ… ํ…Œ์ด๋ธ” ๋ฐ˜์˜ ํ•„์š”)"
data_source: [synthesis]
head_init_base: account_number
- name: VIRTUAL_CARD_NUMBER
description: ๋Œ€์ฒด์นด๋“œ๋ฒˆํ˜ธยท๊ฐ€์ƒ์นด๋“œ๋ฒˆํ˜ธ (๋Œ€์ฒด์นด๋“œ๋ฒˆํ˜ธ ๋ฌธ๋งฅ์˜ 11์ž๋ฆฌ ์‹๋ณ„์ž)
policy_ref: "data-preprocessing-supplementation ยง1 ๊ธˆ์œต ๋ฐ VOC/CS ์˜์—ญ (๋งˆ์Šคํ‚น ๊ธฐ์ค€ ์ •์ฑ… ํ…Œ์ด๋ธ” ๋ฐ˜์˜ ํ•„์š”)"
data_source: [synthesis]
head_init_base: account_number
- name: CI
description: ์—ฐ๊ณ„์ •๋ณด (Connecting Information, 86์ž base64 ๋ณธ๋ฌธ + == ํŒจ๋”ฉ)
policy_ref: "ํ‘œ1 CI (86์ž+`==` ๊ณ ์ •, lookaround ๊ฒฝ๊ณ„) / ํ‘œ2 CI (์•ž 7์ž๋ฆฌ ๋…ธ์ถœ)"
data_source: [synthesis]
head_init_base: account_number
- name: IPADDRESS
description: IPv4 ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ
policy_ref: "ํ‘œ1 IP์ฃผ์†Œ / ํ‘œ2 ๊ณ ๊ฐ IP์ฃผ์†Œ - ์ „์ฒด ๋งˆ์Šคํ‚น"
data_source: [ko, en, synthesis]
head_init_base: private_url
- name: MACADDRESS
description: ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ 48๋น„ํŠธ MAC ์ฃผ์†Œ
policy_ref: "data-preprocessing-strategy ยง3.2 ๋ฐ ยง3.3.1 - ์ „์ฒด ๋งˆ์Šคํ‚น"
data_source: [synthesis]
head_init_base: account_number
- name: IMEI
description: ์ด๋™ํ†ต์‹  ๋‹จ๋ง์˜ 15์ž๋ฆฌ ๊ตญ์ œ ๋‹จ๋ง๊ธฐ ์‹๋ณ„๋ฒˆํ˜ธ
policy_ref: "data-preprocessing-strategy ยง3.2 ๋ฐ ยง3.3.1 - ์ „์ฒด ๋งˆ์Šคํ‚น"
data_source: [synthesis]
head_init_base: account_number
- name: PORT
description: ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค ํฌํŠธ ๋ฒˆํ˜ธ (0~65535) - ๊ณผํƒ ์–ต์ œ์šฉ ๋น„PII ๋ผ๋ฒจ
policy_ref: "data-preprocessing-strategy ยง3.2 ๋ฐ ยง3.3.1"
data_source: [synthesis]
head_init_base: private_url
- name: ORGANIZATION
description: ํšŒ์‚ฌยท์€ํ–‰ยท๋ณ‘์› ๋“ฑ ์กฐ์ง๋ช… - PERSONยทADDRESS ๊ณผํƒ ์–ต์ œ์šฉ ๋น„PII ๋ผ๋ฒจ
policy_ref: "data-preprocessing-strategy ยง2.1.1 ๋ฐ ยง3.2"
data_source: [ko, en, synthesis]
head_init_base: private_person
- name: URL
description: ์›น URL - ๊ฒฝ๋กœยท์ฟผ๋ฆฌยทํ† ํฐ์„ ํฌํ•จํ•œ ์ „์ฒด URL์„ ๋‹จ์ผ ์ŠคํŒฌ์œผ๋กœ ๊ฒ€์ถœ
policy_ref: "data-preprocessing-strategy ยง3.2 ๋ฐ ยง3.3.1"
data_source: [ko, en, synthesis]
head_init_base: private_url
# -----------------------------------------------------------------------------
# 2. ์†Œ์Šค ๋ผ๋ฒจ ๋งคํ•‘ (ai4privacy 1.5m -> ๋‚ด๋ถ€ ๋ผ๋ฒจ)
# * "O" = ํ•™์Šต์—์„œ ๋น„์—”ํ‹ฐํ‹ฐ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  privacy_mask์—์„œ ์ œ๊ฑฐ
# * ์กฐ๊ฑด๋ถ€ ๋งคํ•‘์€ locale + value_pattern ์•ˆ์ „์žฅ์น˜ ๋™๋ฐ˜
# -----------------------------------------------------------------------------
source_mapping: # <source_mapping>
GIVENNAME: PERSON
SURNAME: PERSON
TITLE: O # ๊ตฐ/์–‘/gun/yang ์ง์—ญ ์กด์นญ 88% - ์ „๋Ÿ‰ ๋“œ๋กญ
TAXNUM:
label: RRN # <conditional_mapping>
condition:
locale: ko
value_pattern: '^\d{6}-[1-4]\d{6}$'
fallback: GENERIC_ID # ๋น„์ •ํ•ฉ ๊ฐ’ / ํƒ€ ๋กœ์ผ€์ผ(en ๋ฆฌํ”Œ๋ ˆ์ด)์€ ์„ธ๋ฌด ID -> ๋ฒ”์šฉ ID
SOCIALNUM: SSN
IDCARDNUM: GENERIC_ID
DRIVERLICENSENUM: DRIVER_LICENSE
PASSPORTNUM: PASSPORT
TELEPHONENUM: PHONE
EMAIL: EMAIL
CREDITCARDNUMBER: CARD_NUMBER
ACCOUNTNUM: ACCOUNT_NUMBER
CITY: ADDRESS
STREET: ADDRESS
BUILDINGNUM: ADDRESS
ZIPCODE: ZIPCODE
DATE: DATE
TIME: DATE
TIMEZONE: O
USERNAME: USER_ID
PASSWORD: SECRET
ORGANISATION: ORGANIZATION
IPV4: IPADDRESS
URL: URL
AMOUNT: O
COUNTRY: O
CURRENCY: O
BANKNAME: ORGANIZATION
SALARY: O
AGE: O
GENDER: O
SEX: O
JOBTITLE: O
HOSPITALNAME: ORGANIZATION
ALLERGIES: O
WEIGHT: O
HEIGHT: O
# -----------------------------------------------------------------------------
# 3. ๋ณ‘ํ•ฉ ๊ทœ์น™ (์ •์ œ ์Šคํฌ๋ฆฝํŠธ 2๋‹จ๊ณ„ - ์ธ์ ‘ ์ŠคํŒฌ ๋ณ‘ํ•ฉ, koยทen ๊ณตํ†ต)
# * ๋ณ‘ํ•ฉ์€ ์–ธ์–ด ๊ณตํ†ต (en "John Smith"๋„ ๋‹จ์ผ ์ŠคํŒฌ์ด์–ด์•ผ ํ‘œ2 ์˜๋ฌธ ์„ฑ๋ช… ๊ทœ์น™ ์„ฑ๋ฆฝ)
# * ko ์ „์šฉ์€ ๋ณ‘ํ•ฉ์ด ์•„๋‹ˆ๋ผ ๊ทธ ๋‹ค์Œ์˜ "์ž์—ฐํ™”"(์„ฑ+๋ช… ๋ถ™์—ฌ์“ฐ๊ธฐ - ์ „๋žต๋ฌธ ยง3.4.1 2๋‹จ๊ณ„)
# * ์ˆœ์„œ ๊ฐ•์ œ ๊ธˆ์ง€: ko ์ฃผ์†Œ๋Š” ํฐ -> ์ž‘, en ์ฃผ์†Œ๋Š” ์ž‘ -> ํฐ ์—ญ์ˆœ - ์ธ์ ‘์„ฑ๋งŒ ์กฐ๊ฑด
#
# * gap_allowed : ๋‘ ์—”ํ‹ฐํ‹ฐ ์‚ฌ์ด์˜ ์ธ์‹ยทํ—ˆ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ ๋ฐ ํŒจํ„ด
# - whitespace (๊ณต๋ฐฑยทํƒญ)
# - punct (๊ตฌ๋‘์  : `, . - ยท / ( )` ๋“ฑ ๋ฌธ์žฅ ๋ถ€ํ˜ธ)
# -----------------------------------------------------------------------------
merge_rules: # <merge_rules>
person:
source_labels: [GIVENNAME, SURNAME]
max_gap_chars: 4
gap_allowed: whitespace_or_punct
output_label: PERSON
address:
source_labels: [CITY, STREET, BUILDINGNUM]
max_gap_chars: 4
gap_allowed: whitespace_or_punct
output_label: ADDRESS