/ Модель

Характеристики

Контекст
512 токенов
Параметры
138 млн
Лицензия
MIT
Архитектура
bert · dense
Базовая модель
bert-base
Опубликована
25 июн 2026

kobert-article-classifier

Классификация текстаТекст → label3 профессии

Корейский BERT-классификатор определяет, подходит ли экономическая или финансовая статья для обучения детей до 13 лет.

28скачиваний за 30 дней0лайковвеса обновлены26 июн 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

maninglearchine разработала модель для бинарной классификации корейских экономических и финансовых статей: она определяет, подходят ли они для обучения детей до 13 лет. Модель основана на klue/bert-base и дообучена на 5 000 синтетических примерах с автоматически назначенными метками. Это BERT-классификатор последовательностей объёмом 137,8 млн параметров; метаданные указывают контекст до 512 токенов, однако в README рекомендовано подавать короткий текст длиной до 64 токенов.

Модель выдаёт одну из двух меток: «подходит» или «не подходит». Она предназначена для предварительной фильтрации статей по темам базовой экономики, финансовых понятий и сложных либо рискованных финансовых инструментов. Лицензия MIT разрешает свободное использование, изменение и распространение.

Обучение на шаблонных синтетических данных ограничивает перенос результатов на реальные новости с неоднозначным контекстом и смешанными темами. Указанные в README идеальные метрики получены на небольшом тестовом наборе и не подтверждают качество на реальных статьях; перед практическим применением рекомендуется дообучение на таких материалах.

Сценарии применения

  • фильтрация экономических статей для детского учебного контента
  • проверка новостных заголовков о финансовых инструментах на соответствие детской аудитории
  • разделение материалов о базовой экономике и сложных финансовых темах
  • предварительная модерация финансовых статей для детской образовательной платформы

Ограничения

Модель обучена на синтетических шаблонных данных, поэтому её качество на реальных новостях с неоднозначным контекстом может отличаться; перед внедрением рекомендуется дообучение на реальных статьях. README указывает оптимальную длину 64 токена и только два класса, без градации по возрасту.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

어린이 교육 적합성 경제·금융 기사 분류 모델

maninglearchine/kobert-article-classifier는 한국어 경제·금융 기사를 만 13세 이하 어린이의 학습 목적에 적합한지 자동으로 판별하는 이진 분류 모델입니다.

klue/bert-base를 GPT-4o-mini로 라벨링한 한국어 경제·금융 데이터 5,000건으로 파인튜닝했습니다.


라벨 체계

라벨ID설명예시 키워드
적절1어린이 학습에 적합한 기사저축, 용돈, 물가, 세금, 무역, 협동조합
부적절0어린이에게 부적합한 기사ELS, 레버리지, 공매도, DSR, 파생상품, 강제청산

적절 기준

  • 기초 경제 개념 (저축, 물가, 수요·공급, 세금의 역할 등)
  • 기업 성장 스토리, 창업 이야기
  • 환경경제, 공정무역, 사회적기업
  • 일상 속 경제 원리를 쉽게 설명한 콘텐츠

부적절 기준

  • 파생상품 (ELS, DLS, CFD, 선물·옵션)
  • 레버리지·공매도·마진콜 등 투기성 거래
  • 복잡한 금융 규제 (바젤Ⅲ, IFRS17, DSR 등)
  • 기업 구조조정·부도·법정관리

사용 방법

빠른 시작 (pipeline)

from transformers import pipeline

clf = pipeline(
    "text-classification",
    model="maninglearchine/kobert-article-classifier",
)

samples = [
    "용돈으로 배우는 저축의 첫걸음…어린이 경제교실 현장",
    "ELS 녹인 구간 진입…레버리지 투자자 강제청산 속출",
]

for text in samples:
    result = clf(text)
    print(f"{result[0]['label']} ({result[0]['score']:.3f}) | {text[:30]}")

# 출력 예시:
# 적절 (0.999) | 용돈으로 배우는 저축의 첫걸음…어린이
# 부적절 (0.998) | ELS 녹인 구간 진입…레버리지 투자자

상세 제어 (AutoModel)

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_id  = "maninglearchine/kobert-article-classifier"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model     = AutoModelForSequenceClassification.from_pretrained(model_id)
model.eval()

def classify(text: str, max_length: int = 64) -> dict:
    inputs = tokenizer(
        text,
        return_tensors="pt",
        truncation=True,
        padding="max_length",
        max_length=max_length,
    )
    with torch.no_grad():
        logits = model(**inputs).logits
    probs  = torch.softmax(logits, dim=-1)[0]
    label  = model.config.id2label[logits.argmax(-1).item()]
    return {
        "label":       label,
        "score":       probs.max().item(),
        "부적절_prob": probs[0].item(),
        "적절_prob":   probs[1].item(),
    }

texts = [
    "세금은 왜 내야 할까?…학교·도로·소방서가 만들어지는 비밀",
    "공매도 잔고 급증…타깃 종목 변동성 심화로 반대매매 위험 고조",
    "수요와 공급이란 무엇인가?…시장 가격이 결정되는 원리",
    "바젤Ⅲ 자본규제 강화…은행권 수조원 추가 적립 부담",
]

for text in texts:
    r = classify(text)
    print(f"[{r['label']}] 확률={r['score']:.3f} | {text[:35]}")

배치 처리 (Excel 파일)

from transformers import pipeline
import pandas as pd

clf = pipeline(
    "text-classification",
    model="maninglearchine/kobert-article-classifier",
    batch_size=32,
    device=-1,   # CPU 사용. GPU: device=0
)

df = pd.read_excel("articles.xlsx")
results = clf(df["기사본문"].tolist())

df["label"]      = [r["label"] for r in results]
df["confidence"] = [r["score"] for r in results]
df.to_excel("classified_articles.xlsx", index=False)

학습 정보

데이터셋

항목내용
원본 데이터한국어 경제·금융 기사 합성 데이터 5,000건
라벨링 방법GPT-4o-mini 자동 라벨링
클래스 분포적절(1): 2,500건 / 부적절(0): 2,500건 (50:50 균형)
학습 샘플균형 샘플링 2,000건 (클래스당 1,000건)
데이터 분할Train 1,600 / Val 200 / Test 200 (8:1:1, stratified)

학습 설정

Base Model   : klue/bert-base
Max Length   : 64 tokens
Batch Size   : 32
Epochs       : 3
LR           : 3e-5
Warmup       : 10% (warmup_ratio=0.1)
Weight Decay : 0.01
Optimizer    : AdamW
Eval Strategy: epoch (best model by F1 Macro)
Device       : CPU
학습 시간    : 약 26.6분 (1,598초)

Epoch별 학습 로그

EpochTrain LossVal LossVal AccuracyVal F1 Macro
10.12410.0004091.00001.0000
20.00890.0002331.00001.0000
30.00040.0002061.00001.0000

성능 평가

Test 셋 결과 (200건)

지표값
Accuracy1.0000 (100%)
F1 Macro1.0000
Precision (Macro)1.0000
Recall (Macro)1.0000
F1 (부적절)1.0000
F1 (적절)1.0000

Confusion Matrix

              예측: 부적절   예측: 적절
실제: 부적절      100           0
실제: 적절          0         100

TF-IDF 모델과 비교

모델F1 Macro학습 시간문맥 이해추가 학습
LR + Word TF-IDF1.00000.3초X어려움
LinearSVC + Word1.00000.2초X어려움
RandomForest1.00001.1초X어려움
KoBERT (본 모델)1.00001,598초O파인튜닝 가능

합성 데이터의 어휘 분리가 명확해 모든 모델이 100%를 달성했으나, 실제 뉴스 기사(복합 주제, 문맥 의존 표현)에서는 KoBERT가 훨씬 유리합니다.


한계점 및 주의사항

  • 합성 데이터 학습: 실제 뉴스 기사가 아닌 템플릿 기반 합성 데이터로 학습됐습니다. 실서비스 적용 전 실제 기사 데이터로 추가 파인튜닝을 권장합니다.
  • 최대 길이 64 토큰: 짧은 텍스트에 최적화되어 있습니다. 긴 기사는 제목 + 첫 단락만 입력하세요.
  • 이진 분류만 지원: 적절/부적절 두 클래스만 지원하며, 연령별 세분화 분류는 지원하지 않습니다.

추가 파인튜닝

from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import Trainer, TrainingArguments

model_id  = "maninglearchine/kobert-article-classifier"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model     = AutoModelForSequenceClassification.from_pretrained(model_id)

training_args = TrainingArguments(
    output_dir="./finetuned",
    num_train_epochs=2,
    per_device_train_batch_size=16,
    learning_rate=1e-5,   # 낮은 LR으로 점진적 파인튜닝
    eval_strategy="epoch",
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=your_train_dataset,
    eval_dataset=your_eval_dataset,
)
trainer.train()
model.push_to_hub("maninglearchine/kobert-article-classifier-v2")

라이선스

MIT License — 자유롭게 사용, 수정, 배포 가능합니다.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
70828f7

0 моделей