ํ•œ๊ตญ ์—ญ์‚ฌ ์ง€๋ช… ๊ฐœ์ฒด๋ช… ์ธ์‹ ๋ชจ๋ธ (Korean Historical Place-Name NER)

ํ•œ๊ตญ ๊ณ ์ „ ํ•œ๋ฌธ ์‚ฌ๋ฃŒ์—์„œ ์ง€๋ช… ๊ฐœ์ฒด๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฐœ์ฒด๋ช… ์ธ์‹(NER) ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ๊ตญ์‚ฌํŽธ์ฐฌ์œ„์›ํšŒ ํ•œ๊ตญ์‚ฌ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒ‰์ธ XML ํƒœ๊ทธ๋ฅผ ํ•™์Šต ์ •๋‹ต(gold label)์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ธฐ๋ฐ˜ ๋ชจ๋ธ๋กœ ๊ณ ์ „ ํ•œ๋ฌธ์— ํŠนํ™” ์‚ฌ์ „ํ•™์Šต๋œ SikuRoBERTa๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ์ €์žฅ์†Œ๋Š” ํ•™์Šต ์ถœ์ฒ˜ ๊ตฌ์„ฑ์ด ๋‹ค๋ฅธ ๋‘ ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ํ•จ๊ป˜ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ชจ๋ธ์€ ์ƒ๋ณด์  ํŒ์ • ์–‘์ƒ์„ ์ง€๋‹ˆ๋ฉฐ, ์ถœ๋ ฅ์„ ๊ฐœ์ฒด ์ˆ˜์ค€์—์„œ ๊ฒฐํ•ฉํ•˜๋Š” ์•™์ƒ๋ธ”(ํ•ฉ์ง‘ํ•ฉ + ๊ฒน์นจ ์ตœ์žฅ) ๊ตฌ์กฐ๋กœ ์žฌํ˜„๊ณผ ์ •๋ฐ€์„ ํ•จ๊ป˜ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค.

  • ์†Œ์Šค ์ฝ”๋“œยทํŒŒ์ดํ”„๋ผ์ธ: GitHub
  • ๊ด€๋ จ ๋…ผ๋ฌธ: ์–‘์ •ํ˜„, 2026, ใ€Œ์ƒ‰์ธ XML ์‚ฌ๋ฃŒ๋ฅผ ํ™œ์šฉํ•œ ํ•œ๊ตญ ์—ญ์‚ฌ ์ง€๋ช… ๊ฐœ์ฒด๋ช… ์ธ์‹ ๋ชจ๋ธ์˜ ๊ตฌ์ถ•ใ€, ใ€Žํ•œ๊ตญ์‚ฌํ•™๋ณดใ€104

๋ชจ๋ธ ๊ตฌ์„ฑ

ํŒŒ์ผ ๋ชจ๋ธ ํ•™์Šต ์ถœ์ฒ˜ ์„ฑ๊ฒฉ
sjw_sillok.ckpt ์Šน์ •์›์ผ๊ธฐยท์‹ค๋ก ๋ชจ๋ธ ์กฐ์„ ์™•์กฐ์‹ค๋กยท์Šน์ •์›์ผ๊ธฐยท๊ณ ์ˆœ์ข…์‹ค๋ก ๊ณ ์žฌํ˜„ยท์ €์ •๋ฐ€
jonghap.ckpt ์ข…ํ•ฉ ๋ชจ๋ธ ์œ„ + ํ•œ๊ตญ์‚ฌ๋ฃŒ์ด์„œยท๊ณ ๋ ค์‚ฌยท๊ณ ๋ ค์‚ฌ์ ˆ์š”ยท์‚ผ๊ตญ์‚ฌ๊ธฐยท์‚ผ๊ตญ์œ ์‚ฌ ์ €์žฌํ˜„ยท๊ณ ์ •๋ฐ€
  • ์•„ํ‚คํ…์ฒ˜: SikuRoBERTa(108M) + Dropout + Linear(hiddenโ†’3). ๋ฌธ์ž ๋‹จ์œ„ BIO(0=O, 1=B-LOC, 2=I-LOC).
  • ์†์‹ค: CrossEntropyLoss(ignore_index=-100). ํ•™์Šต: bf16-mixed, 3 epochs, lr 2e-5(AdamW), ์œ ํšจ ๋ฐฐ์น˜ 160.

์„ฑ๋Šฅ (์ž์ฒด ๊ฒ€์ฆ์…‹, span exact match)

๋ชจ๋ธ F1 Precision Recall
์Šน์ •์›์ผ๊ธฐยท์‹ค๋ก ๋ชจ๋ธ 0.9049 0.8982 0.9118
์ข…ํ•ฉ ๋ชจ๋ธ 0.8915 0.8803 0.9030

ํ‰๊ฐ€ ๋‹จ์œ„๋Š” ํ† ํฐ์ด ์•„๋‹ˆ๋ผ ๊ฐœ์ฒด ์™„์ „ ์ผ์น˜์ž…๋‹ˆ๋‹ค. O ๋ผ๋ฒจ์ด ์•ฝ 98.3%๋ฅผ ์ฐจ์ง€ํ•˜์—ฌ ํ† ํฐ micro F1์ด ์„ฑ๋Šฅ์„ ๋ถ€ํ’€๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‘ ๋ชจ๋ธ์˜ ๊ฒ€์ฆ์…‹์€ ๊ตฌ์„ฑ์ด ๋‹ฌ๋ผ(์Šน์ •์›์ผ๊ธฐยท์‹ค๋ก val์€ ์ˆœ์ˆ˜ ์—ฐ๋Œ€๊ธฐ, ์ข…ํ•ฉ val์€ 7์ข… ์ „์ฒด) F1์„ ์ง์ ‘ ๋น„๊ตํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

ํ•™์Šต ์ž๋ฃŒ: 1,334๊ฐœ ํŒŒ์ผ, ์ด ํ•œ์ž 293,652,373์ž, ์ง€๋ช… ๊ฐœ์ฒด 2,075,132๊ฐœ, ๊ณ ์œ  ์ง€๋ช… 94,846์ข….

์‚ฌ์šฉ๋ฒ•

์ด ๋ชจ๋ธ์€ ํ‘œ์ค€ AutoModelForTokenClassification์ด ์•„๋‹ˆ๋ผ SikuRoBERTa ์ธ์ฝ”๋” ์œ„์— 3-ํด๋ž˜์Šค ์„ ํ˜• ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ์–น์€ ๊ตฌ์กฐ๋กœ, PyTorch Lightning ์ฒดํฌํฌ์ธํŠธ(.ckpt)๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ๋กœ๋”ฉยท์ถ”๋ก ยท์•™์ƒ๋ธ” ๋ณ‘ํ•ฉ์€ GitHub ์ €์žฅ์†Œ์˜ NER_model_loader.py์™€ 4_NER_์ถ”๋ก _txt.py๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ‘œ์ค€์ž…๋‹ˆ๋‹ค.

huggingface-cli download yachagye/korean-historical-placename-ner sjw_sillok.ckpt jonghap.ckpt --local-dir ./ckpt
python 4_NER_์ถ”๋ก _txt.py   # ๋ชจ๋“œยท์ž…๋ ฅ ๋ฐฉ์‹ ์„ ํƒ ํ›„ ๋‘ ckpt ์ง€์ • โ†’ ํ†ตํ•ฉ๋ณธ ์ƒ์„ฑ

๊ตฌ์กฐ ์ฐธ๊ณ (์ถ”๋ก  ์‹œ ๋ฌธ์ž ๋‹จ์œ„ ์ž…๋ ฅ, word_ids ์ •๋ ฌ, ์—„๊ฒฉ BIO ๋ณต์›, ๊ฐœ์ฒด ์™„์ „ ์ผ์น˜ ์ฑ„์ ):

import torch
from transformers import AutoTokenizer, AutoModel

tok = AutoTokenizer.from_pretrained("SIKU-BERT/sikuroberta")
enc = AutoModel.from_pretrained("SIKU-BERT/sikuroberta")
classifier = torch.nn.Linear(enc.config.hidden_size, 3)   # 0=O, 1=B-LOC, 2=I-LOC
# ckpt์˜ state_dict์—์„œ ์ธ์ฝ”๋”ยท๋ถ„๋ฅ˜๊ธฐ ๊ฐ€์ค‘์น˜๋ฅผ ๋ณต์› (NER_model_loader.py ์ฐธ์กฐ)

์ถœ๋ ฅ์€ ์ง€๋ช… ๊ฐœ์ฒด๋ฅผ ๋Œ€๊ด„ํ˜ธ [ ]๋กœ ํ‘œ์‹œํ•œ ํ•œ๋ฌธ ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

[็ซนๅฑฑ็ธฃ]
ๆฑ่‡ณ[้™ฐ็ซน็ธฃ]็•ŒไบŒๅไบŒ้‡Œ๏ผŒๅ—่‡ณ[ๅฟ ๆทธ้“][้Žญๅท็ธฃ]็•ŒไบŒๅๅ…ญ้‡Œ๏ผŒ่ฅฟ่‡ณ[ๅฎ‰ๅŸŽ้ƒก]็•ŒไบŒๅไธ‰้‡Œโ€ฆ

์•™์ƒ๋ธ”ยท๊ฒ€์ˆ˜

  • ํ•ฉ์ง‘ํ•ฉ: ๋‘ ๋ชจ๋ธ span์„ ๋ชจ๋‘ ํ›„๋ณด๋กœ โ†’ ๋ˆ„๋ฝ ๋ณต๊ตฌ(์žฌํ˜„).
  • ๊ฒน์นจ ์‹œ ์ตœ์žฅ: ๊ฒน์น˜๋Š” span์€ ๊ฐ€์žฅ ๋„“์€ ๊ฒƒ ํ•˜๋‚˜๋งŒ โ†’ ๊ฒฝ๊ณ„ ์ •๋ฐ€.
  • ๋‹จ๊ณ„์  ๊ฒ€์ˆ˜: ์ž๋™ ๋ณ‘ํ•ฉ โ†’ ์ˆ˜๋™ ๊ฒ€์ˆ˜ โ†’ ์ง€๋ช…DB ์ตœ์žฅ์ผ์น˜ ๋ณด์กฐ ๊ฒ€์ˆ˜.

ํ•œ๊ณ„

  • ๋ถ„ํ•  ์ž”์—ฌ ๋‹จํŽธ(่ทฏยทๅ…งยท่ฅฟ ๋“ฑ ๋น„์ง€๋ช… 1๊ธ€์ž)๊ณผ ์„ ํ–‰ ํ—ˆ์‚ฌ ํก์ˆ˜(้šท ๋ฅ˜)๊ฐ€ ํ†ตํ•ฉ๋ณธ์— ๋‚จ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ง€๋ช… ๊ฒฝ๊ณ„๊ฐ€ ๋ณธ๋ž˜ ํ™•์ •์ ์ด์ง€ ์•Š์€ ์ž๋ฃŒ ํŠน์„ฑ์˜ ํ‘œ๋ฉดํ™”๋กœ, ๋‹ค์šด์ŠคํŠธ๋ฆผ ์ •์ œ์—์„œ ๊ฑฐ๋ฆ…๋‹ˆ๋‹ค.
  • ๋‹จ์Œ์ ˆ ์ง€๋ช…(ไบฌ ๋“ฑ)์€ ๋ฌธ๋งฅ ์˜์กด ํŒ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ•™์Šต ๋ฐ์ดํ„ฐยท์ถœ์ฒ˜

๊ตญ์‚ฌํŽธ์ฐฌ์œ„์›ํšŒ ํ•œ๊ตญ์‚ฌ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ‰์ธ XML ์‚ฌ๋ฃŒ. ์›๋ณธ์€ ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ณธ ์ €์žฅ์†Œ๋Š” ์›๋ณธ ์‚ฌ๋ฃŒ๋ฅผ ์žฌ๋ฐฐํฌํ•˜์ง€ ์•Š๊ณ  ํŒŒ์ƒ ๊ฐ€์ค‘์น˜๋งŒ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค.

์ธ์šฉ

@article{yang_placename_ner,
  author  = {์–‘์ •ํ˜„},
  title   = {์ƒ‰์ธ XML ์‚ฌ๋ฃŒ๋ฅผ ํ™œ์šฉํ•œ ํ•œ๊ตญ ์—ญ์‚ฌ ์ง€๋ช… ๊ฐœ์ฒด๋ช… ์ธ์‹ ๋ชจ๋ธ์˜ ๊ตฌ์ถ•},
  journal = {ํ•œ๊ตญ์‚ฌํ•™๋ณด},
  number  = {104},
  year    = {2026},
  note    = {๋ฉด์ˆ˜ยทDOI ํ™•์ • ์‹œ ๊ฐฑ์‹  ์˜ˆ์ •}
}

๋ผ์ด์„ ์Šค

Apache-2.0. ๊ธฐ๋ฐ˜ ๋ชจ๋ธ SikuRoBERTa๊ฐ€ Apache-2.0์œผ๋กœ ๋ฐฐํฌ๋˜๋ฏ€๋กœ(2026๋…„ 7์›” ํ™•์ธ), ํŒŒ์ƒ ๊ฐ€์ค‘์น˜๋„ ๋™์ผ ๋ผ์ด์„ ์Šค๋กœ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค. Apache-2.0์— ๋”ฐ๋ผ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์˜ ๋ผ์ด์„ ์Šคยท์ €์ž‘๊ถŒ ๊ณ ์ง€๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๊ฐœ์กฐ ๋‚ด์—ญ์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค(์ €์žฅ์†Œ NOTICE ์ฐธ์กฐ). ํ•™์Šต์— ์‚ฌ์šฉํ•œ ์ƒ‰์ธ XML ์‚ฌ๋ฃŒ๋Š” ์žฌ๋ฐฐํฌํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์›๋ณธ์€ ๊ตญ์‚ฌํŽธ์ฐฌ์œ„์›ํšŒยท๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์˜ ์ด์šฉ ์กฐ๊ฑด์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for yachagye/korean-historical-placename-ner

Finetuned
(2)
this model