Skip to content

개체명 인식

개체명 인식(NER)이 무엇인지, 흔히 쓰는 레이블 집합, 그리고 색이 입혀진 span 레이블과 tooltip을 사용해 Potato에서 NER 어노테이션 작업을 구성하는 방법을 설명합니다.

개체명 인식(NER)은 텍스트에서 이름이 붙은 것들, 즉 사람, 조직, 장소, 날짜 등을 찾아 분류하는 작업입니다. 개체 유형별 레이블 집합을 갖춘 span 어노테이션 작업입니다. NER은 검색, 지식 그래프, 비식별화, 정보 추출의 기본 구성 요소입니다.

배경 지식은 개체명 인식을 참조하십시오.

레이블 집합 선택하기

표준 스킴에서 시작해 대상 도메인에 맞게 줄여 나가십시오:

  • CoNLL-2003: PER, ORG, LOC, MISC. 무난한 최소 기본값입니다.
  • OntoNotes: 날짜, 금액, 백분율을 포함한 18가지 유형으로, 더 풍부한 요구에 적합합니다.
  • 도메인 특화: 생의학(유전자, 질병), 법률(법령, 당사자), 금융 등.

유형이 적고 정의가 명확할수록 일치도가 높아집니다. 실제 후속 용도가 필요로 할 때만 유형을 추가하십시오.

Potato에서 작업 구성하기

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    description: "Highlight each named entity and select its type."
    labels: [PERSON, ORGANIZATION, LOCATION, DATE, MISC]
    label_colors:
      PERSON: "#3b82f6"
      ORGANIZATION: "#10b981"
      LOCATION: "#f59e0b"
      DATE: "#8b5cf6"
      MISC: "#6b7280"
    tooltips:
      PERSON: "Names of people, e.g. 'Ada Lovelace'."
      ORGANIZATION: "Companies, agencies, teams, e.g. 'United Nations'."
      LOCATION: "Cities, countries, landmarks, e.g. 'Paris'."
      DATE: "Dates and time expressions, e.g. 'next Monday'."
      MISC: "Named entities that fit none of the above."
    allow_overlapping: false
    sequential_key_binding: true

개체명 인식 쇼케이스에서는 이 설정을 샘플 데이터로 실행해 봅니다.

불일치를 막는 경계 규칙

NER 불일치의 대부분은 개체가 무엇인지가 아니라, 어디에서 시작하고 끝나는지에 관한 것입니다. 다음을 정하고 문서로 남기십시오:

  • 직함을 포함합니까? ("Dr. Jane Smith" 대 "Dr. Jane Smith".)
  • "the United Nations"에서 "the"를 포함합니까?
  • "Bank of England" 같은 중첩 개체는 어떻게 태깅합니까? 필요하다면 allow_overlapping: true를 설정하십시오.

레이블에서 모델로

CoNLL이나 spaCy 형식으로 내보내십시오. 이들은 BIO/IOB 태그로 개체를 표현합니다. ML을 위한 어노테이션 내보내기를 참조하십시오.

더 읽어보기