NER(Named Entity Recognition)
Named Entity(이름을 가진 개체)를 Recognition(인식)하는 것을 의미하며 "개체명 인식"이라고 불림
정보 통신 용어에 따르면 아래와 같이 정의
- 미리 정의해 둔 사람, 회사, 장소, 시간, 단위 등에 해당하는 단어(개체명)를 문서에서 인식하여 추출 분류하는 기법. 추출된 개체명은 인명(person), 지명(location), 기관명(organization), 시간(time) 등으로 분류된다. 개체명 인식(NER)은 정보 추출을 목적으로 시작되어 자연어 처리, 정보 검색 등에 사용됨
인간은 단어를 듣거나 text를 읽을 때마다 그 단어가 어디에 속하는 지 식별(사람, 장소 위치 등)하는 능력을 가지고 있으며 단어를 빠르게 인식하고 분류하며 문맥을 이해할 수 있음
"스티브 잡스"라는 단어를 들었을 때 아래의 Entity 범주로 분리할 수 있음
- Person: 스티브 잡스
- Company: Apple
- location: 캘리포니아
일반적으로 개체명 인식(Named Entity, NE) 은 2가지로 분류됨
- 일반적인 개체명(generic NEs): 인물이나 장소 등의 명칭
- 특정 분야 개체명(Domain-specific NEs): 전문 분야의 용어
NER이 필요한 이유
NER은 자연어처리에서 전반적으로 중요한 역할을 함, 자연어 처리를 이용한 정보 검색과 요약, 질문 답변, 지식 베이스 구축 등 다방면에 사용되고 있으며 특히 기계 번역(Machine Translation: MT)의 품질을 높이며 사용자에 맞춤형 번역을 제공할 수 있도록 도와줌
NER 성능 평가 지표
NER은 정밀도(Precision), 재현율(recall), F1-score을 이용해 성능을 평가하며, 문장 단위가 아닌 토큰 단위로 평가를 진행함
NER 학습 과정
NER은 문장을 토큰 단위로 나누고, 이를 태깅(tagging)하여 개체명인지 아닌지 분간함
여러개의 토큰을 하나의 개체명으로 묶기 위해 태깅을 도입하였으며 태깅 시스템으로는 BIO 시스템과 BIESO 시스템 두 종류가 존재함, 실무에서는 BIO를 주로 씀
- BIO(Begin, Inside, Outside) 시스템
- 개체명이 시작할 때'B-(begin)', 토큰이 개체명 중간에 있을 때는'I-(inside)', 토큰이 개체명이 아닐 경우에는 'O(outside)'을 사용하여 태깅함
- BIESO(Begin, Inside, End, Singleton, Outside) 시스템
- 개체명이 시작할 때'B-(begin)', 토큰이 개체명 중간에 있을 때는'I-(inside)', 개체명의 마지막에 위치할 때 'E-(end)'.
- 하나의 토큰이 곧 하나의 개체명일 때는'S-(singleton)', 토큰이 개체명이 아닐 경우에는 'O(outside)'을 사용하여 태깅함
무엇을 개체로 탐색할 것인지는 연구자가 선정해야 함
https://www.letr.ai/blog/tech-230224
References
https://www.letr.ai/blog/tech-20210723
https://gdsc-university-of-seoul.github.io/Named-Entity-Recognition/
'NLP' 카테고리의 다른 글
프롬프트 엔지니어링 prompt-engineering 기초 (0) | 2024.02.26 |
---|---|
GNN(Graph Neural Network)의 기초, 이론, 모델 학습 (0) | 2024.02.14 |
Seq2Seq + Attention 코드로 이해하기 (2) | 2023.12.15 |
[NLP] NLP를 위한 CNN (0) | 2023.05.28 |
[NLP] LSTM(Long Short-Term Memory) (0) | 2023.05.26 |