목차
1 자연어처리 소개
1.1 자연어처리 소개
1.2 자연어처리가 어려운 이유
1.3 한국어 자연어처리가 어려운 이유
1.4 자연어처리 연구의 패러다임
1.5 딥러닝을 사용하는 자연어처리 연구
1.6 딥러닝을 사용하는 다른 연구 분야와 자연어처리 비교
1.1 자연어처리 소개
1) 자연어처리란?
자연어란?
기계어의 반대말로, 사람들이 생활하며 자연스럽게 발생하여 쓰이는 언어
자연어 처리란?
자연어를 그대로 컴퓨터로 처리하는 학문 분야
1. 언어학적 측면 : 언어의 규칙성, 변화 양상 파악
2. 전산학적 측면 : 자연어를 입출력으로 사용하는 컴퓨터 프로그램에 사용되는 처리 과정
- 자연어이해(NLU) : 사람이 이해하는 자연어를 컴퓨터가 이해할 수 있는 값으로 바꾸는 과정
- 자연어생성(NLG) : 컴퓨터가 이해할 수 있는 값을 사람이 이해하도록 바꾸는 과정
2) 자연어처리의 응용 분야
1.2 자연어처리가 어려운 이유
자연어 처리는 어렵다?
많이 알려진 것에 비해 정확도가 높지 않음
- 상용화는 높으나 사용률이 높지 않음
자연어 처리를 어렵게 하는 다섯 가지 요인
1) 언어의 중의성
2) 규칙의 예외(형태론)
3) 언어의 유연성과 확장성->규칙화하기 어려움
4) 바꾸어 말하기 -> paraphrase 문제 존재
5) 단어 간 유사도 측정
- one-hot encoding으로 표현된 값은 유사도나 모호성을 표현하지 못함
- 높은 차원으로 표현되어 sparse vector가 됨
- 딥러닝에서는 단어 임베딩(word embedding)을 통해 해결
1.3 한국어 자연어처리가 어려운 이유
1) 교착어
교착어란?
- 어근과 접사에 의해 단어의 기능이 결정되는 언어의 형태
- 유연한 단어 순서 규칙을 가짐(한국어가 이에 해당 <-> 영어: 고립어)
형태론적 관점의 언어 분류
2) 모호한 띄어쓰기
- 우리말은 아직 띄어쓰기 정착 단계
- 어느정도 틀려도 의사소통에 문제가 없음
3) 평서문과 의문문의 차이 부재 & 주어 부재
4) 한자 기반의 언어 & 단어 중의성
한자 기반의 언어
- 표의문자인 한자를 표음문자인 한글로 감싸는 과정에서 정보의 손실 발생
단어의 중의성에 의한 문제
- 차 : car, tea
1)~4) 요약. 어려운 한국어 자연어처리
- 다른 문자에 비해 한글체계는 늦게 만들어짐
- 효율성을 극대화해 한국어 자연어처리는 더욱 어려움
1.4 자연어처리 연구의 패러다임
1) 규칙 기반
- 언어의 문법적 규칙을 사전에 정의하고 이에 기반하여 자연어를 처리
- 초창기에 사용한 연구방법
- 어순이 정형화되어 있지 않은 한국어의 경우 분석에 한계가 있음
- 규칙을 미리 지정하는 것이 큰 부담, 작업의 정확도 낮음
2) 통계 기반
- 규칙 사전 정의를 통계적으로 처리
- 컴퓨터 성능 발전과 함께 같이 발전
- 조건부 확률이라는 수학 개념이 가장 핵심
- 복잡한 규칙을 처리하는데 어려움, 사람 손이 많이 가는 통계 분석 자료 활용
3) 딥러닝 기반
알고리즘
- 어떤 데이터가 들어올 지 예측 가능해야 함, 개발자 역시 그 처리 법을 명확히 알아야 함
기계학습
- 입력 데이터를 대입하여 알고리즘이 스스로 연산의 가중치를 학습하게 함
- 학습하는 과정 필요
- 학습 완료된 가중치는 저장 후 나중에 다시 활용 가능
신경망
- 기계학습 종류의 일종으로 신경계 구성 형태를 모티브로 만든 구조
- 여러 입력에 가중치를 곱하여 합하고, 활성 함수에 통과한 후 전달
- 입력, 출력을 제외한 층을 은닉층이라고 함
딥러닝
- 신경망 구조의 은닉층 수를 매우 많이 추가한 것
- 은닉층 개수에 대한 정해진 기준은 없지만, 연산의 가중치나 흐름이 무엇을 의미하는지 개발자조차 알 수 없음
딥러닝 기반 자연어 처리
- 원래 컴퓨터 비전에서 쓰이다가 이후 자연어 처리에도 사용됨
- 모델 구성이 중요
- 문장 전체를 고려하는 모델의 경우 모든 단어에 적용되는 연결 하나가 필요
- 통계적 분석에 비해 고차원적인 분석이 가능해 자연어처리의 성능이 비약적으로 상승
1.5 딥러닝을 사용하는 자연어처리 연구
1) 딥러닝을 사용하는 자연어처리의 연구 순서
1. Task : 어떤 목적으로 자연어처리를 도입하는 것인지 결정
2. Data collection, preprocessing : 목적과 관련한 코퍼스 구축(모델 성능 개선)
3. Design : 코퍼스로 학습할 모델 구조 작성(모델 성능 개선)
4. Train : 준비된 코퍼스를 이용해 모델 학습
5. Inference : 완성된 모델을 검증하고 실전에 투입
2) 단어 임베딩
- 자연어로 이루어진 문장을 컴퓨터가 입력 받을 수 있도록 하는 문장의 전처리 과정
- 단어간 연관성 등을 유지하는 벡터화 방법이 많이 쓰임
- 문법적으로 사용되는 단어는 일반적으로 삭제
- 사전에 임베딩된 단어 사전을 사용하여 연구를 진행
3) 코퍼스, 모델
corpus란?
- 매우 많은 문장을 정제하여 모은 것
- corpora(복수형)
- 통계 기반과 딥러닝 기반 자연어 처리에 가장 핵심인 자료
- Parallel corpus : 대응되는 문장 쌍이 labeling되어 있는 형태
모델이란?
- 딥러닝 기반 연구의 핵심
- 어떤 부분을 읽고, 어떤 형식으로 출력하는지 결정
- 감정분석인 경우 분류 모델, 번역인 경우 생성 모델 등
1.6 딥러닝을 사용하는 다른 연구 분야와 자연어처리 비교
1) AI를 활용한 주요 분야
2) 자연어처리 vs. 이 외 분야
3) 자연어처리의 필수 요건
- 언어적 지식 필요
- 어려운 전처리 과정
'인공지능(AI) > 자연어처리(NLP)' 카테고리의 다른 글
[논문리뷰] Transformer(Attention is All you Need) 이해하기 (0) | 2021.05.07 |
---|---|
[NLP 개념] 언어모델(Language Model) (0) | 2021.05.03 |
08 텍스트 분류 (0) | 2020.12.17 |
06 순환 신경망(RNN) (0) | 2020.12.16 |
05 어휘 분석 (0) | 2020.12.16 |