#230216 목
Rough Transformer 세미나에서 혐오 발언 분류 GPT 주제를 다루기 전 읽어오라고 하신 논문이 있어서 월요일부터 간간이 읽어봤다. 러시아에 관한 내용이 아닌 논문은 처음이야.. 영어로 읽는 논문도 처음이야.. 나 진짜 심각한 뉴비긴 하다 풀씨 어케 들어옴?ㅋ 응애 나 신생아
출처 : CONDA : a CONtextual Dual-Annotated dataset for in-game toxicity understanding and detection,
정리한 내용 인덱스
1. 논문의 내용 소개
2. 수집과 처리
3. Annotation
4. 데이터셋 분석
5. NLU 모델로 성능 체크
6. 전이학습
0. 단어 정리
toxicity detection (model) : 말에서 유해한 단어 혹은 유해한 의도를 인식하는 모델 (이 논문의 주요 내용)
utterance : 말뭉치 (표현, 발언)
intent classification : 발화 의도 예측
slot : 발화에 포함된 태스크와 관련된 유의미한 정보
token : 단어, subword, 기호 등
slot token : 어떤 유의미한 정보를 가진 token
slot filling : 각 token이 말뭉치에서 가지고 있는 의미 정보에 따라 labeling 하는 것
annotation : target이 포함된 지도 학습 데이터를 만드는 작업
semantic hierarchy : 의미 계층 구조 (한국어로 쓰니까 의미가 잘 안 산다..)
lexicon-based : 형용사, 부사를 사용해 의미를 파악하는
metrics : 측정 방법
in-depth analysis : 심층 분석
data dump : DD, 대량의 리소스 파일
gating mechanism : cross interaction에서 정보를 조절해주는 매커니즘
game-specific / domain-specific (word/context) : 특정 영역(게임 분야)에서만 등장하는 단어/맥락
NLU(Natural Language Understanding) : 자연어 연구
한국어로 풀어서 정리하려니 더 어려워서 위 단어들은 정리할 때 다 영단어 그대로 썼다.
- 논문의 내용 소개
- 기존의 toxicity detection 모델들은 문맥에 대한 깊이있는 이해가 부족한 상태에서 single utterance level에 집중하였음. 단어 속의 의미 단서들을 적극적으로 사용하지 않음.
- CONDA는 utterance level의 intent classification과 token level의 slot filling analysis가 통합적으로 수행되는 것이 가능한 새로운 데이터셋임
- utterance level은 인간 annotator, token level은 lexicon-based autonmation으로 annotation이 이루어짐
- dual semantic-level (utterance level과 token level) 훈련을 통해 모델들은 문맥을 깊이있게 이해하고 더 좋은 결과를 냄. 같은 은어라도 유해한 맥락인지 아닌지 판단할 수 있는 수준임. 은어나 toxic 단어가 없어도 맥락을 통해 toxic 발화 의도를 찾을 수 있음.
- 온라인 게임, 커뮤니티 챗은 NLU에서 공부하는 말하는 데에 쓰이는 언어들과 속성이 비슷함. NLU가 발화 의도 분석과 slot analysis에서 의미 구조를 추출해 인간 대화를 묘사한다는 점에서 CONDA 데이터셋 연구는 NLU와 흐름이 비슷함
- 이 논문에서는
1) CONDA 데이터셋을 구성
2) 기존의 NLU metrics로 CONDA의 toxicity와 game-specific apsects의 정확도를 측정
3) 기존의 대표적인 NLU 모델 5개에서의 CONDA의 성능을 체크
4) 기존의 toxicity datasets로 전이학습을 수행
- CONDA 수집과 처리
1) 데이터 수집
Dota2(Defense of the Ancients 2)의 DD에서 1921개의 매치에서 5만 개의 utterance를 수집함.
2) 데이터 처리
Dual annotation이 가능하도록 데이터를 처리함.
-token level 데이터
축약형을 원래 형태로 바꾸고(I'm -> I am), 구두점은 제외하고 이모티콘은 유지하였다. 여백을 만나면 텍스트를 token으로 쪼개도록 하였다.
- utterance level 데이터
데이터 처리의 다음 단계인 annotation 과정에서 utterance level을 작업할 사람 annotator가 앞 맥락을 보고 utterance를 labelling 할 수 있도록 대화를 직접 만들었다. 대화를 만들 때 영어가 아닌 챗은 제외하였고, 구두점과 격을 유지하였다. 또, 하나의 대화에서 한 유저의 연속된 utterance는 하나로 합쳤다. 이때 각 utterance 사이에는 [SEPA]라는 토큰을 넣어 각 utterance가 분리되어있음을 나타내었다.
3) 최종 데이터
각 처리를 통해 CONDA는 최종적으로 44869개의 utterance를 데이터셋으로 사용한다.

- Annotation
1) token level slot annotation
2)에서 처리된 token level 데이터는 lexicon-based automation을 실행하여 annotation이 이루어진다.
- 6개의 lexicon slot label을 만듦
T-toxicity, C-character, D-Dota specific, S - game Slang, P-pronoun, O-other
- automation을 통해 token과 lexicon을 자동으로 매치시킴. 해당이 없으면 O으로 분류
- 위의 결과를 NLU의 slot labelling과 비교함
2) utterance level intent annotation
3.1) 에서 얻은 slot labelling한 token과 2.에서 얻은 utterance level 데이터를 바탕으로 여섯 annotators가 intent annotation을 수행한다. annotators 중 네 명은 게임 플레이어, 두 명은 게임을 플레이 하지 않는 annotator이다.
- ex
- 데이터셋 분석
- NLU 모델로 성능 체크
- 전이학습