728x90
◎ What is Language?
- 사람들이 자신의 머릿속에 있는 생각을 다른 사람에게 나타내는 체계
- 사물, 행동, 생각 그리고 상태를 나타내는 체계
- 사람들이 자신이 가지고 있는 생각을 다른 사람들에게 전달하는 데 사용하는 방법
※ 사람의 생각을 컴퓨터에게 전달하는 방법
- Naive Interface : 인공 언어, 사람이 이해할 수 있지만, 엄격한 문법과 모호성이 없는 형태의 전달 방식
- Better Interface : 자연 언어, 사람이 실제 사용하는 형태에 가까운 전달 방식
※ 자연어(Natural Language)란?
- 자연어 혹은 자연 언어는 사람들이 일상적으로 쓰는 언어를 인공적으로 만들어진 언어인 인공어와 구분하여 부르는 개념
- 사람이 이해하는 자연어를 컴퓨터가 이해할 수 있는 값으로 바꾸는 과정(NLU)
- 더 나아가 컴퓨터가 이해할 수 있는 값을 사람이 이해하도록 바꾸는 과정(NLG)
◎ Type of NLP (Natural Language Processing)
○ Traditional NLP
- 단어를 symbolic 데이터로 취급
- 여러 sub-module을 통해 전체 구성
○ NLP with Deep Learning
- 단어를 continuous value로 변환
- End-to-end 시스템 추구
◎ 자연어처리의 어려움
1. Ambiguity (모호성)
※ 언어의 모호성이 생기는 이유
- 언어는 진화하며, 특히 효율성을 극대화하는 방향으로 진화하기 때문
- 최대한 짧은 문장 내에 많은 정보를 담고자 한다. (정보량이 낮은 내용은 생략)
- 생략된 context를 인간은 효율적으로 채울 수 있지만, 기계는 이러한 task에 매우 취약하다.
2. Paraphrase : 문장의 표현 형식은 다양하고, 비슷한 의미의 단어들이 존재하기 때문에 paraphrase의 문제가 발생
3. Discrete, not Continuous
- 이산 값을 갖는 자연어는 기계의 입장에서는 매우 어려운 값
- One-hot 인코딩으로 표현된 값은 유사도나 모호성을 표현할 수 없다.
- 또한 높은 차원으로 표현되어 매우 sparse하게 된다.
- 딥러닝에서는 Word Embedding을 통해 위 같은 문제 해결
◎ 왜 한국어 자연어처리가 어려운가?
◇ 한국어 (교착어) : 접사 추가에 따른 의미 파생
+ 유연한 단어 순서 규칙
+ 모호한 띄어쓰기
+ 평서문과 의문문의 차이 부재
+ 주어 부재
+ 한자 기반의 언어 : 표의 문자인 한자를 표음 문자인 한글로 Wrapping 함
+ 단어 중의성으로 인한 문제 발생
+ 한글은 늦게 만들어진 문자 따라서 다른 문자들의 장점을 흡수, 굉장히 과학적으로 만들어졌기에 어렵다 한국어..
◎ History of Neural NLP
▽ Before Deep Learning
- 전형적인 NLP application의 구조 : 여러 단계의 sub-module로 구성되어 복잡한 디자인 구성, 매우 무겁고 복잡하여 구현 및 시스템 구성이 어려운 단점, 각기 발생한 error가 중첩 및 가중되어 error propagation
▽ Before Sequence-to-Sequence
- Word Embedding
- Text Classification
- Text to Numerc values
▽ After Sequence-to-Sequence with Attention
▽ Era of Attention
- Transformer by End-to-End Attention
▽ BERTology : Pretraining and Fine-tuning
- Big Language Models mainly based on Transformer
728x90
'Data scientist > 자연어처리' 카테고리의 다른 글
Text Classification (0) | 2021.10.15 |
---|---|
Word Embedding (0) | 2021.10.14 |
Preprocessing (0) | 2021.10.11 |