[자연어처리] 형태소분석
형태소 분석이란?
- 어휘분석 : 단어의 구조를 식별하고 분석을 통한 어휘의 의미와 품사에 관한 단어 수준의 연구
- 형태소 분석 : 더 이상 분해될 수 없는 최소한의 의미 단위인 형태소를 자연어의 제약조건과 문법 규칙에 맞춰 분석하는것
- 어휘들을 분석하기 위해 형태소 분석이 선행되어야함
형태소 분석의 절차
Ⅰ. 단어에서 최소 의미를 포함하는 형태소 후보로 분리
- 형태소 분석의 처리 대상인 어절(또는 단어)는 하나 이상의 형태소가 연결된 것
- 우리는 하나 이상의 형태소가 연결된 어절이나 단어를 형태소열이라고도 부른다
Ⅱ. 형태론적 변형이 일어난 형태소의 원형 복원 및 형태소품사쌍 생성
-한국어에서 형태소가 연결될 때, 형태소의 변형이 일어나기 때문에 이를 원형 형태로 복원해줄 필요가 있음
ex. '나는' → 나 + 는 or 날 + 는 과 같이, 형태소의 변형을 고려해주면 같은 형태소 열에서 분석될 수 있는 후보가 다수가 되기도 한다
- 형태소는 하나 이상의 품사를 가질 수 있으므로, 하나의 형태소는 하나 이상의 형태소와 품사의 쌍으로 표현된다. 이렇게 쌍으로 나타낸 것을 형태소품사쌍(Morpheme-Tag Pair)이라함
ex. 한국어→ 한국어_고유명사, 나→ 나_대명사, 나_명사, 나_동사, 나_보조용언
Ⅲ. 단어와 사전들 사이의 결합 조건에 따라 옳은 분석 후보를 선택
영어 형태소 분석
위에서 절차를 설명할 때, 한국어 형태소 분석 예시를 들며 설명을 진행했다.
영어 형태소 분석 예시를 들어보고자 한다.
영어에서는 최소 단위의 의미를 갖는 기본 단위는 단어이다.
따라서 어간 추출(Stemming), 표제어 추출(Lemmatization)을 통해 쉽게 형태소 파악이 가능하다.
품사 태깅이란
-품사 : 단어의 기능, 형태, 의미에 따라 나눈 것을 의미
· 문장 내에서 단어가 수행하는 역할 기준: 체언, 수식어, 관계언, 독립언, 용언
· 형태 기준: 가변어, 불변어
· 의미 기준: 명사, 대명사, 수사, 관형사, 부사, 조사, 감탄사, 동사, 형용사
- 태깅 : 같은 단어에 대해 의미가 다를 경우(중의성)를 해결하기 위해 부가적인 언어의 정보를 부착
-아래는 한국어 형태소 분석 라이브러리 KoNLPy 다섯 가지에 "아버지가방에들어가신다"를 넣고 형태소 분석을 돌린 결과
품사 태깅 접근법
품사 태깅 접근법에도 규칙기반, 통계기반, 딥러닝기반으로 나누어볼 수 있다.
규칙기반의 태깅 방법에 대해서 서술은 유의미하지 않기에 생략한다.
또한 딥러닝기반의 태깅 방법은 다음에 별도의 글을 작성해서 깊게 다루겠다.
▶ 통계 기반의 접근법
- 태그가 부착된 대량의 코퍼스가 주어지면 태깅에 적합한 모델을 선정하고 코퍼스에서 추출된 통계정보를 이용
- 단점: 대량의 코퍼스에 태그가 부착되어야한다
- 장점: 하지만 주어지면 통계정보 추출이 용이하고 자동 추출이 가능하다
-대표적으로 어휘 확률만을 이용하는 방법인 은닉 마르코프 모델 접근법이 존재(가장 성능이 좋은 접근법)
- Hidden Markov Model(은닉 마르코프 모델)
· 과거 데이터를 기반으로 예측하는 방법이다. 예를 들어, 지난 3일 간의 날씨가, 3일전은 흐림, 2일전은 맑음, 어제는 비가 왔다면 오늘 날씨는 어떨지 확률로 예측
· 어떠한 시점에서 가능한 상태를 확인하는 것이 마르코프 모델이며, 은닉 마르코프 모델이란 상태 정보가 숨겨진 마르코프 모델을 의미
· 상태정보가 숨겨져 있고 출력된 정보만 관찰 가능할 때, 이를 가지고 숨겨진 상태 정보를 추정
· 주어진 문장에서 형태소의 품사 태그 정보를 숨긴채로 확률 정보를 이용하여 가장 가능성이 높은 경로를 찾는다
※ 수식 ∏ : ∑는 다 더해주는 거라면 ∏는 다 곱해주는 것을 의미