[자연어처리] 개체명 인식(Named Entity Recognition:NER)
▶개체명 인식(NER) :
- 사람, 장소, 기관, 날짜 등 이외에도 분야별 각각 명명된(named) 개체를 텍스트로 식별하는 작업
- 질의답변(QA: Question Answering), 정보검색(IR: Information Retrieval), 관계추출(RE: Relation Extraction) 등을 위해 선제되어야하는 작업으로, NLP(자연어처리) 시스템의 핵심 구성 요소
※ NER에서 NE(Named Entity: 명명된 개체)는 두 종류로 나뉜다
1. 일반적인 개체명(generic NEs): 인물이나 장소 등의 명칭
2. 특정 분야 개체명(domain-specific NEs): 분야별 전문 용어
→ 실제 NER을 적용할 때는 첫 번째 유형의 개체명은 NER 알고리즘을 통해, 두 번째 유형은 미리 정의해놓은 용어집(번역 메모리)를 통해 처리하여 번역 품질을 높인다
▶지도학습 기반 NER 시스템
지도학습 기반 NER시스템에는 HMM, SVM, CRF 등이 있다.
● 은닉 마르코프 모델(Hidden Markov Models, HMM)
HMM은 지난 피드에도 다룬 바 있지만, 별도의 피드로 정리하여 링크를 첨부하도록 하겠다.
● 서포트 벡터 머신(Support Vector Machines, SVM)
두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕 으로 하여 새로운 데이터가 어느 카테고리에 속할 지 판단하는 비확률적 이진 선형 분류 모델을 만든다. 여기서 벡터 공간에 표현된 자질로부터 의미 클래스를 분류하기 위해 Best Margin개념을 사용하여 의미 클래스 간에 가장 넓은 거리를 사용하는 방향으로 선을 그어 의미를 분류한다.
● 조건부 무작위(Conditional Random Fields, CRF)
세미나 때 발표한 자료로 설명을 대체한다.
▶학습 코퍼스
- 가장 많이 활용되는 영어 학습 코퍼스는 CoNLL2002, CoNLL2003
- Twitter 코퍼스도 존재 → 업데이트가 잘되어 최신 회사, 사람, 영화 등등 트렌드를 잘 따라 가지만, 학습 코퍼스 특성 상 문법적인 면이 중요하나, 구어체 문장을 다수 포함하여 NER 시스템 성능 저하의 주된 요인이 됨 → 많이 사용하지 않음
▶ 코드는 향후 추가