AI_ML
개체명 인식
썬2
2021. 7. 21. 01:52
개체명 인식 (Named Entity Recognition)
각 개체의 유형을 인식으로, 문장 내에 포함된 어떤 단어가 인물, 장소, 날짜 등을 의미하는 단어인지 인식하는 것.
개체명 인식기: 딥러닝 모델이나 확률 모델 등을 이용해 문장에서 개체명을 인식하는 프로그램.
(개체명 인식 == NER)
1. 챗봇에서 개체명 인식이 필요한 이유?:
- 문장을 정확하게 해석하기 위해 반드시 해야하는 전처리 과정. ex) 내일 부산 날씨 알려줘. -> '내일': 날짜, '부산': 지역.
- 단순한 질문 형태면 개체명 사전을 구축해 해당 단어들과 매핑되는 개체명을 찾을 수 있다.
- 하지만, 문장 구조가 복잡하거나 문맥에 따라 단어의 의미가 바뀐다면 딥러닝 모델을 활용해야한다.
- (개체명 사전 구축 방식은 신조어나 사전에 포함되지 않은 단어는 처리 불가능하며 사람이 직접 사전 데이터를 관리해야해서 관리비용이 많이 든다.) + 아직 국내는 공개된 학습 데이터가 많지 않고 특정 도메인에 특화 모델도 많지 않다.
> 양방향 LSTM 모델로 이러한 단점 해결 가능.
2. BIO 표기법
- BIO란?: Beginning, Inside, Outside의 약자로 각 토큰마다 태그를 붙이기 위해 사용.
- 두 개 이상의 토큰이 하나의 개체를 구성하는 경우가 많아서 BIO 표기법을 사용한다.
- B: 개체명이 시작되는 단어에 'B-개체명'으로 태그
- I: 'B-개체명'과 연결되는 단어일 때 'I-개체명'으로 태그
- O: 개체명 이외의 모든 토큰에 태그.
- ex) '삼성전자' -> 삼성 / B-Company, 전자 / I-Company
- 한글은 BIO 태그 데이터셋을 구하기 쉽지 않지만, 국립국어원 언어정보나눔터에서 말뭉치 공개.
3. LSTM을 이용한 객체 인식기
단어 토큰을 입력했을 때 출력되는 NER 태그값을 예측. ex)삼성전자 입력하면 B_OG(단체) 출력.