01. NLP Basic - 자연어 처리 활용 분야와 트렌드
자연어 구분
ㆍ NLU(Natural Language Understanding)
ㆍ 컴퓨터가 주어진 단어나 문장, 보다 더 긴 문단이나 글을 이해하는 것
ㆍ NLG(Natural Language Geneartion)
ㆍ 상황에 따라 자연어를 적절히 생성하는 것
자연어를 다루는 분야
ㆍ NLP - 자연어 처리
(주요 학회: ACL, EMNLP, NAACL)
ㆍ Text Mining - 단어 추출
(주요 학회: KDD, The WebConf(WWW), WSDM, CIKM, ICWSM)
ㆍ Information Retrieval - 정보 검색
(주요 학회: SIGIR, WSDM, CIKM, RecSys)
(자연어 처리나, 단어 추출 등에 비해서는 상대적으로 늦게 발전한 분야)
NLP(Natural Language Processing) - 자연어 처리
ㆍ Low-level parsing
ㆍ Tokenization(문장을 이루는 단어 단위로 쪼개나가는 과정)
ㆍ Stemming(다양한 단어의 어미 변형에도 본질을 추출하는 과정)
ㆍ Word and Phrase level
ㆍ NER(Named Entity Recognition; 단일 단어 혹은 여러 단어로 이루어진 고유명사를 인식하는 과정)
ㆍ POS tagging(Part Of Speech; 문장 내에서 각 단어들이 어떤 품사에 해당하는지 알아내는 과정)
ㆍ 그 외 Noun Phrase Chunking, Dependency Parsing, Coreference Resolution
ㆍ Setence level
ㆍ Sentiment Analysis(주어진 문장이 긍정인지 부정인지 예측하는 감정 분석)
ㆍ Machine Translation(기계 번역)
ㆍ Multi Sentence and Paragraph level
ㆍ Entailment Prediction(두 문장 간에 논리적인 내포 혹은 모순을 예측)
ㆍ Question Answering(독해 기반의 질의응답)
ㆍ Dialog Systems(챗봇과 같은 대화를 수행할 수 있는 기능)
ㆍ Summarization(주어진 글을 요약)
Text Mining - 단어 추출
ㆍ Feature Extraction
ㆍ BoW(Bag of Words; 단어 출현 빈도를 기반으로 문서를 벡터화)
ㆍ TF-IDF(Term Frequency Inverse Document Frequency; 단어의 중요도를 반영하여 가중치를 계산)
ㆍ Word Embedding(단어 간 의미적 유사성을 반영하는 기법, Word2Vec, GloVe, FastText 등이 있음)
ㆍ Text Classification
ㆍ Sentiment Analysis(텍스트가 긍정인지 부정인지 판단)
ㆍ Document Clustering(서로 다르지만 유사한 단어끼리 묶는 방법, Topic Modeling과 같은 개념)
ㆍ Topic Modeling(문서에서 주요 주제를 자동으로 추출하는 방법, LDA, LSA, NMF 등이 있음)
ㆍ Spam Detection(이메일이나 메시지에서 스팸 여부를 판별)
Information Retrieval - 정보 검색
ㆍ Indexing
ㆍ Inverted Index(검색 속도를 높이기 위해 단어 기반의 색인 구조 구축)
ㆍ Tokenization & Normalization(검색을 위해 텍스트를 일관된 형태로 변환)
ㆍ Query Processing
ㆍ Boolean Retrieval(AND, OR, NOT 연산을 이용하여 단순 검색)
ㆍ Vector Space Model(벡터 공간 모델, 문서와 질의를 벡터로 변환하여 유사도를 계산)
ㆍ BM25(Best Matching 25; 검색 정확도를 높이기 위한 가중치 기반 검색 모델)
ㆍ Ranking
ㆍ TF-IDF 기반 랭킹(검색어와 문서의 관련도를 반영하여 순위를 매김)
ㆍ PageRank(웹 검색에서 중요한 페이지를 상위에 노출하는 알고리즘)
ㆍNeural IR(신경망 기반 검색, 딥러닝을 활용하여 문서와 질의의 의미적 유사도를 학습)
ㆍ Question Answering
ㆍ 사용자의 질문에 대해 정답을 추출하는 시스템
ㆍ Recommender Systems
ㆍ 사용자가 할 검색을 분석하여 자동으로 해주는 새로운 검색 시스템의 개념
ㆍ Content Based Filtering(콘텐츠 기반 필터링, 사용자가 관심을 가질 만한 정보를 제공)
ㆍ Collaborative Filtering(협업 필터링, 다른 사용자의 행동을 기반으로 추천)
NLP의 발전 과정
이미지와 CV 관련한 CNN, GAN 등의 구조처럼 지속 발전 중
일반적으로 숫자 형태의 입출력을 필요로 하기에, 글을 단어 단위로 쪼개고 벡터 형태로 변형한다.
이를 벡터 공간에서 하나의 점으로 표현한다는 뜻에서 Word Embedding이라고 한다.
주어진 단어에는 Sequence(순서)가 존재하기 때문에, 자연어 처리 모델이 이를 인식한다.
이런 Sequence 데이터 처리에 특화 모델이 RNN(Recurrent Neural Network)이다.
ㆍ LSTM(Long Short Term Memory) : RNN의 모델 중 하나로, 기울기 소실 문제를 방지한 모델
ㆍ GRU(Gated Recurrent Unit) : LSTM을 간소화하여 성능 향상을 한 모델
이후 2017년 인공지능 학회(NeurIPS)에서 Google이 논문(Attention Is All You Need)을 발표한다.
기존의 RNN 기반의 자연어 모델을 Self Attention 구조의 Transformers 모델로 완전히 대체하였다.
현재까지도 대부분의 자연어 모델은 Transformers다.
ㆍ 최초의 Transformers 모델은 Rule-based 기반의 기계 번역 개선을 위해 제안되었다.
ㆍ Transformers 모델 공개 전에는, 텍스트의 종류에 따라 각 모델이 따로 존재했다.
ㆍ Transformers 모델에서 Self-Supervised Learning이나 Pre-trained model의 예시로 BERT나 GPT-3가 있다.