1 of 68

1

데이터 제작 Behind:

퀄리티 있는 RE 데이터 제작을 위한 데이터를 제작하는 방법

2021.11.10 18:00 데이터 제작 NLP Office Hour

진행 : 전종섭, 조원익

2 of 68

2

INDEX

1. 스페셜 미션의 소개

2. 데이터 제작을 위한 데이터 제작 (전종섭)

  • 원시 말뭉치의 선정 및 수집
  • 말뭉치 분석 및 정제
  • 어노테이션 툴 활용 방법

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들 (조원익)

  • 주어진 말뭉치에서 포착할 수 있는 관계의 탐색
  • 가이드라인 작성과 pilot iteration
  • 어노테이션 진행과 퀄리티 검증

4. Q&A

3 of 68

3

0. 스페셜 미션 권장 스케줄

주어진 토픽의 관계 추출 데이터 구축

1. 주어진 말뭉치에 대해 활용할 관계(relation)를 정의하고 가이드라인을 작성합니다.

  • (~1주차 수요일) "Relation"과 "Entity type"들을 직접 선정
  • (~1주차 금요일) 선정된 Relation들 정의, 어노테이션 가이드라인 작성
    • 1차 산출물 제출 : 1주차 금요일 자정 (11/12 금 23:59) 까지 제출 요망
    • 늦은 제출 시 피드백이 어려울 수 있습니다.

https://drive.google.com/drive/folders/14Gcu1qYVTODJc_bKgxKOBA7pbAVz_GrC

2. Tagtog을 사용해 각자 맡은 부분의 데이터 어노테이션을 진행합니다.

  • (~ 2주차 월요일) 어노테이션 툴에서 진행

3. 캠퍼분들이 완료한 어노테이션 산출물을 구글 스프레드시트로 옮깁니다.

  • (~ 2주차 월요일) 스프레드시트 세팅

4. 캠퍼분들 모두 서로가 만든 데이터에 대해 어노테이션을 진행합니다.

  • (~ 2주차 수요일) Main tagging & Pilot tagging 완료
  • (~ 2주차 수요일) Fleiss' Kappa를 측정하여 inter-annotator agreement 확인

5. 제작이 완료된 데이터로 직접 Fine-Tuning을 진행하여 대략적인 performance를 확인합니다.

  • (~ 2주차 목요일) 직접 만든 데이터의 성능을 체크

4 of 68

4

1. 스페셜 미션 소개

주어진 토픽의 관계 추출 데이터 구축

✓ 1 - 제공되는 원시 말뭉치의 분석 및 문장 선정/정제

✓ 2 - Tool 활용 방식 익히기 (Tagtog, 스프레드시트)

✓ 3 - 주어진 토픽의 데이터에서 나올 수 있는 관계들에 대한 탐색

✓ 4 - 가이드라인 작성

✓ 5 - 실제 어노테이션 진행

✓ 6 - 모델 fine-tuning (기존 대회 포맷 활용)

5 of 68

5

2. 데이터 제작을 위한 데이터 제작

1 - 제공되는 원시 말뭉치의 분석 및 문장 선정/정제

1-1 Wikipedia 데이터는 어떻게 추출했을까요?

1-2 데이터를 받으면 무엇을 해야할까요?

2 - Tagtog을 사용해 초기 Annotation

2-1 Tagtog 초기 세팅 방법

2-2 Tagtog 사용 방법

2-3 Tagging이 완료된 데이터 추출하기

3 - 구글 스프레드시트로 옮기기

6 of 68

6

1-1 Wikipedia 데이터는 어떻게 추출할까?

2. 데이터 제작을 위한 데이터 제작

7 of 68

7

1-1 Wikipedia 데이터는 어떻게 추출할까?

  • 예를 들어서 “현대 음악"
  • 다음과 같은 키워드들을 조사
  • 재즈, 펑크, 비밥, 시부야계, 현대 기독교 음악, 팝 음악, 발라드 (대중 음악), 블루스, 힙합, 컨트리 음악, 포크 음악, 레게, 솔 음악, 디스코, 브릿팝, 슈게이징, 팝 록, 사이키델릭 록, 프로그레시브 록, 하드 록, 얼터너티브 록, 록 음악, 전자 음악, 트로트, 로큰롤, 대중음악
  • 키워드를 추가하고 싶으면 조사 후 앞 슬라이드에서 제공되는 코드를 사용하면 됩니다!

2. 데이터 제작을 위한 데이터 제작

8 of 68

8

1-2 데이터를 받으면 어떻게 해야할까?

  • 캠퍼 여러분들은 제공된 데이터를 보며 어떤 Article들이 있는지 확인해보세요.
    • 어떤 Entity가 나올 수 있을지?
    • 어떤 Relation이 나올 수 있을지?
    • 자유롭게 토론해보세요!

2. 데이터 제작을 위한 데이터 제작

9 of 68

9

1-2 데이터를 받으면 어떻게 해야할까?

  • 이제 제공된 말뭉치를 적절한 길이/내용의 문장으로 나눠야 합니다.
  • KSS와 같은 라이브러리를 활용해 문장으로 나누거나 필요하다면 Regex로 클린징을 합니다.
  • 관계를 추출하는 양상은 꼭 한 문장에서 하나의 관계가 아닐 수도 있습니다! 그렇기 때문에 직접 보는 것도 좋은 방법입니다.
      • 한 문장에서 여러 관계가 나올 수 있음
      • `문장’이라는 개념은 단순히 period 구별되지 않아도 괜찮음

2. 데이터 제작을 위한 데이터 제작

10 of 68

10

1-2 데이터를 받으면 어떻게 해야할까?

  • 여러 문장이 있어야 관계가 나오는 경우
  • 몇 년 후, 형의 죽음이 친아버지의 죽음과도 관련되어있음을 밝히게 되고 친아버지와 형을 죽인 사람이 각각 자신이 존경하던 아버지와 이복형이라는 사실을 알게 된 권산. 하지만 이 진실을 덮기 위한 이복형 권유승의 음모로 죽임을 당할 위기를 맞게 된다.

2. 데이터 제작을 위한 데이터 제작

11 of 68

11

2-1 Tagtog 초기 세팅 방법

  • 우선 https://www.tagtog.net/ 에 접속 후 가입을 해주세요.

2. 데이터 제작을 위한 데이터 제작

12 of 68

12

2-1 Tagtog 초기 세팅 방법

  • New Project를 눌러서 새로운 프로젝트를 생성합니다.

2. 데이터 제작을 위한 데이터 제작

13 of 68

13

2-1 Tagtog 초기 세팅 방법

  • New Project를 눌러서 새로운 프로젝트를 생성합니다.

2. 데이터 제작을 위한 데이터 제작

14 of 68

14

2-1 Tagtog 초기 세팅 방법

  • 앞서 팀원들과 같이 작성한 가이드라인에 맞는 Entity와 Relation을 설정합니다.

2. 데이터 제작을 위한 데이터 제작

15 of 68

15

2-1 Tagtog 초기 세팅 방법

  • 우선 Entity를 설정하는 방법입니다.
  • Entity 설정 규칙은 다음과 같습니다: [SUBJ/OBJ]-[TYPE]-[RELATION]

2. 데이터 제작을 위한 데이터 제작

16 of 68

16

2-1 Tagtog 초기 세팅 방법

  • 다음으로 Relation을 설정하는 방법입니다.

2. 데이터 제작을 위한 데이터 제작

17 of 68

17

2-1 Tagtog 초기 세팅 방법

  • 앞에서 설정한 Entity를 선택하고 Relation을 입력합니다.

2. 데이터 제작을 위한 데이터 제작

18 of 68

18

2-1 Tagtog 초기 세팅 방법

  • 계속해서 새로운 Relation들을 입력합니다.

2. 데이터 제작을 위한 데이터 제작

19 of 68

19

2-2 Tagtog 사용 방법

  • 설정한 Entity와 Relation을 직접 annotate 해볼 차례입니다.

2. 데이터 제작을 위한 데이터 제작

20 of 68

20

2-2 Tagtog 사용 방법

  • Documents 탭을 클릭합니다.

2. 데이터 제작을 위한 데이터 제작

21 of 68

2-2 Tagtog 사용 방법

  • Content 버튼을 선택합니다.

2. 데이터 제작을 위한 데이터 제작

22 of 68

2-2 Tagtog 사용 방법

  • 다양한 포맷의 문서를 추가할 수 있습니다.

2. 데이터 제작을 위한 데이터 제작

23 of 68

7월에 일본 야구 올림픽 대표팀의 호시노 센이치 감독의 대표팀 소집 때문에 1군으로 긴급 복귀하여 셋업맨으로 등판하였지만 좋은 모습을 보여주지 못했다.

2-2 Tagtog 사용 방법

  • 예시에서는 Text 포맷으로 다음을 추가해보겠습니다.

2. 데이터 제작을 위한 데이터 제작

24 of 68

2-2 Tagtog 사용 방법

  • Submit을 누르면 다음과 같이 문서가 추가됩니다.

2. 데이터 제작을 위한 데이터 제작

25 of 68

2-2 Tagtog 사용 방법

  • 추가된 문서를 누르면 다음과 같은 화면이 나옵니다.

2. 데이터 제작을 위한 데이터 제작

26 of 68

2-2 Tagtog 사용 방법

  • 추가할 Entity를 드래그하면 Entity에 추가됩니다.

2. 데이터 제작을 위한 데이터 제작

27 of 68

2-2 Tagtog 사용 방법

  • 계속해서 추가합니다. Type을 바꾸는 방법은 드래그 후 클릭하면 Change Type이 나옵니다.

2. 데이터 제작을 위한 데이터 제작

28 of 68

2-2 Tagtog 사용 방법

  • 이번에는 Relation을 추가해 보겠습니다.
  • 우선 태깅된 Entity를 누른 후 Add Relation을 누릅니다.

2. 데이터 제작을 위한 데이터 제작

29 of 68

2-2 Tagtog 사용 방법

  • 연결할 Entity를 선택합니다.

2. 데이터 제작을 위한 데이터 제작

30 of 68

2-2 Tagtog 사용 방법

  • Relation이 추가됩니다.

2. 데이터 제작을 위한 데이터 제작

31 of 68

2-3 Tagging이 완료된 데이터 추출

2. 데이터 제작을 위한 데이터 제작

32 of 68

3. 구글 스프레드 시트로 옮기기

2. 데이터 제작을 위한 데이터 제작

33 of 68

3. 구글 스프레드 시트로 옮기기

  • 셀을 우클릭 후 맨 아래의 데이터 확인 / Data Validation을 선택합니다.

2. 데이터 제작을 위한 데이터 제작

34 of 68

3. 구글 스프레드 시트로 옮기기

  • 범위에서의 목록을 항목 목록으로 수정합니다.

2. 데이터 제작을 위한 데이터 제작

35 of 68

3. 구글 스프레드 시트로 옮기기

  • Relation map을 리스트에 작성합니다.

2. 데이터 제작을 위한 데이터 제작

36 of 68

3. 구글 스프레드 시트로 옮기기

  • Dropdown을 지정할 수 있습니다.

2. 데이터 제작을 위한 데이터 제작

37 of 68

3. 구글 스프레드 시트로 옮기기

  • 여러 스트에서 태깅을 진행한 후 결과를 합칩니다.
  • 이와 같은 Tagging Form을 팀원 수 만큼 생성후, 각자 tagging후 agreement를 계산합니다.

2. 데이터 제작을 위한 데이터 제작

38 of 68

38

2. 데이터 제작을 위한 데이터 제작

미션: 주어진 토픽의 관계 추출 데이터 구축

1 - 제공되는 원시 말뭉치의 분석 및 문장 선정/정제

  1. 제공 데이터: 한국어 Wikipedia 원시 데이터 중 캠퍼들이 선택한 토픽과 연관된 article만을 추출한 데이터
    1. 이 과정에서 캠퍼들이 추가 article을 추출할 수 있는 코드를 제공 예정
    2. 캠퍼들이 함께 제공 데이터를 보며 어떤 article들이 있는지 확인하는 시간 필요

  1. 말뭉치가 제공된 상황에서 태스크에 적절한 길이/내용의 문장 고르기
    1. KSS와 같은 라이브러리를 활용해 문장으로 나누거나 Regex로 클린징 (필요하다면)
    2. 관계를 추출하는 양상은 꼭 한 문장에서 하나의 관계가 아닐 수도 있으므로, 직접 보는 것도 좋은 방법
      • 한 문장에서 여러 관계가 나올 수 있음
      • `문장’이라는 개념은 단순히 period 구별되지 않아도 괜찮음

2 - Tool 활용 방식 익히기 (Tagtog, 스프레드시트)

  1. Tagtog으로 초기 세팅 후 annotate하는 방법

  1. 스프레드시트에서 dropdown을 활용하는 방법 (실제 KLUE-RE 태깅 시 활용 화면 참고)

39 of 68

39

2. 데이터 제작을 위한 데이터 제작

2 - Tool 활용 방식 익히기 (Tagtog, 스프레드시트)

  1. Tagtog 사용의 목적: 주어진 text에서 효과적으로 entity를 마킹하고 관계를 태깅하기

  • 원래 의도하던 바: entity를 각각 태깅 후 relation을 배정
  • 실제: relation 배정이 원활하게 되지 않음
    • RE에서 활용하는 subj와 obj를 태깅할 때, relation을 obj에 함께 배정하는 방안 고려

40 of 68

40

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

채우기!

41 of 68

41

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

주어진 토픽의 데이터에서 나올 수 있는 관계들에 대한 탐색

관측 가능한 관계들을 리스트업하고 토의를 통해 확정

    • 토픽에 관한 도메인 지식 활용
    • 이 과정에서 도출이 잘 되지 않는다면 KLUE-RE의 기준을 참고 및 활용

42 of 68

42

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

주어진 토픽의 데이터에서 나올 수 있는 관계들에 대한 탐색

class_name (ko/en):

relation에 대한 직관적인 네이밍

subj의 entity type이 앞에, obj의 역할이 뒤에 배치됩니다.

43 of 68

43

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

주어진 토픽의 데이터에서 나올 수 있는 관계들에 대한 탐색

direction (subj, obj):

subj와 obj의 entity type 및 relation의 방향성

Entity type은 하나의 정형적인 형태 (org, loc, per 등)로 나오지 않을 수도 있습니다. (e.g., 물리학 - 전자기학 : relation은 명확하지만 두 entity에 해당하는 entity type은 널리 사용되는 ne가 아닐 수 있음) [잘 정의하여 사용할 수 있으면 상관 x!]

44 of 68

44

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

3 - 주어진 토픽의 데이터에서 나올 수 있는 관계들에 대한 탐색

description:

subj와 obj의 관계에 대한 정의

선택되는 두 entity 사이의 관계를 정의합니다. TACRED 및 KLUE-RE의 경우 org 혹은 per이 subj인 관계로, 창립일, HQ의 위치, 출생일 등이 relation으로 포착됩니다. 새로이 관계를 정의한다면, direction (subj, obj) 의 entity type들을 고려해야 합니다.

45 of 68

45

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

3 - 주어진 토픽의 데이터에서 나올 수 있는 관계들에 대한 탐색

example:

해당되는 relation이 등장하는 example

각 example에는 물론 해당되는 relation 이외의 관계가 등장할 수도 있습니다. 즉, 한 문장에서 두 개 이상의 관계가 등장할 수 있습니다. Relation map 기술에 이러한 경우들을 활용해도 상관 없습니다! [문장이 중복되어도 relation 중복이 없으면 상관 x!]

46 of 68

46

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

  1. 관계를 정의(define) - 가능한 관계의 수는 제한되지 않지만, 균등하게 나올 수 있는 관계들일수록, 그리고 너무 세부적이지 않은 관계들일수록 실용적인 분류 성능을 기대할 수 있음

해당 관계의 예시들을 문서에서 찾아 기재�참고: https://docs.google.com/spreadsheets/d/1qhQD6Z5Ftws2VoXfqv_B54XGdL06oNeUBKkClBuAg88/edit#gid=0

(가능하다면) 관계와 관련된 entity type도 함께 기재

    • 기존 NER에서 다루는 entity type과 겹치지 않을 수 있음
    • 각 토픽에서 활용되는 entity type 양상이 다를 수 있음�
  1. 실제 가이드라인의 작성�참고: https://docs.google.com/document/d/1nb54H_jxiEh7oMq1anwFP7IC_nqgO276L1amxSV0tCI/edit

47 of 68

47

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

도입 문구:

일반적으로 크라우드소싱 등의 다작업자 구축을

염두에 두고 작성됩니다

본 강의에서는 그러한 절차를 거치지는 않지만,

추후 가이드라인을 활용하여 구축 작업을 재현하기�위해서, 어느 정도의 documentation은 필수적입니다.��주어진 샘플과 꼭 같을 필요는 없지만, 읽는 사람으로�하여금 어떤 내용들이 들어가 있는지 파악하기 �용이하게 하는 listing이면 됩니다!

48 of 68

48

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

태스크 설명:

RE라는 태스크, Subject와 object라는 개념의 역할,

entity의 개념들, 그리고 ‘관계’라는 레이블의 정의가�등장합니다.

태스크 소개에 해당하는 부분이며, 어떤 label들이 �있고 해당 label들의 간단한 의미 역시 기재해 줍니다.�

모든 label에 대한 설명을 이 곳에서 하기 어렵다면�relation map에 대한 링크를 달아 줍니다.

49 of 68

49

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

태스크 설명:

이후, 태스크 수행에 관한 간단한 예시를 덧붙입니다.

이미 KLUE-RE를 다루면서 이에 대해 익숙하시겠�으나, 다시 한번 가이드라인을 통해 이를 정의합니다.

50 of 68

50

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

어노테이션 가이드라인:

Annotation시 고려할 내용들을 설명합니다.

Task 설명에 들어간 내용이 여기 한번 더 반복되어도�상관 없습니다.

작업자들이 Annotation하면서 애매한 부분, 궁금해�할 만한 부분들을 서술합니다. KLUE-RE에서는��- 관계의 방향성 유의�- ‘관계 없음’의 존재

- 외부 지식의 활용 가능 여부

- 관계 assign시 ‘시점’의 반영 여부

등이 기재되었습니다.

51 of 68

51

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

어노테이션 가이드라인:

Annotation시 고려할 내용들을 설명합니다.

Task 설명에 들어간 내용이 여기 한번 더 반복되어도�상관 없습니다.

작업자들이 Annotation하면서 애매한 부분, 궁금해�할 만한 부분들을 서술합니다. KLUE-RE에서는��- 관계의 방향성 유의�- ‘관계 없음’의 존재

- 외부 지식의 활용 가능 여부

- 관계 assign시 ‘시점’의 반영 여부

등이 기재되었습니다.

52 of 68

52

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

어노테이션 가이드라인:

`외부 지식’ 산입 여부는 어떤 주제의 RE 태깅이든�고려해야 할 문제입니다.

문장 내에서 파악할 수 있어야만 pre-define된 관계로�레이블링이 가능하며, 이는 common sense 혹은�외부적 지식만으로 유추되어서는 안되는 것이�원칙입니다.

이러한 이유로, entity들의 존재에도 불구하고 실제로�no_relation으로 태깅되는 경우가 생각보다 많을 수 �있습니다. 이러한 원칙이 없다면, 특정 문장 구조�혹은 성분에서 relation을 유추하고자 하는 시도의�의미가 퇴색될 수 있습니다.

53 of 68

53

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

어노테이션 가이드라인:

`시점의 문제’는 상태가 변할 수 있는 여러 가지 관계�를 포함한 문장들에서 등장할 수 있습니다.

이러한 경우, 시점이 맞지 않을 때 relation 태깅을 �하지 않는 것이 이론 상으로는 맞지만, 협의를 통해�그런 관계까지 포함하도록 가이드라인을 재정의할�수 있습니다.

54 of 68

54

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

어노테이션 환경:

실제 작업자가 어노테이션을 진행할 환경 및�해당 환경에서 등장하는 변수들을 기술합니다.

본 프로젝트에서는 tagtog 및 구글 스프레드시트가�작업 환경에 해당하며,

주어진 문장에서 entity 선정 및 relation tag를 초벌로�작업할 때는 tagtog을,

만들어진 문장-entity pair에 대해서 relation을 레이블�할 때는 구글 스프레드시트를 활용합니다.

예시에서 1-3) 는 작업 절차에 대한 가이드를, �4-5) 는 작업 유의사항에 대한 가이드를 지칭합니다.

55 of 68

55

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

어노테이션 환경:

Data error은 자동으로 데이터가 태깅되는 경우�발생하는 문제이지만, 본 프로젝트처럼 manual하게�데이터가 제작되는 상황에서는 발생할 확률이 크지�않습니다.

하지만 사람이 태깅한 entity도 때로는 부적절한�것으로 인식될 수 있으므로, data error 플래그를 통해�report를 받는 과정도 optional하게 고려해볼 수�있습니다.

이는 조사와 entity가 붙어 한 어절을 형성하는 경우가

많은 한국어에서 조금 더 조심해야 할 부분입니다.

56 of 68

56

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

어노테이션 환경:

Hate speech나 social bias를 포함한 문장과 같이�potential harm이 있는 인스턴스의 경우 체크해두고�회의를 통해 이를 제거할 수 있습니다.

이에 관한 가이드라인을 별도로 만드는 것은 공수가�많이 들기 때문에, KLUE-RE에 기술된 가이드라인을�활용하는 방안을 추천드립니다.

57 of 68

57

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

어노테이션 환경:

다행히, 프로젝트에서 활용되는 위키피디아에는�문제가 될 만한 표현들이 많이 등장하지는 않을 �예정입니다 :)

가장 주의해야 할 부분은 개인정보 �(이름, 거주지 등) 관련 표현인데, 우리가 위키피디아�에서 볼 수 있는 인물이라면 대부분이 공인으로 생각�되기 때문에, 간단한 검색 정도만 거쳐 주시면 �되겠습니다.

58 of 68

58

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

가이드라인 작성

자주 묻는 질문:

FAQ에서는 파일럿 태깅 및 가이드라인 제작 과정�에서 발생하는 미묘한 문제들에 대한 해결 방안이�기술됩니다.

Relation들간의 관계가 잘 구분되고 명확할수록�이러한 모호함이 줄어들 수 있습니다. 또한, 이러한�FAQ들을 서로 공유하고 난 후에 서로가 태깅한 �내용들을 다시 한 번 보며 해당되는 부분들을 수정�하는 시간도 필요합니다.

59 of 68

59

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

5 - 실제 어노테이션 진행

  1. 파일럿 태깅
    1. 전체 코퍼스에서 일부를 태깅
    2. 충돌하는 부분들을 확인함으로써 서로의 가이드라인 이해가 맞는지 보기�
  2. 실제 어노테이션 진행
    • 데이터를 나누어 각자가 맡은 데이터의 문장들에 대해 (Tagtog)
      1. entity (subject / object) 범위 설정
      2. 관계 태그 붙이기
    • 각자가 entity를 설정하고 관계 태그를 붙인 문장들을 (스프레드시트 or Labelstudio)
      • 다른 사람들이 각각 tag
      • Inter-annotator agreement 계산 (Fleiss Kappa)

6 - 모델 fine-tuning (기존 대회 포맷 활용)

60 of 68

60

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

실제 어노테이션의 퀄리티 평가:

Inter-annotator agreement 계산 (Fleiss Kappa)

n 명의 annotator가 k 개의 label로 구성된 스킴을 활용해 N개의 인스턴스를 태깅하는 경우,

각 instance에서 주석자 간의 일치도가 다르게 나타날 수 있다.

(일치도가 낮은 instance ~ 주어진 기준으로는 구분하기 모호하거나 challenging하거나 사전지식이 많이 필요할 수 있음)

잘 짜여진 가이드라인이라면 0.7 이상의 값이 나올 필요가 있음

61 of 68

61

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

실제 어노테이션의 퀄리티 평가:

Inter-annotator agreement 계산 (Fleiss Kappa)

python calculate_iaa.py

#raters = 4 , #subjects = 5 , #categories = 4

PA = 0.36666666666666664

PE = 0.265�

Fleiss' Kappa = 0.138

worker1

worker2

worker3

worker4

1

1

2

1

3

1

3

4

3

3

3

2

4

1

4

4

4

4

2

3

iaa_sample.xlsx 를 이러한 형태로 제작해 주세요!

62 of 68

62

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

평가지표

정량 지표

  • Inter-annotator agreement (직접 제작한 가이드라인으로 iteration 돈 후 최종 결과): Fleiss’ kappa 기준 0.7을 threshold로�https://github.com/Shamya/FleissKappa 등 라이브러리 활용

정성 지표

  • 수량 / 길이 / subj나 obj의 entity 다양성 분포: 훈련에 적합한 양이 도출되게, 하지만 데이터 측면에서 다양성 있게 관계를 설정/수집할 것 독려

모델 학습 지표

  • Train / validation / test set으로 나눈 후 intra-set performance: 최적화로 성능을 높이는 것 권장하나, 성능이 낮다고 무리하게 데이터를 추가 수집하여 augmentation할 필요는 없음
    1. Micro F1 score on all classes
    2. AUPRC (area under precision-recall curve) on all classes

63 of 68

63

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

권장 역할분담

세팅

  • Tagtog 플랫폼에 문장 올리기 (1인)
  • Relation map 작성 (2인)
  • 가이드라인 작성 (3인)
  • IAA 계산 (1인)
  • 모델 튜닝 (2인)

전체 함께

  • 문장 선정
  • 문장 별 엔티티 태깅 및 레이블링
  • 주어진 문장/엔티티에 대한 레이블링
  • 파일럿 태깅 및 피드백, 가이드라인 업데이트
  • 메인 태깅

Timeline

  1. 1주차: 월/화 - 문장 추출 및 관계 brainstorming [권장 timeline: 1주차 수요일]
  2. 1주차: 수/목 - Relation set 기반 pilot tagging�[권장 timeline: 1주차 금요일]
  3. 1주차: 금 - Discussion 및 가이드라인 작성�[1주차 금요일에 Relation map + 가이드라인 제출로 피드백 받는 것을 추천]
  4. 2주차: 월 - 문장 선정 및 Relation 태깅, 스프레드시트 업로드�[권장 timeline: 2주차 월요일]
  5. 2주차: 화 - 파일럿 태깅 후 Discussion, 가이드라인 업데이트�[권장 timeline: 2주차 화요일]
  6. 2주차: 수/목 - Main tagging 후 IAA (kappa) 체크�[권장 timeline: 2주차 목요일]
  7. 2주차: - KLUE-RE 모델 모델 적용하여 성능 체크�[권장 timeline: 2주차 목요일]

64 of 68

64

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

3 - 주어진 토픽의 데이터에서 나올 수 있는 관계들에 대한 탐색

  1. 관측 가능한 관계들을 리스트업하고 토의를 통해 확정
    • 토픽에 관한 도메인 지식 활용
    • 이 과정에서 도출이 잘 되지 않는다면 KLUE-RE의 기준을 참고 및 활용

4 - 가이드라인 작성

  • 관계를 정의(define) - 가능한 관계의 수는 제한되지 않지만, 균등하게 나올 수 있는 관계들일수록, 그리고 너무 세부적이지 않은 관계들일수록 실용적인 분류 성능을 기대할 수 있음

  1. 해당 관계의 예시들을 문서에서 찾아 기재�참고: https://docs.google.com/spreadsheets/d/1qhQD6Z5Ftws2VoXfqv_B54XGdL06oNeUBKkClBuAg88/edit#gid=0

  1. (가능하다면) 관계와 관련된 entity type도 함께 기재
    • 기존 NER에서 다루는 entity type과 겹치지 않을 수 있음
    • 각 토픽에서 활용되는 entity type 양상이 다를 수 있음�
  2. 실제 가이드라인의 작성�참고: https://docs.google.com/document/d/1nb54H_jxiEh7oMq1anwFP7IC_nqgO276L1amxSV0tCI/edit

65 of 68

65

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

미션: 주어진 토픽의 관계 추출 데이터 구축

5 - 실제 어노테이션 진행

  • 파일럿 태깅
    • 전체 코퍼스에서 일부를 태깅
    • 충돌하는 부분들을 확인함으로써 서로의 가이드라인 이해가 맞는지 보기�
  • 실제 어노테이션 진행
    • 데이터를 나누어 각자가 맡은 데이터의 문장들에 대해 (Tagtog)
      • entity (subject / object) 범위 설정
      • 관계 태그 붙이기
    • 각자가 entity를 설정하고 관계 태그를 붙인 문장들을 (스프레드시트 or Labelstudio)
      • 다른 사람들이 각각 tag
      • Inter-annotator agreement 계산 (Fleiss Kappa)

6 - 모델 fine-tuning (기존 대회 포맷 활용)

66 of 68

66

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

권장 역할분담

세팅

  • Tagtog 플랫폼에 문장 올리기 (1인)
  • Relation map 작성 (2인)
  • 가이드라인 작성 (3인)
  • IAA 계산 (1인)
  • 모델 튜닝 (2인)

전체 함께

  • 문장 선정
  • 문장 별 엔티티 태깅 및 레이블링
  • 주어진 문장/엔티티에 대한 레이블링
  • 파일럿 태깅 및 피드백, 가이드라인 업데이트
  • 메인 태깅

Timeline

  • 1주차: 월/화 - 문장 추출 및 관계 brainstorming
  • 1주차: 수/목 - 관계 구축 및 pilot tagging
  • 1주차: 금 - discussion 및 일치도 측정 (pilot)
  • 2주차: 월 - 가이드라인 준 최종 버젼(?)
  • 2주차: 화/수 - main tagging
  • 2주차: 목 - IAA 측정
  • 2주차: 금 - 기존 모델 적용

67 of 68

67

3. 퀄리티 있는 RE 데이터 제작을 위한 전략들

평가지표

정량 지표

  • Inter-annotator agreement (직접 제작한 가이드라인으로 iteration 돈 후 최종 결과): Fleiss’ kappa 기준 0.7을 threshold로�https://github.com/Shamya/FleissKappa 등 라이브러리 활용

정성 지표

  • 수량 / 길이 / subj나 obj의 entity 다양성 분포: 훈련에 적합한 양이 도출되게, 하지만 데이터 측면에서 다양성 있게 관계를 설정/수집할 것 독려

모델 학습 지표

  • Train / validation / test set으로 나눈 후 intra-set performance: 최적화로 성능을 높이는 것 권장하나, 성능이 낮다고 무리하게 데이터를 추가 수집하여 augmentation할 필요는 없음
    • Micro F1 score on all classes
    • AUPRC (area under precision-recall curve) on all classes

68 of 68

End of Document

Thank You.