자연어처리 - 언어모델링(LM)
in Data Science on ML/DL
NLP - Language Modeling (LM)
언어모델 (LM)이란 문장의 확률을 나타낸 모델
- 문장 자체의 출현 확률을 예측 하거나,
- 이전 단어들이 주어졌을 때 다음 단어를 예측하기 위한 모델
예시)버스 정류장에서 방금 버스를 ㅇㅇㅇ.
1)사랑해
2)고양이
3)놓쳤다
4)사고남
우리의 머릿속에는 단어와 단어 사이의 확률이 우리도 모르게 학습되어 있다.
- 대화를 하다가 정확하게 못들어도 대화에 지장 없음
많은 문장들을 수집하여, 단어와 단어 사이의 출현 빈도를 세어 확률을 계산
궁극적인 목표는 우리가 일상 생활에서 사용하는 언어의 문장 분포를 정확하게 모델링 하는 것
- 특정 도메인의 문장 분포를 파악하기 위해서 해당 분야의 말뭉치를 수집하기도한다.
한국어 NLP가 왜 어렵나 ?
- 단어와 단어 사이의 확률을 계산하는데 불리하게 작용
- 1) 단어의 어순이 중요하지 않다.
- 2)또는 생략이 가능하다.
- 예시) 나는 학교에 갑니다 버스를타고 = 나는 버스를 타고 학교에 갑니다.
- 확률이 퍼지는 현상
- ‘타고’다음에 나타날 수 있는 단어들은 ‘.’, ‘학교에’, ‘나는’ 3개이기 때문
- 접사를 따로 분리해주지 않으면 어휘의 수가 기하급수적으로 늘어난다..ㅎㄷ ㄷ
LM의 적용분야(Applications)
1)Speech Recognition : Acoustic Model과 결합하여, 인식된 음속의 시컨스에대해 좀 더 높은 확률을 갖는 시퀀스로 보완
2)Machine Translation : 번역 모델과 결합하여, 번역된 결과 문장을 자연스럽게 만듦
3)OCR : 인식된 character candidate sequence에 대해서 좀 더 높은 확률을 갖는 sequence를 선택하도록 도움
4) NLG Tasks : 뉴스기사 생성 + 챗봇, 검색어 자동 완성 등등
-> LM 한 가지만 가지고 서비스를 만드는 경우는 드문데 다른 것들과 결합되어 매우 중요한 역할을 하게 되었다.
이 글이 도움이 되셨다면 추천 클릭을 부탁드립니다 :)