더 이상 tistory 블로그를 운영하지 않습니다. glanceyes.github.io에서 새롭게 시작합니다.

새소식

AI/NLP

NLP 분야와 이를 구성하는 다양한 태스크

  • -

 

NLP(Natural Language Processing)

 

NLP(Natural Language Processing, 자연어 처리)는 크게 기본적으로 컴퓨터에게 주어진 단어, 문장, 문단 등을 이해하는 NLU(Natural Language Understanding)이 있고, 이러한 자연어를 상황에 따라 적절히 생성할 수 있는 NLG(Natural Language Generation)이 있다.

 

NLP의 최신 기술 또는 연구 결과들이 발표되는 곳으로는 대표적으로 ACL,EMNLP, NAACL이 있다.

 

 

 

NLP에 속하는 태스크

 

Low-Level Parsing

각 단어를 준비하기 위한 의미 단위에서 가장 낮은 레벨의 태스크라고 볼 수 있다.

 

Tokenization

문장을 이루는 각 단어를 정보 단위로 고려하여 문장을 단어 단위인 토큰(Token)로 쪼개 나가는 과정을 의미한다.

그러면 문장은 이러한 토큰들이 특정 순서로 이루어진 시퀀스(Sequence)로 볼 수 있다.

 

Stemming

상황에 따라 단어의 어미가 여러 형태로 변해도 그 단어의 핵심 의미를 파악하고자 하는 것이다.

이를 위해 단어의 어근을 추출하는 과정으로 이해할 수 있다.

 

 

 

Word and Phrase Level

 

Named Entity Recognition(NER)

단일 단어 또는 여러 단어로 이루어진 고유 명사를 인식하는 태스크이다.

예) Starbucks ≠ Star + bucks

'스타벅스'는 '별' + '달러'로 해석하지 않는 하나의 고유명사이다.

 

Part-of-Speech(POS) Tagging

단어의 성분과 품사가 무엇인지를 알아내는 태스크이다.

문장에서 어떤 단어가 주어, 목적어이고 어떤 형용사 또는 부사가 어떠한 성분을 수식해주는지를 분석하는 것이다.

 

 

Sentence Level

 

Sentence Analysis

주어진 문장이 긍정 또는 부정 어조인지를 분석하는 태스크이다.

무조건 부정적인 단어 또는 부정어가 들어갔다고 해서 해당 문장을 부정으로 해석할 수 없는 경우도 존재하는데, 이를 sentence analyis를 통해 전체 문장의 어조를 파악하는 것이다.

 

Machine Translation

한 언어로 쓰인 문장을 다른 언어의 문장으로 번역하는 태스크이다.

이때 번역된 각 단어가 적절하게 번역되어 본래 문장의 의미를 잘 지니는지, 해당 언어의 문법과 어순을 잘 지키는지를 고려해야 한다.

 

 

Multi-sentence and Paragraph Level

 

Entailment Prediction

두 문장 간의 논리적인 내포 또는 모순 관계를 파악하는 것이다.

예) '나는 가수 보아의 노래를 즐겨 듣는다'와 '나의 플레이리스트에는 가수 보아의 노래가 존재하지 않는다'는 서로 모순이다.

(실제로는 매일 듣습니다... 😅)

 

Question Answering

독해 기반의 질의응답을 다루는 태스크이다.

최근에는 검색 사이트에서 어떤 질문을 검색하면 해당 질문의 단어가 있는 웹 문서를 검색해주는 것뿐만이 아니라 그 질문의 정답을 파악해서 검색 결과에 제시하는 경우도 있다.

 

Dialog System

챗봇(Chatbot)과 같은 대화를 수행할 수 있는 자연어 처리 기술이다.

 

Summarization

주어진 문서를 한 줄 또는 한 문단으로 요약하는 태스크이다.

 

 

 

Text Mining

빅데이터 분석과 관련되어 있는 경우가 많으며, 과거의 수많은 텍스트 자료를 모아서 특정 키워드의 빈도 수를 시간 순으로 나열하여 트렌드를 분석하는 태스크가 Text Mining의 예시이다.

비슷한 의미를 지니는 키워드를 그룹핑(Grouping) 하는 분석이 필요할 수 있는데, 이를 자동으로 수행하는 기법으로서 Topic Modeling 또는 Document Clustering(문서 군집화) 기술이 있다.

빅데이터 분석에 기반한 사회 과학 분야와도 밀접한 관련이 있는데, 가령 소셜 미디어 데이터를 수집할 때 자주 나타나는 키워드를 통해 인사이트를 얻기 위해서도 사용할 수 있다.

 

 

Information Retrieval

정보 검색 기술을 연구하는 분야로 볼 수 있다. 현재의 검색 성능은 고도화되면서 어느 정도 성숙된 상태로 이르렀다고 볼 수 있어서 기술 발전의 속도가 더딘 편이다.

그렇지만 정보 검색에 포함되는 세부 분야로 추천 시스템(Recommendation System)이 존재하는데, 이는 어떤 사용자가 한 아이템을 선호할 때 이와 비슷하거나 연관된 다른 아이템을 추천해주는 자동화된 태스크이다.

 

 

 

NLP의 트렌드

 

Word Embedding

 

텍스트 데이터를 단어 단위로 분리하고, 각 단어를 특정한 차원으로 이루어진 공간에 표현할 수 있는 벡터로 표현하는 것을 의미한다.

이처럼 단어를 벡터로 임베딩하는 기술에는 Word2Vec과 Glove가 있다.

 

 

RNN 계열 모델

한 문장은 각 단어에 관한 벡터가 순차적으로 모여서 어떠한 sequence를 이룬다고 볼 수 있으며, 모델이 같은 단어로 이루어진 문장이라고 하더라도 순서에 따라 다른 의미로 인식할 수 있도록 학습해야 한다.

이러한 sequence 데이터를 처리하는 데 특화된 모델 구조로서 RNN(Recurrent Neural Network) 계열의 모델이 자연어 처리의 핵심 모델 중 하나로 자리잡았다.

RNN 계열의 모델에는 대표적으로 LSTM(Long Short Term Memory)이 있고, 이 LSTM을 단순화하여 계산 효율을 높인 GRU(Gated Recurrent Unit) 모델이 존재한다.

 

 

Transformer

기존의 RNN 계열의 자연어 처리 모델을 self-attention 구조의 모듈로 대체할 수 있는 Transformer가 등장하면서 큰 성능의 향상을 가져왔다.

그래서 대부분의 자연어 처리를 위한 딥 러닝 모델은 Transformer를 기반으로 하고 있다.

최근에는 self-attention 모듈을 단순히 계속 쌓아 나가면서 모델의 크기를 키우고, 이 모델을 대규모 텍스트 데이터를 통해 소위 자가 지도 학습이라는 범용적 태스크를 활용하여 모델을 학습한 BERT, GPT-3 모델이 존재한다.

이때의 자가 지도 학습 중 하나로 입력으로 주어지는 문장에서 일부를 마스킹하여 이를 맞추는 것으로 학습하는 과정이 될 수 있다.

실제로는 대규모의 데이터를 바탕으로 고도화된 모델을 학습하는 데 한계가 있어서 자본력을 바탕으로 미리 학습된 모델을 상황에 맞게 가져다 사용하는 전이학습이 자주 이루어지고 있다.

 

출처
1. 네이버 커넥트재단 부스트캠프 AI Tech NLP Track 주재걸 교수님 기초 강의
Contents

글 주소를 복사했습니다

부족한 글 끝까지 읽어주셔서 감사합니다.
보충할 내용이 있으면 언제든지 댓글 남겨주세요.