자연어 처리 intro 본문
NLP ( Natural Language Processing )
* 컴퓨터 과학에서 어떻게 하면 컴퓨터와 사람이 자연어를 통해서 소통할 수 있을까?
* computational linguistics 라고도 썼었다. 하지만 CL은 컴퓨터를 통해서 언어학을 연구하는 느낌에서 차이가 있다.
Goals of the NLP , 자연언어처리의 목표
컴픂터가 우리 이메일이나 책 내용 요약 등 언어를 이해한다면 굉장히 유용할 것이다
언어의 모호성 ambiguity가 있어서 굉장히 많은 어려움이 있다.
> 컴퓨터가 어떻게 하면 human language 등 자연어를 잘 처리할 수 있게 할 것인가?
관련 분야들
- Artificial Intelligence , 인공지능 기법과 자연언어처리 연구는 상당히 밀접하다
- Formal Language ( Automata ) Theory , 자연언어처리로 어디까지 가능할 지 판단할 수 있다
- Machine Learning
- Linguistics , 지금까지도 많은 언어학 계의 아이디어가 자연언어 처리에 상당한 영향을 주었다
- Psycholinguistics , 언어심리학 , 위와 동일
- Cognitive Science , 인지심리학 + 뇌과학 , 위와 동일
- Philosophy of Language
자연언어처리 단계와 구성도
Levels of NLP
1) Phonetics/Phonology : 음성학, 음운학
2) Morphology : 형태론, 형태에 대한 학문 ( 형태소 분석 )
3) Syntax : 구문론, 구문 분석 ( 문법 )
4) Semantics : 의미론, 의미 분석
5) Pragmatics : 화용론 , 실생활 언어 적용 ( common sense knowledge )
6) Discourse : 담화 분석, 문맥을 가지고 분석
1) Phonetics 음성학 & Phonology 음운론
음성처리 연구, 언어의 소리에 대한 학문이고, 음소들의 단위로 어떻게 실제로 발음되는가?
discrete sound : 음소, 가장 작은 소리의 단위. 어떤 문장을 발음했을때 이는 음소들의 조합.
it is easy to recognize speech vs it is easy to wreck a nice beach
음성처리 연구
굉장히 부진하다가 DNN 이후 매우 진척이 많다
음성 인식 : signal to symbol ( 소리 -> 전파 -> 음성 인식 )
음성 합성 : symbol to signal ( 텍스트 -> 소리 )
2) Morphology
sequence of symbol -> sub-word units of meaning 로 나누는 것
disconnect = dis + connect
터키어, 중국어, 일본어 같이 띄어쓰기가 없는 언어도 있다
uygarlastiramaddiklarimiz -> uygar las tir ama dik lar imiz
한국어는 어절 단위 띄어쓰기
감기는 = 감기(명사) + 는(조사) ? / 감(동사) + 기는(어말어미) ... 여러가지의 경우가 있다
* P-O-S ( Part of Speech ) tagging , 품사 태깅
문장의 각 단어들을 품사로 태깅한다
syntatic parsing , word sense disambiguation 등의 단계로 넘어가기 전에 시행 필수
input -> Iatethespaghettiwithmeatballs | 음성인식
-> I ate the spaghetti with meatballs | 음성처리
-> I(pro) ate(verb) the(det) spaghetti(n) with(prep) meatball(n)+s(복수형) | pos tagging
* Phrase Chunking
한 문장 안의 non-recursive 한 구들, 명사구 ( NPs ) 와 동사구 ( VPs ) 를 분리 하는 것 , pp(전치사구)는 중요하지 않음.
구와 절 , 공통점 : 단어들의 조합
구 ( phrase ) : 주어와 동사가 포함되지 않음 -> the pretty girl
절 ( clause ) : 포함됨 -> the girl is pretty
He reckons [ the current account deficit ] [ will narrow ] to [ only 1.8 billion ] in september
np vp [ np ] ~ 현재 계좌 부채가 vp 줄어들것이다 pp np 고작 18억으로 pp np
3) Syntax : 구문 분석 ( 문법 )
구문론, 단어들 사이의 구조적인 단계를 찾는 것 , 일종의 트리 구조가 된다.
앞선 단계에서 품사 태깅을 한 것도, 문법 규칙을 적용하기 위해서이다.
4) Semantics : 의미 분석
의미론, 문장의 글자 그대로의 의미를 찾는 것 ( 피상적인 의미 )
feature , value 쌍을 찾는 것
I know that you and frank were planning to disconnect me
action : disconnect
actor : you , frank
object : me
but, 의미 파악에 있어서도 어려운 점이 있다
* Word Sense DIsambiguation ( WSD )
다의어나 중의어의 경우에는 단어의 적절한 의미를 포착하기 어려운 경우도 있다.
이럴 경우 잘못된, 엉뚱한 응답이나 번역이 이루어질 확률이 높다.
> 주변 단어의 의미나 문맥을 포착해야 한다.
5) Pragmatics : 화용론 , 실생활 언어 적용 ( common sense knowledge )
or Dialog Knowledge
상황에 맞춰서 대화를 이해하는 것
6) Discourse : 문맥 정보를 가지고 분석
the structure of conversation : turn taking(발화자와 청자가 돌아가면서 대화), thread of meaning (이전 내용을 파악해야 다음 내용을 이해 ) , 일종의 coreference problem
ex )
bowman : open the pod bay doors, hal.
hal : im sorry dave , im afraid i cant do ( that <- thread of meaning )
또, world knowledge ( common sense knowledge ) 도 필요.
1. 철수는 어항을 떨어 뜨렸다
2. 그는 울고 말았다.
1) 그는 누구인가? -> thread of meaning
2) 철수는 왜 울었는가? -> 어항이 깨져서? 금붕어가 죽어서? 물을 쏟아서? 엄마한테 혼날까봐?
-> 철수가 왜 울었는지는 문맥에 없지만 우리는 다양한 상황에 대한 이해를 해볼 수 있다. ( world knowledge )
+ 우리는 기본적으로 공유하고 있는 지식이 있지만, 컴퓨터는 우리가 그걸 만들어 주지 않으면 제대로 이해할 수 없다.
** 자연어 처리 section 의 글들은 서정연 교수님 수업을 바탕으로 작성했습니다.
'딥러닝 > 자연어처리' 카테고리의 다른 글
Grammars and Parsing (0) | 2022.03.23 |
---|---|
N-gram model과 등장 배경 (1) (0) | 2022.03.23 |
ML/DL NLP에서의 접근 방법 (0) | 2022.03.02 |
언어의 모호성과 해결 방법, NLP 기술의 발전사 (0) | 2022.03.02 |
Linguistic Rules와 자연언어처리의 어려움 (0) | 2022.03.02 |