Model Description

  • Developed by: κΉ€μƒν˜„ / SANGHYUN KIM
  • Finetuned from model [monologg/koelectra-base-v3-discriminator], trained with [klue/klue] dataset.
  • 상세 μŠ€νŽ™κ³Ό ν•™μŠ΅ ν™˜κ²½μ€ ν›„μˆ 

Usage

Load model and tokenizer

from transformers import AutoTokenizer, AutoModelForTokenClassification

>>> model_path = "skimb22/koelectra-ner-klue-test1"
>>> model = AutoModelForTokenClassification.from_pretrained(model_path)
>>> tokenizer = AutoTokenizer.from_pretrained(model_path)

Define NER Label list

>>> label_list = ['B-DT', 'I-DT', 'B-LC', 'I-LC', 'B-OG', 'I-OG', 'B-PS', 'I-PS', 'B-QT', 'I-QT', 'B-TI', 'I-TI', 'O']
>>> label2id = {label: i for i, label in enumerate(label_list)}
>>> id2label = {i: label for i, label in enumerate(label_list)}

Test with [klue] NER validation datasets.

from datasets import load_dataset
import random
import torch

dataset = load_dataset("klue/klue", "ner")
val_data = dataset["validation"]

samples = random.sample(list(val_data), 10)

for idx, sample in enumerate(samples):
    tokens = sample["tokens"]
    gold_labels = [label_list[tag] for tag in sample["ner_tags"]]

    # tokenizer, model λ³€μˆ˜ 쀀비돼 μžˆμ–΄μ•Ό 함. (Load model and tokenizer μ°Έκ³ )
    inputs = tokenizer(tokens, is_split_into_words=True, return_tensors="pt", truncation=True)
    word_ids = inputs.word_ids()
    with torch.no_grad():
        outputs = model(**inputs).logits
    preds = torch.argmax(outputs, dim=-1)[0].tolist()

    print(f"\nπŸ”Ή Sample {idx + 1}: {' '.join(tokens)}")
    print("Token\tGold\tPred")

    seen = set()
    for i, word_idx in enumerate(word_ids):
        if word_idx is None or word_idx in seen:
            continue
        seen.add(word_idx)

        token = tokens[word_idx]
        gold = gold_labels[word_idx]
        pred_id = preds[i]
        pred = label_list[pred_id] if pred_id < len(label_list) else "O"
        if gold == pred:
            print(f"{token}\t{gold}\t{pred} βœ…")
        else:
            print(f"{token}\t{gold}\t{pred} ❌")

Sample Output

Sample Output
πŸ”Ή Sample 3: 제 2 μ™Έ κ΅­ μ–΄ / ν•œ λ¬Έ 은   9 κ³Ό λͺ©   쀑   8 κ³Ό λͺ© 이   7 0 . 0 % 이 μ§€ 만   λ‹€ λ¬Έ ν™” κ°€ μ •   자 λ…€ λ₯Ό   μœ„ ν•΄   처 음   도 μž… 된   κΈ° 초 λ²  트 남 μ–΄ 의   μ—° 
계 율 은   7 3 . 3 %   λ‹€ .
Token   Gold    Pred
제      B-QT    B-QT βœ…
2       I-QT    I-QT βœ…
μ™Έ      O       O βœ…
κ΅­      O       O βœ…
μ–΄      O       O βœ…
/       O       O βœ…
ν•œ      O       O βœ…
λ¬Έ      O       O βœ…
은      O       O βœ…
9       B-QT    B-QT βœ…
κ³Ό      I-QT    I-QT βœ…
λͺ©      I-QT    I-QT βœ…
쀑      O       O βœ…
8       B-QT    B-QT βœ…
과      I-QT    O ❌
λͺ©      I-QT    O ❌
이      O       O βœ…
7       B-QT    B-QT βœ…
0       I-QT    I-QT βœ…
.       I-QT    I-QT βœ…
0       I-QT    I-QT βœ…
%       I-QT    I-QT βœ…
이      O       O βœ…
μ§€      O       O βœ…
만      O       O βœ…
λ‹€      O       O βœ…
λ¬Έ      O       O βœ…
ν™”      O       O βœ…
κ°€      O       O βœ…
μ •      O       O βœ…
자      O       O βœ…
λ…€      O       O βœ…
λ₯Ό      O       O βœ…
μœ„      O       O βœ…
ν•΄      O       O βœ…
처      O       O βœ…
음      O       O βœ…
도      O       O βœ…
μž…      O       O βœ…
된      O       O βœ…
κΈ°      O       O βœ…
초      O       O βœ…
λ²       O       O βœ…
트      O       O βœ…
남      O       O βœ…
μ–΄      O       O βœ…
의      O       O βœ…
μ—°      O       O βœ…
계      O       O βœ…
율      O       O βœ…
은      O       O βœ…
7       B-QT    B-QT βœ…
3       I-QT    I-QT βœ…
.       I-QT    I-QT βœ…
3       I-QT    I-QT βœ…
%       I-QT    I-QT βœ…
λ‹€      O       O βœ…
.       O       O βœ…

Training Hyperparameters

The following hyperparameters were used during training:

learning_rate: 5e-5
per_device_train_batch_size: 16
per_device_eval_batch_size: 16
weight_decay: 0.01
num_train_epochs: 3

Evaluation

tag   precision   recall   f1-score   support
DT         0.81     0.86       0.84      2312
LC         0.66     0.71       0.68      1649
OG         0.67     0.73       0.70      2182
PS         0.84     0.84       0.84      4418
QT         0.89     0.92       0.91      3151
TI         0.86     0.91       0.88       545

      result   precision   recall   f1-score   support
   micro avg        0.80     0.83       0.82     14257
   macro avg        0.79     0.83       0.81     14257
weighted avg        0.80     0.83       0.82     14257

Testing Data

[https://huggingface.co/datasets/klue/klue] - NER Datasets - validation

Downloads last month
4
Safetensors
Model size
0.1B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for skimb22/koelectra-ner-klue-test1

Finetuned
(101)
this model

Dataset used to train skimb22/koelectra-ner-klue-test1

Evaluation results