# 09.30 피어세션
###### tags: `peer-session`
## (축)갓요한님의 실험 리더보드 1등 달성(하)
## 한진 님의 진행사항
데이터 입력
Input data가 단어가 아닌 dict로 들어간다.
test set에서 subject entity와 object entity와 문장을 주면
classification 작업으로 단순화 되는 것 같다.
start_idx와 end_idx를 안 넣어도 될 것 같다.
직접 실험을 해보고 결과를 비교해보자
entity token을 만들자.
## 민재님의 Augmentation 진행
1. Entity끼리 교환을 해서 문장을 생성한다.
2. 동일 클래스, subject와 object를 묶어서 다른 sentence 묶음
3. 동일 클래스 내에 subject와 object, sentence를 랜덤 추출하기
backtranslation을 사용했는데 entity 자체가 바뀌는 문제가 발생
같은 PER, ORG 안에서 랜덤 추출을 통해서 데이터를 늘려보는 건 어떤가
-> no relation의 entity들을 활용하자
-> 문장 구조에 대한 다양성은 학습시킬 수 없겠지만
단어에 대해서는 다양성을 학습시킬 수 있을 것이다
- no relation에서 PER와 ORG의 단어들을 추출하는 방법은?
- 동일 단어가 여러 번 반복될 때 어느 단어를 entity로 선택해야할지?
train set에서 추출해낸 위치와 동일한 곳을 사용
4. 문장 순서를 바꿀 때 더 성능이 오를 것 같은데 문법 구조가 맞지 않을 때 발생하는 문제가 있을 수 있다.
문장 순서를 바꿔도 되는 결과들만 사용한다
entity의 위치가 바뀐다면 start_idx, end_idx가 달라진다.
augmentation을 train data의 형식으로 바꾸는 것이 번거롭다.
start_idx와 end_idx를 학습시킬 때 제외해서 성능이 크게 안달라진다면 4번 가설을 활용해서 train을 시켜볼 예정이다.
- Easy Data Augmentation(EDA)
Delete는 entity를 지우기도 해서 쓰지 않음
대부분 swap에 점수를 줬음
## 요한 님 실험 내용
roberta로 train하고 inference에서 tokenizer를 bert-base를 사용했었는데 inference에서도 roberta를 사용
epoch 수에 따라서 lr이 다르게 변화해서 lr가 0까지 줄어들기 위해서는 학습을 중간에 중단하지 않고 끝까지 돌려야한다.
wandb의 auprc가 LB의 score와 비슷하다.
## 재형 님 진행 사항
데이터 전처리를 진행 중이었는데 입력 데이터가 깔끔해서 전처리 할것이 많지 않음
Loss 함수를 바꿔볼 생각
## 석진 님의 EDA
각 tokenizer에서 UNK 토큰의 개수를 찾아봄
EDA 진행 코드를 깃헙에 올릴 예정 [데이터 중복, 오류]
중복되지 않아도 오류가 있는 데이터가 있을 수도 있겠다는 생각
## 찬미 님의 EDA
## TODO
- RE 논문을 검색해서 subject entity와 object entity가 어떻게 입력되는지 확인 해보기
- TTA 적용 가능한지 확인
## 질문 목록
- subject entity와 object entity의 형식이 index가 들어간 dict 형식이 일반적인지, 학습을 위해서 task를 쉽게 만들어준 것인지 궁금합니다.
## 오피스아워
AEDA 코드
https://github.com/toriving/KoEDA