명명된 개체 인식(NER)은 개체 식별, 개체 청킹 및 개체 추출이라고도 하며, 정보 추출의 하위 작업으로, 구조화되지 않은 텍스트에 언급된 명명된 개체를 찾아 개인 이름(PER), 조직(ORG), 위치(LOC), 지리정치적 개체(GPE), 차량(VEH), 의료 코드, 시간 표현, 수량, 통화 가치 및 백분율과 같은 미리 정의된 범주로 분류하는 것을 목표로 한다. NER 시스템에 대한 대부분의 연구는 "Jim bought 300 shares of Acme Corp. in 2006"을 개체 이름을 강조하는 주석이 달린 블록으로 변환하는 것과 같이, 주석이 없는 텍스트 블록을 입력으로 받아 "[Jim] 사람은 2006년에 [Acme Corp.] 조직의 주식 300주를 샀다"와 같이 출력하는 방식으로 구성되어 왔다. 이 예에서, 하나의 토큰으로 구성된 개인 이름, 두 개의 토큰으로 구성된 회사 이름 및 시간 표현이 감지되고 분류되었다.
'명명된 개체'라는 용어는 하나 또는 여러 개의 문자열(예: 단어 또는 구)이 어떤 지시 대상에 대해 상당히 일관되게 서는 개체로 작업을 제한한다. 이는 Saul Kripke가 정의한 엄밀한 지시어와 밀접하게 관련되지만, 실제로 NER은 철학적으로 '엄밀'하지 않은 많은 이름과 지시 대상을 다룬다. 예를 들어, 1903년 헨리 포드가 만든 자동차 회사는 'Ford' 또는 'Ford Motor Company'로 지칭될 수 있지만, 'Ford'는 다른 많은 개체를 가리킬 수도 있다. 엄밀한 지시어는 고유명사뿐만 아니라 특정 생물 종 및 물질에 대한 용어를 포함하지만, 대명사(공지시 해소 참조), 속성으로 대상을 선택하는 설명, 개체가 아닌 종류에 대한 이름은 제외한다.
문제 정의
전체 명명 개체 인식은 개념적으로 그리고 가능하면 구현에서도 자주 두 가지 별개의 문제로 나뉜다: 이름의 검출과 이름이 가리키는 개체 유형(예: 사람, 조직 또는 위치)에 따른 이름의 분류. 첫 번째 단계는 일반적으로 분할 문제로 단순화된다. 이름은 중첩 없는 연속 토큰 범위로 정의되므로, "Bank of America"가 단일 이름이며, 이 이름 내부의 하위 문자열 "America"가 자체적으로 이름이라는 사실은 무시된다. 이 분할 문제는 형식적으로 청킹과 유사하다. 두 번째 단계는 사물의 범주를 구성하는 온톨로지를 선택해야 한다.
시간 표현과 일부 수치 표현(예: 통화, 백분율)도 NER 작업의 맥락에서 명명 개체로 간주될 수 있다. 이러한 유형의 문서 중 일부는 엄밀한 지시어의 좋은 예(예: 2001년)이지만, 유효하지 않은 예(예: "나는 6월에휴가를 보낸다")도 많다. 첫 번째 경우, 2001년은 그레고리력의 2001년도를 의미한다. 두 번째 경우, 6월은 정의되지 않은 연도의 월(과거 6월, 다음 6월, 매년 6월)을 의할 될 수 있다. 명명 개체의 정의가 실용적인 이유로 이런 경우에 느슨해졌다고 논쟁할 수 있다. 따라서 명명 개체라는 용어는 엄격하지 않으며 종종 사용되는 맥락에서 설명되어야 한다.
문헌에는 명명 개체 유형의 특정 계층이 여러 제안되었다. 2002년에 제안된 BBN 범주는 질문 응답에 사용되며 29개의 유형과 64개의 하위 유형으로 구성된다. 2002년에도 제안된 Sekine의 확장된 계층은 200개 하위 유형으로 구성된다. 최근에는 2011년, Ritter는 소셜 미디어 텍스트에 대한 NER 실험에서 일반적인 Freebase 개체 유형을 기반으로 하여 계층을 사용하여 획기적인 실험을 수행했다.
어려움
NER은 동일한 이름이 같은 유형의 다른 개체를 가리킬 수 있는 참조 모호성을 가지을 수 있다. 예를 들어, "JFK"는 미국 전 대통령이나 그의 아들을 가리킬 수 있다. 동일한 이름이 완전히 다른 유형을 가리킬 수 있다: "JFK"는 뉴욕의 공항을, "IRA"는 개인 퇴직계좌, 국제 읽기 협회 또는 아일랜드 공화국군을 가리킬 수 있다. 이는 환유에 기인할 수 있다; 예를 들어, "백악관"은 개소가 아닌 조직를 가리킬 수 있다.
형식 평가
NER 시스템의 출력 품질을 평가하기 위해 여러 측정이 정의되었다. 일반적인 측정은 정밀도, 재현율 및 F1 점수이다. 그러나이러한 값을 계산하는 방법에는 여전히 여러 문제가 남아 있다. 이러한 통계 측정은 실제 개체를 정확히 찾거나 누락하거나 실제 개체를 찾는 명확한 경우에 잘 작동하다. 그러나 NER은 다른 많은 방식으로 실패할 수 있으며, 이 중 일부는 '부분적 올바름'으로 간주되어 완전한 성공이나 실패로 간주되어서는 안 된다. 예를 들어, 실제 개체를 식별하는 데에서 원하는 것보다 적은 토큰으로 표시하는 경우("John Smith, M.D."의 마지막 토큰 누락), 원하는 것보다 많은 토큰을 포함하는 경우("The University of MD"의 첫 단어 포함), 인접한 개체를 다르게 분할하는 경우(예: "Smith, Jones Robinson"을 2개 또는 3개의 개체로 간주), 완전히 잘못된 유형 excludbly 지정(예: 개인 이름을 조직으로 호칭), 관련하지만 정확하지 않은 유형 지정(예: "물질" 대신 "마약" 또는 "학교" 대신 "조직"), 또는 사용자가 원하는 것보다 더 작은 또는 더 큰 개체를 올바르게 식별하는 경우(예: "James Madison"이 "James Madison University"의 일부인데 개인 이름으로 식별)이 있다. 일부 NER 시스템은 개체가 중첩하거나 겹치지 않는 제약을 부과하므로, 일부 경우에는 임의 또는 작업별 선택을 해야 한다.
단순한 측정 방법은 단지 텍스트의 모든 토큰의 몇 분율이 개체 참조의 일부로 올바르게 또는 오류로 식별되었는지(또는 올바른 유형의 개체인지)를 계산하는 것이다. 이는 적어도 두 가지 문제를 겪는다: 첫째, 실제 텍스트의 토큰 대부분은 개체 이름의 일부가 아니므로, 기본 정확도(항상 "개체 아님" 예측)는 놀랍게도 높으며, 일반적으로 90% 이상이다; 둘째, 개체 이름의 전체 범위를 잘 예측하지 못하는 것은 적절히 페널티화되지 않는다(성씨가 뒤따라 있는데 개인의 이름만 찾는 것은 절반 정확도로 계산될 수 있다).
CoNLL과 같은 학술 컨퍼런스에서 F1 점수의 변형은 다음과 같이 정의된다: 정밀도는 예측된 개체 이름 범위 중 골드 표준 평가 데이터와 정확히 일치하는 숫자이다. 예를 들어, [Person Hans] [Person Blick]이 예측되었지만 [Person Hans Blick]이 필요한 경우, 예측된 이름에 대한 정밀도는 제어이다. 그런 다음 정밀도는 모든 예측 개체 이름에 걸쳐 평균화된다. 재현율은 골드 표준에서 예측과 정확 동일한 위치에 나타나는 이름의 개수이다. N-거리는 점수은은두 개의 조화 평균입니다. 위 정의에 따르면, 단일 토큰을 누락하거나 포함하거나 잘못된 유형을 갖는 모든 예측은 해당 범위에 대한 완전한 실패로 계산된다.
접근 방식과 응용
전통적으로 NER 시스템은 수작업 규칙과 조건부 랜덤 필드와 같은 특성 기반 통계 모델에 의존했다. 기계 와 같은 모델 기반 기계 학습 과 딥 러닝의 부상으로, 현대 시스템은 때때로 Transform (데이터 구조로된 트랜스포머 기반 모델을 포함) 기반의 아키텍처와 같은 신경망 기반 아키텍처를 사용하며, 최고 성능을 위한 표준이 되었다. 이러한 모델은 대규모 말뭉치에서 사전 학습되고 NER 작업에 맞춰 미세 조정되는 경우가 많으며, [[openai, Anthropic 및 Google DeepMind 조직에서 개발한 대형 언어 모델의 발전을 활용된다.
NER는 질문 응답, 검색 및 지식 베이스 구성을 위한 정보 추출 파이프라인에서 널리 사용되며, 많은 자연어 처리 응용 프로그램에서 핵심 구성 요소이다.
N-보는 정보 추출, coreference resolution의 문서를 참조해야 하며, chunking과 조건부 랜덤 디멘트 필드.
같이 보기
- 정보 추출
- coreference resolution
- chunking
- 조건부 랜덤 필드
- Transformer (architecture)
- 대형 언어 모델