DL&ML/code.data.tips

TACRED dataset 관계 분류 태스크

식피두 2021. 4. 12. 11:11

nlp.stanford.edu/projects/tacred/

 

Stanford TACRED Homepage

Introduction TACRED is a large-scale relation extraction dataset with 106,264 examples built over newswire and web text from the corpus used in the yearly TAC Knowledge Base Population (TAC KBP) challenges. Examples in TACRED cover 41 relation types as use

nlp.stanford.edu

TACRED

TACRED라는 관계 추출(분류) 데이터셋이 있다.

 

최근에 와이프 실험을 도와주다가 다루게 된 데이터셋

대략 10만 개의 example로 구성 된 relation extraction dataset이다. 

(42개의 릴레이션 분류 문제)

 

비공식적으로는 72.78의 정도의 SOTA에 근접한 테스트 F1 스코어를 얻었고,

논문을 준비중이다. 

 

모델 구현하면서 배운 것 메모...

스케쥴러를 쓸 경우 warm-up ratio 하이퍼파라미터가 생각보다 큰 영향을 끼칠 수 있음

 

데이터 불균형이 매우 심할 경우 CrossEntropy의 클래스별 weight을 (1-학습셋 상에서 비율)로 세팅해주면 precision/recall/f-measure가 훨씬 더 균형있게 학습 됨

 

전체 데이터 기준 일부를 샘플링 하여 여러 모델을 학습 & bagging 앙상블 한 것 보다

(80% 학습 * 5 models with fixed random seed)

 

전체 데이터 셋으로 학습하되 random seed만 다르게(셔플링이 다르게 됨) 하여

여러 모델 학습 후 앙상블 한게 성능이 더 좋았음.

(100% 학습 * 5 models with different random seeds)

 

학습 데이터를 다르게 가져갈 때

서로 다른 로컬 미니멈으로 빠지게 되어서 다양한 모델을 학습할 수 있기 때문에

서로 다른 데이터(전체 80%)를 학습한 모델 5개를 모아 앙상블(확률 값 평균)하면

거의 항상 향상되는 것을 봐왔고 즐겨 쓰는 방식이었는데

 

random seed를 다르게 해서 데이터 셔플 결과를 다르게 해도 시작점이 달라지기 때문에

결국 다양한 모델을 학습할 수 있게 되고

더 많은 데이터로 학습할 수 있기 때문에 성능까지 더 좋아진듯 하다.

 

구현

코드는 깃헙에 공개 예정...

 

 

아래는 베이스라인 코드 및 논문

 

yuhaozhang/tacred-relation

PyTorch implementation of the position-aware attention model for relation extraction - yuhaozhang/tacred-relation

github.com

nlp.stanford.edu/pubs/zhang2017tacred.pdf

 

 

Re-TACRED (Revicsed-TACRED)

TACRED 데이터셋을 개선시킨 버전의 데이터셋,

어노테이션이 잘못된 문장 혹은 정의가 모호한 관계를 바로잡거나 없앤버전의 데이터셋이다.

약 24% 정도의 어노테이션이 수정되었다고 함.

기존의 10만 문장 정도에서 9만 문장 정도가 남았고, 40 개의 릴레이션이 남음.

 

Papers with Code - Re-TACRED Dataset

The Re-TACRED dataset is a significantly improved version of the TACRED dataset for relation extraction. Using new crowd-sourced labels, Re-TACRED prunes poorly annotated sentences and addresses TACRED relation definition ambiguity, ultimately correcting 2

paperswithcode.com