Skip to content

빅카인즈가 보유한 7천 8백만건의 뉴스데이터를 학습데이터로 활용한 한국언론진흥재단의 BERT 언어모델입니다. KPF-BERT is BERT language model of the Korea Press Foundation, which uses 78 million News data held by 'Bigkinds' as learning data.

License

Notifications You must be signed in to change notification settings

KPF-bigkinds/KPF-BERT

 
 

Repository files navigation

KPF BERT

사용방법

Step 1. Installation

python>3.6 이어야 함

pip3 install torch>=1.4.0
pip3 install transformer>=4.9.2

Step 2. Load Tokenizer, Model

from transformers import BertModel, BertTokenizer

model_name_or_path = "LOCAL_MODEL_PATH"  # Bert 바이너리가 포함된 디렉토리

model = BertModel.from_pretrained(model_name_or_path, add_pooling_layer=False)
tokenizer = BertTokenizer.from_pretrained(model_name_or_path

Step 3. Tokenizer

>>> text = "언론진흥재단 BERT 모델을 공개합니다."
>>> tokenizer.tokenize(text)
['언론', '##진흥', '##재단', 'BE', '##RT', '모델', '##을', '공개', '##합니다', '.']
>>> encoded_input = tokenizer(text)
>>> encoded_input
{'input_ids': [2, 7392, 24220, 16227, 28024, 21924, 7522, 4620, 7247, 15801, 518, 3],
 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}

Step 4. Model Inference

>>> import torch
>>> model.eval()
>>> pt_encoded_input = tokenizer(text, return_tensors="pt")
>>> model(**pt_encoded_input, return_dict=False)
(tensor([[[-4.1391e-01,  7.3169e-01,  1.1777e+00,  ...,  1.2273e+00, -4.1275e-01,  2.4145e-03],
          [ 1.6289e+00, -1.9552e-01,  1.6454e+00,  ...,  2.5763e-01, 1.7823e-01, -7.6751e-01],
          [ 7.4709e-01, -4.1524e-01,  3.0054e-01,  ...,  1.1636e+00, -2.3667e-01, -1.0005e+00],
          ...,
          [-7.9207e-01, -2.9005e-01,  1.7217e+00,  ...,  1.5060e+00, -2.3975e+00, -4.3733e-01],
          [-4.1402e-01,  7.3164e-01,  1.1777e+00,  ...,  1.2273e+00, -4.1289e-01,  2.3552e-03],
          [-4.1386e-01,  7.3167e-01,  1.1776e+00,  ...,  1.2273e+00, -4.1259e-01,  2.5745e-03]]],
          grad_fn=<NativeLayerNormBackward>), None)

총 5개의 모델에 대해서 평가 작업 수행

Sequence Classification 성능 측정 결과 비교 (10/22/2021):

구분 NSMC KLUE-NLI KLUE-STS
데이터 특징 및 규격 영화 리뷰 감점 분석, 학습 150,000 문장, 평가: 50,000문장 자연어 추론, 학습: 24,998 문장 평가: 3,000 문장 (dev셋) 문장 의미적 유사도 측정, 학습: 11,668 문장 평가: 519 문장 (dev셋)
평가방법 accuracy accuracy Pearson Correlation
KPF BERT 91.29% 87.67% 92.95%
KLUE BERT 90.62% 81.33% 91.14%
KorBERT Tokenizer 90.46% 80.56% 89.85%
KoBERT 89.92% 79.53% 86.17%
BERT base multilingual 87.33% 73.30% 85.66 %

Question Answering 성능 측정 결과 비교 (10/22/2021):

구분 KorQuAD v1 KLUE-MRC
데이터 특징 및 규격 기계독해, 학습: 60,406 건 평가: 5,774 건 (dev셋) 기계독해, 학습: 17,554 건 평가: 5,841 건 (dev셋)
평가방법 Exact Match / F1 Exact Match / Rouge W
KPF BERT 86.42% / 94.95% 69.51 / 75.84%
KLUE BERT 83.84% / 93.23% 61.91% / 68.38%
KorBERT Tokenizer 20.11% / 82.00% 30.56% / 58.59%
KoBERT 16.85% / 71.36% 28.56% / 42.06 %
BERT base multilingual 68.10% / 90.02% 44.58% / 55.92%

KPF BERT 활용 사례

  • KPFBERTSUM (https://github.com/KPFBERT/kpfbertsum)
    • KpfBertSum은 Bert 사전학습 모델을 이용한 텍스트 요약 논문 및 모델인 PRESUMM모델을 참조하여 한국어 문장의 요약추출을 구현한 한국어 요약 모델이다.
    • 한국언론진흥재단에서 구축한 방대한 뉴스기사 코퍼스로 학습한 kpfBERT를 이용하여 특히 뉴스기사 요약에 특화된 모델이다.

About

빅카인즈가 보유한 7천 8백만건의 뉴스데이터를 학습데이터로 활용한 한국언론진흥재단의 BERT 언어모델입니다. KPF-BERT is BERT language model of the Korea Press Foundation, which uses 78 million News data held by 'Bigkinds' as learning data.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published