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.