자연어 처리(Natural Language Processing, NLP)
: 인간의 언어(자연어)를 컴퓨터가 이해, 생성, 조작할 수 있게 하는 인공지능의 한 분야

자연어 처리는 인간이 사용하는 언어, 즉 "자연어"를 기계적으로 분석, 이해, 생성하고 처리하는 인공지능 기술의 한 분야이다. 자연어는 음성, 문장, 단어 등으로 이루어져 있으며, 사람들이 일상에서 사용하는 언어를 일컫는다.
자연어 처리를 통해 컴퓨터가 인간 언어를 이해하고, 인간과 대화하거나 인간이 사용하는 언어로 작성된 문서를 처리하고 분석할 수 있다.
예를 들어, 검색 엔진은 사용자가 입력한 검색어를 이해하고 관련된 문서를 찾아서 보여준다. 기계 번역은 다른 언어로 작성된 문서를 자연어로 번역할 수 있다.
자연어 처리는 인간 언어의 복잡성과 다의성, 동음이의어, 문법적인 차이 등과 같은 언어적인 문제를 해결하기 위한 다양한 기술들을 사용한다. 이러한 기술에는 형태소 분석, 구문 분석, 의미 분석, 기계 학습, 딥러닝, 자연어 생성 등이 있다.
> 자연어 처리로 할 수 있는 것들
- 음성 인식(Speech Recognition)
- 번역(Translation)
- 요약(Text Summary)
- 분류(Text Classification)
자연어 처리(Natural Language Processing, NLP) 모델은 계속해서 발전하고 있으며, 출시 연도별로 다양한 모델이 등장하고 있다.
- 1950년대 - 1960년대: ELIZA
ELIZA는 최초로 대화형 인터페이스를 제공하는 프로그램으로, 1966년에 Joseph Weizenbaum이 개발했다. ELIZA는 단순한 규칙 기반 모델로, 대화 상대방의 입력을 일정한 규칙에 따라 변환하여 응답을 생성한다. - 1980년대 - 1990년대: Hidden Markov Model(HMM)
HMM은 Markov Model의 변형으로, 1980년대부터 음성 인식, 자연어 처리 등에 널리 사용되었다. HMM은 각각의 단어를 문자 단위로 분리하고, 이를 다시 단어로 병합하여 언어 모델을 생성한다. - 1990년대 - 2000년대: Support Vector Machine(SVM)
SVM은 기계 학습 분야에서 인기 있는 모델 중 하나로, 1990년대에 등장했다. SVM은 분류(classification)와 회귀(regression) 문제에 널리 사용되며, 자연어 처리에서도 긍정/부정 분류, 주제 분류 등에 사용된다. - 2010년대: Word2Vec
Word2Vec은 2013년에 Google이 발표한 모델로, 단어를 밀집된 벡터로 표현하는 기술이다. 이를 이용하여 단어 간의 유사도를 계산하거나, 단어의 의미를 파악하는 등의 작업을 수행할 수 있다. - 2014년: Long Short-Term Memory(LSTM)
LSTM은 RNN의 변형으로, 2014년에 발표되었다. LSTM은 문장 내의 단어 간의 의존 관계를 학습하고, 이를 기반으로 문장의 의미를 파악하는 등 다양한 자연어 처리 작업에 사용된다. - 2017년: Transformer
Transformer는 2017년 구글에서 발표한 모델이다. Transformer는 시퀀스 데이터를 처리하기 위한 모델로, 기계 번역, 자연어 이해, 자연어 생성 등에 사용된다. - 2018년: Bidirectional Encoder Representations from Transformers(BERT)
BERT는 2018년 구글에서 발표한 모델로, BERT는 Transformer 모델을 기반으로 하며 , 양방향(bidirectional) 언어 모델이다. 이전의 모델과 달리, 전체 문장을 보고 각 단어의 의미를 파악하고, 문장의 맥락을 이해하는 데에 좀 더 강점을 가지고 있다. 문장의 문맥을 파악함으로써 자연어 이해 작업에서 좋은 성능을 보이고 있다. - 2020년: GPT-3
GPT-3는 2020년에 OpenAI에서 발표한 대규모 모델이다. 다양한 자연어 처리 작업에 사용될 수 있는데 예를 들어 자연어 생성, 기계 번역, 질문 답변 등이 있으며 높은 성능을 보인
'자연어 처리(NLP) 공부' 카테고리의 다른 글
| 자연어 처리(NLP) - 정수 인코딩(Integer Encoding) (0) | 2023.03.15 |
|---|---|
| 자연어 처리(NLP) - 불용어(stopwords) 제거 (0) | 2023.03.15 |
| 자연어 처리(NLP) - 텍스트 데이터 전처리(preprocessing) 과정 (0) | 2023.03.13 |
| 자연어 처리(NLP) - 토큰화(Tokenization) (2) | 2023.03.11 |
| 자연어 처리(NLP) 공부 순서 (2) | 2023.03.11 |