# KPF-BERT-CLS1 - [빅카인즈랩](https://lab.bigkinds.or.kr/) 인사이드 메뉴의 지역뉴스에서 사용된 대분류 예측 모델이며 지역을 제외한 대분류 결과를 나타낸다. - 사용 방법에 대한 안내 및 코드는 [KPF-bigkinds github](https://github.com/KPF-bigkinds/BIGKINDS-LAB/tree/main/KPF-BERT-CLS)에서 확인할 수 있습니다. ## 모델 소개 ### KPF-BERT-CLS 한국언론진흥재단이 개발한 kpf-BERT 모델을 기반으로 CLS(Classification) task를 수행할 수 있는 kpf-BERT-cls 모델을 설계 및 개발하였다. - 본 예제에 사용된 kpf-BERT는 [kpfBERT](https://github.com/KPFBERT/kpfbert)에 공개되어 있다. - 본 예제에서는 대분류, 지역을 제외한 대분류들의 세분류, 지역 세분류로 구분하여 데이터를 학습한다. 학습데이터는 기사내용과 분류명을 넣어 제작하였다. 분류명은 아래의 분류체계를 따르며, 기사내용 + 대분류(지역제외) 데이터셋, 기사내용 + 세분류(지역제외) 데이터셋, 기사내용 + 지역세분류 데이터셋으로 나누어 학습을 진행했다. ![img](https://user-images.githubusercontent.com/87846939/221474119-7701e4e4-fe73-4b74-8f55-58d0853e5639.png) 한국언론진흥재단이 개발한 kpf-BERT를 기반으로 classification layer를 추가하여 kpf-BERT-cls 모델을 개발한다. kpf-BERT-cls 모델은 기사를 입력받아 kpf-BERT 토크나이저를 사용하여 해당 기사가 어느 클래스에 속하는지 예측한다. 기본 BERT 모델의 구조와 토크나이저는 아래의 그림과 같다. ![img_2](https://user-images.githubusercontent.com/87846939/221474169-552bba7c-0a05-4f3d-a90e-2ad8f9f69cba.png) ![img_3](https://user-images.githubusercontent.com/87846939/221474197-2b588cea-4d73-4caf-b451-b52a10ef966d.png) BERT는 입력 길이의 제한으로 512 subword 이하의 값만 입력받을 수 있다. 기사의 특성상 인터뷰 등의 글은 512 subword보다 긴 것이 대부분이다. 이를 해결하기 위해 본 과제에서는 stride를 주어 독립적으로 문서의 조각들을 처리한다. ![img_1](https://user-images.githubusercontent.com/87846939/221474214-4e760c55-ba53-4e08-9154-65c73afabca6.png) kpf-BERT-cls는 대분류 예측 모델, 세분류 예측 모델, 지역 세분류 예측 모델로 구성되어 있다. 대분류/세분류 예측 모델은 top-3 결과를 출력한다. ![img_4](https://user-images.githubusercontent.com/87846939/221474226-fb68c3aa-b45a-4bdf-9c10-a6c98b6451e8.png)