관리 메뉴

VivaButton

자연어 처리의 개념 본문

IT/자연어처리

자연어 처리의 개념

비바버튼 2018. 9. 27. 17:08
728x90

자연언어란?

- 정보 전달의 수단

- 인간 고유의 능력

- 인공 언어에 대응되는 개념

- 특정 집단에서 사용되는 모국어의 집합 : 한국어, 영어, 불어, 독일어, 스페인어, 일본어, 중국어 등


인공언어란?

- 특정 목적을 위해 인위적으로 만든 언어

- 자연어에 비해 엄격한 구문을 가짐

- 형식 언어, 에스페란토어, 프로그래밍 언어


자연언어처리란?

- 컴퓨터를 통해 인간의 언어를 처리하고 이용하려는 학문 분야

- 인간의 언어를 이해하고, 이를 바탕으로 각종 정보처리에 적용함으로써 보다 빠르고 편리한 정보 획득

- 자연언어 처리 기술의 대표적인 예로 정보검색 분야를 들수 있는데, 검색 대상 문서를 색인하는 과정에서 

  가장 기본적 자연어 처리 기술 중 하나인 형태소 분석기술을 대부분 적용하고 있다. 


자연언어처리 응용 분야

- 인간의 언어가 사용되는 실세계의 모든 영역

- 정보검색, 질의응답 시스템 : Google , Naver, siri, IBM Watson

- 기계번역, 자동 통역 : Google 번역기, ETRI 지니톡

- 문서작성, 문서요약, 문서 분류, 철자 오류 검색 및 수정, 문법 오류 검사 및 수정


IBM Waston

- 왓슨은 자연어 형식으로 된 질문들에 답할 수 있는 인공지능 컴퓨터 시스템이며, 시험 책임자 데이비드 페루치가 주도한 IBM의 DeepQA 프로젝트를 통해 개발되었다.

- 2011년 기능시험으로서 왓슨은 퀴즈 쇼 제퍼디에 참가하였으ㅡ며, 이는 이제까지도 유일한 인간 대 컴퓨터의 대결이었다.


형태론적 다양성

* 첨가어

- 한국어, 일본어, 터키어 등

- 다수의 형태소가 결합하여 어절 형성

- 터키어는 평균 7개의 형태소가 결합

* 굴절어 

- 라틴어(영어, 불어 등은 첨가어와 굴정어의 특징이 모두 있음)

- 어간이 변함(영어의 예 : run, ran, run)

*스와히리어

- 수(number)를 위한 형태소가 문두에 붙음

- (예) 사람 : m+tu(단수), wa+tu(복수)

        나무 : m+ti(단수),  mi+ti(복수)

* 아랍어

- 자음이 어간이고 모음이 시제, 수 등을 표현

- (예) ktb(쓰다)               kAtAb(능동)   KUtlb(수동)

        kttb(쓰게하다)        kAttAb(능동)  KUttlb(수동)



통사적 다양성

* Postfix 언어(Head-Final Languages)

- 동사가 문장의 뒤에 위치

- 한국어, 일본어 등

* Infix 언어

- 동사가 문장의 중간에 위치

- 영어, 불어 등

* Prefix 언어

- 동사가 문장의 처음에 위치

- 아일랜드어


자연언어 분석 단계

자연언어 문장 

                                          ↓

형태소 분석(Morphological Analysis) 

                                          ↓

구분 분석(Syntax Anlysis) 

                                          ↓

 의미 분석(Semantic Analysis)

 

                                          ↓

화용 분석(Pragmatic Analysis) 

                                          ↓

분석 결과


어절, 단어, 형태소

* 어절

양쪽에 공백을 갖는 띄어쓰기 단위의 문자열

* 단어 / 형태소

단일 품사를 갖는 단위 / 사전에 등록되어 있는 색인어의 집합



형태소 분석(Morphological Analysis)

- 입력된 문자열을 분석하여 형태소(morpheme)라는 최소 의미 단위로 분리

- 사전 정보와 형태소 결합 정보 이용

- 정규 문법(Regular Grammar)으로 분석 가능

- 언어에 따라 난이도가 다름

  영어, 불어 : 쉬움

  한국어, 일본어, 아랍어, 터키어 : 어려움


한국어 형태소 분석의 난점

* 중의성(ambiguity)

  - "감기는"의 분석 결과

    감기(명사) + 는(조사)

    감(동사 어간) + 기(명사화 어미) + 는(조사)

    감(동사 어간) + 기는(어미)

* 접두사, 접미사 처리

* 고유명사, 사전에 등록되지 않은 단어 처리

  - 한국어, 독일어처럼 복합명사 내의 명사를 띄우지 않거나,

    일본어처럼 띄어쓰기가 없으면 더욱 어려워짐

* 한국어 형태소 결합의 예("친구에게서이였엇다라고")

  친구(명사) + 에게(조사) + 서(조사) + 이(서술격조사) + 

  였(과거시제어미) + 었(회상어미) + 다(어말어미) + 

  라고(인용격조사)

  

문법, 구문 분석

* 문법(Grammar) : 

  문장의 구조적 성질을 규칙으로 표현한 것

* 구문 분석기(Parser) : 

  - 문법을 이용하여 문장의 구조를 찾아내는 process

  - 문장의 구문 구조는 Tree형태로 표현 할 수 있다. 즉, 몇 개의

     형태소들이 모여 구문 요소를 이루고, 그 구문 요소들간의 결합구조를

     요소들간의 결합 구조를 Tree형태로써 구문 구조를 이루게 된다.

 

           S

           l----------------l

          NP                VP

           l                   l------------------l

          N                   l                    NP

           l                   l           l----------------l                    

           l                   V        ART               N          

           l                   l           l                  l  

         John              ate        the             apple




문법(Grammars)

* 문법(Grammar) : a set of rewrite rules 

  (예) S   -> NP VP

        NP -> ART N

        NP -> N

        VP -> V NP

* Context Free Grammar : 

  각 rule의 LHS(Left-Hand side)가 하나의 symbol로 이루어진 문법 규칙

* Grammar Rule을 이용해서 문장(sentence)을 생성 할 수도 있고(sentence generation),

  분석할 수도 있다(sentence parsing).


의미 분석(Semantic Analysis)

* 통사 분석(구문분석) 결과에 해석을 가하여 문장이 가진 의미를 분석

* 형태소가 가진 의미를 표현하는 지식 표현 기법이 요구됨.

* 통사(구문)적으로 옳으나 의미적으로 틀린 문장이 있을 수 있음.

  - 돌이 걸어간다 (cf. 사람이 걸어간다)

  - 바람이 달린다 (cf. 말이 달린다)

* 모호(Ambiguity)

  - 말이 많다 (house, speech)


* 문법적으로는 맞지만 의미적으로 틀린 문장들

  - 사람이 사과를 먹는다. (O)

  - 사람이 비행기를 먹는다. (X)

  - 비행기가 사과를 먹는다. (X)


의미적 제약 [먹다

[agent : 먹을 수 있는 주체

 object : 먹을 수 있는 대상

...]]


화용 분석(Pragmatic Analysis)

* 문장이 실세계(rael world)와 가지는 연관관계 분석

* 실세계 지식과 상식의 표현이 요구됨

* 지시(anaphora), 간접화법(indirect speech act)등의 분석

  - 지시(Anaphora) : 대명사의 지시 대상

      The city councilmen refused the women a permit because 

         (1) they feared violence. 

         (2) they advocated revolution.

  - Indirect Speech Act : 상대방에게 행동을 요구하는 언어 행위 

      Can you give me a salt? 

      Would you mind opening the window?

 

자연어처리, 인공지능, 기계학습

* 인공지능

  - 인공지능은 철학적으로 인간이나 지성을 갖춘 존재, 혹은 시스템에 의해 만들어진 지능을 뜻한다.

  - 다양한 연구 주제

      지식 표현, 탐색, 추론, 문제해결, 기계학습, 인지, 행동, 자연어처리

* 기계학습

  - 기계학습(machine learning)은 인공지능의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 

    기술을 개발하는 분야를 말한다.

  - 가령, 기계학습을 통해서 수신한 이메일이 스팸인지 아닌지를 구분 할 수 있도록 훈련할 수 있다.

* 인공지능의 연구분야로서의 자연언어처리

  - 음성인식, 형태소분석, 통사(구문)분석, 의미분석

  - 언어이해 -> 인공지능

*자연언어처리를 위한 인공지능 기법

  - 형태론, 구문론, 의미론, 화용론적 언어지식 -> 지식표현(WordNet)

  - 자연언어처리 문제 해결 -> 기계학습

     -- 자연언어 처리 문제 == 중의성 해소 -> 분류문제

        품사, 구문, 의미 중의성 해소, 전치사 접속 결정 등

     -- 기계학습 알고리즘

        결정 트리(decision tree), 선형 분리자(Snow, Perceptron), SVM,

        Maximum Entropy, HMM, K-NN, 신경망(Neural Network), 딥러닝(Deep Learning)

'IT > 자연어처리' 카테고리의 다른 글

텍스트마이닝(Text Mining)이란?  (0) 2018.09.27
형태소 분석의 이해 - 기초  (0) 2018.09.27