딥러닝/자연어 처리
-
Preprocessing Workflow 1. 코퍼스 수집 : 구입,외주,크롤링 2. 정제 : Task에 따른 노이즈 제거, 인코딩 변환 (3. 레이블링 : Task에 따른 문장 or 단어마다 labeling 수행) 4. Tokenization : 형태소 분석기 활용하여 분절 수행 (5. Subword Segmentation : 단어보다 더 작은 의미 추가 분절 수행) 6. Batchify : 사전 생성 및 word2index 맵핑 수행, 효율화를 위한 전/후처리 1. Sentence Segmentation 보통 모델에 입력하는 데이터는 1 sentence/line의 형태이다. 그러나 수집한 corpus에는 한 라인에 여러 문장이 들어있거나, 한 문장이 여러 라인에 들어있는 경우가 있다. 따라서 Sent..
NLP_Preprocessing : 4)TokenizationPreprocessing Workflow 1. 코퍼스 수집 : 구입,외주,크롤링 2. 정제 : Task에 따른 노이즈 제거, 인코딩 변환 (3. 레이블링 : Task에 따른 문장 or 단어마다 labeling 수행) 4. Tokenization : 형태소 분석기 활용하여 분절 수행 (5. Subword Segmentation : 단어보다 더 작은 의미 추가 분절 수행) 6. Batchify : 사전 생성 및 word2index 맵핑 수행, 효율화를 위한 전/후처리 1. Sentence Segmentation 보통 모델에 입력하는 데이터는 1 sentence/line의 형태이다. 그러나 수집한 corpus에는 한 라인에 여러 문장이 들어있거나, 한 문장이 여러 라인에 들어있는 경우가 있다. 따라서 Sent..
2022.06.27 -
Preprocessing Workflow 1. 코퍼스 수집 : 구입,외주,크롤링 2. 정제 : Task에 따른 노이즈 제거, 인코딩 변환 (3. 레이블링 : Task에 따른 문장 or 단어마다 labeling 수행) 4. Tokenization : 형태소 분석기 활용하여 분절 수행 (5. Subword Segmentation : 단어보다 더 작은 의미 추가 분절 수행) 6. Batchify : 사전 생성 및 word2index 맵핑 수행, 효율화를 위한 전/후처리 아래와 같은 case들에서 label이 필요하다. Text Classification - input: sentence - output: class Sentence → Class인 경우는 TSV 형태의 하나의 파일로 저장하는 것이 좋다. (각 r..
NLP_Preprocessing : 3)LabelingPreprocessing Workflow 1. 코퍼스 수집 : 구입,외주,크롤링 2. 정제 : Task에 따른 노이즈 제거, 인코딩 변환 (3. 레이블링 : Task에 따른 문장 or 단어마다 labeling 수행) 4. Tokenization : 형태소 분석기 활용하여 분절 수행 (5. Subword Segmentation : 단어보다 더 작은 의미 추가 분절 수행) 6. Batchify : 사전 생성 및 word2index 맵핑 수행, 효율화를 위한 전/후처리 아래와 같은 case들에서 label이 필요하다. Text Classification - input: sentence - output: class Sentence → Class인 경우는 TSV 형태의 하나의 파일로 저장하는 것이 좋다. (각 r..
2022.06.26 -
Task를 해결하기 위해 보통 SOTA 모델을 적용하기 때문에 모델이나 알고리즘은 대동소이하다. 따라서 성능의 차별점은 데이터의 양과 품질이 될 수 있다. 따라서 전처리 과정은 아주 중요하다. Preprocessing Workflow 1. 코퍼스 수집 : 구입,외주,크롤링 2. 정제 : Task에 따른 노이즈 제거, 인코딩 변환 (3. 레이블링 : Task에 따른 문장 or 단어마다 labeling 수행) 4. Tokenization : 형태소 분석기 활용하여 분절 수행 (5. Subword Segmentation : 단어보다 더 작은 의미 추가 분절 수행) 6. Batchify : 사전 생성 및 word2index 맵핑 수행, 효율화를 위한 전/후처리 Service Pipeline 1. 정제 : 학습 ..
NLP_Preprocessing : 1)코퍼스 수집 & 2)정제Task를 해결하기 위해 보통 SOTA 모델을 적용하기 때문에 모델이나 알고리즘은 대동소이하다. 따라서 성능의 차별점은 데이터의 양과 품질이 될 수 있다. 따라서 전처리 과정은 아주 중요하다. Preprocessing Workflow 1. 코퍼스 수집 : 구입,외주,크롤링 2. 정제 : Task에 따른 노이즈 제거, 인코딩 변환 (3. 레이블링 : Task에 따른 문장 or 단어마다 labeling 수행) 4. Tokenization : 형태소 분석기 활용하여 분절 수행 (5. Subword Segmentation : 단어보다 더 작은 의미 추가 분절 수행) 6. Batchify : 사전 생성 및 word2index 맵핑 수행, 효율화를 위한 전/후처리 Service Pipeline 1. 정제 : 학습 ..
2022.06.26 -
Recurrent Neural Network 모든 hidden state layer는 같은 θ을 갖고 있다. θ는 x와 h가 들어오는 것에 대해서 시간과 관계없이 동작을 잘 해야한다고 볼 수 있다. RNN은 각 time step마다 y와 y hat이 같아지도록 하는 방향으로 학습을 진행한다. Input Tensor Hidden Tensor Multi-layered RNN 여러 층으로 layer를 쌓은 형태이다. 각 층 마다 파라미터가 다르다. output은 마지막 layer의 모든 timestep의 hidden state이다. Hidden state는 마지막 timestep의 모든 layer의 hidden state이다. Bidirectional Multi-layered RNN Hidden state는 ..
RNN & LSTMRecurrent Neural Network 모든 hidden state layer는 같은 θ을 갖고 있다. θ는 x와 h가 들어오는 것에 대해서 시간과 관계없이 동작을 잘 해야한다고 볼 수 있다. RNN은 각 time step마다 y와 y hat이 같아지도록 하는 방향으로 학습을 진행한다. Input Tensor Hidden Tensor Multi-layered RNN 여러 층으로 layer를 쌓은 형태이다. 각 층 마다 파라미터가 다르다. output은 마지막 layer의 모든 timestep의 hidden state이다. Hidden state는 마지막 timestep의 모든 layer의 hidden state이다. Bidirectional Multi-layered RNN Hidden state는 ..
2022.06.25 -
auto-regressive은 문장의 확률값을 구하듯이 이전의 단어들로 다음 단어의 probability distribution을 추정한다. (입력값은 prompt이고 출력값은 prompt 다음에 오는 단어의 확률 분포) 현재 transformers에서 auto-regressive 언어 생성을 사용할 수 있는 모델은 GPT2, XLNet, CTRL, TransfoXL, Bart, T5등이 있다. 학습된 distribution 에서 어떤 단어를 선택하는지에 따라 greedy search, beam search, Top-K, Top-p 같은 방법이 존재한다. Greedy Search The에서 시작해서 3번째 토큰으로 적절한 것을 선택하려면 위의 그림에서는 총 9가지의 경우의 확률 분포를 계산해보아야 한다...
How to generate text: decoding methodsauto-regressive은 문장의 확률값을 구하듯이 이전의 단어들로 다음 단어의 probability distribution을 추정한다. (입력값은 prompt이고 출력값은 prompt 다음에 오는 단어의 확률 분포) 현재 transformers에서 auto-regressive 언어 생성을 사용할 수 있는 모델은 GPT2, XLNet, CTRL, TransfoXL, Bart, T5등이 있다. 학습된 distribution 에서 어떤 단어를 선택하는지에 따라 greedy search, beam search, Top-K, Top-p 같은 방법이 존재한다. Greedy Search The에서 시작해서 3번째 토큰으로 적절한 것을 선택하려면 위의 그림에서는 총 9가지의 경우의 확률 분포를 계산해보아야 한다...
2022.06.15 -
Generated Sentence를 평가하는 방식은 크게 BLEU와 ROUGE가 존재한다. Reference Setence의 단어가 Generated Sentence에 포함되는 정도 → ROUGE Generated Sentence의 단어가 Reference Sentence에 포함되는 정도 → BLEU (모델로부터 생성되는 문장: Generated Sentence, 정답 문장: Reference Sentence) ROUGE Score는 주로 Text Summarization에서 사용 n-gram Recall에 기반 BLEU Score는 일반적으로 Machine Translation에서 사용 n-gram Precision에 기반 BLEU(Bilingual Evaluation Understudy) BLEU는 ..
[LM metric] BLEU(Bilingual Evaluation Understudy)Generated Sentence를 평가하는 방식은 크게 BLEU와 ROUGE가 존재한다. Reference Setence의 단어가 Generated Sentence에 포함되는 정도 → ROUGE Generated Sentence의 단어가 Reference Sentence에 포함되는 정도 → BLEU (모델로부터 생성되는 문장: Generated Sentence, 정답 문장: Reference Sentence) ROUGE Score는 주로 Text Summarization에서 사용 n-gram Recall에 기반 BLEU Score는 일반적으로 Machine Translation에서 사용 n-gram Precision에 기반 BLEU(Bilingual Evaluation Understudy) BLEU는 ..
2022.06.08 -
Evaluate Language Models 언어 모델의 평가 방식은 크게 2가지로 구분할 수 있다. 외부적 평가(Extrinsic): 언어모델을 특정 태스크에 적용해서 loss/accuracy를 사용하여 확인하는 방법 내부적 평가(Intrinsic): 태스크에 적용하지 않고 언어모델의 자체적인 역량을 평가하는 방법 외부적 평가방법에 비해 정확하지는 않겠지만 모델별 비교에 적합 Perplexity Perplexity는 내부적 평가 방식에 해당한다. Perplexity is the inverse probability of the test set, normalized by the number of words Perplexity는 단어의 수로 정규화된 테스트 데이터셋에 대한 확률의 역수이다. : 테스트 문장에..
[LM metric] PerplexityEvaluate Language Models 언어 모델의 평가 방식은 크게 2가지로 구분할 수 있다. 외부적 평가(Extrinsic): 언어모델을 특정 태스크에 적용해서 loss/accuracy를 사용하여 확인하는 방법 내부적 평가(Intrinsic): 태스크에 적용하지 않고 언어모델의 자체적인 역량을 평가하는 방법 외부적 평가방법에 비해 정확하지는 않겠지만 모델별 비교에 적합 Perplexity Perplexity는 내부적 평가 방식에 해당한다. Perplexity is the inverse probability of the test set, normalized by the number of words Perplexity는 단어의 수로 정규화된 테스트 데이터셋에 대한 확률의 역수이다. : 테스트 문장에..
2022.06.07 -
보통 라벨링 된 데이터를 바탕으로 지도학습을 진행한다. 그러나 라벨링 된 데이터는 제한적이며 unlabeled된 데이터가 훨씬 많기 때문에 이를 활용한다면 시간과 비용을 절약할 수 있다. Unlabeled data의 한계점 1. 어떤 목적함수(Optimization objective)가 효과적인지 알 수 없다. 2. 주어진 task에 대해서 어떤 방식으로 transfer 하는지에 대해서도 정해진 효율적인 방법이 없다. GPT는 해당 한계점을 보완하고자 unlabeled 데이터에 언어 모델링 목적함수(Language Modeling Objective)를 사용하여 Pre-training을 진행하고 Labeled 데이터를 이용하여 Fine-tuning하여 특정 task에 적용시키는 방식이다. Unsupervi..
GPT & GPT2보통 라벨링 된 데이터를 바탕으로 지도학습을 진행한다. 그러나 라벨링 된 데이터는 제한적이며 unlabeled된 데이터가 훨씬 많기 때문에 이를 활용한다면 시간과 비용을 절약할 수 있다. Unlabeled data의 한계점 1. 어떤 목적함수(Optimization objective)가 효과적인지 알 수 없다. 2. 주어진 task에 대해서 어떤 방식으로 transfer 하는지에 대해서도 정해진 효율적인 방법이 없다. GPT는 해당 한계점을 보완하고자 unlabeled 데이터에 언어 모델링 목적함수(Language Modeling Objective)를 사용하여 Pre-training을 진행하고 Labeled 데이터를 이용하여 Fine-tuning하여 특정 task에 적용시키는 방식이다. Unsupervi..
2022.06.04