형태소분석
Saltlux
자연어 처리 시스템
자연어 처리 시스템은 영어, 일본어, 중국어, 한국어와 같은 자연어를 입력 받아 이를 분석하는 시스템을 의미합니다. 이러한 자연어 처리 시스템은 크게
형태소분석, 구문분석, 의미분석 단계로 나뉘며, 이 단계에서는 각각 애매성이 발생하여 이를 처리하기 위한 과정을 자연어 처리라고 합니다.
형태소 분석은 일반적인 문서를 받아서 이를 전처리 (Preprocessing) 과정을 거친 후 형태소분석 (Morphological Analysis/Lexical Analysis)후 품사태깅을 거쳐 그 결과를 출력하는 일련의 과정을 의미합니다.
형태소 분석기의 종류는 규칙에 의한 방식, 기계학습을 이용하는 통계적 방식 등 다양한 방법이 있습니다.
- Markov Model Tagger
- Hidden Markov Model Tagger (*)
- Transformation-based Tagger (*)
- Neural network
- Decision Tree …
특히 형태소 분석기는 분석 대상 언어의 특성에 따라 처리하는 방식이 매우 다릅니다. 예를 들어 영어와 같은 고립어( Token : Morpheme = 1:1)의 경우는 Lexical Analysis 과정이 공백 단위로 끊어 주면 되기 때문에 상대적으로 쉽지만 한국어와 같은 굴절어 (Token : Morpheme = 1:n)의 경우는 Lexical Analysis 과정이 까다롭습니다. 특히 한국어의 경우는 띄어쓰기의 오류율이 영어 등에 비해 높기 때문에 기계로 처리하기가 어렵습니다.
이렇게 분석된 형태소 분석 결과는 여러 가지 경우의 수가 발생하기 때문에 애매성이 있습니다. 품사 태깅 중 통계적 처리 과정은 간략히 소개하면 다음과 같습니다.
위의 경우처럼 여러 개의 가능한 품사열 중 통계적으로 가장 확률값이 높은 열을 찾아내는 것이 품사태깅입니다.
하지만 위의 계산식은 실제로 계산하기 복잡하기 때문에 조건부 확률 정의 등을 이용하여 아래의 식을 도출
또한 아래의 Markov 가정 도입하여 단순화 시킵니다.
- 가정1: 현재 단어는 이전 단어에만 의존
- 가정2: 현재 단어의 품사 현재 단어에만 의존

출처: Natural Language Understanding [J. Allen]
작성: 안태성


