슬기로운 연구생활

Classification - [15] Evaluation 본문

슬기로운 NLP 생활

Classification - [15] Evaluation

vhrehfdl 2020. 12. 9. 20:52

이전 글

[1] 자연어처리란?

[2] Classification Task

[3] POS Tagging

[4] Stemming, Lemmatizing

[5] 형태소 분석기

[6] One-Hot Encoding, Bag Of Word

[7] TF-IDF

[8] Word2vec

[9] Fasttext

[10] Glove

[11] ELMo

[12] GPT

[13] BERT

[14] Model

 

들어가며

이번글에서는 마지막 단계인 평가 방법에 대해 알아보겠습니다.

대표적으로 분류 Task에서 사용되는 평가 방법은 F1 Score 입니다.

Generation에서는 BLUE Score, Meteor, Rouge 등이 사용됩니다.

 

F1 Score

모델을 거쳐 데이터의 결과를 출력한 후에 F1 Score를 통해 성능을 평가합니다.

문장을 입력하면 이진 분류때는 0과 1로 결과가 출력되고 다중 분류일 때는 0~N까지 각 클래스에 맞는 숫자로 분류됩니다.위와 같이 Precision과 Recall을 구하면 F1 Score를 계산할 수 있습니다.

F1 Score = 2*(Recall * Precision) / (Recall + Precision)

 

마무리

여태까지 자연어처리의 분류 Task의 전체 흐름을 살펴보았습니다.

첫째로, Pandas를 사용해 데이터의 형태에 맞게 데이터를 불러옵니다.

둘째로, Stemming, Lemmatazation, 형태소 분석 등을 사용해 불어온 데이터를 전처리해줍니다.

셋째로, BoW, TF-IDF, Word2vec, Fasttext, Glove, ELMo, GPT, BERT 등의 방법을 사용해 전처리한 데이터를 벡터로 변환합니다.

넷째로, 벡터로 변환한 문장을 Naive Bayes, SVM, XGboost, TextCNN 등의 모델에 입력합니다.

마지막으로 출력된 결과를 실제 정답 값과 비교해 평가합니다.

 

각 단계마다 다양한 방법론들이 있지만 연구와 모델의 트렌드라는 것이 있으니 그것들을 중심으로 살펴본다면 좋은 분류 모델을 만들 수 있을 것 입니다.

'슬기로운 NLP 생활' 카테고리의 다른 글

Classification - [8.1] Word2vec Negative Sampling  (0) 2021.10.21
Classification - [14] Model  (0) 2020.12.09
Classification - [13] BERT  (0) 2020.10.07
Classification - [12] GPT  (0) 2020.10.07
Classification - [11] ELMo  (0) 2020.09.24
Comments