일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 패턴 인식
- BAM
- 파이썬
- Neural Network
- 갤럭시탭S8울트라
- 신경망
- 멤버십
- Bidirectional Associative Memory
- 삼성전자 소프트웨어멤버십 SSM
- 구글 앱 엔진
- 고려대학교
- 가상화
- Python
- 나르왈프레오
- 증강현실
- Friendship
- 패턴인식
- 물걸레로봇청소기추천
- 삼성소프트웨어멤버십
- 물걸레자동세척로봇청소기
- 신경회로망
- hopfield network
- 인공지능
- NarwalFreo
- 동아리
- Google App Engine
- 빅데이터
- SSM
- 삼성
- 하이퍼바이저
- Today
- Total
정보공간_1
[4기 신촌 김형진] 자연어 처리와 형태소 분석의 기초 #1 본문
안녕하세요.
신촌멤버십 22-2기 김형진입니다.
자연 언어 처리에 대한 기본 개념과, 형태소 분석에 대한 설명을 두 번에 나누어 작성해 보겠습니다.
1. 자연어 처리 개요
먼저 “자연어”(Natural Language)란, 사람들이 일상적으로 쓰는 언어를 말합니다. 즉, 한국어, 영어, 일본어, 스페인어, 아랍어 등 전 세계 사람들이 자연적으로 습득하고 배우게 되는 언어입니다.
반면, “인공어”(Artificial Language)란, 사람들이 필요에 의해 만든 언어입니다. 의사소통을 목적으로 한 언어로는 에스페란토가 있으며, 목적은 다르지만, 기계와의 소통을 위해 만들어진, 개발자라면 친숙한 C언어, 어셈블리, 자바 등도 인공어의 범주에 포함된다고 할 수 있습니다.
자연어 처리는, 크게 “자연어 이해”와 “자연어 생성”의 두 분야로 나눌 수 있습니다. 일반적인 자연어 처리 분야에서 많이 쓰이는 것은 “자연어 이해”로, 형태소, 의미, 대화 등을 분석하여 컴퓨터의 입장에서 유의미한 데이터들을 만들어 내는 과정을 말합니다. “자연어 생성”은 처리된 데이터를 바탕으로 다시 사람이 이해할 수 있는 언어로 가공하는 과정입니다.
이러한 자연어 처리가 활용되는 분야로는, 맞춤법 검사, 번역기, 질문 응답, 검색 엔진, 키워드 분석 등이 있습니다. 이들 분야에서는 모두 자연어 데이터를 활용하여 유용한 통계 자료나 검색 결과들을 제공해 주고 있으며, 앞으로도 발전가능성은 무궁무진하다고 할 수 있습니다.
2. 형태소의 개념
먼저, “형태소”라는 개념을 살펴보면, 사전적 정의는 “의미가 있는 최소의 단위”입니다. 다음 “나는 저녁을 먹었다”라는 문장에서 서로 다른 색이 칠해진 부분이 모두 다른 형태소입니다.
어떤 부분이 형태소인지 구별하기 위해 한국어의 문장의 각 성분 구별 방법을 살펴보면, 문장은 띄어쓰기를 기준으로 어절로 나뉩니다. 또한 한국어는 ‘조사’와 같은 단어들이 존재하기 때문에 각 어절을 더 작은 단위의 단어들로 나눌 수 있습니다. 마지막으로 이러한 단어 중에서 ‘~하다’, ‘~했다’ 등의 ‘용언’의 경우는 어간과 어미 부분으로 나눌 수 있습니다. 이렇게 나누어진 최종 단계가 바로 형태소입니다.
하지만 이러한 형태소를 또 두 가지 유형으로 나눌 수 있습니다. 이 유형은 한국어가 속해 있는 “교착어”에서만 가능한 분류로, 하나의 단어를 “어근+접사”형태로 나눌 수 있는 형식의 언어를 “교착어”라고 합니다. 이 때문에 다음과 같이 나누어집니다. 바로 “실질 형태소”와 “형식 형태소”로 나눌 수 있습니다. 각각의 구분은 다음과 같습니다.
실질 형태소는 다음과 같은 7가지로 분류할 수 있습니다.
1 – 단일 형태소
2 – 실질 형태소가 명사, 대명사, 수사
3 – 실질 형태소가 동사, 형용사, 보조 용언
4 – 실질 형태소가 복합 명사
5 – 준말
6 – 숫자나 영문자의 포함
7 – 사전에 수록되지 않은 단어
또한 형식 형태소 역시 다음과 같은 6가지로 분류할 수 있습니다.
1 – 조사 또는 어미만 결합
2 – 선어말어미의 결합 (-었-, -시-)
3 – 어미의 변형
4 – 서술격 조사의 생략 (-이다)
5 – 접미사
6 – 보조 용언
이를 활용하여 한국어의 형태소 분석에 이용할 수 있습니다.
3. 자연언어의 특성 및 방법론
형태소 분석을 위한 자연언어가 갖는 특성은 다음과 같습니다.
1) 처리대상 : 단어 또는 어절
2) 단어는 하나 혹은 둘 이상의 형태소
3) 형태소는 변형 규칙에 따른 변형 가능
4) 분석 결과는 사전과 단어간 결합 관계에 제약
5) 형태론적 모호성이 있는 단어 존재
즉, 각 단어의 결합 관계가 있고 이를 통해 자연언어의 분석을 위한 틀을 구성할 수 있습니다.
여기서 “형태론”(Morphology)이라는 것은, 형태소를 바라보는 방법론인데, 이에 대한 의미가 언어학적인 관점과 전산언어학적인 관점에 다음과 같은 차이가 있습니다.
전산언어학의 방법론을 4가지로 정의하면, 얼마나 많은 현상을(범위), 어떻게(방법론), 정확하게(정확성), 효율적으로(효율성) 처리할 것인가로 정의할 수 있습니다. 이는 알고리즘의 방법론과 일치하며, 결국 “자연언어를 어떤 알고리즘으로 처리할 수 있는가?”라고 하는 문제로 귀결됩니다.
다음 포스트에서 이어서 일반적인 형태소 분석의 방법을 살펴보겠습니다.
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[4기 강남 노진우] 검색이 기억에 미치는 영향 (0) | 2013.10.29 |
---|---|
[4기 신촌 김형진] 자연어 처리와 형태소 분석의 기초 #2 (0) | 2013.10.28 |
[4기 신촌 김형진] UDP Hole Punching 소개 (1) | 2013.10.28 |
[4기 부산 김솔] Codeigniter 3 (0) | 2013.10.28 |
[4기 부산 김솔] Codeigniter 2 (0) | 2013.10.28 |