wogkr810 / Boostcamp-RE-Data-Annotation

네이버 부스트캠프 | '러시아-우크라이나 전쟁' 키워드로 Relation Extraction(RE) Task 데이터 제작

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RE 데이터 제작(러시아-우크라이나 전쟁) - NLP 9조(MnM)

네이버 부스트캠프 AI Tech 3기 P-Stage(Level 2) NLP 데이터제작을 위해 작성된 문서입니다. 해당 Competition에서는 실제 위키피디아 원시 말뭉치를 활용하여 직접 RE Task에 쓰이는 주석 코퍼스를 만들며, 한국어 및 다른 언어에서의 자연어처리 데이터셋의 유형 및 포맷이 어떠한지, 그리고 데이터셋을 구축하는 일반적인 프로세스가 무엇인지 학습합니다.

Table of Contents

  1. MnM Team Introduction
  2. Project Dataset
  3. Tagging using tagtog
  4. Data Validation
  5. License

1. MnM Team Introduction

Wrap-up Report

<<<Click Logo

마스터 클래스 섬세킹 발표자료

<<<Click Logo

Members

김태일 문찬국 이재학 하성진 한나연
detailTales nonegom wogkr810 maxha97 HanNayeoniee
gimty97@gmail.com fksl9959@naver.com jaehahk810@naver.com maxha97@naver.com nayeon2.han@gmail.com

Members' Role

Member Role
김태일 Tagtog 플랫폼에 문장 올리기
문찬국 Relation map 작성
이재학 가이드라인 작성
하성진 가이드라인 작성
한나연 IAA 계산, 모델 튜닝

2. Project Dataset

이번 프로젝트에서는 직접 관계 추출 태스크 데이터셋을 만들고, 만든 데이터셋을 모델에 적용하여 검증하는 것이 목표이다.

데이터 설명

2022 러시아의 침공으로 발발한 러시아-우크라이나 전쟁을 중심으로 러시아와 우크라이나의 역사와 외교적인 관계를 포함하는 데이터이다. 코퍼스의 개수는 총 35개의 텍스트(40개 중 5개는 데이터 누락) 약 2100문장이다. 데이터는 부스트캠프 측으로부터 러시아-우크라이나 전쟁 주제에서 도출된 키워드들을 위키피디아(CC BY-SA 3.0) 문서 제목을 기반으로 수집해 제공받았다.

데이터 선정 이유

프로젝트의 결과물인 관계추출 데이터를 통해 인사이트를 얻을 수 있는 주제를 선정하고자 했다. 또한 러시아-우크라이나 전쟁 데이터로 정치적 관계, 국제 정세 등의 정보를 담는 지식 그래프로 확장될 수 있을 것이라고 생각하였다. 또한, 현 학습데이터 기반 관계추출 모델은 시시각각 업데이트되는 관련 주제에 대한 정보에서 관계추출을 통해 지식그래프를 확장하고 지속적으로 인사이트를 도출할 수 있을 것이라 생각했다.

Relation Map

<<<Click Logo

Guideline

<<<Click Logo


3. Tagging Using tagtog

  • data upload: sample_txts의 텍스트 파일들의 텍스트를 한줄씩 tagtog에 업로드
cd tagtog_data_handler
python data_upload.py
  • data to csv: tagtog에서 다운로드한 annotation data를 각 폴더별로 csv로 변환
cd tagtog_data_handler
python data_to_csv.py
  • merge csvs: 폴더 별 csv 파일들을 하나로 합쳐서 파일럿 태깅 데이터 셋과 전체 데이터 셋 반환
cd tagtog_data_handler
python merge_csvs.py

4. Data Validation

Fleiss' Kappa

pilot tagging에서 calculate_iaa.py파일을 사용해 Fleiss' Kappa를 계산한다.

file # raters # categories # subjects PA PE Fleiss' Kappa
pilot_tagging1.xlsx 5 10 100 0.7570 0.1546 0.713
pilot_tagging2.xlsx 5 10 100 0.8059 0.2243 0.75

Model Tuning

  1. ‘러시아-우크라이나 전쟁' 데이터셋에 맞게 새로 정의한 10개의 관계에 따라 make_pkl.py파일을 사용해 pkl파일을 생성한다.
  2. split_dataset.py을 사용해 전체 1770개의 데이터를 9:1 비율로 클래스별 분포가 유지하며 train data와 test data로 나눈다. 이후 모델 학습에서 train data를 다시 9:1 비율로 나누어 각각 train, validation에 사용했다.

  1. roberta-large 모델, Focal loss를 사용해 학습을 진행했다. 자세한 파라미터는 config에, 실험 결과는 wandb에 나타나 있다.
dataset micro-f1 score auprc
valid 87.097 89.213
test 88.152 -

5. License

러시아-우크라이나 전쟁 데이터셋은 CC BY-SA 3.0 라이선스 하에 공개되어 있습니다.

About

네이버 부스트캠프 | '러시아-우크라이나 전쟁' 키워드로 Relation Extraction(RE) Task 데이터 제작


Languages

Language:HTML 94.0%Language:Jupyter Notebook 3.3%Language:Python 2.7%