이 단계는 모든 휴먼 애노테이터가 작업을 끝낸 후에 프로젝트 매니저가 해당 문서를 Ground Truth로 승격시키고 머신 러닝 모델을 학습시킵니다. 학습시킨 모델을 Watson Natural Language Understanding이나 Discovery 서비스로 배포하여 애플리케이션에서 쉽게 활용할 수 있습니다.

전체 실습은 다음의 순서로 진행됩니다.
Exercise 01: 프로젝트 생성, 타입 시스템 생성 및 수정
Exercise 02: 기계 학습용 자료(Training Corpus) 업로드
Exercise 03: 딕셔너리 애노테티터(Dictionary Annotator) 생성 및 사전 애노테이션(Pre-annotation)
Exercise 04: 언어적 규칙(Linguistic Rule)을 사용한 사전 애노테이션(Pre-annotation)
Exercise 05: 휴먼 애노테이션(Human annotation) 태스크 생성
Exercise 06: 휴먼 애노테이션(Human annotation)
• Exercise 07: 판결(Adjudication)

목표

이 단계에서는 다음을 수행합니다.
– 휴먼 애노테이터 간에 중복된 문서에 대해 비교 및 판결
– 애노테이션 된 문서를 Ground Truth로 승격
– Ground Truth로 머신 러닝 모델을 학습

단계

이전 단계인 휴먼 애노테이션(Human Annotation)을 마치고 이 단계를 수행합니다.

1. IAA(Inter-Annotator) Score 확인

Asset & Tools > Documents로 이동하여 Tasks탭을 오픈합니다. 작업 완료한 태스크를 선택합니다.
Human Annotator가 애노테이션을 완료하면 해당 Annotation Set의 상태가 SUBMITTED로 변경됩니다.

Calculate Inter-Annotator Agreement 버튼을 눌러 점수를 확인합니다. 이 점수는 휴먼 애노테이터 간에 얼마나 일관성있게 애노테이션 했는지에 대한 수치입니다. 이 수치가 통상적으로 0.8이 넘으면 어느 정도 일관성이 있었다고 볼 수 있습니다. 프로젝트 매니저는 이 수치에 대한 임계값(Threshold)을 정하고 그 값을 넘느냐 안넘느냐에 따라 해당 애노테이션 셋을 Ground Truth로 바로 승격할지 다시 휴먼애노테이터에게 태스크를 넘길지 결정하게 됩니다. IAA 수치가 너무 낮으면 휴먼 애노테이터에게 명확한 가이드라인이 제시되었는지를 다시 확인할 필요가 있습니다.

위 화면을 보면 Mention에 대한 IAA 수치는 전체적으로 0.98로 매우 높습니다. 이 수치를 보고 프로젝트 매니저는 애노테이션 셋을 Accept 할 수 있습니다.

셀렉트 박스의 옵션을 변경하여 Relation Type, Coreference에 대한 IAA 수치도 확인할 수 있습니다.

전체적인 수치 외에도 엔티티 별 수치가 나타나기 때문에 어떤 엔티티에 대한 애노테이션을 개선하면 될지를 판별할 수 있습니다. 위 화면을 보면 carpart 타입에 대한 수치가 현저히 낮습니다. 이러한 경우 이 타입에 대해 개선함으로써 정확도를 올릴 수 있습니다.

엔티티 타입별 뿐만 아니라 문서별, 휴먼애노테이터 페어별로도 확인할 수 있습니다.

전반적으로 수치를 확인한 후에 Back to Task1 Task 버튼을 눌러 이전 화면으로 돌아갑니다.
DocSet1, DocSet2를 선택하고 Accept 버튼을 누릅니다. (휴먼 애노테이터에게 다시 할당하려면 Reject 버튼을 누릅니다.)

2. 중첩된 문서의 충돌 해결 및 Ground Truth로 승격

휴먼 애노테이터 간의 작업이 완전히 일치하지는 않기 때문에 Conflict가 발생합니다.

Check Overlapping Documents for Conflicts 버튼을 눌러 충돌을 해결합니다.

각 중첩된 문서에 대해 Check for Conflict 버튼을 눌러 충돌을 해결합니다.

비교하려는 문서를 선택합니다. 지금은 Ground Truth가 없는 첫번째 빌드 단계이므로 DocSet1과 DocSet2만 선택하고 Check for Conflict 버튼을 클릭합니다.

왼쪽을 보면 Mention, Relation, Coreference 별로 충돌의 갯수가 보여집니다.
Mention에는 충돌이 없으나 Relation에는 1개의 충돌이 발생하였으므로 Relation을 확인해 보겠습니다.
Relation을 선택하고 해결되지 않은 관계 타입만 보기 위해 Unresolved는 체크된 상태로, Resolved는 체크 해지된 상태로 두십시오.

충돌이 나지 않은 관계 타입은 연한 회색으로, 충돌이 난 관계 타입은 진한 회색으로 표기됩니다. 진한 회색으로 표기된 관계타입을 선택하면 아래 화면처럼 파란색 선으로 표기됩니다. 선택한 상태에서 Accept 또는 Reject 버튼을 눌러 충돌을 해결합니다.

다음과 같이 Relation 타입의 충돌 갯수가 0으로 바뀐 것을 확인할 수 있습니다.

다음으로 Coreference chain conflicts를 선택합니다. 우측 패널을 보면 coreference chain의 목록이 나타납니다. v 표시가 있는 것은 충돌이 나지 않은 것이고 없는 것은 해결할 필요가 있습니다. 예를 들어 #5 충돌사고(3)을 클릭한 후에 애노테이션이 맞는지 확인하고 Accept Chain(1)을 클릭합니다.

다음과 같이 Coreference chan conflicts의 수가 3으로 줄어들고 #5 충돌사고(3) 우측에 v 표시가 나타납니다.

나머지 충돌도 같은 방식으로 해결해 줍니다. 문서가 보이는 패널의 상단을 보면 저장 버튼과 Promote to ground truth 버튼이 있습니다. 충돌을 다 해결했으면 우측의 Promote to ground truth 버튼을 눌러 해당 애노테이션을 Ground truth로 승격합니다.

나머지 중첩된 문서셋에 대해서도 같은 작업을 반복합니다.

다음과 같이 모든 중첩된 문서의 충돌을 해결하고 나서 Back to Task1 Task 버튼을 눌러 이전 화면으로 돌아갑니다.
애노테이션 셋의 상태가 COMPLETED로 변경된 것을 확인할 수 있습니다.

3. Ground Truth로 머신 러닝 모델을 학습

Model Management > Performance 페이지로 이동합니다. Train and evaluate 버튼을 누릅니다.

다음과 같이 휴먼 애노테이션을 완료하여 Ground Truth가 된 두개의 문서셋을 선택하고 우측의 트레이닝 셋/테스트 셋/블라인드 셋의 비율을 정한 후에 상단의 Train & Evaluate 버튼을 누르면 트레이닝 및 평가 작업이 수행됩니다. 이 작업이 수행되는 데에는 오랜 시간이 소요 됩니다.

튜토리얼을 모두 마쳤습니다. 빌드한 모델을 활용하려면 이 튜토리얼의 가이드를 활용하십시오. 또한 이 예제로 애플리케이션과의 연동까지 실습해 보실 수 있습니다.

토론 참가

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다