NER 테스크에 대한 LLM의 성능은 Supervised baseline보다 낮았음 -> NER은 본질적으로 시퀀스 라벨링 과제임. 따라서 모델이 각 토큰에 엔티티 타입을 할당해야 하는 task인데 LLM은 텍스트 이를 텍스트 생성 과제로 형식화 하기 때문 -> GPT-NER은 NER 작업을 LLM이 쉽게 적응할 수 있는 텍스트 생성 작업으로 변환함
또 다른 문제는 LLM이 NULL 입력을 엔티티로 보고, 여기에 레이블을 붙이는 경향이 강하다는 것임. -> 추출 과정 바로 뒤에 self-verification 전략을 추가
method
일반적인 In context Learning 패러다임을 따름. 총 3단계
Step 1: Prompt Construction
Step 2: Feeding the constructed prompt to LLM
Step 3 : transforming text sequence to a sequence of entity labels
prompt construction
task description : 작업에 대한 지시, 추출할 엔티티명, 예시 참고 지시문 포함
few-shot demonstration : 예문의 형식을 모방하게 하고, task에 대한 증거와 추측을 위한 참고를 제공
fortmat : 엔티티에 해당하는 부분을 special tokens로 감쌈. --> LLM은 엔티티의 위치만 표시하고 나머지 부분에 대해서는 복사하기만 하면되므로, 레이블 정보를 완전히 인코딩하는 어려움이 감소
input sentence : 정의된 형식에 따라 결과물을 생성하도록 지시
Few-shot demonstrations Retrieval
프롬프트에 제공될 N개의 예시문을 찾는 방법을 설명
kNN기반 검색 방법 : SimCSE 와 같은 문장 유사도 계산 모델을 이용해 input 문장과 가장 의미적으로 유사한 문장 찾는 방법 -> NER은 token lever task이므로, 입력에 대한 어떠한 엔티티 정보도 포함하지 않을 수 있음.
엔티티 레벨 임베딩 : token level에서 knn 예시를 찾아야 함. 파인튜닝 된 NER 태깅 모델을 사용해 훈련 예제의 모든 토큰에 대한 엔티티 수준의 표현을 추출해 저장.
Self-verification
추출된 엔티티가 정확한지 여부를 추가로 검증하도록 요청. 답변은 yes, no로 받도록 함
Demonstration selection : 추출된 엔티티 레벨에서 의미있는 훈련 예제 채택.
experiment
실험 데이터 :
Flat NER : CoNLL2003, OntoNotes5.0
NestedNER : ACE2004, ACE2005, GENIA
backbone LLM : GPT-3(davinci-003) -> 요금 때문에 100개의 테스트 인스턴스를 무작위 추출하여 사용
Flat NER
sentence level embedding 보다 entity-level embedding 했을 때 성능 개선 + self-verification 추가했을 때 성능 개선.
여전히 SOTA Baseline에 비하면 성능이 떨어지나, kNN의 시연 수를 높였을 때 성능 정체가 발생하지 않았으므로, input token 개수 늘어나면 성능도 더 좋아질 것으로 예측
Nested NER
span level의 정확도, 재현율, F1 score 비교 -> FlatNER보다 큰 격차가 남
위치개체, 지리적 개체와 같이 유사한 개체 유형이 있고, 따라서 이것을 모두 반영한 시연의 수가 제한적이었음
nestedNER 데이터세트를 위한 주석 지침이 더 복잡하고 직관성이 떨어짐 -> 오히려 전체 훈련 데이터를 학습해 미세 조정된 supervised model이 이런 복잡한 규칙을 학습하는데 유리 (학습 데이터 개수만 문제인건지, 근본적으로 supervised model이 더 유리한건지..?)
lower resource scneario
full training data에서 일부만 랜덤으로 선택
무작위 시연 검색 + 문장 수준 임베딩 시연 검색, Flat NER 데이터로 실험
자기 검증 단계에서는 제로샷 학습만 사용
training set가 매우 적은 경우(8-100)는 supervised model 성능이 크게 저하됨
training set sampling 비율이 10% 이상이 될 때부터 GPT-NER 성능이 향상 폭이 크지 않음. => 학습 데이터의 양보다 검색된 시연, 프롬프트의 품질을 향상시키는 것이 더 효율적임
kNN based strategy 에서, k가 4 이하일 때 무작위 전략보다 성능이 떨어짐 -> 입력 문장과 유사한 시연을 선택하므로, 입력 문장에 엔티티가 없다면 검색된 예시도 엔티티가 없는 문장들만 검색될 수 있음
contribution
저자원의 few-shot NER 세팅만으로도 인상적인 능력을 발휘 -> 실제 응용 프로그램에도 사용될 수 있는 잠재력 보여줌
nested named entity : 중첩 개체명. 하나의 개체명에 다른 개체명이 중첩되는 엔티티. e.g. "프랑스의 중국 대사관"