활용갤러리

KISTI 기계학습 데이터 공유·활용 예시를 보실 수 있습니다.

[2021년 연구데이터·AI 분석활용 경진대회 장려상] 계층적 다중 레이블 임베딩을 이용한 논문 문장 수사학적 분류

  • 2021.12.17 11:56

1.개요

 

  • 연구 배경
    • 국내 논문은 주로 연구 목적, 연구 방법, 연구 결과 등으로 크게 분류되어 있습니다.
    • 제공된 데이터셋의 의미 구조 분류 태그를 대분류, 문장 의미 세부 분류 태그를 세부분류로 나누었습니다.
    • 세부분류 태그의 데이터 불균형 문제를 해결하기 위해 대분류 정보를 학습한 모델을 구현하였습니다.

 

 

  • 제안 모델
    • 본 모델은 계층적 다중 레이블 임베딩을 이용한 논문 문장 수사학적 분류 모델입니다.
    • 사전 학습 언어모델과 BiLSTM, Attention, Label Embedding을 결합한 분류 모델입니다.
    • 세부분류 태그의 데이터 불균형 문제를 보완하고자 대분류와 세부분류를 동적결합하는 모델을 제안합니다.

 

 

2. 사용 방법

 

  • src/model/main.py 28 line
  • 원하는 mode를 설정해주고, checkpoint를 학습된 모델 파일을 참고하여 수정해야합니다.

 

  • 학습 방법
    config = {"mode": "train",
           "train_data_path": os.path.join(config.data_dir, "train.json"),
           "test_data_path":  os.path.join(config.data_dir, "test.json"),
           "analyze_data_path": os.path.join(config.data_dir, "sampling_data_5.txt"),
           "cache_dir_path": config.cache_dir,
           "model_dir_path": config.output_dir,
           "checkpoint": 0,

 

  • 평가 방법
    config = {"mode": "test",
           "train_data_path": os.path.join(config.data_dir, "train.json"),
           "test_data_path":  os.path.join(config.data_dir, "test.json"),
           "analyze_data_path": os.path.join(config.data_dir, "sampling_data_5.txt"),
           "cache_dir_path": config.cache_dir,
           "model_dir_path": config.output_dir,
           "checkpoint": N,

 

  • 데모 방법
   config = {"mode": "demo",
           "train_data_path": os.path.join(config.data_dir, "train.json"),
           "test_data_path":  os.path.join(config.data_dir, "test.json"),
           "analyze_data_path": os.path.join(config.data_dir, "sampling_data_5.txt"),
           "cache_dir_path": config.cache_dir,
           "model_dir_path": config.output_dir,
           "checkpoint": N,

 

 

3. 라이브러리

 

  •  numpy
  •  konlpy
  •  scikit-learn
  •  scipy
  •  sklearn
  •  tokenizers
  •  tqdm
  •  transformers==4.7.0
  •  urllib3
  •  utils
  •  torch==1.5.0
  •  seqeval
  •  tweepy==3.10.0
  •  tensorflow-gpu==2.2.0
  •  mecab-python3

 

 

4. 성능 및 효과
 

  • 성능
사전학습모델모델대분류 acro F1대분류 micro acc세부분류 macro F1세부분류 micro acc대/세부분류 micro acc
KorSciBERTLAN (세부분류)--89.8989.66-
LAN (대/세부분류)96.0295.5189.9589.8189.56
KLUE BERT-baseLAN (대/세부분류)95.5496.0589.7789.6389.46
KLUE roBERTa-baseLAN (대/세부분류)95.6496.1690.0095.8589.72
  • 효과
    • 세부분류 뿐만 아니라 대분류도 함께 예측 가능한 모델이며 대분류, 세부분류를 예측하는 모델은 macro F1 95.64%, 90%의 성능을 보입니다.

 

5. 대분류/세부분류 예측 결과

 

 

6. 참고문헌
 

 

 

첨부파일

발표자료.pdf ( 510.00 KB )

소스코드.zip ( 10.00 KB )

등록자로그인 후 댓글 작성이 가능합니다.