Skip to content

관계 및 이벤트 추출

Potato에서 span 링크와 이벤트 어노테이션을 사용하여 개체 간 관계와 트리거 및 인자를 갖는 구조화된 이벤트를 어노테이션하는 방법을 설명합니다.

관계 추출은 두 개체를 유형이 지정된 링크로 연결합니다("Marie Curie, 수상, 노벨상"). 이벤트 추출은 한 걸음 더 나아가, 이벤트 트리거와 그 주변의 역할(누가 무엇을 누구에게 언제 했는지)을 표시합니다. 둘 다 평범한 텍스트를 구조화된 지식으로 바꿉니다.

배경 지식은 관계 추출이벤트 추출을 참고하세요.

관계: span 연결하기

관계 어노테이션은 머리 span, 꼬리 span, 관계 유형의 세 부분으로 이루어집니다. Potato에서는 어노테이터가 먼저 span을 표시한 다음 그 사이에 방향이 있는 유형 지정 링크를 그립니다(span 링크).

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    description: "Mark the entities involved."
    labels: [PERSON, ORGANIZATION, AWARD]
  - annotation_type: span_link
    name: relations
    description: "Draw a link between two entities and choose the relation."
    labels: [won, works_for, located_in, founded_by]

관계는 방향성이 있으므로, 각 유형의 방향을 정하고 문서로 남기세요("founded_by"가 회사에서 사람을 가리키는지, 아니면 그 반대인지?).

이벤트: 트리거와 인자

이벤트는 트리거 단어(흔히 "acquired" 같은 동사)에 고정되며, 유형이 지정된 역할(구매자, 판매자, 가격, 날짜)을 채우는 인자를 갖습니다. Potato의 이벤트 어노테이션 유형은 어노테이터가 트리거를 표시하고 역할이 라벨링된 span을 붙일 수 있게 합니다.

이벤트 어노테이션 쇼케이스는 작동하는 트리거-인자 설정을 보여줍니다.

이런 작업이 어려운 이유

  • 라벨 공간이 크기 때문에 일치도가 떨어집니다. 관계 유형과 역할 유형을 적게, 그리고 명확하게 정의해 두세요.
  • 어노테이터는 먼저 span을 제대로 맞춰야 하며, 오류가 누적됩니다. 첫 번째 패스에서 개체를 어노테이션하고 두 번째 패스에서 관계를 어노테이션하는 방안을 고려하세요.
  • 구조화된 출력은 일치도 지표를 간단치 않게 만드니, 당신이 중요하게 여기는 수준에서 측정하세요(올바른 트리거, 올바른 인자, 올바른 전체 이벤트).

더 읽어보기