일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- one-hot vector
- 딥러닝
- DataFrame
- 역행렬
- 신경망 학습
- 연립일차방정식
- ReLU
- Python
- 선형대수학
- 판다스
- word2vec
- 프로그래머를 위한 선형대수
- Linear Algebra
- PPMI
- Transformer
- sigmoid
- NMT
- 밑바닥부터 시작하는 딥러닝2 2장
- 밑바닥부터 시작하는 딥러닝
- SVD
- 자연어처리
- word embedding
- 데이터프레임
- 벡터간 유사도
- RNN
- pandas
- 정칙행렬
- 동시발생 행렬
- NLP
- machine translation
- Today
- Total
생각하는감자
NLP Pipeline 본문
NLP란?
Natural Language Processing의 줄임말로, 사람이 사용하는 언어인 자연어를 컴퓨터가 이해하고 해석할 수 있도록 변환해주는 과정을 의미한다.
다양한 곳에 적용되는데, 예를 들면
- Text Classification : Spam Detection, Sentiment Analysis(감정의 긍부정을 판단하여 제품이나 영화등을 정량적으로 평가하는 데에 사용됨)
- Question Answering : Search Engine
- Machine Translation
- Chatbot
- Personal Assistant : Siri(Apple)
- Text Summarization : 입력된 문서내용을 그대로 추출하는 extractive, 새로운 단어를 사용하는 abstractive로 나뉨
등에 활용된다.
NLP Pipeline
- Data Collection
- Preprocessing : Pre-tokenization, Tokenization
- Modeling
- Training : Training Moniotring
- Evaluation
- Deployment
- Performance Moniotring
* Pre-tokenization
Cleansing과 Normalization이 있는데,
Cleansing은 비속어와 은어를 제외시키거나 특정 task를 수행해야 하는 학습에 도움이 되지 않는 것들을 제외시키는 것이다.
Normalization은 영어에서 대소문자를 일치시키는 것이나 의미없는 한글자의 문자를 제외시키는 등을 말한다. 한글의 경우 한글자인 경우에도 문장에서 주요 의미를 내포하는 경우가 있지만 영어는 그렇지 않은 경우가 많기에 normalization은 언어의 특성을 고려하여 진행해야 한다.
* Training, Training Monitoring
데이터를 학습시키는 것은 많은 양의 전력을 소비시킨다.
이때 사용하는 것은 GPU인데 이를 사용하는것은 "돈"이 드는 일이므로,,,
의미있는 결과를 도출하기 위해 학습을 "효율적으로" 진행하는 것 또한 중요하기 대문에 학습과정을 추적관찰하는 것이 필요하다.
예를들어,
위와 같이 train data는 0에 수렴하고 validation data는 특정 시간(위에선 한시간)이후에 줄어들지 않고 변화가 나타나지 않는다면,
해당 상황에서 학습을 더 진행하는 것은 의미가 없으며, GPU 소비전력만 낭비하게 되는 것이다.
이러한 상황에서는 학습을 종료한뒤 learning rate와 batch size등의 설정을 바꿔서 다시 학습시켜야 한다.
학습을 모니터링하기에 좋은 툴로는 WandB 라는 툴이 있다. Weight and Bias로 학습시킬 때 학습상황을 시각화하여 볼 수 있다.
* Evaluation
학습시킨 모델이 잘 예측하는지 확인하는 절차이다.
정량평가로는 Accuracy, F1 score 등이 있고
정성평가로는 User study가 있다.
실제로 개발한 모델을 서비스화하기 위해서는 user study가 반드시 필요하다.
** 참고 **
NLP와 관련된 주요학회에는 ACL, EMNLP, NAACL 등이 있음
'NLP' 카테고리의 다른 글
LSTM, GRU (0) | 2023.01.07 |
---|---|
RNN의 여러가지 형태 (0) | 2023.01.06 |
Word Embedding (3) - GloVe (0) | 2023.01.05 |
Word Embedding (2) - Word2Vec (0) | 2023.01.05 |
Word Embedding (1) - Bag of Words (0) | 2023.01.04 |