kpfbert-ner / README.md
townboy's picture
Clarify MIT usage and upstream notices
cd757b0 verified
|
Raw
History Blame Contribute Delete
10.2 kB
---
language:
- ko
pipeline_tag: token-classification
tags:
- korean
- ner
- pii
- kpfbert
license: mit
base_model: KPF/KPF-bert-ner
datasets:
- townboy/korean-pii-dataset
metrics:
- precision
- recall
- f1
model-index:
- name: KPF-BERT Korean PII NER
results:
- task:
type: token-classification
name: Korean PII NER
dataset:
name: Private synthetic final holdout
type: synthetic
metrics:
- type: f1
value: 0.8642728407
name: Micro F1
- type: precision
value: 0.7965755175
name: Micro precision
- type: recall
value: 0.9445454545
name: Micro recall
---
# KPF-BERT Korean PII NER
ํ•œ๊ตญ์–ด ๋ฌธ์žฅ์—์„œ 33์ข…์˜ ๊ฐœ์ธ์ •๋ณด(PII)๋ฅผ ๋ฌธ์ž span ๋‹จ์œ„๋กœ ํƒ์ง€ํ•˜๋„๋ก `KPF/KPF-bert-ner`๋ฅผ ํŒŒ์ธํŠœ๋‹ํ•œ BERT ํ† ํฐ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.
## ๋ชจ๋ธ ๊ฐœ์š”
| ํ•ญ๋ชฉ | ๊ฐ’ |
|---|---|
| ๊ธฐ๋ฐ˜ ๋ชจ๋ธ | `KPF/KPF-bert-ner` |
| ๊ตฌ์กฐ | BERT token classification |
| ์ถœ๋ ฅ | BIO ํƒœ๊น… |
| PII ์œ ํ˜• | 33 |
| BIO ๋ผ๋ฒจ | 67 (`O` ํฌํ•จ) |
| ์ตœ๋Œ€ ์ž…๋ ฅ ๊ธธ์ด | 512 ํ† ํฐ |
| ํ•™์Šต ๋ฐ์ดํ„ฐ | `townboy/korean-pii-dataset` |
์ „์ฒด ๋ผ๋ฒจ ๋งคํ•‘์€ `config.json`๊ณผ `label_map.json`์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ํ•™์Šต๋œ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” `model.safetensors`์— ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
## ๋ผ์ด์„ ์Šค ๋ฐ ์ถœ์ฒ˜
์ด ์ €์žฅ์†Œ์˜ ํŒŒ์ธํŠœ๋‹ ๊ฒฐ๊ณผ๋ฌผ๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐยทํ›„์ฒ˜๋ฆฌ ์ฝ”๋“œ๋Š” MIT License๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์€ `KPF/KPF-bert-ner`๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒŒ์ธํŠœ๋‹ํ–ˆ์Šต๋‹ˆ๋‹ค. KPF ์›๋ณธ ํ”„๋กœ์ ํŠธ์˜ ๋ผ์ด์„ ์Šค์™€ ์ถœ์ฒ˜๋ฅผ ํ•จ๊ป˜ ํ™•์ธํ•ด์•ผ ํ•˜๋ฉฐ, ์›๋ณธ KPF-BERT ํ”„๋กœ์ ํŠธ๋Š” MIT License๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ด ํŒŒ์ธํŠœ๋‹ ๋ชจ๋ธ์€ MIT License ์กฐ๊ฑด์— ๋”ฐ๋ผ ์‚ฌ์šฉยท์ˆ˜์ •ยท์žฌ๋ฐฐํฌยท์ƒ์—…์  ์ด์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์žฌ๋ฐฐํฌ ์‹œ ์ด ์ €์žฅ์†Œ์˜ `LICENSE`์™€ `NOTICE`, ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ์˜ ์ €์ž‘๊ถŒยท๋ผ์ด์„ ์Šค ๊ณ ์ง€๋ฅผ ํ•จ๊ป˜ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
- ๊ธฐ๋ฐ˜ ๋ชจ๋ธ: [KPF/KPF-bert-ner](https://huggingface.co/KPF/KPF-bert-ner)
- ์›๋ณธ ํ”„๋กœ์ ํŠธ ๋ฐ ๋ผ์ด์„ ์Šค: [KPF-bigkinds/BIGKINDS-LAB](https://github.com/KPF-bigkinds/BIGKINDS-LAB)
- ์ด ์ €์žฅ์†Œ์˜ ๋ผ์ด์„ ์Šค ์ „๋ฌธ: `LICENSE`
`KPF/KPF-bert-ner` Hugging Face ์นด๋“œ์—๋Š” ๋ณ„๋„์˜ ๋ผ์ด์„ ์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋ฐฐํฌยท์ƒ์—…์  ์ด์šฉ ์ „์—๋Š” ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์˜ ์ตœ์‹  ์กฐ๊ฑด์„ ์ง์ ‘ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ €์žฅ์†Œ์˜ ๋ผ์ด์„ ์Šค ํ‘œ์‹œ๋Š” ์ œ๊ฐ€ ์ถ”๊ฐ€ํ•œ ํŒŒ์ธํŠœ๋‹ ์‚ฐ์ถœ๋ฌผ์— ๋Œ€ํ•œ ๊ฒƒ์ด๋ฉฐ, ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์˜ ๊ถŒ๋ฆฌ๋ฅผ ๋Œ€์ฒดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
## License
The original fine-tuning artifacts, metadata, and auxiliary code in this repository are released under the MIT License. See [`LICENSE`](./LICENSE) and [`NOTICE`](./NOTICE). This model is a derivative of `KPF/KPF-bert-ner`; users must also comply with the applicable terms of the upstream model.
Accordingly, this fine-tuned model may be used, modified, redistributed, and used commercially under the MIT License, provided that the copyright and license notices in `LICENSE`, `NOTICE`, and the upstream projects are retained.
## ์‚ฌ์šฉ๋ฒ•
```python
from transformers import AutoModelForTokenClassification, AutoTokenizer, pipeline
model_id = "townboy/kpfbert-ner"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForTokenClassification.from_pretrained(model_id)
ner = pipeline(
"token-classification",
model=model,
tokenizer=tokenizer,
aggregation_strategy="simple",
)
text = "ํšŒ์› ์ด๋ฆ„์€ ํ™๊ธธ๋™์ด๊ณ  ์ด๋ฉ”์ผ์€ hong@example.com์ž…๋‹ˆ๋‹ค."
print(ner(text))
```
512 ํ† ํฐ์„ ๋„˜๋Š” ์ž…๋ ฅ์€ ๋ฌธ์žฅ ๊ฒฝ๊ณ„๋‚˜ ๊ฒน์น˜๋Š” window ๋‹จ์œ„๋กœ ๋‚˜๋ˆ  ์ถ”๋ก ํ•œ ๋’ค ์›๋ฌธ ์œ„์น˜๋กœ ํ•ฉ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ๋’ท๋ถ€๋ถ„์„ ์ž˜๋ผ๋‚ด๋ฉด ํ•ด๋‹น ๋ถ€๋ถ„์˜ PII๋ฅผ ํƒ์ง€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
### ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์™€ ์™ธ๊ตญ์ธ๋“ฑ๋ก๋ฒˆํ˜ธ ์ •๊ทœํ™”
๋ชจ๋ธ์€ ์„ฑ๋ณ„ยท์„ธ๊ธฐ ์ฝ”๋“œ๊ฐ€ ๋ฌธ๋งฅ ๋‹จ์–ด์™€ ์ถฉ๋Œํ•˜๋Š” counterfactual ์˜ˆ์‹œ๋„ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๊ตฌ์กฐ๊ฐ€ ๋ช…ํ™•ํ•œ 13์ž๋ฆฌ ๋ฒˆํ˜ธ๋Š” ํ™•๋ฅ  ๋ชจ๋ธ์—๋งŒ ๋งก๊ธฐ์ง€ ์•Š๊ณ  7๋ฒˆ์งธ ์ˆซ์ž๋กœ ์ตœ์ข… ๋ผ๋ฒจ์„ ์ •๊ทœํ™”ํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. `korean_id_postprocess.py`๊ฐ€ ์ „์ฒด span์„ ํ•ฉ์น˜๊ณ  ์ฝ”๋“œ `1`~`4`๋ฅผ `RRN`, `5`~`8`์„ `ALIEN_NUMBER`๋กœ ๋ณด์ •ํ•ฉ๋‹ˆ๋‹ค.
```python
from korean_id_postprocess import normalize_korean_id_entities
raw_entities = ner(text)
entities = normalize_korean_id_entities(text, raw_entities)
```
์ด ์ •๊ทœํ™”๋Š” ๋ฒˆํ˜ธ ์ข…๋ฅ˜๋งŒ ํŒ๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์œ ํšจ์„ฑ์€ ๋ณ„๋„์˜ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธยท์™ธ๊ตญ์ธ๋“ฑ๋ก๋ฒˆํ˜ธ ์ฒดํฌ์„ฌ ๊ฒ€์ฆ์„ ํ•จ๊ป˜ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ง์ ‘ ๋ชจ๋ธ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ์—์„œ๋Š” ๋ฌธ๋งฅ ๋‹จ์–ด๊ฐ€ ๋ฒˆํ˜ธ ์ฝ”๋“œ์™€ ์ถฉ๋Œํ•˜๋Š” 4๊ฐœ ์‚ฌ๋ก€๋ฅผ ๋ชจ๋‘ ํ†ต๊ณผํ–ˆ๊ณ , ์ฒดํฌ์„ฌ์ด ์œ ํšจํ•œ ๋ฌด๋ผ๋ฒจ ๋ช…๋‹จ์˜ ์ด๋ฆ„ยท๋ฒˆํ˜ธ 8๊ฐœ๋„ ๋ชจ๋‘ ํƒ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. 499ํ† ํฐ ์ž…๋ ฅ ๋์˜ ๋ฒˆํ˜ธ ์—ญ์‹œ ํƒ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ธ ๊ฒฐ๊ณผ์™€ ์˜๋„์ ์œผ๋กœ ์ž˜๋ชป ๋งŒ๋“  ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ํ•œ๊ณ„๋Š” `korean_id_regression_results.json`์— ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.
## ํ•™์Šต
- ํ•™์Šต ๋ฌธ์„œ: 9,227
- Validation ๋ฌธ์„œ: 1,510
- ์ตœ์ข… counterfactual ์ •์ œ: 1 epoch, learning rate `5e-6`
- ์ผ๋ฐ˜ ๋ผ๋ฒจ ์•ˆ์ •ํ™”: 1 epoch, learning rate `1e-6`
- Effective batch size: 32
- ์ตœ๋Œ€ ๊ธธ์ด: 512
- Loss: standard cross-entropy
- Validation micro-F1: `0.996463`
๋งˆ์ง€๋ง‰ ์ •์ œ ํ•™์Šต์€ class-weighted loss๊ฐ€ ์•„๋‹ˆ๋ผ ํ‘œ์ค€ cross-entropy๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๊ฐ€ ๋น ์กŒ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ•™์Šต๋œ ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๋Š” `model.safetensors`์— ์žˆ์œผ๋ฉฐ, class weight๋Š” ํ•™์Šต ์ค‘ loss์—๋งŒ ์ ์šฉ๋˜๋Š” ์„ ํƒ ์„ค์ •์ž…๋‹ˆ๋‹ค. ์ƒ์„ธ ๊ฐ’์€ `training_config.json`๊ณผ `training_provenance.json`์— ์žˆ์Šต๋‹ˆ๋‹ค.
์ €์žฅ์†Œ์˜ `class_weights.json`์€ ์ด์ „ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ํ˜ผ๋™ํ•˜์ง€ ์•Š๋„๋ก ๋‚จ๊ฒจ ๋‘” ํ˜ธํ™˜์„ฑ ์•ˆ๋‚ด ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ตœ์ข… ๋ชจ๋ธ ํ•™์Šต์—๋Š” class weight๋ฅผ ์ ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
## ์ตœ์ข… ํ‰๊ฐ€ ๋ฐฉ๋ฒ•
๊ณต๊ฐœ ํ•™์Šต corpus ๋ฐ ์ž„๊ณ„๊ฐ’ ๋ณด์ • ์„ธํŠธ์™€ ํ…œํ”Œ๋ฆฟยท๊ฐ’์ด ๊ฒน์น˜์ง€ ์•Š๋Š” ๋ณ„๋„ ํ•ฉ์„ฑ holdout 1,320๋ฌธ์„œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
- ๋ผ๋ฒจ๋ณ„ ์ •๋‹ต PII span: 100๊ฐœ
- ์ „์ฒด ์ •๋‹ต span: 3,300๊ฐœ
- ๋งค์นญ: ๋ผ๋ฒจยท๋ฌธ์ž ์‹œ์ž‘ยท๋ฌธ์ž ๋์ด ๋ชจ๋‘ ๊ฐ™์€ exact span
- Confidence: span์„ ๊ตฌ์„ฑํ•˜๋Š” ํ† ํฐ ํ™•๋ฅ ์˜ ์ตœ์†Ÿ๊ฐ’
- ํ‰๊ฐ€ ์ž…๋ ฅ ์ตœ๋Œ€ ๊ธธ์ด: 512
- ์ด holdout์€ ์ตœ์ข… ๋ชจ๋ธ์— ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
| ์ง€ํ‘œ | Precision | Recall | F1 |
|---|---:|---:|---:|
| Macro | 0.8435 | 0.9445 | 0.8834 |
| Micro | 0.7966 | 0.9445 | 0.8643 |
์ด ์ ์ˆ˜๋Š” ๋ฌธ์žฅ๋‹น PII ํ•˜๋‚˜์™€ ์งง์€ ์ •ํ˜• ๋ฌธ์žฅ ์ค‘์‹ฌ์˜ validation ์ ์ˆ˜๋ณด๋‹ค ํ›จ์”ฌ ์—„๊ฒฉํ•œ ์กฐ๊ฑด์—์„œ ์ธก์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‘œยท๋ชฉ๋กยทCSVยทJSON, ๋ผ๋ฒจ ์•ˆ๋‚ด์–ด๊ฐ€ ์—†๋Š” ๋ฌธ์žฅ, ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๊ณผ ์—ฌ๋Ÿฌ PII๊ฐ€ ํ•จ๊ป˜ ๋“ฑ์žฅํ•˜๋Š” ๊ธด ๋ฌธ์„œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
## ๋ผ๋ฒจ๋ณ„ ์ตœ์ข… ์„ฑ๋Šฅ
| Label | Precision | Recall | F1 |
|---|---:|---:|---:|
| ACCOUNT_NUMBER | 0.821 | 0.870 | 0.845 |
| ADDRESS | 0.874 | 0.900 | 0.887 |
| AGE | 0.893 | 1.000 | 0.943 |
| ALIEN_NUMBER | 0.907 | 0.970 | 0.937 |
| BIRTHDATE | 0.980 | 1.000 | 0.990 |
| BLOOD_TYPE | 0.672 | 0.860 | 0.754 |
| CARD_NUMBER | 0.870 | 1.000 | 0.930 |
| CITY | 1.000 | 1.000 | 1.000 |
| DEPARTMENT | 0.958 | 0.920 | 0.939 |
| DRIVER_LICENSE | 0.833 | 0.900 | 0.865 |
| EMAIL | 0.926 | 1.000 | 0.962 |
| EMPLOYEE_ID | 0.633 | 1.000 | 0.775 |
| GENDER | 0.908 | 0.990 | 0.947 |
| HEIGHT | 0.882 | 0.970 | 0.924 |
| IP_ADDRESS | 0.797 | 0.940 | 0.862 |
| MAJOR | 0.893 | 1.000 | 0.943 |
| MEMBER_ID | 0.887 | 0.940 | 0.913 |
| NAME | 0.798 | 0.990 | 0.884 |
| NATIONALITY | 1.000 | 1.000 | 1.000 |
| NICKNAME | 0.262 | 0.710 | 0.383 |
| PARTICIPANT_ID | 0.405 | 0.980 | 0.573 |
| PASSPORTNUM | 0.990 | 0.990 | 0.990 |
| PHONE | 0.990 | 1.000 | 0.995 |
| POSITION | 0.786 | 0.990 | 0.876 |
| RELIGION | 1.000 | 0.800 | 0.889 |
| RRN | 0.912 | 0.930 | 0.921 |
| SCHOOL | 0.980 | 1.000 | 0.990 |
| URL | 0.826 | 0.900 | 0.861 |
| USER_ID | 0.715 | 0.880 | 0.789 |
| VEHICLE_NUMBER | 0.807 | 0.880 | 0.842 |
| WEIGHT | 0.883 | 0.980 | 0.929 |
| WORKPLACE | 0.907 | 0.980 | 0.942 |
| ZIPCODE | 0.841 | 0.900 | 0.870 |
๊ณ„์‚ฐ์— ์‚ฌ์šฉํ•œ TP/FP/FN๊ณผ ์ „์ฒด ์†Œ์ˆ˜์  ๊ฐ’์€ `per_label_metrics.json`, ์›์‹œ ํ‰๊ฐ€ ๊ฒฐ๊ณผ๋Š” `raw_evaluation_results.json`์— ์žˆ์Šต๋‹ˆ๋‹ค.
## Confidence ์ž„๊ณ„๊ฐ’
`label_thresholds.json`๊ณผ `threshold_policy.json`์—๋Š” ๋ณ„๋„์˜ ํ•ฉ์„ฑ calibration ์„ธํŠธ 3,960๋ฌธ์„œ์—์„œ ๊ณ„์‚ฐํ•œ ๋ผ๋ฒจ๋ณ„ low/high ๊ฐ’์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ๋ชจ๋ธ F1 ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์˜ˆ์ธก confidence๋ฅผ ํ›„์† ์ฒ˜๋ฆฌํ•  ๋•Œ ์ฐธ๊ณ ํ•˜๋Š” ๋ณด์ˆ˜์  ์ •์ฑ…์ž…๋‹ˆ๋‹ค.
๊ธฐ์กด ๊ฒฝ๋กœ์ธ `label_thresholds_calibration_v1.json`์€ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  ์ƒˆ ํŒŒ์ผ ์œ„์น˜๋ฅผ ์•Œ๋ ค ์ฃผ๋Š” ํ˜ธํ™˜์„ฑ ์•ˆ๋‚ด ํŒŒ์ผ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์ž„๊ณ„๊ฐ’์€ ๋ฐ˜๋“œ์‹œ `label_thresholds.json` ๋˜๋Š” `threshold_policy.json`์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ดˆ๊ธฐ ์ •์ฑ…์—์„œ๋Š” low ๋ฏธ๋งŒ ํ›„๋ณด๋„ ์ž๋™ ํ๊ธฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Calibration์—์„œ ์—„๊ฒฉํ•œ ์กฐ๊ฑด์„ ํ†ต๊ณผํ•œ `EMAIL`, `NATIONALITY`, `SCHOOL`๋งŒ `0.999` ์ด์ƒ์—์„œ ์ž๋™ ์ฑ„ํƒ ๋Œ€์ƒ์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ์ถ”๊ฐ€ ๊ฒ€ํ† ๊ฐ€ ํ•„์š”ํ•œ ํ›„๋ณด๋กœ ๋‘ก๋‹ˆ๋‹ค. ์ƒˆ ๋…๋ฆฝ ์ตœ์ข… holdout์—์„œ ์ด ์ž๋™ ์ฑ„ํƒ ๊ตฌ๊ฐ„์˜ FP๋Š” 0๊ฑด์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์šด์˜ ๋ถ„ํฌ์—์„œ ๋กœ๊ทธ์™€ ์ •๋‹ต์ด ์ถฉ๋ถ„ํžˆ ์Œ“์ด๊ธฐ ์ „๊นŒ์ง€ low ๊ฐ’๋งŒ ๋ณด๊ณ  ํƒ์ง€ ํ›„๋ณด๋ฅผ ํ๊ธฐํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
## ํ•œ๊ณ„
- ํ•™์Šต ๋ฐ ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ฉ์„ฑ์ด๋ฏ€๋กœ ์‹ค์ œ ๊ฐœ์ธ์ •๋ณด, RAG ์‘๋‹ต, OCR ๋ฌธ์„œ, ์—…๋ฌด ๋„๋ฉ”์ธ์˜ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
- `NICKNAME`, `PARTICIPANT_ID`, `BLOOD_TYPE`, `EMPLOYEE_ID`, `USER_ID`๋Š” ์ตœ์ข… holdout์—์„œ ์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์•˜์Šต๋‹ˆ๋‹ค. ํŠนํžˆ `NICKNAME`์˜ raw F1์€ `0.383`์ด๋ฏ€๋กœ ์ž๋™ ํ™•์ •์— ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
- ์ด๋ฆ„ยท์†Œ์†ยท์ง๊ธ‰์ฒ˜๋Ÿผ ํ˜•ํƒœ๊ฐ€ ๊ณ ์ •๋˜์ง€ ์•Š์€ PII๋Š” ๋ฌธ๋งฅ๊ณผ ๋„๋ฉ”์ธ์˜ ์˜ํ–ฅ์„ ๋งŽ์ด ๋ฐ›์Šต๋‹ˆ๋‹ค.
- ์ •๊ทœ์‹ยท์ฒดํฌ์„ฌ์œผ๋กœ ํŒ๋ณ„ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ์  PII๋Š” NER ๊ฒฐ๊ณผ์™€ ๋ณ„๋„๋กœ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
- 512 ํ† ํฐ๋ณด๋‹ค ๊ธด ๋ฌธ์„œ๋Š” window ์ถ”๋ก ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
- ๋ชจ๋ธ ํ•˜๋‚˜๋งŒ์œผ๋กœ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋‚˜ ๋ฒ•์  ์ค€์ˆ˜๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.