ML & DL/논문

[논문리뷰] 한국어 기술문서 분석을 위한 BERT 기반의 분류모델

본 게시물은 2021.05.19. 에 작성되었으며, 블로그를 이전하며 현재 날짜로 등록되었습니다.
본 게시물은 한국어 기술문서 분석을 위한 BERT 기반의 분류모델 를 공부하며, 요약 및 번역 정리한 내용입니다.

0. ABSTRACT

  • 텍스트마이닝 기법은 문서의 특징을 직접 추출해야 하는 한계점이 있다.
  • 딥러닝 기반의 BERT모델을 활용해 문서의 특징을 자동 추출한다.
  • 추출한 특징은 문서 분류에 활용한다.
  • BERT를 활용한 국가 R&D 과제의 중분류 코드 예측 모델 생성 및 성능 평가

1. TASK

1) NTIS : 국가과학기술종합정보시스템

국가연구개발사업에 대한 정보를 관리
국가 R&D 과제 현황 관리, 효율적 정보 처리를 위해 분류정보를 제공

해당 분류정보는 연구자들의 주관적인 의견이 반영된다.
연구에 대한 분류 기준이 주관적이기에 데이터 기반R&D 과제 분류 필요성이 대두됨

2) 텍스트 마이닝

기술문서 분류의 대표적 방법
SVM(soft vector machine), KNN(k-nearest neighborhood) 등의 알고리즘

  • 추출요약 한계
  • 각 기술 문서의 내용을 요약하는 특징을 직접 추출해야 함
  • 키워드 동시 발생빈도, 네트워크 분석 등의 방법을 이용
    → 핵심문장, 키워드의 특징을 밝히지 못한다.
  • 최초 분석에 사용되지 않은 신규 문서에 대한 적용이 어려움

추출요약의 한계로 인해 생성요약 기법에 대한 요구가 증대됨
→ bert가 생성요약 기법인가...? 아니다.

3) 연구 목적

  • 한국어 데이터로 학습된 BERT모델 사용
  • 인공지능분과, 지능형로봇 분과에 해당되는 국가과제의 중분류기술명을 예측

2. 관련 연구

1) TRANSFORMER

주어진 데이터를 한 번에 입력, 처리함으로써 데이터 처리를 병렬화

2) BERT

최근 자연어 처리 분야에서 딥러닝 기반 모델들의 괄목할 만한 성과

  • 딥러닝 기반 모델의 자연어 처리
  • 자동적으로 문서 특징을 추출 및 표현
  • 기술문서 분류에도 활용되고 있음

BERT

  • 자연어의 범용적인 수치 표현 제공
  • 대용량 데이터로부터 주변 의미 정보를 반영한 특징 벡터를 학습
  • 다양한 과제에 적용 가능
  • 맥락에 맞는 특정 단어의 임베딩 벡터 출력 →문서의 특징(벡터)
  • 문맥을 고려한 모델
  • 사전 학습 과정에서 대용량 데이터로부터 좋은 임베딩을 미리 학습함
  • 해당 연구에서는 [CLS] 토큰에 해당되는 출력 벡터가 문서 단위의 분류 예측 벡터가 된다.

3. 데이터셋

1) 데이터 구성

  • [국문과제명, 연구목표요약, 연구내용요약, 과제의 한글키워드] 로 이루어져 있으며, 해당 속성들을 하나의 문장으로 취급

2) 데이터 전처리

  • 특수 기호 등 제거
  • 숫자가 아닌 중분류기술명인 경우는 제외(10개)

3) 데이터셋

  • 인공지능 분과 기술문서 : 4,159 개
  • 지능형로봇 분과 기술문서 : 2,959 개

전처리 후 총 7,108개의 데이터

  • 학습 데이터 : 4,976 개
  • 테스트 데이터 : 2,132 개 (전체 데이터의 30%)

4) 타겟 (label)

  • 중분류기술명 33개

4. 모델 (방법론)

1) model summary

  • KoBERT 모델 사용
    • SK TBrain에서 공개한 한국어 BERT모델
    • 500만 개 이상의 문장으로 구성된 한국어 위키, 2천만 개 이상의 문장으로 구성된 한국어 뉴스 데이터로 학습
    • 사전 크기 : 8,002
    • SentencePiece tokenizer 알고리즘을 사용
  • dropout = 0.1
  • Adam optimizer = 0.00005
  • 50 epochs
  • minibatch = 32
  • 손실함수
    : 33개의 중분류 기술명에 속하는지 여부
    • 개별 중분류 기술명에 속하는지 여부 → 이진 분류 문제
    • positive 클래스에 대해 가중치를 부여하는 방식
    • 최적의 가중치 = 3 (반복 실험을 통해 결정)

2) 실험 결과

개별 요소 단위, 기술분류 단위, 문서 단위로 나누어 평가
accuracy, f-score, precision, recall을 평가 지표로 사용

  • (1) 개별요소 단위 : 개별 테스트 기술문서에 대한 33개의 예측 값(이진 분류)을 독립적으로 평가
    • 2,132개의 테스트 기술문서는 총 70,356 개의 예측값을 갖는다.
    • 이 중 Positive 클래스가 5,035개로 클래스 불균형을 알 수 있다.
    • image

클래스 불균형, 개별 기술문서가 속하는 기술분류의 수가 적다는 점을 고려하면
평균 0.5 이상의 우수한 예측 성능으로 판단 가능

  • (2) 기술분류 단위
    : 총 33개의 기술분류에 대한 예측 성능 평가
    • 각 기술분류의 f-score, precision, recall을 계산, 평균값을 산출함
      • 가장 많은 문서가 속한 기술분류 : 딥러닝
      • 가장 적은 문서가 속한 기술분류 : 미세먼지 저감

image

기술분류 단위의 테스트 데이터 분포 시각화

→평균적으로 0.5 이상의 성능을 보임

image

기술분류 별 f-score 시각화
특징이 뚜렷한 '정밀의료', 'ai기반 금융'등의 분류가 가장 성능이 높으며, 특징이 모호한 '복합지능' 기술에 대한 점수가 낮다.

  • (3) 문서 단위
    : 개별 문서가 속한 기술분야의 수를 기준으로 평가
    • 각 문서가 속한 기술분야는 중복이 가능하다.

image

속한 기술분야의 수를 분포로 나타냄
  • 1~3개의 기술분야에 속하는 문서가 전체의 79.6%이다.
  • 1개의 기술분야에 속하는 문서들의 경우, 예측이 오답일 경우 precision, recall 모두 0이 된다.
  • 또한 전체 기술분야는 33개이다.

위 사실들을 고려했을 때 일정수준 이상의 예측력이라고 볼 수 있다.

image

개별문서단위의 f-score 분포

→ f-score가 0인 문서가 535개이고, 이 중 334개의 문서가 1개의 기술분야에 속한다.

5. 결론

  • 7,000건 이상의 국가과제기술문서의 33개의 기술분류를 각각 예측하는 task
  • 데이터와 과제의 특성을 고려하면 평균 0.5 이상의 f-score, 평균 정밀도 값을 볼 수 있었음
  • 유의미한 성능이며, 한국어 BERT 기반 분류 모델을 이용한 기술문서 분류 과제 해결이 가능함을 확인함

한계

  • 기술문서의 속성을 하나의 문장으로 처리함
  • 학습 데이터 수의 부족
반응형