Token Classification
Transformers
Safetensors
Korean
English
openai_privacy_filter
ner
pii
privacy
pii-masking
korean
english
finance
customer-service
security
infrastructure
bioes
viterbi
mixture-of-experts
Instructions to use BCCard/MoAI-Privacy-Filter with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use BCCard/MoAI-Privacy-Filter with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="BCCard/MoAI-Privacy-Filter")# Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("BCCard/MoAI-Privacy-Filter") model = AutoModelForTokenClassification.from_pretrained("BCCard/MoAI-Privacy-Filter", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| # ============================================================================= | |
| # 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 | |