본문 바로가기
Study/NLP

자연어처리란?

by GodKim 2023. 11. 16.
이번에 대학원 강의 과제로 강의에 나온 키워드 기반으로 배운 내용을 정리하라는 과제가 있었다. 학위논문을 쓰는 중이라 완전히 잊고 있다가 후다다닥 당일에 정리해서 끝내버렸는데 그대로 과제로만 내기에는 아까워서 블로그에 올려보려고 한다. 정리는 추후 찬찬히 하는 걸로 하고 우선 올려보겠다. 관점 자체는 문과 및 비전공자 대상으로 설명하는 내용이라고 생각하고 감안하고 읽어주면 정말 감사하겠다!!!!!

자연어처리(Natural Language Processing, NLP)는 컴퓨터가 인간의 언어인 자연어를 이해하고 처리하는 분야이다. 컴퓨터가 인간의 언어를 처리하기 위해선 다양한 방식이 존재한다. 첫 번째로, 언어학적인 접근 방식인 규칙 기반 접근법(rule-based approach)은 언어 현상을 이해하고 처리하는 데 언어학적인 규칙과 규정을 사용하는 전통적인 방법이다. 언어의 문법을 사전에 정의하고 이에 기반해 처리하기에 정의된 규칙들에 대해서는 높은 정확율을 보이지만, 한국어와 같이 어순이 정형화되어있지 않거나 중의성을 띄는 어휘들에 대한 분석에 어려움이 있다. 또한, 무수히 많은 언어규칙을 모두 기술하기에는 어렵다는 단점이 존재한다.

이를 보완하기 위해 나타난 방법이 통계적 접근법(statistical approach)이다. 이는 대량의 텍스트 데이터를 사용하여 통계적 모델을 구축하는 방식으로 단어 빈도, 어순 등을 통계적으로 분석하고 자연어 현상을 모델링한다. 컴퓨터의 성능이 발전함에 따라 대량의 텍스트를 처리할 수 있는 능력을 갖추게 되며, 이를 기반으로 단어의 빈도, 어순에 따라 단어가 출현할 확률 등을 수학적 방법으로 계산하여 처리하는 방법론이다. 하지만 위 방법론은 확률에 기반한 처리이기에 규칙 기반보다 정확도가 떨어지며, 복잡한 언어 패턴을 처리하기 어렵다는 한계점이 있다.

마지막으로 기계학습 기반 접근법(machine learning approach)은 컴퓨터가 데이터에서 패턴을 학습하는 방식이다. 기계학습 기반은 크게 지도 학습과 비지도 학습으로 나누어진다. 지도 학습은 정답(레이블)이 있는 데이터를 훈련 데이터로써 알고리즘(모델)에 적용시켜 학습을 하는 방식인 반면 비지도 학습은 정답이 없는 raw 데이터 자체의 특성을 알고리즘이 파악하여 분류하는 방식이다. 두 학습 방식 모두 알고리즘이 스스로 연산(학습)을 통해 가중치를 업데이트를 한다는 부분에서 기존 통계적 접근법과 차이를 보이며, 알고리즘을 통해 학습된 모델은 새로운 데이터에도 활용이 가능하다.

기계학습 기반 접근법의 또다른 종류로는 신경계 구성의 형태를 모티브로 만든 구조인 인공 신경망(neural network)이다. 딥러닝(Deep Learning)이라고도 부르는 해당 방법론은 인간 두뇌의 작동 방식에서 영감을 받아 만들어진 모델로, 많은 수의 연결된 노드(뉴런)로 구성되어 있다. 이러한 뉴런들은 텍스트 데이터를 입력으로 받아 복잡한 언어 패턴과 추상적인 정보를 학습할 수 있다. 대표적인 모델로는 CNN, RNN, LSTM이 있다.

CNN합성곱 신경망(Convolutional Neural Network), 이미지 처리에서 주로 사용되던 모델을 텍스트 처리에도 적용한 모델이다. 텍스트에 나타난 단어나 구(phrase)의 특징을 여러 크기의 필터(합성곱 커널)를 통해 스캔하여 패턴을 학습한다. 해당 모델은 주로 각 단어나 구의 패턴을 학습하여 문맥을 고려하며 이러한 패턴의 조합을 통해 감정분석, 스팸 감지 등 문장 또는 문서의 분류를 수행하는 최적화되어있다.

RNN순환 신경망(Recurrent Neural Network)로 시계열(순차적인) 데이터 처리에 효과적인 모델이다. 자연어는 시계열 데이터의 일종으로, 순차적으로 들어오는 정보(단어)를 처리하면서 가중치를 업데이트하여 이전 정보를 기억해 새로운 정보에 반영한다. 자연어처리에 있어 RNN은 문맥 정보를 이해하여 인코딩하거나 다음 단어를 예측하는데 사용된다. 하지만 긴 문장에 있어 이전 정보들이 누락되는 장기 의존성 문제가 존재한다.

LSTM(Long Short-Term Memory)RNN의 장기 의존성 문제를 해결하기 위한 모델로, RNN과 다르게 내부에 메모리 셀을 사용해 이전 정보들을 유지한채 필요할 때 사용하는 기능이 있다. 따라서, 긴 문장이나 문단을 처리하는데 효과적이며 기계번역, 텍스트 요약 등에 사용된다.

이후에 나타난 모델은 Transformer 아키텍쳐이다. 기존 RNN, LSTM은 모델의 학습 시간이 많이 소요된다는 단점이 존재하였는데, Transformer를 통해 학습 시간을 효과적으로 단축시켰다. Transformerself-attention 매커니즘을 통해 사용한 모델로, 이를 통해 LSTM보다 더 긴 범위의 텍스트의 의존성을 학습시킬 수 있다. Self-attentionTransformer의 핵심적인 방법론으로, 주어진 단어와 텍스트 내의 모든 단어 간의 관계를 파악하여 중요도를 계산한다. 이를 바탕으로 문맥상에 중요한 단어의 비중을 높이고 중요하지 않은 단어의 비중을 낮춰 문맥의 의미를 파악하는 것이다.

 

Self-Attention의 예시

 

위 그림을 보면 Self-Attetion 매커니즘을 통해 '그 동물은 길을 건너지 않았다. 왜냐하면 그것은 너무 피곤하였기 때문이다.'라는 문장에서 그것(it)에 해당하는 것이 길(street)가 아닌 동물(animal)과 연관되었을 확률이 높다는 것을 찾아낸다.

Transformer 모델은 인코더와 디코더로 구성되어 있다.

 

Transformer의 인코더-디코더 구조

 

인코더 구조의 첫 번째 단계는 임베딩으로 입력으로 들어온 텍스트를 고정된 차원의 벡터로 변환하는 과정이다. 벡터로 변환된 텍스트에 추가적으로 단어의 순서 정보가 아닌 위치 정보를 파악하여 전달하며 이를 Positional Encoding이라고 한다. 이후 위치 정보가 포함된 벡터화된 텍스트 데이터를 전술한 Self-Attention 레이어를 통해 단어 간의 관계를 학습한 후 피드포워드 신경망(Feed-Forward Neural Network)을 거쳐 각 단어의 특징을 더욱 추상화시킨다. 이 과정을 반복하여 특징을 상세하게 추출하여 텍스트를 인코딩한다. 그 후 인코딩된 텍스트는 디코더를 거쳐 최종적인 텍스트로 나타난다. 디코더의 구조는 기존 인코더 구조에 Maked Self-Attention 레이어가 추가된 형태로, 이 레이어는 현재 위치 이후의 정보를 차단하여 이전 정보에만 집중하도록 하는 역할을 하며 이를 통해 이전 단어만 보고 다음 단어를 예측할 수 있도록 한다. <그림 2>를 보면 Multi-head라는 이름이 붙은 레이어를 확인할 수 있는데 이는 Self-Attention을 여러 개의 head로 나누어 병렬처리하여 더 복잡한 모델링이 가능하게 하는 방법론이다.

이러한 Transformer 아키텍쳐로 학습된 대용량 텍스트는 하나의 언어 모델(Language Model)로써 다양한 자연어처리 태스크에서 전이학습(Transfer Learning)이 가능하다. 전이학습을 위한 언어 모델은 사전 학습된 언어 모델(Pretrained Language Model, PLM), 이러한 PLM은 자연어처리 태스크의 성능 향상을 위해 단어 임베딩을 처음부터 수행하는 것이 아닌 대용량 데이터를 통해 사전에 학습된 임베딩을 사용하는 것이다. 대표적인 PLM으로는 BERT, ELECTRA, GPT 등이 있다.

BERT(Bidirectional Encoder Representations from Transformers)는 레이블이 없는 텍스트 데이터를 통해 학습된 언어 모델이다. BERT는 단어보다 더 작은 단위로 쪼개는 서브워드 토크나이저(Sub-word Tokenizer)WordPiece 토크나이저를 사용한다. 해당 토크나이저는 자주 등장하면서 가장 긴 단어를 하나의 단위로 생성하여 OOV(Out of Vocabulary) 문제를 해결하고자 시도한다. BERT의 학습 방식은 두 가지로, MLM(Masked Language Model)NSP(Next Sentence Prediction)을 사용한다. MLM은 입력 텍스트의 15%의 단어를 랜덤으로 마스킹하여 예측하도록 하는 방식이며, NSP는 두 문장을 제공하여 이어지는 문장인지 아닌지를 예측하는 방법이다.

ELECTRA(Efficiently Learning an Encoder that Classifies Token Replacements Accurately)BERT에서 파생된 모델 중 하나로 MLM 단계에서 단어를 마스크할 때 사용되는 [MLM] 토큰이 파인튜닝 태스크에서는 사용되지 않는 문제점을 해결하기 위해 replaced token detection을 사용하는 방법론이다.

GPT(Generative Pre-trained Transformers)BERT와 같이 Transformer 아키텍쳐를 기반으로 하지만 BERT와는 다르게 단방향 디코더를 사용해 문맥을 포착한다. CLM(Casual Language Modeling)이라는 학습 방식을 사용하며 이는 이전 단어들만을 기반으로 다음 단어를 예측한다. 이전 단어들에 대한 정보를 통해 다음 단어를 예측하기에 GPT 모델은 자연어 생성(Natural Language Generation, NLG)에 더 적합하다.

 

BERT와 GPT 구조 차이

 

LLM(Large Language Model)은 전술한 PLM 모델에서 공통적으로 사용된 Transformer 아키텍쳐에 기반해 대용량 데이터를 학습한 모델을 지칭한다. 적어도 60B 이상의 파라미터가 사용되며, 대용량 텍스트를 언어 모델에 학습시키자 나타난 ICL(In Context Learning), , 예제 몇 개만으로도 추가적인 학습없이 태스크르 수행하는 능력을 보여준 언어 모델을 지칭한다. OpenAI에서 공개한 GPT3.5가 가장 대표적인 LLM이며, 3.5는 기존 GPT3인간 피드백 기반 강화학습(Reinforcement Learning with Human Feedback, RLHF)을 통해 강화된 생성형 언어 모델이다. RLHF는 생성형 언어 모델이 답변으로 내놓은 여러 후보 중 인간이 직접 관여하여 답변의 순위를 메겨 추가적인 강화학습을 진행하는 것을 의미한다. 이를 통해 모델의 데이터 편향성을 해소하고 답변의 성능을 향상시켰다. GPT3.5 등장 이후 IT 기업에서 LLM들을 공개하였으며 그 예로 구글의 PaLM-2, 메타의 LLaMA-2 등이 있다. 하지만 이러한 LLM들은 한 번 학습하는데 너무 많은 자원을 요구하기에 거대 자본이 있는 기업이 아니면 학습이 힘들다는 단점이 있다. 따라서, 현재 많은 연구들이 경량화와 기존 공개된 LLM의 활용에 초점이 맞추어져 있다.

 

다음은 한 번 언어학, 전산언어학에서의 자연어 처리에 대하여 설명하는 글을 써보는 것도 재밌을 거 같당.
혹시 읽으면서 틀린부분, 다른 의견 있으면 언제든지 댓글로 알려주십셔!!
T4R!!
(Thanks for Reading이라는 뜻~)

참고문헌

https://wikidocs.net/115055

 

17-02 버트(Bidirectional Encoder Representations from Transformers, BERT)

* 트랜스포머 챕터에 대한 사전 이해가 필요합니다. ![](https://wikidocs.net/images/page/35594/BERT.PNG) BERT(Bidire…

wikidocs.net

Devlin, Jacob, et al. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018). https://arxiv.org/abs/1810.04805

 

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unla

arxiv.org

Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems. 2017. https://arxiv.org/abs/1706.03762

 

Attention Is All You Need

The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new

arxiv.org

https://happy-obok.tistory.com/23

 

BERT 개념 정리 (특징/구조/동작 방식/종류/장점/BERT 모델 설명)

BERT논문[1]과 여러 자료를 종합하여 이해한만큼 적은 글입니다. 딥러닝 기술은 빠르게 발전하면서 자연어, 이미지, 영상 등 다양한 분야에서 높은 성능을 보였고 많이 활용되고 있습니다. 특히

happy-obok.tistory.com

https://wikidocs.net/31379

 

16-01 트랜스포머(Transformer)

* 이번 챕터는 앞서 설명한 어텐션 메커니즘 챕터에 대한 사전 이해가 필요합니다. 트랜스포머(Transformer)는 2017년 구글이 발표한 논문인 Attention i…

wikidocs.net

 

반응형

댓글