상호참조 체인
같은 엔티티를 가리키는 텍스트 스팬을 묶어 상호참조 해소 작업을 수행합니다.
상호참조 어노테이션을 사용하면 어노테이터가 같은 엔티티를 가리키는 텍스트 스팬을 묶을 수 있습니다. 이는 엔티티 해소, 대명사 해소, 담화 분석에 꼭 필요합니다.
개요
상호참조 체인은 모두 같은 실세계 엔티티를 가리키는 멘션(텍스트 스팬)의 모음입니다. 예를 들면 다음과 같습니다.
"마리 퀴리는 물리학자였습니다. 그녀는 노벨상을 받았습니다. 그 과학자는 자신의 분야를 영원히 바꿔 놓았습니다."
"마리 퀴리", "그녀", "그 과학자", "자신의"라는 스팬은 모두 같은 사람을 가리키며 하나의 상호참조 체인을 이룹니다.
빠른 시작
상호참조 어노테이션에는 두 가지 스키마 구성 요소가 필요합니다.
- 멘션을 만들기 위한 스팬 스키마
- 멘션을 체인으로 묶기 위한 상호참조 스키마
yaml
annotation_schemes:
- annotation_type: span
name: mentions
description: Highlight all entity mentions
labels:
- name: MENTION
tooltip: "Any reference to an entity"
sequential_key_binding: true
- annotation_type: coreference
name: coref_chains
description: Group mentions that refer to the same entity
span_schema: mentions
allow_singletons: true설정 옵션
| 필드 | 타입 | 기본값 | 설명 |
|---|---|---|---|
annotation_type | string | 필수 | "coreference"여야 합니다 |
name | string | 필수 | 이 스키마의 고유 식별자 |
description | string | 필수 | 어노테이터에게 표시되는 안내 문구 |
span_schema | string | 필수 | 멘션을 제공하는 스팬 스키마의 이름 |
entity_types | list | [] | 엔티티 타입 범주 목록 |
allow_singletons | boolean | true | 멘션이 하나뿐인 체인 허용 |
visual_display.highlight_mode | string | "background" | 시각적 스타일: "background", "bracket", "underline" |
예시
엔티티 타입 사용
체인을 엔티티 타입별로 분류합니다.
yaml
annotation_schemes:
- annotation_type: span
name: ner
description: Mark named entities
labels:
- name: ENTITY
tooltip: "Any named entity mention"
- annotation_type: coreference
name: coref
description: Create coreference chains
span_schema: ner
entity_types:
- name: PERSON
color: "#6E56CF"
- name: ORGANIZATION
color: "#22C55E"
- name: LOCATION
color: "#3B82F6"
- name: OTHER
color: "#F59E0B"싱글톤 없이
모든 멘션이 최소 하나의 다른 멘션과 연결되어야 하는 작업의 경우:
yaml
annotation_schemes:
- annotation_type: span
name: mentions
description: Highlight co-referring mentions
labels:
- name: MENTION
- annotation_type: coreference
name: strict_coref
description: All mentions must be part of a chain with at least 2 mentions
span_schema: mentions
allow_singletons: false사용자 정의 시각적 표시
yaml
annotation_schemes:
- annotation_type: coreference
name: coref
description: Link coreference chains
span_schema: mentions
visual_display:
highlight_mode: "underline" # Options: background, bracket, underline사용자 인터페이스
체인 만들기
- 멘션 만들기: 스팬 어노테이션 도구로 모든 엔티티 멘션을 표시합니다
- 멘션 선택: 함께 묶을 강조 표시된 스팬을 클릭합니다
- 체인 만들기: "New Chain"을 클릭해 선택한 멘션을 묶습니다
체인 관리
- 체인에 추가: 추가 멘션을 선택하고 "Add to Chain"을 클릭합니다
- 체인 병합: 여러 체인을 선택하고 "Merge Chains"를 클릭해 합칩니다
- 멘션 제거: 멘션을 선택하고 "Remove Mention"을 클릭해 해당 체인에서 제거합니다
색상 코딩
각 체인에는 자동으로 서로 다른 색상이 부여됩니다. 같은 체인에 속한 멘션은 같은 색상을 공유하므로 어느 체인에 속하는지 시각적으로 쉽게 구분할 수 있습니다.
출력 형식
상호참조 어노테이션은 스팬 링크로 저장됩니다.
json
{
"span_links": [
{
"schema": "coref_chains",
"link_type": "coreference",
"span_ids": ["mentions_0_5_MENTION", "mentions_34_37_MENTION", "mentions_72_85_MENTION"],
"entity_type": "PERSON"
},
{
"schema": "coref_chains",
"link_type": "coreference",
"span_ids": ["mentions_15_23_MENTION", "mentions_95_97_MENTION"],
"entity_type": "ORGANIZATION"
}
]
}권장 작업 흐름
- 1차 검토 - 텍스트를 읽으며 모든 엔티티 멘션을 표시합니다
- 2차 검토 - 멘션을 상호참조 체인으로 묶습니다
- 검수 - 모든 멘션이 올바르게 배정되었고 빠진 체인이 없는지 확인합니다
모범 사례
- 명확한 멘션 경계를 정의하십시오 - 무엇을 멘션으로 볼지 기준을 세웁니다
- 중첩 멘션을 처리하십시오 - "마이크로소프트의 CEO" 같은 경우를 어떻게 다룰지 정합니다
- 일반 지시 표현을 고려하십시오 - 일반적인 지시 표현을 포함할지 결정합니다
- 어노테이터를 교육하십시오 - 상호참조는 복잡하므로 예시와 연습 회차를 제공합니다
- 엔티티 타입은 절제해서 사용하십시오 - 너무 많으면 데이터 품질은 나아지지 않으면서 어노테이션 속도만 느려집니다
더 읽어보기
구현 세부 사항은 소스 문서를 참고하십시오.